On Thu, Apr 29, 2010 at 09:39:50AM +1000, matthew green wrote: > > Modified Files: > src/sys/arch/amd64/amd64: busfunc.S genassym.cf mainbus.c > src/sys/arch/i386/i386: apmbios.c busfunc.S genassym.cf ipkdb_glue.c > mainbus.c > src/sys/arch/i386/isa: isapnp_machdep.c > src/sys/arch/i386/pci: pceb.c pcibios.c pcmb.c > src/sys/arch/i386/pnpbios: pnpbios.c > src/sys/arch/i386/xbox: xbox.c xboxfb.c > src/sys/arch/x86/include: bus.h > src/sys/arch/x86/pci: pcib.c > src/sys/arch/x86/x86: acpi_machdep.c bus_space.c consinit.c > genfb_machdep.c > src/sys/arch/xen/x86: consinit.c mainbus.c > src/sys/arch/xen/xen: hypervisor.c xpci_xenbus.c > src/sys/compat/ndis: nbcompat.h > src/sys/dev/if_ndis: if_ndis_pci.c > src/sys/dev/pci: puccn.c > > Log Message: > On x86, change the bus_space_tag_t to a pointer to a struct > bus_space_tag. For now, bus_space_tag's only member is > bst_type, the type of space, which is either X86_BUS_SPACE_IO > or X86_BUS_SPACE_MEM. In the future, new bus_space_tag members > will refer to override-functions installed by a new function, > bus_space_tag_create(9). > > Add pointers to constant struct bus_space_tag, x86_bus_space_io and > x86_bus_space_mem. Use them to replace most uses of X86_BUS_SPACE_IO > and X86_BUS_SPACE_MEM. > > Add an x86-specific bus_space_is_equal(9) implementation that compares > the two tags' bst_type. > > this needs a kernel version bump i believe. old drivers > should be allowed to load anymore... at the very least, > the *drm driver modules will be broken. > > annoying that an MD change requires the MI version to bump > but these sorts of changes aren't too common i guess.
Also annoying that so much of this code is MD. Please run large x86 changes by me before commit. I would have told you what Matt just did :-). FYI you can now remove the #error from both busfunc.S and special _ALIGN_TEXT definitions since the sizes of the routines will be quite different now.