-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
sudo qemu -cdrom cd-image.iso -serial stdio -net nic,model=rtl8139,vlan=0 -net tap,vlan=0 -m 200
Ok, you are running qemu emulating a Realtek NIC.
[..]
arping | main(): Hello from the ORe arping shared memory client arping | main(): verbosity: 0 arping | main(): connecting to 'ORe' arping | main(): interface: 'eth0' arping | main(): verbosity: 0 arping | main(): string ipc receive arping | main(): sending with string ipc arping | l4ore_open(): called arping | l4ore_open(): descriptor: 0 io | Using platform configuration 'x86' io | PCI: Using configuration type 1 io | PCI: Probing PCI hardware io | PCI: Probing PCI hardware (bus 00) io | PCI: PIIX3: Enabling Passive Release on 00:01.0 io | Limiting direct PCI/PCI transfers. io | Activating ISA DMA hang workarounds. io | 00000000-ffffffff : PCI mem io | f0000000-f1ffffff : Cirrus Logic GD 5446 io | f2000000-f2000fff : Cirrus Logic GD 5446 io | f2001000-f20010ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/ io : 8139C+
This is where the RTL chip is found by L4IO.
io | 0000-ffff : PCI IO io | 0cf8-0cff : PCI conf1 io | b000-b03f : Intel Corporation 82371AB/EB/MB PIIX4 ACPI io | b100-b11f : Intel Corporation 82371AB/EB/MB PIIX4 ACPI io | c000-c00f : Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] io | c100-c1ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ io | Available IRQs=[ <!0> 1 <!2> 3 <!4> 5 6 7 8 9 a b c d e f 10 11 ] ore | Softirq daemon starting ore | Initializing DDE page cache ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 8086:7000 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 8086:7010 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 8086:7113 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 1013:b8 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 10ec:8139 ore | <6>Intel(R) PRO/1000 Network Driver - version 7.3.15-k2 ore | <6>Copyright (c) 1999-2006 Intel Corporation.
This is where ORe tries to initialize the Intel e1000 driver (for a NIC which is not there).
ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | l4dde26_register_rx_callback: New rx callback @ 0x018012f0. ore | main(): initialized DDELinux2.6 ore | main(): loopback: 0 ore | <6>device lo entered promiscuous mode ore | main(): Initialized 1 network devices. ore | Device = lo, IRQ = 0, MAC = 00:00:00:00:00:00
This results in loopback being the only device found and driven by ORe...
ore | main(): Registering 'ORe' at names... ore | main(): Ready for service. arping | ore_lookup_server(): ORe server ORe = 9.02 arping | ore_do_open(): called ore | [9.2] ore/server/src/clients.c:215:setup_connection(): ore | Error: no device found. arping | ore_do_open(): opened. worker = 7FF.7F arping | [A.2] ore/lib/client/lib.c:181:l4ore_open(): arping | Error: ore_open() returned INVALID_ID
... and your application not being able to connect to ORe.
arping | main(): opened eth0: -1 for 00:00:64:64:65:6B arping | [A.2] ore/examples/arping/main.c:303:main(): arping | Error: could not open eth0! arping | arping | Exiting with 1
=== END ===
Execution of ore with qemu with your provided image works fine though: http://os.inf.tu-dresden.de/~doebel/downloads/ore_image.iso
Appreciate any inputs,
The ORe version in the disk image is configured to include a RTL8139+ driver. It may be that this is not the default when compiling ORe. Go to l4/pkg/ore/server and run "make config" - there you can select which drivers to include. This should get you up and running.
Cheers, Bjoern