I have been having a problem with Genode/NOVA demo booting using a custom boot module we are developing ever since Genode 17.08 was released and I was hoping to get some help tracing down the problem on the Genode side with this issue.  Listed below is the output of two boots of the same build of the demo (in this case 17.11), one without our custom SABLE bootloader, one with.  Before 17.08, the hand-off from SABLE to the NOVA kernel was fine, Genode booted and the demo ran as it should have.  Now I get PAGE FAULT errors.  I also tried downloading the previous version, 17.05 and recreating this build but still get errors, and from what I can tell, this is because the latest NOVA port gets brought in so I believe the problem resides with the way that the NOVA kernel handles modules already in memory at load time of the kernel that is causing this page fault.  Are there any thoughts or leads you can assist with in this?  As a side note, this SABLE boot loader module loads the Linux kernel flawlessly.

Chris Rothrock


##########################################################
###          Without SABLE Boot Module                 ###
##########################################################


NOVA Microhypervisor v7-ef4b287 (x86_32): May 10 2018 10:39:11 [gcc 6.3.0] [MBI]

[ 0] TSC:3593297 kHz BUS:99813 kHz (measured)
[ 0] CORE:0:0:0 15:38:1:0 [0] AMD PRO A10-8750B R7, 12 Compute Cores 4C+8G
[ 1] CORE:0:1:0 15:38:1:0 [0] AMD PRO A10-8750B R7, 12 Compute Cores 4C+8G
[ 3] CORE:0:3:0 15:38:1:0 [0] AMD PRO A10-8750B R7, 12 Compute Cores 4C+8G
[ 2] CORE:0:2:0 15:38:1:0 [0] AMD PRO A10-8750B R7, 12 Compute Cores 4C+8G
Hypervisor features SVM
Hypervisor reports 4x1 CPUs
CPU ID (genode->kernel:package:core:thread) remapping
 remap (0->0:0:0:0) boot cpu
 remap (1->1:0:1:0)
 remap (2->2:0:2:0)
 remap (3->3:0:3:0)
Hypervisor info page contains 27 memory descriptors:
core     image  [00100000,007d4000)
binaries region [0022f000,007d4000) free for reuse
detected physical memory: 0x00000000 - size: 0x0009e800
use      physical memory: 0x00000000 - size: 0x0009e000
detected physical memory: 0x00100000 - size: 0xac722000
use      physical memory: 0x00100000 - size: 0xac722000
detected physical memory: 0xadb93000 - size: 0x00001000
use      physical memory: 0xadb93000 - size: 0x00001000
detected physical memory: 0xadd9a000 - size: 0x00156000
use      physical memory: 0xadd9a000 - size: 0x00156000
detected physical memory: 0xae825000 - size: 0x0004b000
use      physical memory: 0xae825000 - size: 0x0004b000
detected physical memory: 0xaeff1000 - size: 0x0000f000
use      physical memory: 0xaeff1000 - size: 0x0000f000
detected physical memory: 0x00000000 - size: 0x40000000
ROM modules:
 ROM: [003a2000,003bad70) acpi_drv
 ROM: [006f3000,006f4d64) config
 ROM: [00015000,00016000) core_log
 ROM: [006f5000,00740dfc) fb_drv
 ROM: [007a4000,007c5810) global_keys_handler
 ROM: [00013000,00014000) hypervisor_info_page
 ROM: [0087e000,008bf238) init
 ROM: [007c6000,0087d554) launchpad
 ROM: [00648000,00648253) launchpad.config
 ROM: [00595000,00647c64) ld.lib.so
 ROM: [00741000,0078621c) liquid_fb
 ROM: [00332000,003440c0) nit_focus
 ROM: [00345000,00363af8) nitlog
 ROM: [00649000,00692c34) nitpicker
 ROM: [006a9000,006f23f0) platform_drv
 ROM: [0000e000,0000f000) platform_info
 ROM: [003bb000,003dbdb8) pointer
 ROM: [00364000,003887b0) ps2_drv
 ROM: [00389000,003a1db8) report_rom
 ROM: [008c0000,008d6500) rom_filter
 ROM: [003dc000,0057e8bc) scout
 ROM: [00787000,007a3fd4) status_bar
 ROM: [0057f000,00594c08) testnit
 ROM: [00693000,006a8f68) timer

