V2 EPIA FIXED!
Eric W. Biederman
ebiederman at lnxi.com
Mon Sep 29 16:59:00 CEST 2003
ron minnich <rminnich at lanl.gov> writes:
> Here's what I had to do. First, though, let me say: the new linuxbios
> architecture, while hard to get the hang of (learning curve) is very
> powerful.
>
> You can have a mainboard-specific pci scan function, and that's what I
> needed. I may put this as a generic thing into the pci device code.
>
> See below for how it works. Basically, for your mainboard, you provide a
> function that scans the root of the "mainboard PCI" tree.
Hmm. I am curious why the default did not take.
See: devices/root_device.c
All you should need is included below. And potentially we can have
a generic enumeration function in root_device.c that does the rest
of it as well.
The Opteron has rather special needs so it needs to override the defaults,
but the VIA EPIA should not.
Eric
> ================
>
> #include <console/console.h>
> #include <device/device.h>
> #include <device/pci.h>
> #include <device/pci_ids.h>
> #include <device/pci_ops.h>
>
> #include <arch/io.h>
> #include <device/chip.h>
> #include "chip.h"
>
> static void enumerate(struct chip *chip)
> {
> struct chip *child;
> chip->dev = &dev_root;
> chip->bus = 0;
> for(child = chip->children; child; child = child->next) {
> child->bus = &dev_root.link[0];
> }
> }
> struct chip_control mainboard_via_epia_control = {
> .enumerate = enumerate,
> .name = "VIA EPIA mainboard ",
> };
More information about the coreboot
mailing list