On Fri, Sep 27, 2019 at 11:11 AM Nico Huber <[email protected]> wrote:

> On 26.09.19 18:45, Aaron Durbin via coreboot wrote:
> > Here's some of the requirements/issues we should resolve that come to
> mind:
> >
> > 1. Easy way to directly retrieve a device's chip config object w/o
> > traversing the device hierarchy. Which leads to...
> > 2. Symbol alias for accessing struct device directly (no bdf lookup)
>
> What we already have:
>
> Static pointers to `struct device` for devices with a globally valid
> address (PCI devices on bus 0 and PNP devices), e.g.:
>
>     DEVTREE_CONST struct device *DEVTREE_CONST __pci_0_02_0 = &_dev6;
>     DEVTREE_CONST struct device *DEVTREE_CONST __pnp_002e_00 = &_dev56;
>
> What I suggested somewhere on Gerrit:
>
> At the chip driver level, add a header file that maps these to more
> distinct names, e.g.
>
>     #define igd_dev __pci_0_02_0;
>
> But that was last week. Since then I've written yet another override
> tree and realized something. We write a lot lines like
>

Have you pushed this patch?

>
>     device pci 02.0 on  end # Integrated Graphics Device
>
> What's wrong with that? (if you know me it's obvious) there is a
> comment! IIRC, Kyösti suggested it already, we could let sconfig
> read a chip specific mapping for device names. That would also
> allow us to write the above as
>
>     device igd on end
>
> Mapping could look like this:
>
>     device pci 00.0 alias mch
>     device pci 02.0 alias igd
>

We can do this in 2 stages, I think, right? Or were you wanting to push a
mapping along with the alias wording? I could run with what you had prior
in patch from the get go and follow up with further clean up.

>
> and we could directly generate pointers with these names:
>
>     DEVTREE_CONST struct device *DEVTREE_CONST igd_dev = &_dev6;
>
> Limitations: Actually, chip drivers can't provide global names. What
> should sconfig generate if a second instance of a chip pops up? So
> the generated pointers must somehow be limited to chips that can only
> occur once, e.g. PCH, single socket CPU.
>
> What do you think?
>
> Nico
>
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to