Hello, I prepared a 32 bit ubuntu system on a virtualbox and replaced the linux - Kernel through the l4re-snapshot-2013060718 - L4Linux-mag-x86 Konfiguration. First I made a disk and add it to the vm and I could mount it ! I wonder ( see later). Now I configured the Ubuntu-Linux-Root-Disk as /dev/hda and: ... piix 0000:00:03.0: IDE controller (0x8086:0x7111 rev 0x01) pci 0000:00:03.0: No interrupt pin configured for device 0000:00:03.0 piix 0000:00:03.0: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xd000-0xd007 ide1: BM-DMA at 0xd008-0xd00f hdc: VBOX CD-ROM, ATAPI CD/DVD-ROM drive hdc: UDMA/33 mode selected ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ESC[37mio | ERROR: binding irq 15, result is -1 (Operation not permitted) ESC[0m ESC[33ml4linux | Bind irq to icu failed with -1ESC[0m l4x-irq: Did not get IRQ 15 from IO service ==> I think, the interupt is not delegated from the IO-Server to l4linux My understanding is, that the io-Server manage all interrupts,ioports. But why I could mount a disk ?
I dont see a device in x86-legacy.dev, so I add IDE0 and IDE1 (see attachment), and add a systembus disks => new System_bus() { IDE0 => wrap(hw-root.match("ide0")); IDE1 => wrap(hw-root.match("ide1")); } in l4lx-x86.io (see attachment)
in the start-config l4lx-gfx.cfg the disks are granted to l4linux (see attachment)
As result, the output is piix 0000:00:03.0: IDE controller (0x8086:0x7111 rev 0x01) pci 0000:00:03.0: No interrupt pin configured for device 0000:00:03.0 piix 0000:00:03.0: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xd000-0xd007 ide1: BM-DMA at 0xd008-0xd00f hda: VBOX HARDDISK, ATA DISK drive hda: UDMA/33 mode selected hdc: VBOX CD-ROM, ATAPI CD/DVD-ROM drive Switching to clocksource tsc hdc: UDMA/33 mode selected ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ESC[33ml4linux | Bind irq to icu failed with -1ESC[0m l4x-irq: Did not get IRQ 15 from IO service ------------[ cut here ]------------ WARNING: at /home/rw/l4exp/l4re-snapshot-2013060718/src/l4linux/arch/l4/l4lxlib/ l4env/irq_vcpu.c:106 l4lx_irq_dev_startup+0x17a/0x180() Modules linked in: Pid: 1, comm: swapper Not tainted 3.9.0-l4 #1 Call Trace:
-> the ERROR "ERROR: binding irq 15, result is -1 (Operation not permitted)" don't appear, but the result is the same.
The current output of the serialine is in l4ubuntu.1
The l4-linux I configured with PCI/VPCI see attatchment x86_rw_config like in my last E-mails.
Summary: * How to grant the ide-Controllers to l4linux ? * Why l4Linux can't get the interrupt - what is wrong with my configuration ?
HW-Question: How are the IDE-Controllers and the PCI related ?
Thank you very much Rudolf Weber
Hi,
On Wed Aug 07, 2013 at 15:11:50 +0200, Rudolf Weber wrote:
I prepared a 32 bit ubuntu system on a virtualbox and replaced the linux - Kernel through the l4re-snapshot-2013060718 - L4Linux-mag-x86 Konfiguration. First I made a disk and add it to the vm and I could mount it !
You mounted it while booting from the ramdisk?
I wonder ( see later). Now I configured the Ubuntu-Linux-Root-Disk as /dev/hda and: ... piix 0000:00:03.0: IDE controller (0x8086:0x7111 rev 0x01) pci 0000:00:03.0: No interrupt pin configured for device 0000:00:03.0 piix 0000:00:03.0: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xd000-0xd007 ide1: BM-DMA at 0xd008-0xd00f hdc: VBOX CD-ROM, ATAPI CD/DVD-ROM drive hdc: UDMA/33 mode selected ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ESC[37mio | ERROR: binding irq 15, result is -1 (Operation not permitted) ESC[0m ESC[33ml4linux | Bind irq to icu failed with -1ESC[0m l4x-irq: Did not get IRQ 15 from IO service ==> I think, the interupt is not delegated from the IO-Server to l4linux My understanding is, that the io-Server manage all interrupts,ioports. But why I could mount a disk ?
I dont see a device in x86-legacy.dev, so I add IDE0 and IDE1 (see attachment), and add a systembus disks => new System_bus() { IDE0 => wrap(hw-root.match("ide0")); IDE1 => wrap(hw-root.match("ide1")); } in l4lx-x86.io (see attachment)
Two issues here: - There's only one vbus per client (e.g. L4Linux), adding another one, and giving it to the client under another (unknown) name will not make the client use those devices. - The disk controller (and thus the disks) are already included in your l4linux vbus because of the specified PCI class.
in the start-config l4lx-gfx.cfg the disks are granted to l4linux (see attachment)
As result, the output is piix 0000:00:03.0: IDE controller (0x8086:0x7111 rev 0x01) pci 0000:00:03.0: No interrupt pin configured for device 0000:00:03.0 piix 0000:00:03.0: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xd000-0xd007 ide1: BM-DMA at 0xd008-0xd00f hda: VBOX HARDDISK, ATA DISK drive hda: UDMA/33 mode selected hdc: VBOX CD-ROM, ATAPI CD/DVD-ROM drive Switching to clocksource tsc hdc: UDMA/33 mode selected ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ESC[33ml4linux | Bind irq to icu failed with -1ESC[0m l4x-irq: Did not get IRQ 15 from IO service ------------[ cut here ]------------ WARNING: at /home/rw/l4exp/l4re-snapshot-2013060718/src/l4linux/arch/l4/l4lxlib/ l4env/irq_vcpu.c:106 l4lx_irq_dev_startup+0x17a/0x180() Modules linked in: Pid: 1, comm: swapper Not tainted 3.9.0-l4 #1 Call Trace:
-> the ERROR "ERROR: binding irq 15, result is -1 (Operation not permitted)" don't appear, but the result is the same.
The current output of the serialine is in l4ubuntu.1
The l4-linux I configured with PCI/VPCI see attatchment x86_rw_config like in my last E-mails.
Summary:
- How to grant the ide-Controllers to l4linux ?
- Why l4Linux can't get the interrupt - what is wrong with my configuration ?
You should add -vvv (or more) to rom/io in the start script. Then you'll see what has actually been put on each clients vbus. There we should see more details.
HW-Question: How are the IDE-Controllers and the PCI related ?
An IDE controller is a PCI device, that's why scanning the PCI bus will find it. The disk controller driver will then find the connected disks.
Adam
Hello, After a virtualbox-trouble and a reconfiguration of the virtualbox-Maschine my l4re/mag/l4linux-systemboots now.
It boots with and without -vvv Debuging-Options in he IO.
Thank you for your information with the PCI/IDE-relation.
The default l4linux-ux -Konfiguration is without CONFIG_PCI/CONFIG_VPCI.
Is the IDE-Driver working without the PCI ? (Or does the ux-Configration not supporting an physical harddisk ?)
Another Question: In 2002-2004 l4env has an IDL-Compiler Dice.
Now I read,that the L4-Api V4 is not machine dependend. In the C++-Example, the is an special stream to unmashall the opcode and the parameters. This code looks like the code the ACE/TAO (CORBA)-IDL Compiler generates.
What are the reasons (L4-Api V4 is one) to retire IDL-Compilers ?
Rudolf
Hi,
On Wed Aug 14, 2013 at 00:32:03 +0200, Rudolf Weber wrote:
After a virtualbox-trouble and a reconfiguration of the virtualbox-Maschine my l4re/mag/l4linux-systemboots now.
It boots with and without -vvv Debuging-Options in he IO.
Thank you for your information with the PCI/IDE-relation.
The default l4linux-ux -Konfiguration is without CONFIG_PCI/CONFIG_VPCI.
Yes.
Is the IDE-Driver working without the PCI ? (Or does the ux-Configration not supporting an physical harddisk ?)
The IDE controller in a PC is (usually) always a PCI device. So no, it will not work without PCI. The UX configuration is an L4Linux config that has been configured to not use any physical hardware. It's just configuration.
Another Question: In 2002-2004 l4env has an IDL-Compiler Dice.
Now I read,that the L4-Api V4 is not machine dependend. In the C++-Example, the is an special stream to unmashall the opcode and the parameters. This code looks like the code the ACE/TAO (CORBA)-IDL Compiler generates.
What are the reasons (L4-Api V4 is one) to retire IDL-Compilers ?
An IDL compiler is good to have but also requires considerable work for the tool itself. It has been found out that C++-based stream operators hide the most annoying work on marshalling/unmarshalling and behave well on the performance side as well. The IDL compiler still has other benefits but needs to be done and maintained.
Adam
l4-hackers@os.inf.tu-dresden.de