Dear all,
I have been working on running different linux based OSs on top of L4. Is there any documentation or tutorial where I might find information on how to make platform devices available for the linux OS running on top of L4. For instance, I could not get ethernet devices detected by the OS.
Best Regards
On Mon, Aug 06, 2012 at 02:35:02AM -0700, Wajidali Whowe wrote:
Dear all,
I have been working on running different linux based OSs on top of L4. Is there any documentation or tutorial where I might find information on how to make platform devices available for the linux OS running on top of L4. For instance, I could not get ethernet devices detected by the OS.
In case of a PCI device you simply add that to the respective vbus and compile the corresponding driver into L4Linux. Make sure to activate the virtual PCI bus driver in L4Linux.
Matthias.
Best Regards
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi Matthias, thanks for the fast reply. Indeed I have already added the bus for PCI devices into the x86.vbus file as follows:
rtc => new System_bus() { # Add the RTC (PNP0B00) as a virtual device rtc => wrap(hw-root.match("PNP0B00")); }
con_bus => new System_bus() { ps2 => wrap(hw-root.match("PNP0303")); }
# Virtual bus for the fb-drv server fb => new System_bus() { # The BIOS memory regions to execute the VESA BIOS bios => wrap(hw-root.BIOS);
# PIT (accessd by various VESA BIOSes) pit => wrap(hw-root.match("PNP0100"));
# used for IO delay on various VESA BIOSes p80 => wrap(hw-root.match("P80"));
# Legacy VGA MMIO and I/O Ports vga => wrap(hw-root.match("PNP0900"));
# Use virtual PCI bus that keeps the physical bus structure # because the VESA BIOS may store the physical PCI address # when initialized by the host BIOS PCI0 => new PCI_bus_ident() { # Dummy device 0 on PCI bus 0 makes cirrus VESA BIOS happy host_bridge_dummy => new PCI_dummy_device();
# Put all display devices on our virtual PCI bus PCI class code 0x03 gfx[] => wrap(hw-root.match("PCI/CC_03")); } }
android_bus => new System_bus() { # Add a new virtual PCI root bridge PCI0 => new PCI_bus() { # Add all real PCI devices that match the CIDs to the virtual PCI bus # NOTE: PCI/CC_xx means PCI class code == xx. # CC_01 => storage devices # CC_02 => network devices # CC_04 => multimedia devices # CC_0c => serial bus devices (USB) pci[] => wrap(hw-root.match("PCI/CC_02")); } }
I guess the "pci[] => wrap(hw-root.match("PCI/CC_02"));" line should have been handling this, I checked also the l4 kernel and saw that the PCI device support was already chosen, still I can not achieve eth device on the virtualized android kernel
Best Regards
________________________________ From: Matthias Lange mlange@sec.t-labs.tu-berlin.de To: Wajidali Whowe whowe123@yahoo.com Cc: "l4-hackers@os.inf.tu-dresden.de" l4-hackers@os.inf.tu-dresden.de Sent: Monday, August 6, 2012 11:48 AM Subject: Re: Ethernet device
On Mon, Aug 06, 2012 at 02:35:02AM -0700, Wajidali Whowe wrote:
Dear all,
I have been working on running different linux based OSs on top of L4. Is there any documentation or tutorial where I might find information on how to make platform devices available for the linux OS running on top of L4. For instance, I could not get ethernet devices detected by the OS.
In case of a PCI device you simply add that to the respective vbus and compile the corresponding driver into L4Linux. Make sure to activate the virtual PCI bus driver in L4Linux.
Matthias.
Best Regards
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Sorry forgot to add the index of x86-legacy.devs:
# vim:set ft=ioconfig: # extend the real system bus with some platform devices hw-root { PS2 => new Device() { .hid = "PNP0303"; new-res Io(0x60); new-res Io(0x64); new-res Irq(1, 0x000000); new-res Irq(12, 0x000000); }
RTC => new Device() { .hid = "PNP0B00"; new-res Io(0x70 .. 0x71); }
# port 80 device for giving access to the port 0x80 used for IO-delay... P80 => new Device() { .hid = "P80"; new-res Io(0x80); }
BIOS => new Device() { .hid = "BIOS"; new-res Mmio(0x0 .. 0xfff, 0xc000); new-res Mmio(0x9f000 .. 0x9ffff, 0xc000); new-res Mmio(0xc0000 .. 0xfffff, 0xc000); }
VGA => new Device() { .hid = "PNP0900"; new-res Io(0x3b0 .. 0x3bf); # MDA new-res Io(0x3c0 .. 0x3df); # EGA/VGA new-res Mmio(0xa0000 .. 0xbffff, 0xc000); }
PORT_PIT => new Device() { .hid = "PNP0100"; new-res Io(0x40 .. 0x43); new-res Io(0x61); } }
Best Regards,
________________________________ From: Wajidali Whowe whowe123@yahoo.com To: Matthias Lange mlange@sec.t-labs.tu-berlin.de Cc: "l4-hackers@os.inf.tu-dresden.de" l4-hackers@os.inf.tu-dresden.de Sent: Monday, August 6, 2012 2:56 PM Subject: Re: Ethernet device
Hi Matthias, thanks for the fast reply. Indeed I have already added the bus for PCI devices into the x86.vbus file as follows:
rtc => new System_bus() { # Add the RTC (PNP0B00) as a virtual device rtc => wrap(hw-root.match("PNP0B00")); }
con_bus => new System_bus() { ps2 => wrap(hw-root.match("PNP0303")); }
# Virtual bus for the fb-drv server fb => new System_bus() { # The BIOS memory regions to execute the VESA BIOS bios => wrap(hw-root.BIOS);
# PIT (accessd by various VESA BIOSes) pit => wrap(hw-root.match("PNP0100"));
# used for IO delay on various VESA BIOSes p80 => wrap(hw-root.match("P80"));
# Legacy VGA MMIO and I/O Ports vga => wrap(hw-root.match("PNP0900"));
# Use virtual PCI bus that keeps the physical bus structure # because the VESA BIOS may store the physical PCI address # when initialized by the host BIOS PCI0 => new PCI_bus_ident() { # Dummy device 0 on PCI bus 0 makes cirrus VESA BIOS happy host_bridge_dummy => new PCI_dummy_device();
# Put all display devices on our virtual PCI bus PCI class code 0x03 gfx[] => wrap(hw-root.match("PCI/CC_03")); } }
android_bus => new System_bus() { # Add a new virtual PCI root bridge PCI0 => new PCI_bus() { # Add all real PCI devices that match the CIDs to the virtual PCI bus # NOTE: PCI/CC_xx means PCI class code == xx. # CC_01 => storage devices # CC_02 => network devices # CC_04 => multimedia devices # CC_0c => serial bus devices (USB) pci[] => wrap(hw-root.match("PCI/CC_02")); } }
I guess the "pci[] => wrap(hw-root.match("PCI/CC_02"));" line should have been handling this, I checked also the l4 kernel and saw that the PCI device support was already chosen, still I can not achieve eth device on the virtualized android kernel
Best Regards
________________________________ From: Matthias Lange mlange@sec.t-labs.tu-berlin.de To: Wajidali Whowe whowe123@yahoo.com Cc: "l4-hackers@os.inf.tu-dresden.de" l4-hackers@os.inf.tu-dresden.de Sent: Monday, August 6, 2012 11:48 AM Subject: Re: Ethernet device
On Mon, Aug 06, 2012 at 02:35:02AM -0700, Wajidali Whowe wrote:
Dear all,
I have been working on running different linux based OSs on top of L4. Is there any documentation or tutorial where I might find information on how to make platform devices available for the linux OS running on top of L4. For instance, I could not get ethernet devices detected by the OS.
In case of a PCI device you simply add that to the respective vbus and compile the corresponding driver into L4Linux. Make sure to activate the virtual PCI bus driver in L4Linux.
Matthias.
Best Regards
l4-hackers mailing
list
l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
On Mon, Aug 06, 2012 at 05:56:40AM -0700, Wajidali Whowe wrote:
Hi Matthias, thanks for the fast reply. Indeed I have already added the bus for PCI devices into the x86.vbus file as follows:
I guess the "pci[] => wrap(hw-root.match("PCI/CC_02"));" line should have been handling this, I checked also the l4 kernel and saw that the PCI device support was already chosen, still I can not achieve eth device on the virtualized android kernel
Are you using "real" hardware or are you using an emulator (e.g. qemu)? Does "lspci" show something meaningful?
Matthias.
Best Regards
From: Matthias Lange mlange@sec.t-labs.tu-berlin.de To: Wajidali Whowe whowe123@yahoo.com Cc: "l4-hackers@os.inf.tu-dresden.de" l4-hackers@os.inf.tu-dresden.de Sent: Monday, August 6, 2012 11:48 AM Subject: Re: Ethernet device
On Mon, Aug 06, 2012 at 02:35:02AM -0700, Wajidali Whowe wrote:
Dear all,
I have been working on running different linux based OSs on top of L4. Is there any documentation or tutorial where I might find information on how to make platform devices available for the linux OS running on top of L4. For instance, I could not get ethernet devices detected by the OS.
In case of a PCI device you simply add that to the respective vbus and compile the corresponding driver into L4Linux. Make sure to activate the virtual PCI bus driver in L4Linux.
Matthias.
Best Regards
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
-- Dipl.-Inf. Matthias Lange mlange@sec.t-labs.tu-berlin.de Security in Telecommunications TU Berlin / Telekom Innovation Laboratories Ernst-Reuter-Platz 7, 10587 Berlin Phone: +49 - 30 - 8353 58 553 Mobile: +49 - 160 - 587 28 07 Web: http://www.t-labs.tu-berlin.de/sect
Hi Matthias,
I am testing the iso image file on the qemu with the following line: qemu -cdrom android.iso -boot d -m 1024 -net nic,model=e1000 -net user -serial stdio
and the outcome of "lspci" is unfortunately terrible: "lspci: /sys/bus/pci/devices: No such file or directory"
Best Regards,
________________________________ From: Matthias Lange mlange@sec.t-labs.tu-berlin.de To: Wajidali Whowe whowe123@yahoo.com Cc: "l4-hackers@os.inf.tu-dresden.de" l4-hackers@os.inf.tu-dresden.de Sent: Monday, August 6, 2012 4:23 PM Subject: Re: Ethernet device
On Mon, Aug 06, 2012 at 05:56:40AM -0700, Wajidali Whowe wrote:
Hi Matthias, thanks for the fast reply. Indeed I have already added the bus for PCI devices into the x86.vbus file as follows:
I guess the "pci[] => wrap(hw-root.match("PCI/CC_02"));" line should have been handling this, I checked also the l4 kernel and saw that the PCI device support was already chosen, still I can not achieve eth device on the virtualized android kernel
Are you using "real" hardware or are you using an emulator (e.g. qemu)? Does "lspci" show something meaningful?
Matthias.
Best Regards
From: Matthias Lange mlange@sec.t-labs.tu-berlin.de To: Wajidali Whowe whowe123@yahoo.com Cc: "l4-hackers@os.inf.tu-dresden.de" l4-hackers@os.inf.tu-dresden.de Sent: Monday, August 6, 2012 11:48 AM Subject: Re: Ethernet device On Mon, Aug 06, 2012 at 02:35:02AM -0700, Wajidali Whowe wrote:
Dear all,
I have been working on running different linux based OSs on top of L4. Is there any documentation or tutorial where I might find information on how to make platform devices available for the linux OS running on top of L4. For instance, I could not get ethernet devices detected by the OS.
In case of a PCI device you simply add that to the respective vbus and compile the corresponding driver into L4Linux. Make sure to activate the virtual PCI bus driver in L4Linux.
Matthias.
Best Regards
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
-- Dipl.-Inf. Matthias Lange mlange@sec.t-labs.tu-berlin.de Security in Telecommunications TU Berlin / Telekom Innovation Laboratories Ernst-Reuter-Platz 7, 10587 Berlin Phone: +49 - 30 - 8353 58 553 Mobile: +49 - 160 - 587 28 07 Web: http://www.t-labs.tu-berlin.de/sect
On Mon, Aug 06, 2012 at 07:45:15AM -0700, Wajidali Whowe wrote:
I am testing the iso image file on the qemu with the following line: qemu -cdrom android.iso -boot d -m 1024 -net nic,model=e1000 -net user -serial stdio
and the outcome of "lspci" is unfortunately terrible: "lspci: /sys/bus/pci/devices: No such file or directory"
Can you test this with a small (current) busybox ramdisk first? Make sure to mount /proc and /sys and then run "mdev -s".
Matthias.
Best Regards,
From: Matthias Lange mlange@sec.t-labs.tu-berlin.de To: Wajidali Whowe whowe123@yahoo.com Cc: "l4-hackers@os.inf.tu-dresden.de" l4-hackers@os.inf.tu-dresden.de Sent: Monday, August 6, 2012 4:23 PM Subject: Re: Ethernet device
On Mon, Aug 06, 2012 at 05:56:40AM -0700, Wajidali Whowe wrote:
Hi Matthias, thanks for the fast reply. Indeed I have already added the bus for PCI devices into the x86.vbus file as follows:
I guess the "pci[] => wrap(hw-root.match("PCI/CC_02"));" line should have been handling this, I checked also the l4 kernel and saw that the PCI device support was already chosen, still I can not achieve eth device on the virtualized android kernel
Are you using "real" hardware or are you using an emulator (e.g. qemu)? Does "lspci" show something meaningful?
Matthias.
Best Regards
From: Matthias Lange mlange@sec.t-labs.tu-berlin.de To: Wajidali Whowe whowe123@yahoo.com Cc: "l4-hackers@os.inf.tu-dresden.de" l4-hackers@os.inf.tu-dresden.de Sent: Monday, August 6, 2012 11:48 AM Subject: Re: Ethernet device On Mon, Aug 06, 2012 at 02:35:02AM -0700, Wajidali Whowe wrote:
Dear all,
I have been working on running different linux based OSs on top of L4. Is there any documentation or tutorial where I might find information on how to make platform devices available for the linux OS running on top of L4. For instance, I could not get ethernet devices detected by the OS.
In case of a PCI device you simply add that to the respective vbus and compile the corresponding driver into L4Linux. Make sure to activate the virtual PCI bus driver in L4Linux.
Matthias.
Best Regards
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
-- Dipl.-Inf. Matthias Lange mlange@sec.t-labs.tu-berlin.de Security in Telecommunications TU Berlin / Telekom Innovation Laboratories Ernst-Reuter-Platz 7, 10587 Berlin Phone: +49 - 30 - 8353 58 553 Mobile: +49 - 160 - 587 28 07 Web: http://www.t-labs.tu-berlin.de/sect
-- Dipl.-Inf. Matthias Lange mlange@sec.t-labs.tu-berlin.de Security in Telecommunications TU Berlin / Telekom Innovation Laboratories Ernst-Reuter-Platz 7, 10587 Berlin Phone: +49 - 30 - 8353 58 553 Mobile: +49 - 160 - 587 28 07 Web: http://www.t-labs.tu-berlin.de/sect
l4-hackers@os.inf.tu-dresden.de