diff --git a/kernel_module/README.md b/kernel_module/README.md index 3bdf434..8913db3 100644 --- a/kernel_module/README.md +++ b/kernel_module/README.md @@ -26,6 +26,7 @@ 1. [dep2](dep2.c) 1. [character_device](character_device.c) 1. Hardware device drivers + 1. [pci_min](pci_min.c) 1. [pci](pci.c) 1. [platform_device](platform_device.c) 1. [user](user/) diff --git a/kernel_module/pci_min.c b/kernel_module/pci_min.c index 54481a7..81b9e84 100644 --- a/kernel_module/pci_min.c +++ b/kernel_module/pci_min.c @@ -2,6 +2,8 @@ Only tested in x86. PCI driver for our minimal pci_min.c QEMU fork device. + +probe already does a mmio write, which generates an IRQ and tests everything. */ #include diff --git a/kernel_module/platform_device.c b/kernel_module/platform_device.c index 0776b80..e7972b6 100644 --- a/kernel_module/platform_device.c +++ b/kernel_module/platform_device.c @@ -77,8 +77,8 @@ static int lkmc_platform_device_probe(struct platform_device *pdev) dev_err(dev, "of_iomap"); return -EINVAL; } - dev_info(dev, "res.start = %u resource_size = %llx\n", - res.start, (unsigned long long)resource_size(&res)); + dev_info(dev, "res.start = %llx resource_size = %llx\n", + (unsigned long long)res.start, (unsigned long long)resource_size(&res)); /* Test MMIO and IRQ. */ iowrite32(0x12345678, map); diff --git a/qemu b/qemu index 577f463..22e7e21 160000 --- a/qemu +++ b/qemu @@ -1 +1 @@ -Subproject commit 577f4633f156c263aae9855c2f06328831e05ccd +Subproject commit 22e7e210d6fbe54c35a5ae32450a4419df25a13b diff --git a/run b/run index 348f123..ca73702 100755 --- a/run +++ b/run @@ -44,6 +44,7 @@ env \ HOST_QEMU_OPTS="--enable-debug --enable-sdl --extra-cflags='-DDEBUG_PL061=1' --with-sdlabi=2.0" \ host-qemu-rebuild \ linux-rebuild \ + kernel_module-rebuild \ all \ ; cd .. diff --git a/runqemu b/runqemu index 8351e93..071dcc1 100755 --- a/runqemu +++ b/runqemu @@ -63,6 +63,7 @@ case "$arch" in -M pc \ -append 'root=/dev/vda $extra_append' \ -device edu \ + -device lkmc_pci_min \ -drive file=${images_dir}/rootfs.ext2,if=virtio,format=raw \ -kernel ${images_dir}/bzImage \ -net nic,model=virtio \