Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions driver/Makefile
Original file line number Diff line number Diff line change
@@ -1,38 +1,37 @@
obj-m += hvisor.o
obj-m += ivc.o
EXTRA_CFLAGS += "
ccflags-y += -I$(src)/../include
ccflags-y += -Wno-unused-variable
ccflags-y += -Wno-unused-function
ccflags-y += -fno-stack-protector

ifeq ($(ARCH), arm64)
COMPILE := aarch64-none-linux-gnu-
OBJDUMP := aarch64-none-linux-gnu-objdump
else ifeq ($(ARCH), riscv)
COMPILE := riscv64-unknown-linux-gnu-
OBJDUMP := riscv64-unknown-linux-gnu-objdump
COMPILE := riscv64-linux-gnu-
OBJDUMP := riscv64-linux-gnu-objdump
else ifeq ($(ARCH), loongarch)
COMPILE := loongarch64-unknown-linux-gnu-
OBJDUMP := loongarch64-unknown-linux-gnu-objdump
EXTRA_CFLAGS += -DLOONGARCH64
ccflags-y += -DLOONGARCH64
else ifeq ($(ARCH), x86_64)
COMPILE := x86_64-linux-gnu-
OBJDUMP := x86_64-linux-gnu-objdump
else
COMPILE :=
endif

EXTRA_CFLAGS += -I$(PWD)/include -Wno-unused-variable -Wno-unused-function -fno-stack-protector

ivc-y := ivc_driver.o

.SECONDARY: \
$(obj)/hivc_template.dtb.S \
$(obj)/hivc_template.dtb

EXTRA_CFLAGS += "

.PHONY: all clean

all:
make ARCH=$(ARCH) CROSS_COMPILE=$(COMPILE) -C $(KDIR) M=$(shell pwd) EXTRA_CFLAGS=$(EXTRA_CFLAGS) modules
make ARCH=$(ARCH) CROSS_COMPILE=$(COMPILE) -C $(KDIR) M=$(shell pwd) modules

clean:
make -C $(KDIR) M=$(shell pwd) clean
make -C $(KDIR) M=$(shell pwd) clean
4 changes: 2 additions & 2 deletions driver/hvisor.c
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ static irqreturn_t virtio_irq_handler(int irq, void *dev_id) {
static int __init hvisor_init(void) {
int err;
struct device_node *node = NULL;
u32 *irq;
// u32 *irq;
err = misc_register(&hvisor_misc_dev);
if (err) {
pr_err("hvisor_misc_register failed!!!\n");
Expand Down Expand Up @@ -352,7 +352,7 @@ static int __init hvisor_init(void) {
of_node_put(node);
#else
// we don't use device tree in x86_64, so we have to get IRQ using hypercall
irq = kmalloc(sizeof(u32), GFP_KERNEL);
u32 *irq = kmalloc(sizeof(u32), GFP_KERNEL);
err = hvisor_call(HVISOR_HC_GET_VIRTIO_IRQ, __pa(irq), 0);
virtio_irq = *irq;
err = request_irq(virtio_irq, virtio_irq_handler, IRQF_SHARED,
Expand Down