misc questions about the device&driver arch

william wallace avalonwallace at gmail.com
Wed May 24 06:13:15 PDT 2006


roger really good tips :)
and so far as i know ,
the PCI configure space is accessed by  pci_read_config,and so on
the PCI IO           space is accessed by
the PCI memory  space is accessed by   bus_space_read_1 and so on
am i right sir?
On 5/24/06, John-Mark Gurney <gurney_j at resnet.uoregon.edu> wrote:
> william wallace wrote this message on Wed, May 24, 2006 at 15:48 +0800:
> > IN static device_method_t pci_methods[] = {
> > what is the freeBSD's magic to connect pci_read_config_method    wtih
> > PCI_READ_CONFIG? awk script?and so on?
> > which
> > DEVMETHOD(pci_read_config,    pci_read_config_method), in pci.c
> > command = PCI_READ_CONFIG(dev, child, PCIR_COMMAND, 2); in
> > pci_enable_io_method in pci.c
> >
> > and what if i create a new method in pci method interface ?
> > such as   DEVMETHOD(pci_have_rest ,   pci_have_rest_method)
> > what else should i do when i want to use PCI_HAVE_REST(dev ) point to
> > pci_have_rest_method
>
> These are handled by the _if.m files...  look at sys/dev/pci/pci_if.m...
> There is an awk script in sys/tools/makeobjops.awk that converts the
> _if.m to the appropriate .h and .c files...
>
> Please read:
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/kernel-objects-using.html
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/newbus-overview.html
>
> The device methods are implemented using kobj...
>
> > On 5/23/06, Scott Long <scottl at samsco.org> wrote:
> > >william wallace wrote:
> > >
> > >[...]
> > >
> > >> MSI:
> > >> I've bantered around different suggestions for an API that will support
> > >> this.  The basic thing that a driver needs from this is to know
> > >> exactly how many message interrupt vectors are available to it.  It
> > >> can't just register vectors and handlers blindly since the purpose of
> > >> MSI is to assign special meanings to each vector and allow the driver to
> > >> handle each one in specifically.
> > >
> > >[...]
> > >
> > >I just wanted to briefly say that an MSI implementation has been done
> > >recently, and that it should start getting wider circulation and review
> > >soon.  That's not to say that more work and design can't be done in this
> > >area, but we should probably wait a bit and see what has been done
> > >already.
>
> --
>  John-Mark Gurney                              Voice: +1 415 225 5579
>
>     "All that I will do, has been done, All that I have, has not."
>


-- 
we who r about to die,salute u!


More information about the freebsd-hackers mailing list