Hi Vasily,
As far I understand, I have to use ACPI for providing PCI and IRQ. right? AHCI and NIC should use IRQ from ACPI, right?
yes.
<start name="acpi"> <resource name="RAM" quantum="12M"/> <binary name="acpi_drv"/> <provides> <service name="PCI"/> <service name="IRQ" /> </provides> <route> <service name="PCI"> <any-child /> </service> <any-service> <parent/> <any-child /> </any-service> </route> </start>
...
Should I use «route» section in ACPI? What should I route? PCI?
You just revealed a superfluous route. There is indeed no point in having the route for PCI specified for the ACPI driver because the ACPI driver will never open a PCI session. Internally, the ACPI driver spawns an instance of the PCI driver as a child process, but this is of no concern for the init configuration.
You can safely remove the "PCI" route. Just make sure that the IRQ session of the ACPI driver is routed to core's IRQ session. The second rule (for '<any-service>') takes care of that because '<parent />' appears before '<any-child />.
We will remove the superfluous route from the README (and the places where this configuration snippet was copied). Thanks for the notice!
Cheers Norman