Genode 17.11-221-g8d09d02 <local changes>
2718 MiB RAM and 63829 caps assigned to init
[init -> acpi_drv] Found MADT
[init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
[init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 15
[init -> acpi_drv] Found MCFG
[init -> acpi_drv] MCFG BASE 0xe0000000 seg 0x0 bus 0x0-0xff
[init -> platform_drv] 0:14.4 - bridge 1:0.0
[init -> platform_drv] 0:15.0 - bridge 2:0.0
[init -> platform_drv] 0:15.2 - bridge 3:0.0
[init -> fb_drv] Found PCI VGA at 00:01.0
[init -> fb_drv] fb mapped to 0x1000
[init -> ps2_drv] Using keyboard with scan code set 1 (xlate)
[init -> ps2_drv] Warning: could not reset mouse (missing ack)
[init -> ps2_drv] Error: failed to read from port
[init -> ps2_drv] Warning: could not reset mouse (unexpected response)
[init -> ps2_drv] Error: failed to read from port
[init -> ps2_drv] Warning: could not enable stream
[init -> fb_drv] Found: VESA BIOS version 3.0
[init -> fb_drv] OEM: AMD ATOMBIOS
[init -> platform_drv] PS2 uses IRQ, vector 0x1
[init -> platform_drv] PS2 uses IRQ, vector 0xc
[init -> ps2_drv] Warning: setting of mode indicators failed (0xed)
[init -> ps2_drv] Warning: setting of mode indicators failed (0xed)
[init -> ps2_drv] Warning: setting of mode indicators failed (0xed)
[init -> fb_drv] Found: physical frame buffer at 0xc0000000 size: 16777216
[init -> fb_drv] fb mapped to 0xb0000000
[init -> fb_drv] using video mode: 1920x1080@16
[init -> scout] png is 101 x 92, depth=8


##########################################################
###          With SABLE Boot Module                    ###
##########################################################


NOVA Microhypervisor v7-ef4b287 (x86_64): Feb  9 2018 14:02:24 [gcc 6.3.0] [MBI]

[ 0] TSC:3593306 kHz BUS:99814 kHz (measured)
[ 0] CORE:0:0:0 15:38:1:0 [0] AMD CPU booted by SABLE
[ 1] CORE:0:1:0 15:38:1:0 [0] AMD CPU booted by SABLE
[ 2] CORE:0:2:0 15:38:1:0 [0] AMD PRO A10-8750B R7, 12 Compute Cores 4C+8G
[ 3] CORE:0:3:0 15:38:1:0 [0] AMD PRO A10-8750B R7, 12 Compute Cores 4C+8G
Hypervisor features SVM
Hypervisor reports 4x1 CPUs
CPU ID (genode->kernel:package:core:thread) remapping
 remap (0->0:0:0:0) boot cpu
 remap (1->1:0:1:0)
 remap (2->2:0:2:0)
 remap (3->3:0:3:0)
Hypervisor info page contains 27 memory descriptors:
core     image  [0000000000100000,0000000000902000)
binaries region [000000000027a000,0000000000902000) free for reuse
detected physical memory: 0x0000000000000000 - size: 0x000000000009e800
use      physical memory: 0x0000000000000000 - size: 0x000000000009e000
detected physical memory: 0x0000000000100000 - size: 0x00000000ac722000
use      physical memory: 0x0000000000100000 - size: 0x00000000ac722000
detected physical memory: 0x00000000adb93000 - size: 0x0000000000001000
use      physical memory: 0x00000000adb93000 - size: 0x0000000000001000
detected physical memory: 0x00000000add9a000 - size: 0x0000000000156000
use      physical memory: 0x00000000add9a000 - size: 0x0000000000156000
detected physical memory: 0x00000000ae825000 - size: 0x000000000004b000
use      physical memory: 0x00000000ae825000 - size: 0x000000000004b000
detected physical memory: 0x00000000aeff1000 - size: 0x000000000000f000
use      physical memory: 0x00000000aeff1000 - size: 0x000000000000f000
detected physical memory: 0x0000000100000000 - size: 0x0000000040000000
use      physical memory: 0x0000000100000000 - size: 0x0000000040000000
ROM modules:
 ROM: [0000000000351000,0000000000370210) acpi_drv
 ROM: [0000000000719000,000000000071ad61) config
 ROM: [00000000addb0000,00000000addb1000) core_log
 ROM: [000000000071b000,0000000000778ed0) fb_drv
 ROM: [00000000007ed000,00000000008173a8) global_keys_handler
 ROM: [00000000addae000,00000000addaf000) hypervisor_info_page
 ROM: [00000000008df000,0000000000933380) init
 ROM: [0000000000818000,00000000008de1c0) launchpad
 ROM: [0000000000646000,0000000000646252) launchpad.config
 ROM: [0000000000565000,0000000000645908) ld.lib.so
 ROM: [0000000000779000,00000000007c9638) liquid_fb
 ROM: [00000000002ca000,00000000002dfc70) nit_focus
 ROM: [00000000002e0000,0000000000302fd0) nitlog
 ROM: [0000000000647000,00000000006a1500) nitpicker
 ROM: [00000000006be000,00000000007185d0) platform_drv
 ROM: [00000000addac000,00000000addad000) platform_info
 ROM: [0000000000371000,00000000003986e0) pointer
 ROM: [0000000000303000,0000000000330108) ps2_drv
 ROM: [0000000000331000,0000000000350198) report_rom
 ROM: [0000000000934000,00000000009516d8) rom_filter
 ROM: [0000000000399000,000000000054a9f8) scout
 ROM: [00000000007ca000,00000000007ec1e0) status_bar
 ROM: [000000000054b000,0000000000564aa8) testnit
 ROM: [00000000006a2000,00000000006bdfb8) timer

Genode 17.11-221-g8d09d02 <local changes>
3740 MiB RAM and 63253 caps assigned to init
Error:
PAGE-FAULT IN CORE addr=0xc0 ip=0x1b1950 (read)

stack pointer 0xa02fe6f8, qualifiers 0x4 irUwp
faulter utcb 0xa02ff000, last message item count 1
0 - type=0x1 rights=0x3 region=0x80000+0x4000 hotspot=0x0(0x801) - delegated
  #1 0x00000000a02fe6f8 0x00000000001b1950
  #2 0x00000000a02fe6f8 0x000000000017ecac


--


Thank You,

Chris Rothrock
Senior System Administrator
(315) 308-1637