Hello, On 08.12.2017 17:19, Edward Sandberg wrote:
I tried your suggestion and increased the memory for the framebuffer.The UP board booted all the way to the graphical interface, very exciting!
nice.
Unfortunately the usb keyboard and mouse do not work. The Minnowboard still does not give any graphical output. The logs for both are below.
I have found that on some hardware the OS does not know where to find the RSDP value when booting via multiboot and UEFI and as a result USB peripherals do not work. This is not just a problem with sel4 I have seen it with xen as well. That may be the problem here. I attempted to fix the problem by editing the sel4 source code. I added:
#define UPBOARD_RSDP 0x5B161000
to ./contrib/sel4-097171f475bff21223783e130445b9be6b3d1bb4/src/kernel/sel4/include/plat/pc99/plat/machine/acpi.h. Then I replaced the function acpi_get_rsdp in ./contrib/sel4-097171f475bff21223783e130445b9be6b3d1bb4/src/kernel/sel4/src/plat/pc99/machine/acpi.c with:
acpi_get_rsdp(void) { return (acpi_rsdp_t*)UPBOARD_RSDP; }
But either my intuition about the problem is wrong or I am attempting to fix it incorrectly. I get exactly the same logs with or without the above fixes.
acpi_get_rsdp is not called for Multiboot2(MBI2)/UEFI case. The RSDP information is expected to be part of MBI2. The function try_boot_sys_mbi2 in contrib/sel4-097171f475bff21223783e130445b9be6b3d1bb4/src/kernel/sel4/src/arch/x86/kernel/boot_sys.c looks up the information and copies it to boot_state.acpi_rsdp.
Do you have any suggestions on the keyboard and mouse?
Yes, if you look at the lines about the boot modules
boot module 'acpi_drv' (96740 bytes) ...
you will miss a line about the usb driver. In the demo run scenario the usb driver is not started for x86, instead the ps2 driver is taken. You would need to adjust the demo scenario to use the usb driver instead of the ps2 driver. (Or at best use both drivers and add a input multiplexer, e.g. [0], which takes both drivers as input sources). Beforehand you may just try the usb_hid [1] scenario to actual test whether usb in general work on your machine(s). [0] repos/os/src/server/input_merger/README [1] repos/dde_linux/run/usb_hid.run -- Alexander Boettcher Genode Labs http://www.genode-labs.com - http://www.genode.org Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth