NetBSD/sys/dev/marvell
pooka 10fe49d72c Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client.  This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached.  However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff.  ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
2010-01-19 22:06:18 +00:00
..
README
files.discovery
gt.c struct device * -> device_t, no functional changes intended. 2009-05-12 14:28:22 +00:00
gtbrgreg.h
gtethreg.h
gti2c.c struct device * -> device_t, no functional changes intended. 2009-05-12 14:28:22 +00:00
gti2creg.h
gtidma.c struct device * -> device_t, no functional changes intended. 2009-05-12 14:28:22 +00:00
gtidmareg.h Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h 2008-09-08 23:36:53 +00:00
gtidmavar.h
gtintrreg.h
gtmpsc.c struct device * -> device_t, no functional changes intended. 2009-05-12 14:28:22 +00:00
gtmpscreg.h
gtmpscvar.h
gtpci.c struct device * -> device_t, no functional changes intended. 2009-05-12 14:28:22 +00:00
gtpcireg.h
gtpcivar.h
gtreg.h
gtsdmareg.h
gtvar.h struct device * -> device_t, no functional changes intended. 2009-05-12 14:28:22 +00:00
if_gfe.c Redefine bpf linkage through an always present op vector, i.e. 2010-01-19 22:06:18 +00:00
if_gfevar.h Avoid the effects of name space pollution caused by <sys/rb.h>, 2008-06-10 22:44:07 +00:00
obio.c struct device * -> device_t, no functional changes intended. 2009-05-12 14:28:22 +00:00

README

External m.d. interface points:

To config, code should configure 'gt' with a struct gtbus_attach_args
filled in.  The code should have already set up the bus_space and
bus_dma tags that are passed in.

m.d. pci_chipset_tag_t should contain at least a copy of the
gtpci_chipset_tag_t data structure.

m.d. code must provide the following functions:

pci_intr_map
pci_intr_string
pci_intr_establish,
pci_intr_disestablish

void *gtmpp_intr_establish(struct gt_softc *gt, int mpp_pin, int ipl,
		     int (*handler)(void *), void *arg);
	Add an interrupt attached to Discovery MPP pin <mpp_pin> at
	the given ipl with the given handler.

void gtmpp_intr_disestablish(struct gt_softc *gt, void *cookie);
	Remove an interrupt attached to Discovery MPP pin.

int gtget_macaddr(struct gt_softc *gt, int function, char *enaddr);
	Get MAC for Discovery ethernet <function>

void intr_enable(void);
	Enable all interrupts (disregarding spls)

void intr_disable(void);
	Disable all interrupts (disregarding spls)