Skip to content

Instantly share code, notes, and snippets.

@iloskutov
Created January 16, 2013 12:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iloskutov/4546771 to your computer and use it in GitHub Desktop.
Save iloskutov/4546771 to your computer and use it in GitHub Desktop.
L4 Bootstrapper
Build: #1 Пт. дек. 28 13:16:40 MSK 2012, x86-32, 4.7.2
RAM: 0000000000000000 - 000000000009fbff: 639kB
RAM: 0000000000100000 - 000000001fffdfff: 523256kB
Total RAM: 511MB
Moving modules behind 1100000
moving module 00 { 326000-3a3193 } -> { 1bc0000-1c3d193 } [512404]
moving module 01 { 3a4000-4028d7 } -> { 1c3e000-1c9c8d7 } [387288]
moving module 02 { 403000-48400b } -> { 1c9d000-1d1e00b } [528396]
moving module 03 { 485000-485579 } -> { 1100000-1100579 } [1402]
moving module 04 { 486000-4da857 } -> { 1101000-1155857 } [346200]
moving module 05 { 4db000-5190b7 } -> { 1156000-11940b7 } [254136]
moving module 06 { 51a000-563e17 } -> { 1195000-11dee17 } [302616]
moving module 07 { 564000-907f7f } -> { 11df000-1582f7f } [3817344]
moving module 08 { 908000-c8dfff } -> { 1583000-1908fff } [3694592]
moving module 09 { c8e000-ccff2f } -> { 1909000-194af2f } [270128]
moving module 10 { cd0000-d12533 } -> { 194b000-198d533 } [271668]
moving module 11 { d13000-d7d0c7 } -> { 198e000-19f80c7 } [434376]
moving module 12 { d7e000-de5573 } -> { 19f9000-1a60573 } [423284]
Scanning /fiasco/fiasco -serial_esc
Scanning /fiasco/sigma0
Scanning /genode/core
Bootloader MMAP:
[ 0, 9fc00) RAM (1)
[ 9fc00, a0000) reserved (2)
[ f0000, 100000) reserved (2)
[ 100000, 1fffe000) RAM (1)
[ 1fffe000, 20000000) reserved (2)
[ feffc000, ff000000) reserved (2)
[ fffc0000, 100000000) reserved (2)
Relocated mbi to [0x2df000-0x2df4fd]
Loading /fiasco/fiasco
Loading /fiasco/sigma0
Loading /genode/core
find kernel info page...
found kernel info page at 0x400000
Regions of list 'regions'
[ 0, fff] { 1000} Arch BIOS
[ 1000, 1fff] { 1000} Kern /fiasco/fiasco
[ 9fc00, 9ffff] { 400} Arch BIOS
[ f0000, fffff] { 10000} Arch BIOS
[ 100000, 10b197] { b198} Sigma0 /fiasco/sigma0
[ 2d0000, 2e3427] { 13428} Boot bootstrap
[ 2df000, 2df5fa] { 5fb} Root Multiboot info
[ 300000, 38ffff] { 90000} Kern /fiasco/fiasco
[ 400000, 481fff] { 82000} Kern /fiasco/fiasco
[ 500000, 66986f] { 169870} Root /genode/core
[ 1100000, 1a60573] { 960574} Root Module
[ 1fffe000, 1fffffff] { 2000} Arch BIOS
[ feffc000, feffffff] { 4000} Arch BIOS
[ fffc0000, ffffffff] { 40000} Arch BIOS
API Version: (87) experimental
Sigma0 config ip:001002bc sp:002de070
Roottask config ip:0055acc8 sp:00000000
Starting kernel /fiasco/fiasco at 00300874
Welcome to Fiasco.OC (ia32)!
L4/Fiasco.OC ia32 microkernel (C) 1998-2012 TU Dresden
Rev: r40 compiled with gcc 4.7.2 for Intel Pentium []
Build: #1 Пт. дек. 28 13:17:04 MSK 2012
Performance-critical config option(s) detected:
CONFIG_NDEBUG is off
Superpages: yes
Kmem:: cpu page at 1fff8000 (4096Bytes)
Per_cpu_data_alloc: (orig: 0xf0075020-0xf00756a0)
ACPI-Init
ACPI: RSDP[0xfd960] r00 OEM:BOCHS.
ACPI: RSDT[0x203fe3d0] r01 OEM:BOCHS. OEMTID:BXPCRSDT
ACPI: FACP[0x203fff80] r01 OEM:BOCHS. OEMTID:BXPCFACP
ACPI: SSDT[0x203ffe30] r01 OEM:BOCHS. OEMTID:BXPCSSDT
ACPI: APIC[0x203ffd10] r01 OEM:BOCHS. OEMTID:BXPCAPIC
ACPI: HPET[0x203ffcd0] r01 OEM:BOCHS. OEMTID:BXPCHPET
ACPI: SSDT[0x203ff660] r01 OEM:BXPC.. OEMTID:BXSSDTPC
IO-APIC: MADT = 0x203ffd10
IO-APIC[ 0]: struct: 0x203ffd4c adr=fec00000
Boot_alloc: size=0x1c
Boot_alloc: allocated extra memory block @0xfeffb000 (size=400)
Boot_alloc: @ 0xfeffb000
Boot_alloc: remaining free block @ 0xfeffb020 (size=3e0)
Boot_alloc: size=0x120
Boot_alloc: @ 0xfeffb020
Boot_alloc: remaining free block @ 0xfeffb140 (size=2c0)
IO-APIC[ 0]: pins 24
PIN[ 0m]: vector=20, del=0, dm=physical, dest=0 (high, edge)
PIN[ 1m]: vector=21, del=0, dm=physical, dest=0 (high, edge)
PIN[ 2m]: vector=22, del=0, dm=physical, dest=0 (high, edge)
PIN[ 3m]: vector=23, del=0, dm=physical, dest=0 (high, edge)
PIN[ 4m]: vector=24, del=0, dm=physical, dest=0 (high, edge)
PIN[ 5m]: vector=25, del=0, dm=physical, dest=0 (high, edge)
PIN[ 6m]: vector=26, del=0, dm=physical, dest=0 (high, edge)
PIN[ 7m]: vector=27, del=0, dm=physical, dest=0 (high, edge)
PIN[ 8m]: vector=28, del=0, dm=physical, dest=0 (high, edge)
PIN[ 9m]: vector=29, del=0, dm=physical, dest=0 (high, edge)
PIN[10m]: vector=2a, del=0, dm=physical, dest=0 (high, edge)
PIN[11m]: vector=2b, del=0, dm=physical, dest=0 (high, edge)
PIN[12m]: vector=2c, del=0, dm=physical, dest=0 (high, edge)
PIN[13m]: vector=2d, del=0, dm=physical, dest=0 (high, edge)
PIN[14m]: vector=2e, del=0, dm=physical, dest=0 (high, edge)
PIN[15m]: vector=2f, del=0, dm=physical, dest=0 (high, edge)
PIN[16m]: vector=30, del=0, dm=physical, dest=0 (high, edge)
PIN[17m]: vector=31, del=0, dm=physical, dest=0 (high, edge)
PIN[18m]: vector=32, del=0, dm=physical, dest=0 (high, edge)
PIN[19m]: vector=33, del=0, dm=physical, dest=0 (high, edge)
PIN[20m]: vector=34, del=0, dm=physical, dest=0 (high, edge)
PIN[21m]: vector=35, del=0, dm=physical, dest=0 (high, edge)
PIN[22m]: vector=36, del=0, dm=physical, dest=0 (high, edge)
PIN[23m]: vector=37, del=0, dm=physical, dest=0 (high, edge)
IO-APIC: dual 8259: yes
IO-APIC: ovr[ 0] 00 -> 2
IO-APIC: ovr[ 1] 05 -> 5
IO-APIC: ovr[ 2] 09 -> 9
IO-APIC: ovr[ 3] 0a -> a
IO-APIC: ovr[ 4] 0b -> b
Boot_alloc: size=0x4
Boot_alloc: @ 0xfeffb140
Boot_alloc: remaining free block @ 0xfeffb148 (size=2b8)
Allocate cpu_mem @ 0xfeffb400
FPU0: SSE
Local APIC[00]: version=14 max_lvt=5
APIC ESR value before/after enabling: 00000000/00000000
Using the Local APIC timer on vector 90 (Periodic Mode) for scheduling
SERIAL ESC: allocated IRQ 4 for serial uart
SERIAL ESC: allocated IRQ 4 for serial uart
Not using serial hack in slow timer handler.
Boot_alloc: size=0x14
Boot_alloc: @ 0xfeffb148
Boot_alloc: remaining free block @ 0xfeffb160 (size=2a0)
Boot_alloc: size=0x300
Boot_alloc: allocated extra memory block @0xfeffb800 (size=400)
Boot_alloc: @ 0xfeffb800
Boot_alloc: remaining free block @ 0xfeffbb00 (size=100)
Enable MSI support: chained IRQ mgr @ 0xfeffb140
Absolute KIP Syscalls using: Sysenter
CPU[0:0]: GenuineIntel (6:3:3:0)[00000633] Model: QEMU Virtual CPU version 1.2.1 at 2660 MHz
32 KB L1 I Cache (8-way associative, 64 bytes per line)
32 KB L1 D Cache (8-way associative, 64 bytes per line)
2048 KB L2 U Cache (8-way associative, 64 bytes per line)
Freeing init code/data: 16384 bytes (4 pages)
MP: detecting APs...
Calibrating timer loop... Per_cpu_data_alloc: (orig: 0xf0075020-0xf00756a0)
Allocate 1664 bytes (2KB) for CPU[1] local storage (offset=ed85fe0)
done.
SIGMA0: Hello!
KIP @ 400000
Found Fiasco: KIP syscalls: yes
allocated 4KB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[0:2000;9efff]
[0:10c000;2defff]
[4:2df000;2dffff]
[0:2e0000;3fffff]
[0:47e000;4fffff]
[4:500000;669fff]
[0:66a000;10fffff]
[4:1100000;1a60fff]
[0:1a61000;1d70ffff]
IOMEM:----------------------
[0:0;fff]
[0:9f000;fffff]
[0:1fffe000;febfffff]
[0:fec01000;fedfffff]
[0:fee01000;ffffffff]
IO PORTS--------------------------
[0:0;fffffff]
KIP @ 400000
magic: 4be6344c
version: 87004444
sigma0 esp: 002de070 eip:Allocate cpu_mem @ 0xfeddfc00
Local APIC[01]: version=14 max_lvt=5
001002bc
sigma1 esp: 00000000 eip: 00000000
root esp: 00000000 eip: 0055acc8
MBI @ 2df000
mod[3] [1100000,110057a) config
mod[4] [1101000,1155858) init
mod[5] [1156000,11940b8) timer
mod[6] [1195000,11dee18) uart_drv
mod[7] [11df000,1582f80) l4linux
mod[8] [1583000,1909000) initrd.gz
mod[9] [1909000,194af30) pci_drv
mod[10] [194b000,198d534) ps2_drv
mod[11] [198e000,19f8APIC ESR value before/after enabling: 00000000/00000000
0Using the Local APIC timer on vector 90 (Periodic Mode) for scheduling
cCPU[1:1]: GenuineIntel (6:3:3:0)[00000633] Model: QEMU Virtual CPU version 1.2.1 at 2660 MHz
8 32 KB L1 I Cache (8-way associative, 64 bytes per line)
) 32 KB L1 D Cache (8-way associative, 64 bytes per line)
2048 KB L2 U Cache (8-way associative, 64 bytes per line)
vFPU1: SSE
eCPU[1]: goes to idle loop
sa_drv
mod[12] [19f9000,1a60574) nic_drv
:ram_alloc: Allocator 6532a4 dump:
Block: [00002000,0000201c) size=0000001c avail=00000000 max_avail=00000000
Block: [0000201c,00002038) size=0000001c avail=00000000 max_avail=00000000
Block: [00002038,00002054) size=0000001c avail=00000000 max_avail=00000000
Block: [00002054,00002070) size=0000001c avail=00000000 max_avail=00000000
Block: [00002070,0000208c) size=0000001c avail=00000000 max_avail=00000000
Block: [0000208c,000020a8) size=0000001c avail=00000000 max_avail=001d2fe4
Block: [000020a8,000020c4) size=0000001c avail=00000000 max_avail=00000000
Block: [000020c4,0009f000) size=0009cf3c avail=0009cf3c max_avail=0009cf3c
Block: [0010c000,0010c01c) size=0000001c avail=00000000 max_avail=001d2fe4
Block: [0010c01c,002df000) size=001d2fe4 avail=001d2fe4 max_avail=001d2fe4
Block: [002e0000,002e001c) size=0000001c avail=00000000 max_avail=1bcaf000
Block: [002e001c,002e0038) size=0000001c avail=00000000 max_avail=00000000
Block: [002e0038,00400000) size=0011ffc8 avail=0011ffc8 max_avail=0011ffc8
Block: [0047e000,0047e01c) size=0000001c avail=00000000 max_avail=1bcaf000
Block: [0047e01c,00500000) size=00081fe4 avail=00081fe4 max_avail=00081fe4
Block: [0066a000,01100000) size=00a96000 avail=00a96000 max_avail=1bcaf000
Block: [01a61000,1d710000) size=1bcaf000 avail=1bcaf000 max_avail=1bcaf000
=> mem_size=481652736 (459 MB) / mem_avail=481652428 (459 MB)
:region_alloc: Allocator 654414 dump:
Block: [00001000,00002000) size=00001000 avail=00001000 max_avail=00001000
Block: [0009f000,0010c000) size=0006d000 avail=0006d000 max_avail=0006d000
Block: [00401000,0047e000) size=0007d000 avail=0007d000 max_avail=6ff00000
Block: [1d710000,40000000) size=228f0000 avail=228f0000 max_avail=228f0000
Block: [50000000,bff00000) size=6ff00000 avail=6ff00000 max_avail=6ff00000
Block: [bff01000,c0000000) size=000ff000 avail=000ff000 max_avail=000ff000
=> mem_size=2459803648 (2345 MB) / mem_avail=2459803648 (2345 MB)
:io_mem: Allocator 653700 dump:
Block: [00000000,00002000) size=00002000 avail=00002000 max_avail=00002000
Block: [0009f000,0010c000) size=0006d000 avail=0006d000 max_avail=0006d000
Block: [00401000,0047e000) size=0007d000 avail=0007d000 max_avail=e28effff
Block: [1d710000,ffffffff) size=e28effff avail=e28effff max_avail=e28effff
=> mem_size=3801989119 (3625 MB) / mem_avail=3801989119 (3625 MB)
:io_port: Allocator 653b5c dump:
Block: [00000000,00010000) size=00010000 avail=00010000 max_avail=00010000
=> mem_size=65536 (0 MB) / mem_avail=65536 (0 MB)
:irq: Allocator 653fb8 dump:
Block: [00000000,00000100) size=00000100 avail=00000100 max_avail=00000100
=> mem_size=256 (0 MB) / mem_avail=256 (0 MB)
:rom_fs: Rom_fs 654cc8 dump:
Rom: [00400000,00401000) l4v2_kip
Rom: [01101000,01155858) init
Rom: [01100000,0110057a) config
Rom: [00400000,00401000) kip
Rom: [01583000,01909000) initrd.gz
Rom: [011df000,01582f80) l4linux
Rom: [01156000,011940b8) timer
Rom: [01909000,0194af30) pci_drv
Rom: [019f9000,01a60574) nic_drv
Rom: [0194b000,0198d534) ps2_drv
Rom: [01195000,011dee18) uart_drv
Rom: [0198e000,019f80c8) vesa_drv
:core ranges: Allocator 656dbc dump:
Block: [00002000,0009f000) size=0009d000 avail=0009d000 max_avail=0009d000
Block: [0010c000,002df000) size=001d3000 avail=001d3000 max_avail=001d3000
Block: [002e0000,00400000) size=00120000 avail=00120000 max_avail=1d292000
Block: [0047e000,1d710000) size=1d292000 avail=1d292000 max_avail=1d292000
=> mem_size=492969984 (470 MB) / mem_avail=492969984 (470 MB)
int main(): --- create local services ---
int main(): --- start init ---
int main(): transferred 459 MB to init
int main(): --- init created, waiting for exit condition ---
[init] Could not open file "ld.lib.so"
[init -> l4linux] Booting L4Linux ...
[init -> l4linux] ======> L4Linux starting... <========
[init -> l4linux] Linux version 3.5.0-l4+ (ivan@ivan) (gcc version 4.7.2 (GCC) ) #18 SMP Wed Jan 16 16:00:39 MSK 2013
[init -> l4linux] Binary name: vmlinux
[init -> l4linux] Linux kernel command line (5 args): mem=64M console=ttyS0 l4x_rd=initrd.gz l4x_cpus=2 l4x_cpus_map=0,1
[init -> l4linux] CPU mapping (l:p)[2]: 0:0, 1:1
[init -> l4linux] Image: 00401000 - 0083b000 [4328 KiB].
[init -> nic_drv] --- iPXE NIC driver started ---
[init -> l4linux] Areas: Text: 00401000 - 00744000 [3340kB] (a bit longer)
[init -> l4linux] Data: 00744000 - 00766da8 [139kB]
[init -> l4linux] Initdata: 0077c000 - 007a3000 [156kB]
[init -> l4linux] BSS: 007a4000 - 0082b000 [540kB]
[init -> l4linux] l4util_cpu_capabilities: Not implemented yet!
[init -> l4linux] gs=43 fs=43
[init -> l4linux] l4io_get_root_device: Not implemented yet!
[init -> l4linux] Device scan:
[init -> l4linux] l4io_iterate_devices: Not implemented yet!
[init -> l4linux] Device scan done.
[init -> l4linux] l4x_fiasco_gdt_entry_offset = 9
[init -> pci_drv] PCI driver started
[init -> uart_drv] --- i8250 UART driver started ---
[init -> ps2_drv] Detected ExPS/2 mouse - activating scroll-wheel and 5-button support.
[init -> ps2_drv] Using keyboard with scan code set 1 (xlate).
[init] uart_drv: illegal announcement of service "Uart"
[init -> vesa_drv] int Framebuffer_drv::map_io_mem(Genode::addr_t, Genode::size_t, bool, void**, Genode::addr_t, Genode::Dataspace_capability*): fb mapped to 1090000
[init -> l4linux] main thread will be c
[init -> l4linux] l4x_register_pointer_section: addr = 00400000 size = 4435968
[init -> l4linux] section-with-init: virt: 400000 to 83afff [4332 KiB]
[init -> l4linux] Cannot determine physical address for dataspace Binary!
[init -> l4linux] error: failed to get physical address for 400000.
[init -> l4linux] Main thread running, waiting...
[init -> l4linux] thread=c000 cpu=0
[init -> l4linux] WARNING: Unknown wrmsr: 0000008b at 6164e1
[init -> l4linux] l4x_setup_memory: Forcing superpages for main memory
[init -> l4linux] l4re_global_env: 0
[init -> l4linux] Main memory size: 64MB
unmapping of managed dataspaces not yet supported
[init -> l4linux] Main memory: virt: 50000000 to 53ffffff [65536 KiB]
[init -> l4linux] Main memory: Phys: 0x04000000 to 0x08000000, Size: 67108864
[init -> l4linux] Filling lower ptabs...
[init -> l4linux] Done (0 entries).
[init -> l4linux] l4x_register_pointer_section: addr = 00400000 size = 4435968
[init -> l4linux] text: virt: 400000 to 83afff [4332 KiB]
[init -> l4linux] Cannot determine physical address for dataspace Binary!
[init -> l4linux] error: failed to get physical address for 400000.
[init -> l4linux] l4x_rd_path: initrd.gz
[init -> l4linux] Loading: initrd.gz
[init -> l4linux] INITRD: Size of RAMdisk is 3608KiB
[init -> l4linux] RAMdisk from 00a00000 to 00d86000 [3608KiB]
[init -> uart_drv] Baudrate is not defined. Use default 115200
[init -> l4linux] l4timer: Using IRQ65
[init -> l4linux] WARNING: Unknown wrmsr: 0000008b at 6164e1
[init -> l4linux] WARNING: Unknown rdmsr: 00000186 at 7819ef
[init -> l4linux] WARNING: Unknown rdmsr: 00000187 at 7819ef
[init -> l4linux] WARNING: Unknown wrmsr: 000000c1 at 781a70
[init -> l4linux] Launching cpu1 on pcpu 1 at 61487e
[init -> l4linux] l4x_cpu_threads[1] = 44000a00
[init -> l4linux] thread=18000 cpu=1
[init -> l4linux] WARNING: Unknown wrmsr: 0000008b at 6164e1
[init -> vesa_drv] Found: physical frame buffer at 0xfc000000 size: 0x00400000
[init -> vesa_drv] int Framebuffer_drv::map_io_mem(Genode::addr_t, Genode::size_t, bool, void**, Genode::addr_t, Genode::Dataspace_capability*): fb mapped to 400000
[init -> nic_drv] --- init iPXE NIC
[init -> nic_drv] scan_pci(): Found: 00:03.0 8086:100e (rev 03) IRQ 0b
[init -> nic_drv] probe_pci_device(): using driver 82540em
[init -> nic_drv] adjust_pci_device(): PCI BIOS has not enabled device 00:03.0! Updating PCI command 0003->0007
[init -> nic_drv] adjust_pci_device(): PCI device 00:03.0 latency timer is unreasonably low at 0. Setting to 32.
[init -> nic_drv] ioremap(): bus_addr = feb80000 len = 20000
[init -> nic_drv] snprintf not implemented
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=0 + chunk=8000
[init -> nic_drv] number of devices: 1
[init -> nic_drv] --- init rx_callbacks
[init -> nic_drv] --- get MAC address
[init -> nic_drv] 52:54:00:12:34:56
Quota exceeded! amount=4096, size=4096, consumed=4096
[init -> l4linux] upgrading quota donation for SIGNAL session
[init -> l4linux] int l4lx_irq_dev_set_affinity(irq_data*, const cpumask*, bool): switched irq 66 to cpu 0
[init -> l4linux] int l4lx_irq_dev_set_affinity(irq_data*, const cpumask*, bool): switched irq 64 to cpu 0
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=8000 + chunk=8000
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=10000 + chunk=8000
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=18000 + chunk=8000
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=20000 + chunk=8000
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=28000 + chunk=8000
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=30000 + chunk=8000
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=38000 + chunk=8000
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=40000 + chunk=8000
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=48000 + chunk=8000
[init -> nic_drv] void {anonymous}::Backing_store::_grow(): size=50000 + chunk=8000
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment