Sorry about mess with previous message. Hope that this one would be correct.
Hello!
Problem description: system hangs right after "Press F12..." VirtualBox label disappears.
Environment:
MB: Asus Sabertooth Z87 Memory: 16 GB CPU: i7 4770k (Yes, I know that it does not support VT-d) USB stick: Transcend 16GB 1100
Tweaked virtualbox_auto.inc (ahci driver was removed, use_usb==1, $use_ps2==0, $use_ram_fs==0):
======================================================================== assert_spec nova
if {[have_include "power_on/qemu"]} { puts "\nRun script does not support Qemu.\n" exit }
append build_components { core init virtualbox server/part_blk server/rump_fs drivers/framebuffer drivers/timer }
lappend_if [expr $use_ps2] build_components drivers/input lappend_if [expr $use_usb] build_components drivers/usb lappend_if [have_spec x86] build_components drivers/rtc lappend_if [expr $use_ram_fs] build_components server/ram_fs
source ${genode_dir}/repos/base/run/platform_drv.inc # override defaults of platform_drv.inc proc platform_drv_priority {} { return { priority="-1"} }
append_platform_drv_build_components
build $build_components
create_boot_directory
set config { <config verbose="yes" prio_levels="4"> <parent-provides> <service name="ROM"/> <service name="RAM"/> <service name="IRQ"/> <service name="IO_MEM"/> <service name="IO_PORT"/> <service name="CAP"/> <service name="PD"/> <service name="RM"/> <service name="CPU"/> <service name="LOG"/> <service name="SIGNAL"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route> <start name="timer"> <resource name="RAM" quantum="1M"/> <provides><service name="Timer"/></provides> </start> <start name="usb_drv" priority="-1"> <resource name="RAM" quantum="16M"/> <provides> <service name="Input"/> <service name="Usb" /> <service name="Block"/> </provides> <config uhci="yes" ehci="yes" xhci="yes"> <hid/> <storage/> <raw> <report devices="yes"/> </raw> <policy label="part_blk"/> </config> <route> <service name="IRQ"><child name="acpi_drv" /></service> <service name="Report"><child name="report_rom" /></service> <any-service> <parent /> <any-child /></any-service> </route> </start> <start name="part_blk" priority="-1"> <resource name="RAM" quantum="10M" /> <provides><service name="Block" /></provides> <route> <any-service><child name="usb_drv"/> <parent/><any-child/></any-service> </route> <config> <policy label="rump_fs" partition="1"/> </config> </start> <start name="rump_fs" priority="-1"> <resource name="RAM" quantum="32M" /> <provides><service name="File_system"/></provides> <config fs="ext2fs"><policy root="/" writeable="yes"/></config> <route> <any-service><child name="part_blk"/> <parent/><any-child/></any-service> </route> </start>}
append_if [expr $use_ram_fs] config { <start name="ram_fs" priority="-1"> <resource name="RAM" quantum="512M" /> <provides><service name="File_system"/></provides> <config> <content> <dir name="ram"> } append_if [expr $use_ram_fs] config "<rom name="${overlay_image}"/>" append_if [expr $use_ram_fs] config { </dir> </content> <!-- constrain sessions according to their labels --> <policy label="vbox -> from_ram_fs" root="/ram" writeable="yes" /> </config> </start>}
append_platform_drv_config
append_if [expr $use_ps2] config { <start name="ps2_drv" priority="-1"> <resource name="RAM" quantum="1M"/> <provides><service name="Input"/></provides> <route> <service name="IRQ"><child name="acpi_drv" /></service> <any-service> <parent /> <any-child /></any-service> </route> </start>}
append_if [have_spec framebuffer] config { <start name="fb_drv" priority="-1"> <resource name="RAM" quantum="6M"/> <provides><service name="Framebuffer"/></provides> <config buffered="yes" /> </start>}
append_if [have_spec x86] config { <start name="rtc_drv" priority="-1"> <resource name="RAM" quantum="1M"/> <provides> <service name="Rtc"/> </provides> </start>}
append config $config_of_app
append config { </config> }
install_config $config
append boot_modules { core init timer part_blk ld.lib.so libc.lib.so libm.lib.so pthread.lib.so libc_lock_pipe.lib.so libc_terminal.lib.so libiconv.lib.so stdcxx.lib.so rump.lib.so rump_fs.lib.so rump_fs virtualbox }
lappend_if [expr $use_ram_fs] boot_modules ram_fs lappend_if [expr $use_ram_fs] boot_modules ${overlay_image}
# platform-specific modules lappend_if [expr $use_ps2] boot_modules ps2_drv lappend_if [expr $use_usb] boot_modules usb_drv lappend_if [have_spec framebuffer] boot_modules fb_drv lappend_if [have_spec x86] boot_modules rtc_drv
append_platform_drv_boot_modules ========================================================================
Also I removed overlay disk from vm_win7.vbox and did not create /ram on USB stick.
Serial output: ======================================================================== Hypervisor features VMX Hypervisor reports 8x1 CPUs - boot CPU is 0 Hypervisor info page contains 53 memory descriptors: detected physical memory: 0x0000000000000000 - size: 0x9d800 use physical memory: 0x0000000000000000 - size: 0x9d000 detected physical memory: 0x0000000000100000 - size: 0xc785c000 use physical memory: 0x0000000000100000 - size: 0xc785c000 detected physical memory: 0x00000000c7963000 - size: 0x45a000 use physical memory: 0x00000000c7963000 - size: 0x45a000 detected physical memory: 0x00000000c822e000 - size: 0x154ac000 use physical memory: 0x00000000c822e000 - size: 0x154ac000 detected physical memory: 0x00000000defff000 - size: 0x1000 use physical memory: 0x00000000defff000 - size: 0x1000 detected physical memory: 0x0000000100000000 - size: 0x31f000000 use physical memory: 0x0000000100000000 - size: 0x31f000000 map multi-boot module: physical 0x7e881000+0x000e7400 - core map multi-boot module: physical 0x7e969000+0x00001e0b - config map multi-boot module: physical 0x7e96b000+0x0005c740 - input_merger map multi-boot module: physical 0x7e9c8000+0x0007e048 - nic_drv map multi-boot module: physical 0x7ea47000+0x0009cc40 - audio_drv map multi-boot module: physical 0x7eae4000+0x0007e550 - nitpicker map multi-boot module: physical 0x7eb63000+0x000564a8 - vbox_pointer map multi-boot module: physical 0x7ebba000+0x00062820 - nit_fb map multi-boot module: physical 0x7ec1d000+0x000611e0 - report_rom map multi-boot module: physical 0x7ec7f000+0x0005ff08 - init map multi-boot module: physical 0x7ecdf000+0x0005adf8 - timer map multi-boot module: physical 0x7ed3a000+0x0005bd48 - part_blk map multi-boot module: physical 0x7ed96000+0x0009bad8 - ld.lib.so map multi-boot module: physical 0x7ee32000+0x001098c8 - libc.lib.so map multi-boot module: physical 0x7ef3c000+0x000285f0 - libm.lib.so map multi-boot module: physical 0x7ef65000+0x00009a00 - pthread.lib.so map multi-boot module: physical 0x7ef6f000+0x00005db8 - libc_lock_pipe.lib.so map multi-boot module: physical 0x7ef75000+0x00013238 - libc_terminal.lib.so map multi-boot module: physical 0x7ef89000+0x000e71e8 - libiconv.lib.so map multi-boot module: physical 0x7f071000+0x000deaf0 - stdcxx.lib.so map multi-boot module: physical 0x7f150000+0x001cdc30 - rump.lib.so map multi-boot module: physical 0x7f31e000+0x0012bd78 - rump_fs.lib.so map multi-boot module: physical 0x7f44a000+0x00025358 - rump_fs map multi-boot module: physical 0x7f470000+0x0081e310 - virtualbox map multi-boot module: physical 0x7fc8f000+0x0010fbf8 - usb_drv map multi-boot module: physical 0x7fd9f000+0x00089378 - fb_drv map multi-boot module: physical 0x7fe29000+0x0005ef98 - rtc_drv map multi-boot module: physical 0x7fe88000+0x00073260 - platform_drv map multi-boot module: physical 0x7fefc000+0x0004e7a0 - acpi_drv map multi-boot module: physical 0x7ff4b000+0x000611e0 - report_rom map multi-boot module: physical 0x7ffad000+0x00051bc0 - device_pd map multi-boot module: physical 0x7ffff000+0x00000f57 - vm_win7.vbox :virt_alloc: Allocator 18ebe0 dump: Block: [00002000,000a0000) size=0009e000 avail=0009e000 max_avail=0009e000 Block: [000a0000,000a1000) size=00001000 avail=00000000 max_avail=0009e000 Block: [000a1000,000f4000) size=00053000 avail=00053000 max_avail=00053000 Block: [000f4000,000f5000) size=00001000 avail=00000000 max_avail=00053000 Block: [000f5000,000f6000) size=00001000 avail=00000000 max_avail=0009e000 Block: [000f6000,000f7000) size=00001000 avail=00000000 max_avail=00000000 Block: [000f7000,000f8000) size=00001000 avail=00001000 max_avail=00001000 Block: [000f8000,000f9000) size=00001000 avail=00000000 max_avail=00006000 Block: [000f9000,000fa000) size=00001000 avail=00000000 max_avail=00000000 Block: [000fa000,00100000) size=00006000 avail=00006000 max_avail=00006000 Block: [001e7000,001e8000) size=00001000 avail=00000000 max_avail=00000000 Block: [001e8000,001e9000) size=00001000 avail=00000000 max_avail=00006000 Block: [001e9000,001ea000) size=00001000 avail=00000000 max_avail=00000000 Block: [001ea000,001eb000) size=00001000 avail=00000000 max_avail=00000000 Block: [001eb000,001ec000) size=00001000 avail=00000000 max_avail=00000000 Block: [001ec000,001ed000) size=00001000 avail=00000000 max_avail=0009e000 Block: [001ed000,001ee000) size=00001000 avail=00000000 max_avail=00000000 Block: [001ee000,001ef000) size=00001000 avail=00000000 max_avail=00000000 Block: [001ef000,001f0000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f0000,001f1000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f1000,001f2000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f2000,001f3000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f3000,001f4000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f4000,001f5000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f5000,001f6000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f6000,001f7000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f7000,001f8000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f8000,001f9000) size=00001000 avail=00000000 max_avail=00000000 Block: [001f9000,001fa000) size=00001000 avail=00000000 max_avail=00000000 Block: [001fa000,001fb000) size=00001000 avail=00000000 max_avail=00000000 Block: [001fb000,001fc000) size=00001000 avail=00000000 max_avail=00000000 Block: [001fc000,001fd000) size=00001000 avail=00000000 max_avail=00000000 Block: [001fd000,001fe000) size=00001000 avail=00000000 max_avail=00000000 Block: [001fe000,001ff000) size=00001000 avail=00000000 max_avail=00000000 Block: [001ff000,00200000) size=00001000 avail=00000000 max_avail=00000000 Block: [00200000,00201000) size=00001000 avail=00000000 max_avail=00000000 Block: [00201000,00202000) size=00001000 avail=00000000 max_avail=00000000 Block: [00202000,00203000) size=00001000 avail=00000000 max_avail=00000000 Block: [00203000,00204000) size=00001000 avail=00000000 max_avail=00000000 Block: [00204000,00205000) size=00001000 avail=00000000 max_avail=7fff000f9000 Block: [00205000,00206000) size=00001000 avail=00000000 max_avail=00000000 Block: [00206000,00207000) size=00001000 avail=00000000 max_avail=00000000 Block: [00207000,00208000) size=00001000 avail=00000000 max_avail=00000000 Block: [00208000,00209000) size=00001000 avail=00000000 max_avail=0000a000 Block: [00209000,0020a000) size=00001000 avail=00000000 max_avail=00000000 Block: [0020a000,0020b000) size=00001000 avail=00000000 max_avail=0000a000 Block: [0020b000,0020c000) size=00001000 avail=00000000 max_avail=00000000 Block: [0020c000,00216000) size=0000a000 avail=0000a000 max_avail=0000a000 Block: [00216000,00217000) size=00001000 avail=00000000 max_avail=00027000 Block: [00217000,0023e000) size=00027000 avail=00027000 max_avail=00027000 Block: [0023e000,0023f000) size=00001000 avail=00000000 max_avail=00027000 Block: [0023f000,00244000) size=00005000 avail=00005000 max_avail=00005000 Block: [00244000,00245000) size=00001000 avail=00000000 max_avail=00027000 Block: [00245000,00246000) size=00001000 avail=00000000 max_avail=00000000 Block: [00246000,00247000) size=00001000 avail=00000000 max_avail=7fff000f9000 Block: [00247000,00248000) size=00001000 avail=00000000 max_avail=00000000 Block: [00248000,00249000) size=00001000 avail=00000000 max_avail=00000000 Block: [00249000,0024a000) size=00001000 avail=00000000 max_avail=00000000 Block: [0024a000,0024b000) size=00001000 avail=00000000 max_avail=00000000 Block: [0024b000,0024c000) size=00001000 avail=00000000 max_avail=00000000 Block: [0024c000,0024d000) size=00001000 avail=00000000 max_avail=00000000 Block: [0024d000,0024e000) size=00001000 avail=00000000 max_avail=00000000 Block: [0024e000,0024f000) size=00001000 avail=00000000 max_avail=00017000 Block: [0024f000,00250000) size=00001000 avail=00000000 max_avail=00000000 Block: [00250000,00251000) size=00001000 avail=00000000 max_avail=00000000 Block: [00251000,00252000) size=00001000 avail=00000000 max_avail=00000000 Block: [00252000,00253000) size=00001000 avail=00000000 max_avail=00017000 Block: [00253000,00254000) size=00001000 avail=00000000 max_avail=00000000 Block: [00254000,0026b000) size=00017000 avail=00017000 max_avail=00017000 Block: [0026b000,0026c000) size=00001000 avail=00000000 max_avail=7fff000f9000 Block: [0026c000,0026d000) size=00001000 avail=00000000 max_avail=00000000 Block: [0026d000,0026e000) size=00001000 avail=00000000 max_avail=00061000 Block: [0026e000,0026f000) size=00001000 avail=00000000 max_avail=00000000 Block: [0026f000,002d0000) size=00061000 avail=00061000 max_avail=00061000 Block: [002d0000,002d1000) size=00001000 avail=00000000 max_avail=7fff000f9000 Block: [002d1000,002d2000) size=00001000 avail=00000000 max_avail=00000000 Block: [002d2000,a0000000) size=9fd2e000 avail=9fd2e000 max_avail=7fff000f9000 Block: [b0000000,bfeff000) size=0feff000 avail=0feff000 max_avail=7fff000f9000 Block: [bff04000,7fffbfffd000) size=7fff000f9000 avail=7fff000f9000 max_avail=7fff000f9000 => mem_size=140736145190912 (134216447 MB) / mem_avail=140736144916480 (134216446 MB) :phys_alloc: Allocator 18db20 dump: Block: [00001000,00002000) size=00001000 avail=00000000 max_avail=00000000 Block: [00002000,00003000) size=00001000 avail=00000000 max_avail=00000000 Block: [00003000,00004000) size=00001000 avail=00000000 max_avail=00000000 Block: [00004000,00005000) size=00001000 avail=00000000 max_avail=00000000 Block: [00005000,00006000) size=00001000 avail=00000000 max_avail=00000000 Block: [00006000,00007000) size=00001000 avail=00000000 max_avail=00000000 Block: [00007000,00008000) size=00001000 avail=00000000 max_avail=00000000 Block: [00008000,00009000) size=00001000 avail=00000000 max_avail=00000000 Block: [00009000,0000a000) size=00001000 avail=00000000 max_avail=00000000 Block: [0000a000,0000b000) size=00001000 avail=00000000 max_avail=00000000 Block: [0000b000,0000c000) size=00001000 avail=00000000 max_avail=00000000 Block: [0000c000,0000d000) size=00001000 avail=00000000 max_avail=00000000 Block: [0000d000,0000e000) size=00001000 avail=00000000 max_avail=00000000 Block: [0000e000,0000f000) size=00001000 avail=00000000 max_avail=00000000 Block: [0000f000,00010000) size=00001000 avail=00000000 max_avail=00000000 Block: [00010000,00011000) size=00001000 avail=00000000 max_avail=00000000 Block: [00011000,00012000) size=00001000 avail=00000000 max_avail=00000000 Block: [00012000,00013000) size=00001000 avail=00000000 max_avail=00000000 Block: [00013000,00014000) size=00001000 avail=00000000 max_avail=00000000 Block: [00014000,00015000) size=00001000 avail=00000000 max_avail=00000000 Block: [00015000,00016000) size=00001000 avail=00000000 max_avail=00000000 Block: [00016000,00017000) size=00001000 avail=00000000 max_avail=00000000 Block: [00017000,00018000) size=00001000 avail=00000000 max_avail=00000000 Block: [00018000,00019000) size=00001000 avail=00000000 max_avail=00000000 Block: [00019000,0001a000) size=00001000 avail=00000000 max_avail=00000000 Block: [0001a000,0001b000) size=00001000 avail=00000000 max_avail=00000000 Block: [0001b000,0001c000) size=00001000 avail=00000000 max_avail=00000000 Block: [0001c000,0001d000) size=00001000 avail=00000000 max_avail=00000000 Block: [0001d000,0001e000) size=00001000 avail=00000000 max_avail=00000000 Block: [0001e000,0001f000) size=00001000 avail=00000000 max_avail=00000000 Block: [0001f000,00020000) size=00001000 avail=00000000 max_avail=00000000 Block: [00020000,00021000) size=00001000 avail=00000000 max_avail=00000000 Block: [00021000,00022000) size=00001000 avail=00000000 max_avail=00000000 Block: [00022000,00023000) size=00001000 avail=00000000 max_avail=00000000 Block: [00023000,00024000) size=00001000 avail=00000000 max_avail=00000000 Block: [00024000,00025000) size=00001000 avail=00000000 max_avail=31f000000 Block: [00025000,00026000) size=00001000 avail=00000000 max_avail=00000000 Block: [00026000,00027000) size=00001000 avail=00000000 max_avail=00000000 Block: [00027000,00028000) size=00001000 avail=00000000 max_avail=00000000 Block: [00028000,00029000) size=00001000 avail=00000000 max_avail=00000000 Block: [00029000,0002a000) size=00001000 avail=00000000 max_avail=00000000 Block: [0002a000,0002b000) size=00001000 avail=00000000 max_avail=00000000 Block: [0002b000,0002c000) size=00001000 avail=00000000 max_avail=00000000 Block: [0002c000,0002d000) size=00001000 avail=00000000 max_avail=00000000 Block: [0002d000,0002e000) size=00001000 avail=00000000 max_avail=00000000 Block: [0002e000,0002f000) size=00001000 avail=00000000 max_avail=00000000 Block: [0002f000,00030000) size=00001000 avail=00000000 max_avail=00000000 Block: [00030000,00031000) size=00001000 avail=00000000 max_avail=00000000 Block: [00031000,00032000) size=00001000 avail=00000000 max_avail=00000000 Block: [00032000,00033000) size=00001000 avail=00000000 max_avail=00000000 Block: [00033000,00034000) size=00001000 avail=00000000 max_avail=00000000 Block: [00034000,00035000) size=00001000 avail=00000000 max_avail=00000000 Block: [00035000,00036000) size=00001000 avail=00000000 max_avail=00000000 Block: [00036000,00037000) size=00001000 avail=00000000 max_avail=31f000000 Block: [00037000,00038000) size=00001000 avail=00000000 max_avail=00000000 Block: [00038000,00039000) size=00001000 avail=00000000 max_avail=00000000 Block: [00039000,0003a000) size=00001000 avail=00000000 max_avail=00000000 Block: [0003a000,0003b000) size=00001000 avail=00000000 max_avail=00000000 Block: [0003b000,0003c000) size=00001000 avail=00000000 max_avail=00000000 Block: [0003c000,0003d000) size=00001000 avail=00000000 max_avail=002ff000 Block: [0003d000,0003e000) size=00001000 avail=00000000 max_avail=00000000 Block: [0003e000,0003f000) size=00001000 avail=00000000 max_avail=0005e000 Block: [0003f000,0009d000) size=0005e000 avail=0005e000 max_avail=0005e000 Block: [00100000,00101000) size=00001000 avail=00000000 max_avail=002ff000 Block: [00101000,00400000) size=002ff000 avail=002ff000 max_avail=002ff000 Block: [02800000,02801000) size=00001000 avail=00000000 max_avail=31f000000 Block: [02801000,02802000) size=00001000 avail=00000000 max_avail=00000000 Block: [02802000,7e881000) size=7c07f000 avail=7c07f000 max_avail=7c07f000 Block: [80001000,80002000) size=00001000 avail=00000000 max_avail=7c07f000 Block: [80002000,c795c000) size=4795a000 avail=4795a000 max_avail=4795a000 Block: [c7963000,c7964000) size=00001000 avail=00000000 max_avail=31f000000 Block: [c7964000,c7dbd000) size=00459000 avail=00459000 max_avail=00459000 Block: [c822e000,c822f000) size=00001000 avail=00000000 max_avail=31f000000 Block: [c822f000,dd6da000) size=154ab000 avail=154ab000 max_avail=154ab000 Block: [defff000,df000000) size=00001000 avail=00001000 max_avail=31f000000 Block: [100000000,41f000000) size=31f000000 avail=31f000000 max_avail=31f000000 => mem_size=17052463104 (16262 MB) / mem_avail=17052184576 (16262 MB) :io_mem_alloc: Allocator 18fcb8 dump: Block: [00000000,00001000) size=00001000 avail=00001000 max_avail=00001000 Block: [0009d000,00100000) size=00063000 avail=00063000 max_avail=00063000 Block: [c795c000,c7963000) size=00007000 avail=00007000 max_avail=00471000 Block: [c7dbd000,c822e000) size=00471000 avail=00471000 max_avail=00471000 Block: [dd6da000,defff000) size=01925000 avail=01925000 max_avail=fffffffbe0fff000 Block: [df000000,100000000) size=21000000 avail=21000000 max_avail=fffffffbe0fff000 Block: [41f000000,fffffffffffff000) size=fffffffbe0fff000 avail=fffffffbe0fff000 max_avail=fffffffbe0fff000 => mem_size=18446744056594694144 (17592186028094 MB) / mem_avail=18446744056594694144 (17592186028094 MB) Genode 15.11 int main(): --- create local services --- int main(): --- start init --- int main(): transferred 16261 MB to init [init] parent provides [init] service "ROM" [init] service "RAM" [init] service "IRQ" [init] service "IO_MEM" [init] service "IO_PORT" [init] service "CAP" [init] service "PD" [init] service "RM" [init] service "CPU" [init] service "LOG" [init] service "SIGNAL" [init] child "timer" [init] RAM quota: 876544 [init] ELF binary: timer [init] priority: 0 [init] provides service Timer [init] child "usb_drv" [init] RAM quota: 8216576 [init] ELF binary: usb_drv [init] priority: 1 [init] provides service Input [init] provides service Usb [init] provides service Block [init] child "part_blk" [init] RAM quota: 10313728 [init] ELF binary: part_blk [init] priority: 1 [init] provides service Block Quota exceeded! amount=24576, size=4096, consumed=24576 [init] upgrading quota donation for Env::CPU (8192 bytes) [init] child "rump_fs" [init] RAM quota: 33382400 [init] ELF binary: rump_fs [init] priority: 1 [init] provides service File_system [init] child "acpi_drv" [init] RAM quota: 1925120 [init] ELF binary: acpi_drv [init] priority: 1 Quota exceeded! amount=32768, size=4096, consumed=32768 [init] upgrading quota donation for Env::CPU (8192 bytes) [init] child "acpi_report_rom" [init] RAM quota: 1925120 [init] ELF binary: report_rom [init] priority: 1 [init] provides service ROM [init] provides service Report [init] child "platform_drv" [init] RAM quota: 4022272 [init] ELF binary: platform_drv [init] priority: 1 [init] provides service Platform Quota exceeded! amount=40960, size=4096, consumed=40960 [init] upgrading quota donation for Env::CPU (8192 bytes) [init] child "fb_drv" [init] RAM quota: 6119424 [init] ELF binary: fb_drv [init] priority: 1 [init] provides service Framebuffer [init] child "rtc_drv" [init] RAM quota: 876544 [init] ELF binary: rtc_drv [init] priority: 1 [init] provides service Rtc Quota exceeded! amount=49152, size=4096, consumed=49152 [init] upgrading quota donation for Env::CPU (8192 bytes) Quota exceeded! amount=61440, size=4096, consumed=61440 [init] upgrading quota donation for Env::RM (8192 bytes) [init] child "input_merger" [init] RAM quota: 876544 [init] ELF binary: input_merger [init] priority: 0 [init] provides service Input [init] child "nic_drv" [init] RAM quota: 8216576 [init] ELF binary: nic_drv [init] priority: 1 [init] provides service Nic Quota exceeded! amount=57344, size=4096, consumed=57344 [init] upgrading quota donation for Env::CPU (8192 bytes) Quota exceeded! amount=69632, size=4096, consumed=69632 [init] upgrading quota donation for Env::RM (8192 bytes) [init] child "audio_drv" [init] RAM quota: 9265152 [init] ELF binary: audio_drv [init] priority: 0 [init] provides service Audio_out [init] provides service Audio_in [init] child "report_rom" [init] RAM quota: 876544 [init] ELF binary: report_rom [init] priority: 0 [init] provides service Report [init] provides service ROM Quota exceeded! amount=65536, size=4096, consumed=65536 [init] upgrading quota donation for Env::CPU (8192 bytes) Quota exceeded! amount=77824, size=4096, consumed=77824 [init] upgrading quota donation for Env::RM (8192 bytes) [init] child "nitpicker" [init] RAM quota: 16605184 [init] ELF binary: nitpicker [init] priority: 1 [init] provides service Nitpicker Quota exceeded! amount=86016, size=4096, consumed=86016 [init] upgrading quota donation for Env::RM (8192 bytes) [init] child "vbox_pointer" [init] RAM quota: 876544 [init] ELF binary: vbox_pointer [init] priority: 1 Quota exceeded! amount=73728, size=4096, consumed=73728 [init] upgrading quota donation for Env::CPU (8192 bytes) Quota exceeded! amount=94208, size=4096, consumed=94208 [init] upgrading quota donation for Env::RM (8192 bytes) [init] child "nit_fb" [init] RAM quota: 8216576 [init] ELF binary: nit_fb [init] priority: 1 [init] provides service Framebuffer [init] provides service Input [init] child "vbox" [init] RAM quota: 1342005248 [init] ELF binary: virtualbox [init] priority: 2 [init] child "timer" announces service "Timer" [init] child "report_rom" announces service "Report" [init] child "report_rom" announces service "ROM" [init -> audio_drv] --- probe drivers --- [init] child "acpi_report_rom" announces service "Report" [init] child "acpi_report_rom" announces service "ROM" [init -> nic_drv] --- iPXE NIC driver started --- [init -> nic_drv] --- init iPXE NIC [init -> rump_fs] Using ext2fs as file system [init -> rump_fs] int rumpuser_init(int, const rumpuser_hyperup*): RUMP ver: 17 [init -> platform_drv] platform driver started [init -> rump_fs] int rumpuser_getparam(const char*, void*, size_t): RUMP_THREADS [init -> rump_fs] int rumpuser_getparam(const char*, void*, size_t): RUMP_VERBOSE [init -> acpi_drv] void Acpi_table::_parse_tables(T*, Genode::uint32_t) [with T = long long unsigned int; Genode::uint32 _t = unsigned int]: Found MADT [init -> rump_fs] int rumpuser_getparam(const char*, void*, size_t): _RUMPUSER_NCPU [init -> rump_fs] int rumpuser_getparam(const char*, void*, size_t): RUMP_MEMLIMIT [init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0 [init -> rump_fs] Asserting rump kernel 27536 KB of RAM Quota exceeded! amount=24576, size=4096, consumed=24576 [init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: d [init -> acpi_drv] void Acpi_table::_parse_tables(T*, Genode::uint32_t) [with T = long long unsigned int; Genode::uint32 _t = unsigned int]: Found MCFG [init -> acpi_drv] MCFG BASE 0xf0000000 seg 00 bus 00-7f [init -> rump_fs] upgrading quota donation for Env::CPU (8192 bytes) Quota exceeded! amount=32768, size=4096, consumed=32768 [init -> rump_fs] upgrading quota donation for Env::CPU (8192 bytes) [init -> rump_fs] BOOTSTRAP [init -> rump_fs] int rumpuser_getparam(const char*, void*, size_t): RUMP_NVNODES [init -> rump_fs] int rumpuser_getparam(const char*, void*, size_t): RUMP_BLKFAIL [init] child "rtc_drv" announces service "Rtc" [init -> rump_fs] int rumpuser_getparam(const char*, void*, size_t): RUMP_BLKSECTSHIFT [init] child "platform_drv" announces service "Platform" [init -> audio_drv] azalia0 at pci0 Quota exceeded! amount=40960, size=4096, consumed=40960 [init -> rump_fs] upgrading quota donation for Env::CPU (8192 bytes) [init -> platform_drv -> device_pd] Device protection domain starting ... [init -> platform_drv -> device_pd] assignment of PCI device failed [init -> platform_drv] 0:1b:0 write access to address=4 value=0x100206 size=0x2 got dropped [init -> platform_drv] 0:1b.0 adjust IRQ as reported by ACPI: 4 -> 22 [init -> platform_drv] 0:1b.0 uses MSI 64bit, vector 0x9f, address 0xfee00000 [init -> audio_drv] : <NULL> [init -> platform_drv -> device_pd] Device protection domain started [init -> nic_drv] Found: 00:19.0 8086:153b (rev 04) IRQ 03 [init -> fb_drv] int Framebuffer_drv::map_io_mem(Genode::addr_t, Genode::size_t, bool, void**, Genode::addr_t, Genode::D ataspace_capability*): fb mapped to 1000 Quota exceeded! amount=49152, size=4096, consumed=49152 [init -> rump_fs] upgrading quota donation for Env::CPU (8192 bytes) [init -> nic_drv] no driver found [init] child "fb_drv" announces service "Framebuffer" Quota exceeded! amount=61440, size=4096, consumed=61440 [init -> rump_fs] upgrading quota donation for Env::RM (8192 bytes) [init -> nic_drv] Found: 04:00.0 8086:10d3 (rev 00) IRQ 0a [init -> nic_drv] Io_port_connection already open [init -> usb_drv] Services::Services(): Could not read screen resolution in config node [init -> rump_fs] int rumpuser_getparam(const char*, void*, size_t): RUMP_MODULEBASE [init -> usb_drv] Services::Services(): No <nic> config node found - not starting the USB Nic (Network) service Quota exceeded! amount=57344, size=4096, consumed=57344 [init -> rump_fs] upgrading quota donation for Env::CPU (8192 bytes) [init -> usb_drv] Enabled UHCI (USB 1.0/1.1) support Quota exceeded! amount=69632, size=4096, consumed=69632 [init -> rump_fs] upgrading quota donation for Env::RM (8192 bytes) [init -> usb_drv] Enabled EHCI (USB 2.0) support [init -> usb_drv] Enabled XHCI (USB 3.0) support Quota exceeded! amount=65536, size=4096, consumed=65536 [init -> rump_fs] upgrading quota donation for Env::CPU (8192 bytes) [init] child "usb_drv" announces service "Input" [init] child "usb_drv" announces service "Usb" [init -> platform_drv] Quota exceeded! amount=663552, size=8192, consumed=663552 [init -> platform_drv] Quota exceeded! amount=1323008, size=8192, consumed=1318912 Quota exceeded! amount=77824, size=4096, consumed=77824 [init -> rump_fs] upgrading quota donation for Env::RM (8192 bytes) [init -> platform_drv -> device_pd] Device protection domain starting ... Quota exceeded! amount=73728, size=4096, consumed=73728 [init -> rump_fs] upgrading quota donation for Env::CPU (8192 bytes) [init -> platform_drv -> device_pd] assignment of PCI device failed [init -> usb_drv] dev_info: xHCI Host Controller [init -> usb_drv] dev_info: new USB bus registered, assigned bus number 1 [init -> platform_drv] 0:14.0 adjust IRQ as reported by ACPI: 15 -> 21 [init -> platform_drv] 0:14.0 uses MSI 64bit, vector 0x9e, address 0xfee00000 [init -> usb_drv] dev_info: USB hub found [init -> usb_drv] dev_info: 14 ports detected [init -> usb_drv] dev_info: xHCI Host Controller [init -> usb_drv] dev_info: new USB bus registered, assigned bus number 2 [init -> usb_drv] dev_info: USB hub found [init -> usb_drv] dev_info: 6 ports detected [init -> platform_drv -> device_pd] assignment of PCI device failed [init -> usb_drv] dev_info: EHCI Host Controller [init -> usb_drv] dev_info: new USB bus registered, assigned bus number 3 [init -> usb_drv] dev_warn: Enabling legacy PCI PM [init -> platform_drv] 0:1a.0 adjust IRQ as reported by ACPI: 11 -> 16 [init -> platform_drv] 0:1a.0 uses IRQ, vector 0x10 [init -> usb_drv] dev_info: irq 289, io mem 0xef538000 [init -> platform_drv -> device_pd] Device protection domain started [init -> usb_drv] dev_info: USB 2.0 started, EHCI 1.00 [init -> usb_drv] dev_info: USB hub found [init -> usb_drv] dev_info: 2 ports detected [init -> platform_drv -> device_pd] assignment of PCI device failed [init -> usb_drv] dev_info: EHCI Host Controller [init -> usb_drv] dev_info: new USB bus registered, assigned bus number 4 [init -> usb_drv] dev_warn: Enabling legacy PCI PM [init -> platform_drv] 0:1d.0 adjust IRQ as reported by ACPI: 6 -> 23 [init -> platform_drv] 0:1d.0 uses IRQ, vector 0x17 [init -> usb_drv] dev_info: irq 290, io mem 0xef537000 Quota exceeded! amount=86016, size=4096, consumed=86016 [init -> usb_drv] dev_info: USB 2.0 started, EHCI 1.00 [init -> usb_drv] dev_info: USB hub found [init -> usb_drv] dev_info: 2 ports detected [init] child "input_merger" announces service "Input" [init -> rump_fs] upgrading quota donation for Env::RM (8192 bytes) [init -> rump_fs] int rumpuser_getparam(const char*, void*, size_t): _RUMPUSER_HOSTNAME Quota exceeded! amount=81920, size=4096, consumed=81920 [init -> rump_fs] upgrading quota donation for Env::CPU (8192 bytes) [init -> usb_drv] dev_info: new low-speed USB device number 2 using xhci_hcd [init -> fb_drv] Found: VESA BIOS version 3.0 [init -> fb_drv] OEM: NVIDIA [init -> usb_drv] dev_warn: ep <warning: unsupported format string argument>x - rounding interval to 128 microframes, ep desc says 192 microframes [init -> usb_drv] dev_info: L U [init -> usb_drv] dev_info: input: USB HID v1.10 Keyboard [L U] on usb-dummy-5/input0 [init -> fb_drv] Found: physical frame buffer at 0xe9000000 size: 0x00e00000 [init -> fb_drv] int Framebuffer_drv::map_io_mem(Genode::addr_t, Genode::size_t, bool, void**, Genode::addr_t, Genode::D ataspace_capability*): fb mapped to 1800000 [init -> fb_drv] Using video mode: 1280 x 1024 x 16 [init -> fb_drv] Framebuffer::Session_component::Session_component(unsigned int, unsigned int, unsigned int, Genode::Dat aspace_capability, bool): use buf size 2621440 [init -> fb_drv] using buffered output [init] child "nitpicker" announces service "Nitpicker" [init -> nitpicker] create session with args: label="nit_fb", ram_quota=28672 [init -> nitpicker] create session with args: label="vbox_pointer", ram_quota=28672 [init] child "nit_fb" announces service "Framebuffer" [init] child "nit_fb" announces service "Input" [init -> nit_fb] using xywh=(0,0,1280,1024) [init -> usb_drv] dev_info: new full-speed USB device number 3 using xhci_hcd int main(): --- init created, waiting for exit condition --- [init -> usb_drv] dev_warn: ep <warning: unsupported format string argument>x - rounding interval to 64 microframes, ep desc says 80 microframes [init -> usb_drv] dev_info: A A [init -> usb_drv] dev_info: input: USB HID v1.11 Mouse [A A] on usb-dummy-6/input0 [init -> usb_drv] dev_error: usage index exceeded [init -> usb_drv] dev_error: usage index exceeded [init -> usb_drv] dev_error: item 0 2 2 2 parsing failed [init -> usb_drv] dev_info: new high-speed USB device number 4 using xhci_hcd [init -> usb_drv] dev_warn: ep <warning: unsupported format string argument>x - rounding interval to 128 microframes, ep desc says 255 microframes [init -> usb_drv] dev_warn: ep <warning: unsupported format string argument>x - rounding interval to 128 microframes, ep desc says 255 microframes [init -> usb_drv] dev_info: USB Mass Storage device detected [init -> usb_drv] Vendor id: JetFlash Product id: Transcend 16GB 1100 [init] child "usb_drv" announces service "Block" [init -> usb_drv] dev_info: new high-speed USB device number 5 using xhci_hcd [init -> part_blk] Partition 1: LBA 2048 (31676416 blocks) type: 83 [init] child "part_blk" announces service "Block" [init -> part_blk] session opened at partition 1 for 'rump_fs' [init -> rump_fs] Backend::Backend(): Backend blk_size 512 Quota exceeded! amount=94208, size=4096, consumed=94208 [init -> rump_fs] upgrading quota donation for Env::RM (8192 bytes) [init -> rump_fs] rump: /genode: file system not clean; please fsck(8) [init] child "rump_fs" announces service "File_system" [init -> vbox] void init_libc_lock_pipe(): init_libc_lock_pipe() [init -> vbox] using the pipe libc plugin [init -> vbox] 30000 .. 103fff: ld.lib.so [init -> vbox] 1888000 .. 1996fff: libc.lib.so [init -> vbox] 1997000 .. 199bfff: libc_lock_pipe.lib.so [init -> vbox] 199c000 .. 19adfff: libc_terminal.lib.so [init -> vbox] 19ae000 .. 1a93fff: libiconv.lib.so [init -> vbox] 1a94000 .. 1ab7fff: libm.lib.so [init -> vbox] 1ab8000 .. 1ac0fff: pthread.lib.so [init -> vbox] 1ac1000 .. 1ba1fff: stdcxx.lib.so [init -> vbox] getenv called for non-existent variable "XML_MEM_BREAKPOINT" [init -> vbox] getenv called for non-existent variable "XML_MEM_TRACE" [init -> vbox] getenv called for non-existent variable "LC_ALL" [init -> vbox] getenv called for non-existent variable "LC_CTYPE" [init -> vbox] getenv called for non-existent variable "LANG" [init -> vbox] getenv called for non-existent variable "PATH_LOCALE" [init -> vbox] getenv called for non-existent variable "VBOX_DISABLE_HOST_DISK_CACHE" [init -> vbox] getenv called for non-existent variable "CHARSETALIASDIR" [init -> usb_drv] dev_info: new high-speed USB device number 2 using ehci-pci [init -> usb_drv] dev_info: USB hub found [init -> usb_drv] dev_info: 6 ports detected [init -> vbox] getenv called for non-existent variable "TZ" [init -> usb_drv] dev_info: new high-speed USB device number 2 using ehci-pci [init -> usb_drv] dev_info: USB hub found [init -> usb_drv] dev_info: 8 ports detected [init -> vbox] getenv called for non-existent variable "TZ" [init -> vbox] fcntl(): command 2 not supported [init -> vbox] Log created: 2016-01-19T19:40:00.999000000Z [init -> vbox] main Executable: /virtualbox [init -> vbox] SystemProperties : Cannot determine default Guest Additions ISO location. Most likely they are not availa ble [init -> vbox] main genodeConsole = 000000000019f9d0 [init -> vbox] getenv called for non-existent variable "VBOX_USER_VMLOGDIR" Quota exceeded! amount=102400, size=4096, consumed=102400 [init -> rump_fs] upgrading quota donation for Env::RM (8192 bytes) [init -> vbox] requested stack for thread 'EMT-0' of 1048576 Bytes is too large, limit to 1036288 Bytes [init -> vbox] requested stack for thread 'EMT-1' of 1048576 Bytes is too large, limit to 1036288 Bytes Quota exceeded! amount=24576, size=4096, consumed=24576 [init -> vbox] upgrading quota donation for Env::CPU (8192 bytes) Quota exceeded! amount=61440, size=4096, consumed=61440 [init -> vbox] upgrading quota donation for Env::RM (8192 bytes) [init -> vbox] getenv called for non-existent variable "VBOX_SUPLIB_FAKE" Quota exceeded! amount=69632, size=4096, consumed=69632 [init -> vbox] upgrading quota donation for Env::RM (8192 bytes) Quota exceeded! amount=77824, size=4096, consumed=77824 [init -> vbox] upgrading quota donation for Env::RM (8192 bytes) Quota exceeded! amount=61440, size=8192, consumed=57344 Could not allocate metadata [init -> vbox] upgrading quota donation for Env::RAM (8192 bytes) [init -> vbox] EMT-0 Initial balloon size 0 Quota exceeded! amount=86016, size=4096, consumed=86016 [init -> vbox] upgrading quota donation for Env::RM (8192 bytes) Quota exceeded! amount=24576, size=4096, consumed=24576 [init -> vbox] Upgrading memory for creation of thread 'OhciFramer' Quota exceeded! amount=94208, size=4096, consumed=94208 [init -> vbox] upgrading quota donation for Env::RM (8192 bytes) [init -> vbox] EMT-0 PDMR3VmmDevHeapRegister 00000000f0400000 00000000001ec000 4000 [init -> vbox] getenv called for non-existent variable "VBOX_SUPLIB_FAKE" [init -> vbox] Using VMX virtualization extension. [init -> vbox] fb resize : 1280x1024@...64... -> 720x400@...361... [init -> vbox] fb resize : 720x400@...64... -> 640x480@...362... [init -> vbox] fb resize : 640x480@...64... -> 720x400@...361... [init -> vbox] fb resize : 720x400@...64... -> 1024x768@...382... [init -> audio_drv] azalia0: codecs: 0x10ec/0x0900 [init -> audio_drv] audio0 at azalia0 [init -> audio_drv] [init -> audio_drv] --- parse config --- [init -> audio_drv] outputs.master: 126 -> 255 [init -> audio_drv] record.adc-0:1: 124 -> 255 [init] child "audio_drv" announces service "Audio_out" [init -> audio_drv] --- BSD Audio driver enable playback --- [init] child "audio_drv" announces service "Audio_in" [init -> audio_drv] --- BSD Audio driver enable recording --- ========================================================================
Hello,
On 19.01.2016 18:41, 1 2 wrote:
Problem description: system hangs right after "Press F12..." VirtualBox label disappears.
Environment:
MB: Asus Sabertooth Z87 Memory: 16 GB CPU: i7 4770k (Yes, I know that it does not support VT-d) USB stick: Transcend 16GB 1100
[init -> vbox] Using VMX virtualization extension. [init -> vbox] fb resize : 1280x1024@...64... -> 720x400@...361... [init -> vbox] fb resize : 720x400@...64... -> 640x480@...362... [init -> vbox] fb resize : 640x480@...64... -> 720x400@...361... [init -> vbox] fb resize : 720x400@...64... -> 1024x768@...382...
the output looks good. The VM started and is running, switches resolutions - so in general all is up.
So, things you may try: - run your setup on current genode master branch instead of the 15.11 release. We fixed issues in the usb driver (storage) and nova kernel, which may affect you. - you may set the virtual CPU count to 1 in your .vbox file for the moment - set HardwareVirtExUX to false in your .vbox file (but keep it on true if it does not change anything) - Do you run a 32bit or 64bit VM ? Which Windows version, or Linux, ... ?
Hope it helps,
Alexander.
Hello, Alexander!
I try to run Win7 32-bit (appropriate win7.vdi is quite small, less than 2G). I've read previsously that current vbox port does not support 64-bit guest systems.
I injected several debug messages into usb_drv and rump_fs. It seems that usb_drv (and underlying layers) works correct (scsi_cmdn.result is always 0), while rump_fs reports that rump_sys_pread always return -1. Also vbox did several writes into win7.vdi, and rump_sys_pwrite always return requested amount of bytes! Moreso, vbox successfully creates /Logs dir, but it's empty. So I suspected either original rump library or part_blk.
Still investigating this puzzle.
20.01.2016, 12:57, "Alexander Boettcher" <alexander.boettcher@...1...>:
Hello,
On 19.01.2016 18:41, 1 2 wrote:
Problem description: system hangs right after "Press F12..." VirtualBox label disappears.
Environment:
MB: Asus Sabertooth Z87 Memory: 16 GB CPU: i7 4770k (Yes, I know that it does not support VT-d) USB stick: Transcend 16GB 1100
[init -> vbox] Using VMX virtualization extension. [init -> vbox] fb resize : 1280x1024@...64... -> 720x400@...361... [init -> vbox] fb resize : 720x400@...64... -> 640x480@...362... [init -> vbox] fb resize : 640x480@...64... -> 720x400@...361... [init -> vbox] fb resize : 720x400@...64... -> 1024x768@...382...
the output looks good. The VM started and is running, switches resolutions - so in general all is up.
So, things you may try:
- run your setup on current genode master branch instead of the 15.11
release. We fixed issues in the usb driver (storage) and nova kernel, which may affect you.
- you may set the virtual CPU count to 1 in your .vbox file for the moment
- set HardwareVirtExUX to false in your .vbox file (but keep it on true
if it does not change anything)
- Do you run a 32bit or 64bit VM ? Which Windows version, or Linux, ... ?
Hope it helps,
Alexander.
Hello again, Alexander!
Yes, the problem was in usb_drv. Namely, vbox initially reads a pile of single blocks per read. rump_fs at first caches these reads as 8 blocks per once (i.e. single request to the part_blk and then to the usb_drv -> single answer), but at some moment changes the strategy and sends several requests for 64 blocks at once without avaiting the answers, which was not good for old storage.cc code.
Sincerely thank you for your help!
For me, it was the first step. What I want next: is it possible to passthrough at least the GPU into VM? Have you (Genode labs) some plans about that task? Or at least some guidance? AFAIK VirtualBox itself has such a possibility: https://www.virtualbox.org/manual/ch09.html#pcipassthrough
20.01.2016, 14:18, "1 2" <freescalereg@...129...>:
Hello, Alexander!
I try to run Win7 32-bit (appropriate win7.vdi is quite small, less than 2G). I've read previsously that current vbox port does not support 64-bit guest systems.
I injected several debug messages into usb_drv and rump_fs. It seems that usb_drv (and underlying layers) works correct (scsi_cmdn.result is always 0), while rump_fs reports that rump_sys_pread always return -1. Also vbox did several writes into win7.vdi, and rump_sys_pwrite always return requested amount of bytes! Moreso, vbox successfully creates /Logs dir, but it's empty. So I suspected either original rump library or part_blk.
Still investigating this puzzle.
20.01.2016, 12:57, "Alexander Boettcher" <alexander.boettcher@...1...>:
Hello,
On 19.01.2016 18:41, 1 2 wrote:
Problem description: system hangs right after "Press F12..." VirtualBox label disappears.
Environment:
MB: Asus Sabertooth Z87 Memory: 16 GB CPU: i7 4770k (Yes, I know that it does not support VT-d) USB stick: Transcend 16GB 1100
[init -> vbox] Using VMX virtualization extension. [init -> vbox] fb resize : 1280x1024@...64... -> 720x400@...361... [init -> vbox] fb resize : 720x400@...64... -> 640x480@...362... [init -> vbox] fb resize : 640x480@...64... -> 720x400@...361... [init -> vbox] fb resize : 720x400@...64... -> 1024x768@...382...
the output looks good. The VM started and is running, switches resolutions - so in general all is up.
So, things you may try: - run your setup on current genode master branch instead of the 15.11 release. We fixed issues in the usb driver (storage) and nova kernel, which may affect you. - you may set the virtual CPU count to 1 in your .vbox file for the moment - set HardwareVirtExUX to false in your .vbox file (but keep it on true if it does not change anything) - Do you run a 32bit or 64bit VM ? Which Windows version, or Linux, ... ?
Hope it helps,
Alexander.
Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hello 1 2,
On 20.01.2016 21:00, 1 2 wrote:
Yes, the problem was in usb_drv. Namely, vbox initially reads a pile of single blocks per read. rump_fs at first caches these reads as 8 blocks per once (i.e. single request to the part_blk and then to the usb_drv -> single answer), but at some moment changes the strategy and sends several requests for 64 blocks at once without avaiting the answers, which was not good for old storage.cc code. Sincerely thank you for your help!
Nice !
For me, it was the first step. What I want next: is it possible to passthrough at least the GPU into VM? Have you (Genode labs) some plans about that task? Or at least some guidance? AFAIK VirtualBox itself has such a possibility: https://www.virtualbox.org/manual/ch09.html#pcipassthrough
We have not enabled this feature in the VBox VMM port to Genode@...391... Currently, there are no plans from Genode Labs side to do it.
But, of course, we may assist you if you're willing to spend the effort.
In principal the assignment of devices to VMs (with IOMMUs) already works. It was already done for NUL@...153... and the Vancouver VMM [0] in the past at the TU Dresden (~2009/2010++). Probably - it was also done for Genode@...153... and the Seoul VMM (kind of successor of Vancouver VMM) by the Intel Labs/Braunschweig around the people of Udo Steinberg. Unfortunately, Intel decided to close the Braunschweig office. We, at Genode Labs, however did not experimented with PCI passthrough and Seoul VMM so far.
I would enable the part in the VBox VMM/Genode port regarding PCI passthrough and see what must be done there. If you once manage to get it compile then the missing backend functions, (probably regarding PCI discovery, IO Memory and IO Ports) must be adjusted in the Genode/VBox component to the Genode platform driver interface. Here we/I are willing to assist you.
Cheers,
Alexander Boettcher.