CVSROOT:        /cvs
Module name:    src
Changes by:     d...@cvs.openbsd.org    2014/10/16 19:46:26

Modified files:
        sys/arch/i386/i386: bus_space.c machdep.c 
        sys/arch/i386/include: bus.h 

Log message:
bring the twisting of bus_space from amd64 over to i386. this is:

src/sys/arch/amd64/amd64/bus_space.c r1.22
src/sys/arch/amd64/include/bus.h r1.27

instead of using the tag as an identifier for IO or memory mappings
that was checked inside the api, turn it into a pointer to a structure
of function pointers. the api then generally becomes a set of macros
that deref the function pointers on the callers behalf. the idea
is that following a pointer to very small functions is cheap compared
to doing compares continuously.

the kernel is smaller and the api is more cache friendly now.

the porting of this code from amd64 to i386 was done by kimberley manning
requested by and ok tedu@

Reply via email to