Factor out the object system from new-bus so that it can be used by
authorJeroen Ruigrok/asmodai <asmodai@dragonflybsd.org>
Mon, 17 Nov 2003 00:54:40 +0000 (00:54 +0000)
committerJeroen Ruigrok/asmodai <asmodai@dragonflybsd.org>
Mon, 17 Nov 2003 00:54:40 +0000 (00:54 +0000)
commit80eff43d0b3624843815610d032a14f5e2605830
treeba129c864c2ff8053fc04eb05c37c482dc6c5db2
parentb61f6a612a9f949901588c2491300a1d6db7d620
Factor out the object system from new-bus so that it can be used by
non-device code.

Re-implement the method dispatch to improve efficiency. The new system
takes about 40ns for a method dispatch on a 300Mhz PII which is only 10ns
slower than a direct function call on the same hardware.

This is all based on Doug Rabson's work in April and May of 2000.
16 files changed:
sys/bus/iicbus/iicbb_if.m
sys/bus/iicbus/iicbus_if.m
sys/bus/isa/i386/isa_compat.c
sys/bus/isa/isa_if.m
sys/bus/pci/pci.c
sys/bus/pci/pci_if.m
sys/bus/smbus/smbus_if.m
sys/conf/Makefile.i386
sys/conf/kmod.mk
sys/dev/misc/dec/mcclock_if.m
sys/dev/netif/mii_layer/miibus_if.m
sys/kern/bus_if.m
sys/kern/device_if.m
sys/kern/subr_bus.c
sys/sys/bus.h
sys/sys/bus_private.h