summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: a03f07952a54179a531f8c359d85c19c7e544868 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
KERNEL_SOURCE ?= /usr/src/linux
PWD := $(shell pwd)

.PHONY: all reset clean prepare build

all: reset clean prepare build

clean:
	$(MAKE) -C $(KERNEL_SOURCE) SUBDIRS=arch/x86/kvm clean

reset:
	git -C $(KERNEL_SOURCE) reset --hard

$(KERNEL_SOURCE)/arch/x86/kvm/svm/cachepc:
	ln -s $(PWD)/src $@

prepare: $(KERNEL_SOURCE)/arch/x86/kvm/svm/cachepc
	git -C $(KERNEL_SOURCE) apply $(PWD)/patch.diff 

build:
	#$(MAKE) -C $(KERNEL_SOURCE) arch/x86/kvm/kvm.ko arch/x86/kvm/kvm-amd.ko
	$(MAKE) -C $(KERNEL_SOURCE) -j6 M=arch/x86/kvm

load:
	sudo rmmod kvm_amd || true
	sudo rmmod kvm || true
	sudo insmod $(KERNEL_SOURCE)/arch/x86/kvm/kvm.ko
	sudo insmod $(KERNEL_SOURCE)/arch/x86/kvm/kvm-amd.ko

read: read.c
	$(CC) -o $@ $<

test: load read
	@./read

update: 
	git -C $(KERNEL_SOURCE) diff > patch.diff