On 27.09.2009 22:29, Carl-Daniel Hailfinger wrote:
On 27.09.2009 20:49, Stefan Reinauer wrote:
Simplify coreboot PCI handling
This patch drops the conf1/conf2 autodetection and replaces it by (usually northbridge specific) hardcodes.
This patch also adds pci_domain_init() which needs to be called by mainboard enable_dev() functions in order to be able to use the pci config space functions. This allows to drop i386 specific code from generic files again...
There is an even better approach to the PCI config space access in mainboard specific init files problem, but that should go into another patch:
static void init(struct device *dev) { // Do the stuff here! }
static void enable_dev(struct device *dev) { // Install an init function for this mainboard device dev->ops->init = init; }
struct chip_operations mainboard_ops = { .enable_dev = enable_dev, };
Signed-off-by: Stefan Reinauer stepan@coresystems.de
I really like this patch. There are one or two things I don't understand yet, but I hope stuff will become clearer tomorrow after testing. Will ack after testing.
Tested, ends up in a reboot loop. Sorry. Will post the logs (old vs. new) in an hour.
There were some irritating ACPI IRQ routing changes between r4614 and r4681 (IRQ lines with IRQ 0 were suddenly enabled), but they had no influence on booting.
Regards, Carl-Daniel