Genode 19.08 demo on seL4/x86 build failing

Adam T. Wiethuechter wiethuat at critical.com
Mon Sep 16 22:16:11 CEST 2019


I attempted your fix to change the driver, with no change in results. 
Again, I think has to do with that the hardware only has a serial port 
(no video output). Being a limit of the hardware I am not too worried, 
its something I expected I would run into and have to work around either 
way. Also thanks for the heads up on AMD side of things, chances are I 
will be back with questions regarding that if I run into anything serious.

I think I am in a good state now to try some other things and create my 
own little application in the framework to talk to my target device. To 
the tutorials I go!

Below is the output of the fixes you suggested running on the hardware. 
This includes the other fix that got the demo to work in QEMU. I also 
attempted the other permutations (both in QEMU and on hardware) which I 
can supply if requested.

```
   Booting `Genode on seL4'

Bender: Hello World.

Boot config: parsing cmdline 'sel4 disable_iommu'
Boot config: console_port = 0x3f8
Boot config: debug_port = 0x3f8
Boot config: disable_iommu = true
   module #0: start=0xf5ff000 end=0xffff330 size=0xa00330 name='image.elf'
         Physical Memory Region from 0 size 9fc00 type 1
         Physical Memory Region from 9fc00 size 400 type 2
         Physical Memory Region from f0000 size 10000 type 2
         Physical Memory Region from 100000 size cfdab000 type 1
Adding physical memory region 0x100000-0xcfeab000
         Physical Memory Region from cfeab000 size 155000 type 2
         Physical Memory Region from f8000000 size 4000000 type 2
         Physical Memory Region from fed40000 size 5000 type 2
         Physical Memory Region from 1000000000 size 2f000000 type 1
Adding physical memory region 0x100000000-0x12f000000
Detected 1 boot module(s):
Kernel loaded to: start=0x200000 end=0xaa5000 size=0x8a5000 entry=0x201209
ACPI: RSDT paddr=0xcfeac030
ACPI: RSDT vaddr=0xcfeac030
ACPI: FADT paddr=0xcfead8f0
ACPI: FADT vaddr=0xcfead8f0
ACPI: FADT flags=0x3c5a5
ACPI: MADT paddr=0xcfeadc20
ACPI: MADT vaddr=0xcfeadc20
ACPI: MADT apic_addr=0xfee00000
ACPI: MADT flags=0x1
ACPI: MADT_APIC apic_id=0x0
ACPI: MADT_APIC apic_id=0x1
ACPI: MADT_APIC apic_id=0x2
ACPI: MADT_APIC apic_id=0x3
ACPI: MADT_IOAPIC ioapic_id=4 ioapic_addr=0xfec00000 gsib=0
ACPI: MADT_IOAPIC ioapic_id=5 ioapic_addr=0xfec20000 gsib=24
ACPI: Not recording this IOAPIC, only support 1
ACPI: MADT_ISO bus=0 source=0 gsi=2 flags=0x0
ACPI: MADT_ISO bus=0 source=9 gsi=9 flags=0xf
ACPI: 4 CPU(s) detected
ELF-loading userland images from boot modules:
size=0x186a000 v_entry=0x2000018 v_start=0x2000000 v_end=0x386a000 
p_start=0x10000000 p_end=0x1186a000
Moving loaded userland images to final location: from=0x10000000 
to=0xaa5000 size=0x186a000
Starting node #0 with APIC ID 0
Mapping kernel window is done
vt-x: not supported
Starting node #1 with APIC ID 1
vt-x: not supported
Starting node #2 with APIC ID 2
vt-x: not supported
Starting node #3 with APIC ID 3
vt-x: not supported
Booting all finished, dropped to user space
:phys_mem_16k:     Allocator 0x2fe7b30 dump:
  Block: [0000000000200000,0000000000240000) size=256K avail=256K 
max_avail=256K
  => mem_size=262144 (0 MB) / mem_avail=262144 (0 MB)

