Split GENERIC into GENERIC (for the X3 revision of the board in native
interrupt mode) and GENERIC.X2 (for the X2 revision of the board or an
X3 in legacy interrupt mode).
* Add "pcitag_t *pba_bridgetag" to pci_attach_args.  This is set to
  NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
Fix stupid typo in pci_decompose_tag().
Add devsw APIs:

int devsw_attach(const char *devname, const struct bdevsw *bdev, int *bmajor,
		 const struct cdevsw *cdev, int *cmajor);
void devsw_detach(const struct bdevsw *bdev, const struct cdevsw *cdev);

const struct bdevsw *bdevsw_lookup(dev_t dev);
const struct cdevsw *cdevsw_lookup(dev_t dev);
int bdevsw_lookup_major(const struct bdevsw *bdev);
int cdevsw_lookup_major(const struct cdevsw *cdev);

const char *devsw_blk2name(int bmajor);
int devsw_name2blk(const char *name, char *devname, size_t devnamelen);
dev_t devsw_chr2blk(dev_t cdev);
dev_t devsw_blk2chr(dev_t bdev);
Add bdevsw/cdevsw for swap device.
Replace with devsw APIs.
Replace the direct-access to devsw table with calling devsw APIs.
Use devsw APIs for checking validity of major numbers.
Use devsw API for checking validity of major number.
Add netsmb_cdevsw
Add the character device switch.
Add the character device switch.
Replace the direct-access to devsw table with calling devsw APIs.
Use devsw API for checking validity of major number.
Call the device interfaces via the device switch.
Replace the direct-access to devsw table with calling devsw APIs.
Replace the direct-access to devsw table with calling devsw APIs.
Add the character device switch.
Replace the local name <-> block major conversion function with devsw APIs.
Replace the direct-access to devsw table with calling devsw APIs.
Don't access the # of block device switches.
Use devsw API for checking validity of major number.
Add the character device switch.