Hello. Thomas Bogendoerfer wrote:
PCI based SNI RM machines have their EISA bus behind an Intel PCI/EISA bridge. So the PCI IO range must start at 0x0000. Changing that will break the PCI bus, because i8259.c already has registered it's IO addresses before the PCI bus gets initialized. Below is a patch, which will register the PCI host bridge resources inside register_pci_controller(). It also changes i8259.c to use insert_region(), because request_resource() will fail, if the IO space of the PIT hanging of the PCI host bridge (maybe passing the resource parent to init_i8259_irqs() is a cleaner fix for that).
First, I don't understand how PIT and PIC resources may intersect. Then,
oops, I meant PIC resources.
IIUC, using inert_resource() will cause PIT resource be the child of the PIC resource which doesn't make sense either.
the insert_resource will make it child of the PCI resource, which makes perfect sense, because the ISA bus is behind the PCI host bridge.
If you read the comment to insert_resource() you'll see that it works contrarywise, i. e. the inserted resource is made parent of the conflicting ones. I.e. it should't work as you're intending it to.
Thomas.
WBR, Sergei