Warning:        memory in range [0000000100000000,0000000120000000) is 
unavailable (due to limited untyped cnode range)
Warning:        memory in range [0000000120000000,0000000128000000) is 
unavailable (due to limited untyped cnode range)
Warning:        memory in range [0000000128000000,000000012c000000) is 
unavailable (due to limited untyped cnode range)
Warning:        memory in range [000000012e000000,000000012e400000) is 
unavailable (due to limited untyped cnode range)
Warning:        memory in range [000000012e400000,000000012e600000) is 
unavailable (due to limited untyped cnode range)
Warning:        memory in range [000000012e600000,000000012e700000) is 
unavailable (due to limited untyped cnode range)
Warning:        memory in range [000000012e700000,000000012e780000) is 
unavailable (due to limited untyped cnode range)
Warning:        memory in range [000000012e780000,000000012e7c0000) is 
unavailable (due to limited untyped cnode range)
Warning:        memory in range [000000012e7e0000,000000012e7e1000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [000000012f000000,0000000130000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000000130000000,0000000140000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000000140000000,0000000180000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000000180000000,0000000200000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000000200000000,0000000400000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000000400000000,0000000800000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000000800000000,0000001000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000001000000000,0000002000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000002000000000,0000004000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000004000000000,0000008000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000008000000000,0000408000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000408000000000,0000608000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000608000000000,0000708000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000708000000000,0000788000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000788000000000,00007c8000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [00007c8000000000,00007e8000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [00007e8000000000,00007f8000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [00007f8000000000,0000800000000000) is 
unavailable (due to limited untyped cnode range)
virtual address layout of core:
  overall    [0000000000002000,0000000200000000)
  core image [0000000002000000,000000000386a000)
  ipc buffer [000000000386a000,000000000386b000)
  boot_info  [000000000386b000,000000000386d000)
  stack area [0000000040000000,0000000050000000)
Warning: need physical memory, but Platform object not constructed yet
Warning: need physical memory, but Platform object not constructed yet
Warning: need physical memory, but Platform object not constructed yet
Warning: need physical memory, but Platform object not constructed yet
Warning: need physical memory, but Platform object not constructed yet
Warning: need physical memory, but Platform object not constructed yet
boot module 'status_bar' (131872 bytes)
boot module 'input_filter' (200192 bytes)
boot module 'init' (345536 bytes)
boot module 'scout' (1788016 bytes)
boot module 'report_rom' (128160 bytes)
boot module 'timer' (120736 bytes)
boot module 'en_us.chargen' (13500 bytes)
boot module 'launchpad' (829744 bytes)
boot module 'ld.lib.so' (1020368 bytes)
boot module 'test-libpng_static' (154016 bytes)
boot module 'nitlog' (144392 bytes)
boot module 'vesa_fb_drv' (127432 bytes)
boot module 'ps2_drv' (181488 bytes)
boot module 'usb_drv' (1400368 bytes)
boot module 'rom_filter' (121520 bytes)
boot module 'testnit' (108568 bytes)
boot module 'platform_drv' (334464 bytes)
boot module 'config' (5603 bytes)
boot module 'drivers.config' (4788 bytes)
boot module 'nitpicker' (378296 bytes)
boot module 'init.xsd' (7148 bytes)
boot module 'fb_drv.config' (51 bytes)
boot module 'nit_focus' (97520 bytes)
boot module 'acpi_drv' (155480 bytes)
boot module 'pointer' (154656 bytes)
boot module 'launchpad.config' (594 bytes)
boot module 'global_keys_handler' (164400 bytes)
boot module 'special.chargen' (1346 bytes)
boot module 'liquid_fb' (684584 bytes)
boot module 'input_filter.config' (768 bytes)
Warning: need physical memory, but Platform object not constructed yet
Genode 19.08
3256 MiB RAM and 261141 caps assigned to init
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x1
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x2
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x4
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x8
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x10
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x20
[init -> drivers -> fb_drv] Error: No boot framebuffer information 
available.
[init -> drivers -> fb_drv] Error: __cxa_guard_abort called
Kernel: Thread 'ep' died because of an uncaught exception
[init -> drivers -> fb_drv] Error: Uncaught exception of type 
'Genode::Service_denied'
[init -> drivers -> fb_drv] Warning: abort called - thread: ep
[init -> drivers -> acpi_drv] Found MCFG
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x40
[init -> drivers -> acpi_drv] MCFG BASE 0xf8000000 seg 0x0 bus 0x0-0x40
[init -> drivers -> acpi_drv] Found MADT
[init -> drivers -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
[init -> drivers] child "fb_drv" exited with exit value 1
[init -> drivers -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 15
[init -> drivers -> acpi_drv] XSDT OEM 'COREv4', table id 'COREBOOT', 
revision 0, creator 'CORE' (538511107)
[init -> drivers -> platform_drv] ECAM/MMCONF range 00:00.0-40:1f.7 - 
addr [00000000f8000000,00000000fc100000)
[init -> drivers -> acpi_drv] SMBIOS table (entry point: 0x1c6280 
structures: 0xcfeab020)
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x80
[init -> drivers -> platform_drv] Root bridge: 00:18.0
[init -> drivers -> platform_drv] 00:02.2 - bridge 01:00.0
[init -> drivers -> platform_drv] 00:02.3 - bridge 02:00.0
[init -> drivers -> platform_drv] 00:02.4 - bridge 03:00.0
[init -> drivers -> platform_drv] 00:02.5 - bridge 04:00.0 enabled
[init -> drivers -> usb_drv] Could not read screen resolution in config node
[init -> drivers -> usb_drv] Configured HID screen with 0x0 
(multitouch=false)
[init -> drivers -> usb_drv] No <storage> config node found - not 
starting the USB Storage (Block) service
[init -> drivers -> usb_drv] No <nic> config node found - not starting 
the USB Nic (Network) service
[init -> drivers -> usb_drv] No <raw> config node found - not starting 
external USB service
[init -> drivers -> usb_drv] Enabled UHCI (USB 1.0/1.1) support
[init -> drivers -> usb_drv] Enabled EHCI (USB 2.0) support
[init -> drivers -> usb_drv] Enabled XHCI (USB 3.0) support
[init -> drivers -> platform_drv] Warning: Out_of_caps during 
Device_component construction
[init -> drivers -> usb_drv] ioremap: mapped phys 0xf7ea2000 (size 8192) 
to virt 0x20000
[init -> drivers -> usb_drv] ioremap: return sub range phys 0xf7ea2000 
(size 8192) to virt 0x20000
[init -> drivers -> usb_drv] dev_info: xHCI Host Controller
[init -> drivers -> usb_drv] dev_info: new USB bus registered, assigned 
bus number 1
[init -> drivers -> usb_drv] dev_info: hcc params 0x014040c3 hci version 
0x100 quirks 0x00000410
[init -> drivers -> platform_drv] 00:10.0 adjust IRQ as reported by 
ACPI: 5 -> 18
Warning: virtual void 
Stack_area_region_map::detach(Genode::Region_map::Local_addr): not 
implemented
Warning: free not implemented
[init -> drivers -> platform_drv] Error: IRQ-session creation failed 
(ram_quota=6K, cap_quota=4, irq_number=0, irq_trigger=0, irq_polarity=0, 
device_config_phys=0xf8080000)
[init -> drivers -> platform_drv] 00:10.0 uses IRQ, vector 0x12, MSI 
64bit capable, non-maskable
[init -> drivers -> usb_drv] dev_info: USB hub found
[init -> drivers -> usb_drv] dev_info: 2 ports detected
[init -> drivers -> usb_drv] dev_info: xHCI Host Controller
[init -> drivers -> usb_drv] dev_info: new USB bus registered, assigned 
bus number 2
[init -> drivers -> usb_drv] dev_info: We don't know the algorithms for 
LPM for this host, disabling LPM.
[init -> drivers -> usb_drv] dev_info: USB hub found
[init -> drivers -> usb_drv] dev_info: 2 ports detected
[init -> drivers -> usb_drv] ioremap: mapped phys 0xf7ea6000 (size 256) 
to virt 0x17000
[init -> drivers -> usb_drv] ioremap: return sub range phys 0xf7ea6000 
(size 256) to virt 0x17000
[init -> drivers -> usb_drv] dev_info: EHCI Host Controller
[init -> drivers -> usb_drv] dev_info: new USB bus registered, assigned 
bus number 3
[init -> drivers -> usb_drv] dev_info: applying AMD 
SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[init -> drivers -> platform_drv] 00:13.0 adjust IRQ as reported by 
ACPI: 5 -> 18
[init -> drivers -> platform_drv] 00:13.0 uses IRQ, vector 0x12, 
non-maskable
[init -> drivers -> usb_drv] dev_info: irq 130, io mem 0xf7ea6000
[init -> drivers -> usb_drv] dev_info: USB 2.0 started, EHCI 1.00
[init -> drivers -> usb_drv] dev_info: USB hub found
[init -> drivers -> usb_drv] dev_info: 2 ports detected
[init -> drivers -> usb_drv] dev_info: new high-speed USB device number 
2 using ehci-pci
[init -> drivers -> usb_drv] dev_info: USB hub found
[init -> drivers -> usb_drv] dev_info: 4 ports detected
```

73's,
Adam Wiethuechter, Jr Software Engineer
Critical Technologies Inc. (CTI)
Desk: (315)-793-0248 x157
Cell: (315)-552-4298
<adam.wiethuechter at critical.com>

On 9/14/19 5:48 AM, Alexander Boettcher wrote:
> On 13.09.19 23:31, Adam T. Winchester wrote:
>> Just got the ISO image (found in build/x86_64/var/run/demo.iso, just dd
>> onto SD card) to start up and display via Minicom.
> Good.
>
>> not implemented - resources leaked: 0x20
>> [init -> drivers -> acpi_drv] Found MCFG
>> [init -> drivers -> acpi_drv] MCFG BASE 0xf8000000 seg 0x0 bus 0x0-0x40
>> [init -> drivers -> acpi_drv] Found MADT
>> [init -> drivers -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
>> [init -> drivers -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 15
>> [init -> drivers -> acpi_drv] XSDT OEM 'COREv4', table id 'COREBOOT',
>> revision 0, creator 'CORE' (538511107)
>> Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability)
>> not implemented - resources leaked: 0x40
>> [init -> drivers -> platform_drv] ECAM/MMCONF range 00:00.0-40:1f.7 -
>> addr [00000000f8000000,00000000fc100000)
>> [init -> drivers -> acpi_drv] SMBIOS table (entry point: 0x1c6280
>> structures: 0xcfeab020)
>> [init -> drivers -> platform_drv] Root bridge: 00:18.0
>> [init -> drivers -> platform_drv] 00:02.2 - bridge 01:00.0
>> [init -> drivers -> platform_drv] 00:02.3 - bridge 02:00.0
>> [init -> drivers -> platform_drv] 00:02.4 - bridge 03:00.0
>> [init -> drivers -> platform_drv] 00:02.5 - bridge 04:00.0 enabled
>> Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability)
>> not implemented - resources leaked: 0x80
>> [init -> drivers -> fb_drv] Error: PCI VGA card not found.
>> [init -> drivers -> fb_drv] Error: H/W driver init failed
>> [init -> drivers -> fb_drv] Error: __cxa_guard_abort called
>> Kernel: Thread 'ep' died because of an uncaught exception
>> [init -> drivers -> fb_drv] Error: Uncaught exception of type
>> 'Framebuffer::Fatal'
>> [init -> drivers -> fb_drv] Warning: abort called - thread: ep
>> [init -> drivers] child "fb_drv" exited with exit value 1
>> [init -> drivers -> usb_drv] Could not read screen resolution in config
>> node
> You may try the fb_boot_drv [0][1] instead of the vesa driver. Mainly
> you let grub2 set up the graphic device and if this succeeds, the driver
> will just us the prepared framebuffer and the fixed resolution. The
> driver should work independent of whether you boot uefi or legacy boot,
> as long as grub2 manages to setup things.
>
> I attached a diff below where you see the possible set screws. Please
> note that the patch in the demo.run is just a bad hack. If the
> fb_boot_drv works for you, you should consider to create another
> drivers_interactive-pc package which contains the fb_boot-drv instead of
> the vesa driver.
>
> [0]
> https://genode.org/documentation/release-notes/17.08#Support_for_boot-time_initialized_frame_buffer
> [1] https://lists.genode.org/pipermail/users/2017-October/005548.html
>
>> [init -> drivers -> usb_drv] dev_info: applying AMD
>> SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
> Just as note, AMD is not regularly/officially tested/supported by Genode
> Labs - but used/tested by enthusiasts nevertheless also with Sculpt.
>
>> I think its just the fact that APU series has no GUI that I am not
>> seeing anything else.
>> What does worry me though is this: "[init -> drivers -> platform_drv]
>> Warning: Out_of_caps during Device_component construction". Sounds like
>> I ran out of something, which may not be good considering my goal is to
>> hopefully get Sculpt working on this hardware.
>>
>> Is there another demo/test application I can use that functions with
>> serial communication to further test and develop with (seeing as I don't
>> have an video ouput) or will I have to roll my own?
>>
>> Thanks again!
> diff --git a/repos/os/run/demo.run b/repos/os/run/demo.run
> index 6b9642f4b6..2a8bc3cd85 100644
> --- a/repos/os/run/demo.run
> +++ b/repos/os/run/demo.run
> @@ -213,7 +213,11 @@ puts $launchpad_config_fd {<config>
>   </config>}
>   close $launchpad_config_fd
>
> -build_boot_image { status_bar testnit launchpad.config }
> +build { drivers/framebuffer/boot }
> +
> +exec cp bin/fb_boot_drv bin/vesa_fb_drv
> +
> +build_boot_image { status_bar testnit launchpad.config vesa_fb_drv }
>
>   if {[get_cmd_switch --autopilot]} {
>   	run_genode_until {\[init -> scout\] png is.*\n} 40
> diff --git a/tool/run/boot_dir/nova b/tool/run/boot_dir/nova
> index 73f0e4d934..b97cff8703 100644
> --- a/tool/run/boot_dir/nova
> +++ b/tool/run/boot_dir/nova
> @@ -114,7 +114,7 @@ proc run_boot_dir {binaries} {
>   		puts $fh "set timeout=0"
>
>   		# choose best graphic mode
> -		puts $fh "set gfxpayload=auto"
> +		puts $fh "set gfxpayload=1024x768 at 32"
>
>   		if {[have_include image/uefi]} {
>   			puts $fh "insmod gfxterm"
> diff --git a/tool/run/boot_dir/sel4 b/tool/run/boot_dir/sel4
> index 14f2dbafcb..2f04260d8e 100644
> --- a/tool/run/boot_dir/sel4
> +++ b/tool/run/boot_dir/sel4
> @@ -84,7 +84,8 @@ proc run_boot_dir {binaries} {
>   		set fh [open "[run_dir]/boot/grub/grub.cfg" "WRONLY CREAT TRUNC"]
>   		puts $fh "set timeout=0"
>   		# tell grub2 to prefer 32bit framebuffer resolution
> -		puts $fh "set gfxpayload=\"0x0x32\""
> +#		puts $fh "set gfxpayload=\"0x0x32\""
> +		puts $fh "set gfxpayload=1024x768x32"
>   		puts $fh "menuentry 'Genode on seL4' {"
>   		puts $fh " insmod multiboot2"
>   		puts $fh " multiboot2 /boot/bender phys_max=256M $serial_bender_opt"
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20190916/59b18792/attachment-0001.html>


More information about the users mailing list