[BULK] Re: [LinuxBIOS] How to study the source code...?

yhlu yinghailu at gmail.com
Tue Jun 21 01:25:24 CEST 2005


that code is good.  Also the AMD numbering device enable bit is good
and professional.  other SB that enble bit have nothing to do with
device id or function...


YH

On 6/20/05, Eric W. Biederman <ebiederman at lnxi.com> wrote:
> Li-Ta Lo <ollie at lanl.gov> writes:
> 
> > On Mon, 2005-06-20 at 19:20 +0800, Huang-Jen Wang wrote:
> >> Dear all,
> >> Recently I am studying the source code , because I want to try to
> >> porting new mainboard later, but  it is not easy to realize source code
> >> I begin my study  from the src/southbridge/amd8111/amd8111.c
> >> There are some lines that I can't understand even I have amd8111
> >> datasheet....hope you can tell me
> >>
> >> 1.devfn = bus_dev->path.u.pci.devfn + (1 << 3);
> >> 2.index = ((dev->path.u.pci.devfn & ~7) >> 3) + 8;
> >> 3.devfn = (dev->path.u.pci.devfn) & ~7;
> >>
> >
> > You choose the worst file in the whole tree to start. You are not
> > supposed understand it unless you are Eric Biederman ;-)
> 
> Hmm.  It must need a good comment then :(
> But I agree that is pretty abstract way to start.
> 
> You certainly need to understand how pci encodes bus/device/function information
> and how LinuxBIOS deals with it to make sense of those lines.
> 
> > The reason that file is so complicated is because the LPC bridge inside
> > amd8111 controls the enable and disable of devices on both side of the
> > PCI bridge (in amd8111). The function in amd8111.c is call with every
> > devices in the 8111 chip as argument. The function has to figure out
> > which device it is given and how to enable or disable the device.
> > This is done by device_t to devfn magic you see.
> 
> Eric
> 
> _______________________________________________
> LinuxBIOS mailing list
> LinuxBIOS at openbios.org
> http://www.openbios.org/mailman/listinfo/linuxbios
>




More information about the coreboot mailing list