Module Name:    src
Committed By:   dyoung
Date:           Wed Apr 28 19:17:05 UTC 2010

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.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/amd64/amd64/busfunc.S
cvs rdiff -u -r1.43 -r1.44 src/sys/arch/amd64/amd64/genassym.cf
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/amd64/amd64/mainbus.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/i386/i386/apmbios.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/i386/i386/busfunc.S
cvs rdiff -u -r1.86 -r1.87 src/sys/arch/i386/i386/genassym.cf
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/i386/i386/ipkdb_glue.c
cvs rdiff -u -r1.89 -r1.90 src/sys/arch/i386/i386/mainbus.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/i386/isa/isapnp_machdep.c
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/i386/pci/pceb.c
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/i386/pci/pcibios.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/i386/pci/pcmb.c
cvs rdiff -u -r1.68 -r1.69 src/sys/arch/i386/pnpbios/pnpbios.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/i386/xbox/xbox.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/i386/xbox/xboxfb.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/x86/include/bus.h
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/x86/pci/pcib.c
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/x86/x86/acpi_machdep.c \
    src/sys/arch/x86/x86/bus_space.c
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/x86/x86/consinit.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/x86/x86/genfb_machdep.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/xen/x86/consinit.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/xen/x86/mainbus.c
cvs rdiff -u -r1.51 -r1.52 src/sys/arch/xen/xen/hypervisor.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/xen/xen/xpci_xenbus.c
cvs rdiff -u -r1.12 -r1.13 src/sys/compat/ndis/nbcompat.h
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/if_ndis/if_ndis_pci.c
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/pci/puccn.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/amd64/busfunc.S
diff -u src/sys/arch/amd64/amd64/busfunc.S:1.7 src/sys/arch/amd64/amd64/busfunc.S:1.8
--- src/sys/arch/amd64/amd64/busfunc.S:1.7	Sun May 25 15:56:12 2008
+++ src/sys/arch/amd64/amd64/busfunc.S	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: busfunc.S,v 1.7 2008/05/25 15:56:12 chs Exp $	*/
+/*	$NetBSD: busfunc.S,v 1.8 2010/04/28 19:17:03 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 2007, 2008 The NetBSD Foundation, Inc.
@@ -52,7 +52,7 @@
  */
 ENTRY(bus_space_read_1)
 	addq	%rsi, %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	1f
 	movzbl	(%rdx), %eax
 	ret
@@ -67,7 +67,7 @@
  */
 ENTRY(bus_space_read_2)
 	addq	%rsi, %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	1f
 	movzwl	(%rdx), %eax
 	ret
@@ -82,7 +82,7 @@
  */
 ENTRY(bus_space_read_4)
 	addq	%rsi, %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	1f
 	movl	(%rdx), %eax
 	ret
@@ -96,7 +96,7 @@
  */
 ENTRY(bus_space_read_8)
 	addq	%rsi, %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	.Ldopanic
 	movq	(%rdx), %rax
 	ret
@@ -112,7 +112,7 @@
  */
 ENTRY(bus_space_write_1)
 	addq	%rsi, %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	1f
 	movb	%cl, (%rdx)
 	ret
@@ -127,7 +127,7 @@
  */
 ENTRY(bus_space_write_2)
 	addq	%rsi, %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	1f
 	movw	%cx, (%rdx)
 	ret
@@ -142,7 +142,7 @@
  */
 ENTRY(bus_space_write_4)
 	addq	%rsi, %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	1f
 	movl	%ecx, (%rdx)
 	ret
@@ -157,7 +157,7 @@
  */
 ENTRY(bus_space_write_8)
 	addq	%rsi, %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	.Ldopanic
 	movq	%rcx, (%rdx)
 	ret
@@ -173,7 +173,7 @@
  */
 ENTRY(bus_space_read_multi_1)
 	leaq	(%rsi,%rdx,1), %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	jne	1f
 	movq	%rcx, %rdi
 	movq	%r8, %rcx
@@ -195,7 +195,7 @@
  */
 ENTRY(bus_space_read_multi_2)
 	leaq	(%rsi,%rdx,1), %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	jne	1f
 	movq	%rcx, %rdi
 	movq	%r8, %rcx
@@ -217,7 +217,7 @@
  */
 ENTRY(bus_space_read_multi_4)
 	leaq	(%rsi,%rdx,1), %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	jne	1f
 	movq	%rcx, %rdi
 	movq	%r8, %rcx
@@ -239,7 +239,7 @@
  */
 ENTRY(bus_space_read_multi_8)
 	leaq	(%rsi,%rdx,1), %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	.Ldopanic
 	.align	16
 1:
@@ -261,7 +261,7 @@
  */
 ENTRY(bus_space_write_multi_1)
 	leaq	(%rsi,%rdx,1), %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	jne	1f
 	movq	%rcx, %rsi
 	movq	%r8, %rcx
@@ -283,7 +283,7 @@
  */
 ENTRY(bus_space_write_multi_2)
 	leaq	(%rsi,%rdx,1), %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	jne	1f
 	movq	%rcx, %rsi
 	movq	%r8, %rcx
@@ -305,7 +305,7 @@
  */
 ENTRY(bus_space_write_multi_4)
 	leaq	(%rsi,%rdx,1), %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	jne	1f
 	movq	%rcx, %rsi
 	movq	%r8, %rcx
@@ -327,7 +327,7 @@
  */
 ENTRY(bus_space_write_multi_8)
 	leaq	(%rsi,%rdx,1), %rdx
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	.Ldopanic
 	.align	16
 1:
@@ -348,7 +348,7 @@
  *    bus_size_t offset, uint8_t *addr, size_t count);
  */
 ENTRY(bus_space_read_region_1)
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	2f
 	addq	%rdx, %rsi
 	movq	%rcx, %rdi
@@ -372,7 +372,7 @@
  *    bus_size_t offset, uint16_t *addr, size_t count);
  */
 ENTRY(bus_space_read_region_2)
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	2f
 	addq	%rdx, %rsi
 	movq	%rcx, %rdi
@@ -396,7 +396,7 @@
  *    bus_size_t offset, uint32_t *addr, size_t count);
  */
 ENTRY(bus_space_read_region_4)
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	2f
 	addq	%rdx, %rsi
 	movq	%rcx, %rdi
@@ -420,7 +420,7 @@
  *    bus_size_t offset, uint64_t *addr, size_t count);
  */
 ENTRY(bus_space_read_region_8)
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	.Ldopanic
 	addq	%rdx, %rsi
 	movq	%rcx, %rdi
@@ -439,7 +439,7 @@
  *    bus_size_t offset, const uint8_t *addr, size_t count);
  */
 ENTRY(bus_space_write_region_1)
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	2f
 	leaq	(%rdx,%rsi,1), %rdi
 	movq	%rcx, %rsi
@@ -463,7 +463,7 @@
  *    bus_size_t offset, const uint16_t *addr, size_t count);
  */
 ENTRY(bus_space_write_region_2)
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	2f
 	leaq	(%rdx,%rsi,1), %rdi
 	movq	%rcx, %rsi
@@ -487,7 +487,7 @@
  *    bus_size_t offset, const uint32_t *addr, size_t count);
  */
 ENTRY(bus_space_write_region_4)
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	2f
 	leaq	(%rdx,%rsi,1), %rdi
 	movq	%rcx, %rsi
@@ -511,7 +511,7 @@
  *    bus_size_t offset, const uint64_t *addr, size_t count);
  */
 ENTRY(bus_space_write_region_8)
-	testl	%edi, %edi
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%rdi)
 	je	.Ldopanic
 	leaq	(%rdx,%rsi,1), %rdi
 	movq	%rcx, %rsi

Index: src/sys/arch/amd64/amd64/genassym.cf
diff -u src/sys/arch/amd64/amd64/genassym.cf:1.43 src/sys/arch/amd64/amd64/genassym.cf:1.44
--- src/sys/arch/amd64/amd64/genassym.cf:1.43	Fri Nov 27 03:23:04 2009
+++ src/sys/arch/amd64/amd64/genassym.cf	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.43 2009/11/27 03:23:04 rmind Exp $
+#	$NetBSD: genassym.cf,v 1.44 2010/04/28 19:17:03 dyoung Exp $
 
 #
 # Copyright (c) 1998, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -122,7 +122,7 @@
 include <xen/xen3-public/xen.h>
 endif  
 
-include <x86/busdefs.h>
+include <x86/bus.h>
 
 define	LSRUN			LSRUN
 define	LSONPROC		LSONPROC
@@ -364,6 +364,8 @@
 
 define	X86_BUS_SPACE_IO	X86_BUS_SPACE_IO
 
+define	BST_TYPE		offsetof(struct bus_space_tag, bst_type)
+
 ifdef XEN
 define CPU_INFO_VCPU		offsetof(struct cpu_info, ci_vcpu)
 define EVTCHN_UPCALL_MASK	offsetof(struct vcpu_info, evtchn_upcall_mask)

Index: src/sys/arch/amd64/amd64/mainbus.c
diff -u src/sys/arch/amd64/amd64/mainbus.c:1.30 src/sys/arch/amd64/amd64/mainbus.c:1.31
--- src/sys/arch/amd64/amd64/mainbus.c:1.30	Mon Feb 15 23:53:07 2010
+++ src/sys/arch/amd64/amd64/mainbus.c	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: mainbus.c,v 1.30 2010/02/15 23:53:07 dyoung Exp $	*/
+/*	$NetBSD: mainbus.c,v 1.31 2010/04/28 19:17:03 dyoung Exp $	*/
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All rights reserved.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.30 2010/02/15 23:53:07 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.31 2010/04/28 19:17:03 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -109,11 +109,10 @@
 int	isa_has_been_seen;
 struct x86_isa_chipset x86_isa_chipset;
 #if NISA > 0
-struct isabus_attach_args mba_iba = {
-	"isa",
-	X86_BUS_SPACE_IO, X86_BUS_SPACE_MEM,
-	&isa_bus_dma_tag,
-	&x86_isa_chipset
+static const struct isabus_attach_args mba_iba = {
+	._iba_busname = "isa",
+	.iba_dmat = &isa_bus_dma_tag,
+	.iba_ic = &x86_isa_chipset
 };
 #endif
 
@@ -226,14 +225,14 @@
 	/*
 	 * ACPI needs ISA DMA initialized before they start probing.
 	 */
-	isa_dmainit(&x86_isa_chipset, X86_BUS_SPACE_IO, &isa_bus_dma_tag,
+	isa_dmainit(&x86_isa_chipset, x86_bus_space_io, &isa_bus_dma_tag,
 	    self);
 #endif
 
 #if NACPICA > 0
 	if (acpi_present) {
-		mba.mba_acpi.aa_iot = X86_BUS_SPACE_IO;
-		mba.mba_acpi.aa_memt = X86_BUS_SPACE_MEM;
+		mba.mba_acpi.aa_iot = x86_bus_space_io;
+		mba.mba_acpi.aa_memt = x86_bus_space_mem;
 		mba.mba_acpi.aa_pc = NULL;
 		mba.mba_acpi.aa_pciflags =
 		    PCI_FLAGS_IO_ENABLED | PCI_FLAGS_MEM_ENABLED |
@@ -246,8 +245,8 @@
 
 #if NIPMI > 0
 	memset(&mba.mba_ipmi, 0, sizeof(mba.mba_ipmi));
-	mba.mba_ipmi.iaa_iot = X86_BUS_SPACE_IO;
-	mba.mba_ipmi.iaa_memt = X86_BUS_SPACE_MEM;
+	mba.mba_ipmi.iaa_iot = x86_bus_space_io;
+	mba.mba_ipmi.iaa_memt = x86_bus_space_mem;
 	if (ipmi_probe(&mba.mba_ipmi))
 		config_found_ia(self, "ipmibus", &mba.mba_ipmi, 0);
 #endif
@@ -256,8 +255,8 @@
 	if (mode != 0) {
 		int npcibus = 0;
 
-		mba.mba_pba.pba_iot = X86_BUS_SPACE_IO;
-		mba.mba_pba.pba_memt = X86_BUS_SPACE_MEM;
+		mba.mba_pba.pba_iot = x86_bus_space_io;
+		mba.mba_pba.pba_memt = x86_bus_space_mem;
 		mba.mba_pba.pba_dmat = &pci_bus_dma_tag;
 		mba.mba_pba.pba_dmat64 = &pci_bus_dma64_tag;
 		mba.mba_pba.pba_pc = NULL;
@@ -285,8 +284,12 @@
 #endif
 
 #if NISA > 0
-	if (isa_has_been_seen == 0)
-		config_found_ia(self, "isabus", &mba_iba, isabusprint);
+	if (isa_has_been_seen == 0) {
+		mba.mba_iba = mba_iba;
+		mba.mba_iba.iba_iot = x86_bus_space_io;
+		mba.mba_iba.iba_memt = x86_bus_space_mem;
+		config_found_ia(self, "isabus", &mba.mba_iba, isabusprint);
+	}
 #endif
 
 	if (!pmf_device_register(self, NULL, NULL))

Index: src/sys/arch/i386/i386/apmbios.c
diff -u src/sys/arch/i386/i386/apmbios.c:1.16 src/sys/arch/i386/i386/apmbios.c:1.17
--- src/sys/arch/i386/i386/apmbios.c:1.16	Thu Dec 31 16:04:32 2009
+++ src/sys/arch/i386/i386/apmbios.c	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: apmbios.c,v 1.16 2009/12/31 16:04:32 christos Exp $ */
+/*	$NetBSD: apmbios.c,v 1.17 2010/04/28 19:17:03 dyoung Exp $ */
 
 /*-
  * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: apmbios.c,v 1.16 2009/12/31 16:04:32 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: apmbios.c,v 1.17 2010/04/28 19:17:03 dyoung Exp $");
 
 #include "opt_apm.h"
 #include "opt_compat_mach.h"	/* Needed to get the right segment def */
@@ -781,7 +781,7 @@
 		 * implementation on i386 so it can be done without
 		 * extent checking.
 		 */
-		if (_x86_memio_map(X86_BUS_SPACE_MEM,
+		if (_x86_memio_map(x86_bus_space_mem,
 		    apminfo.apm_data_seg_base,
 		    apminfo.apm_data_seg_len, 0, &memh)) {
 			aprint_error_dev(self,

Index: src/sys/arch/i386/i386/busfunc.S
diff -u src/sys/arch/i386/i386/busfunc.S:1.5 src/sys/arch/i386/i386/busfunc.S:1.6
--- src/sys/arch/i386/i386/busfunc.S:1.5	Mon Apr 28 20:23:24 2008
+++ src/sys/arch/i386/i386/busfunc.S	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: busfunc.S,v 1.5 2008/04/28 20:23:24 martin Exp $	*/
+/*	$NetBSD: busfunc.S,v 1.6 2010/04/28 19:17:03 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 2007 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: busfunc.S,v 1.5 2008/04/28 20:23:24 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: busfunc.S,v 1.6 2010/04/28 19:17:03 dyoung Exp $");
 
 #include "assym.h"
 
@@ -45,7 +45,8 @@
 ENTRY(bus_space_read_1)
 	movl	8(%esp), %edx
 	addl	12(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 4(%esp)
+	movl	4(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	je	1f
 	movzbl	(%edx), %eax
 	ret
@@ -61,7 +62,8 @@
 ENTRY(bus_space_read_2)
 	movl	8(%esp), %edx
 	addl	12(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 4(%esp)
+	movl	4(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	je	1f
 	movzwl	(%edx), %eax
 	ret
@@ -77,7 +79,8 @@
 ENTRY(bus_space_read_4)
 	movl	8(%esp), %edx
 	addl	12(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 4(%esp)
+	movl	4(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	je	1f
 	movl	(%edx), %eax
 	ret
@@ -96,7 +99,8 @@
 ENTRY(bus_space_write_1)
 	movl	8(%esp), %edx
 	addl	12(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 4(%esp)
+	movl	4(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	16(%esp), %eax
 	je	1f
 	movb	%al, (%edx)
@@ -112,7 +116,8 @@
 ENTRY(bus_space_write_2)
 	movl	8(%esp), %edx
 	addl	12(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 4(%esp)
+	movl	4(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	16(%esp), %eax
 	je	1f
 	movw	%ax, (%edx)
@@ -128,7 +133,8 @@
 ENTRY(bus_space_write_4)
 	movl	8(%esp), %edx
 	addl	12(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 4(%esp)
+	movl	4(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	16(%esp), %eax
 	je	1f
 	movl	%eax, (%edx)
@@ -149,7 +155,8 @@
 	pushl	%edi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %edi
 	movl	24(%esp), %ecx
 	jne	1f
@@ -175,7 +182,8 @@
 	pushl	%edi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %edi
 	movl	24(%esp), %ecx
 	jne	1f
@@ -201,7 +209,8 @@
 	pushl	%edi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %edi
 	movl	24(%esp), %ecx
 	jne	1f
@@ -231,7 +240,8 @@
 	pushl	%esi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %esi
 	movl	24(%esp), %ecx
 	jne	1f
@@ -257,7 +267,8 @@
 	pushl	%esi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %esi
 	movl	24(%esp), %ecx
 	jne	1f
@@ -283,7 +294,8 @@
 	pushl	%esi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %esi
 	movl	24(%esp), %ecx
 	jne	1f
@@ -313,7 +325,8 @@
 	pushl	%edi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %edi
 	movl	24(%esp), %ecx
 	je	2f
@@ -342,7 +355,8 @@
 	pushl	%edi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %edi
 	movl	24(%esp), %ecx
 	je	2f
@@ -371,7 +385,8 @@
 	pushl	%edi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %edi
 	movl	24(%esp), %ecx
 	je	2f
@@ -404,7 +419,8 @@
 	pushl	%esi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %esi
 	movl	24(%esp), %ecx
 	je	2f
@@ -433,7 +449,8 @@
 	pushl	%esi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %esi
 	movl	24(%esp), %ecx
 	je	2f
@@ -462,7 +479,8 @@
 	pushl	%esi
 	movl	12(%esp), %edx
 	addl	16(%esp), %edx
-	cmpl	$X86_BUS_SPACE_IO, 8(%esp)
+	movl	8(%esp), %eax
+	cmpl	$X86_BUS_SPACE_IO, BST_TYPE(%eax)
 	movl	20(%esp), %esi
 	movl	24(%esp), %ecx
 	je	2f

Index: src/sys/arch/i386/i386/genassym.cf
diff -u src/sys/arch/i386/i386/genassym.cf:1.86 src/sys/arch/i386/i386/genassym.cf:1.87
--- src/sys/arch/i386/i386/genassym.cf:1.86	Sun Apr 18 23:47:50 2010
+++ src/sys/arch/i386/i386/genassym.cf	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.86 2010/04/18 23:47:50 jym Exp $
+#	$NetBSD: genassym.cf,v 1.87 2010/04/28 19:17:03 dyoung Exp $
 
 #
 # Copyright (c) 1998, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -143,7 +143,7 @@
 include <machine/tlog.h>
 
 
-include <x86/busdefs.h>
+include <x86/bus.h>
 
 define	PAGE_SIZE		PAGE_SIZE
 
@@ -440,6 +440,8 @@
 
 define	X86_BUS_SPACE_IO	X86_BUS_SPACE_IO
 
+define	BST_TYPE		offsetof(struct bus_space_tag, bst_type)
+
 define	L1_SHIFT		L1_SHIFT
 define	L2_SHIFT		L2_SHIFT
 define	L2_FRAME		L2_FRAME

Index: src/sys/arch/i386/i386/ipkdb_glue.c
diff -u src/sys/arch/i386/i386/ipkdb_glue.c:1.13 src/sys/arch/i386/i386/ipkdb_glue.c:1.14
--- src/sys/arch/i386/i386/ipkdb_glue.c:1.13	Mon Sep 14 11:37:36 2009
+++ src/sys/arch/i386/i386/ipkdb_glue.c	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ipkdb_glue.c,v 1.13 2009/09/14 11:37:36 tsutsui Exp $	*/
+/*	$NetBSD: ipkdb_glue.c,v 1.14 2010/04/28 19:17:03 dyoung Exp $	*/
 
 /*
  * Copyright (C) 2000 Wolfgang Solfrank.
@@ -31,7 +31,7 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ipkdb_glue.c,v 1.13 2009/09/14 11:37:36 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ipkdb_glue.c,v 1.14 2010/04/28 19:17:03 dyoung Exp $");
 
 #include "opt_ipkdb.h"
 
@@ -141,7 +141,7 @@
 #error You must specify the IPKDB_NE_PCISLOT to use IPKDB_NE_PCI.
 #endif
 
-	if (ne_pci_ipkdb_attach(kip, X86_BUS_SPACE_IO, NULL, 0,
+	if (ne_pci_ipkdb_attach(kip, x86_bus_space_io, NULL, 0,
 	    IPKDB_NE_PCISLOT) == 0) {
 		printf("IPKDB on %s\n", kip->name);
 		return 0;

Index: src/sys/arch/i386/i386/mainbus.c
diff -u src/sys/arch/i386/i386/mainbus.c:1.89 src/sys/arch/i386/i386/mainbus.c:1.90
--- src/sys/arch/i386/i386/mainbus.c:1.89	Mon Feb 15 23:53:07 2010
+++ src/sys/arch/i386/i386/mainbus.c	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: mainbus.c,v 1.89 2010/02/15 23:53:07 dyoung Exp $	*/
+/*	$NetBSD: mainbus.c,v 1.90 2010/04/28 19:17:03 dyoung Exp $	*/
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All rights reserved.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.89 2010/02/15 23:53:07 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.90 2010/04/28 19:17:03 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -145,11 +145,10 @@
 int	isa_has_been_seen;
 struct x86_isa_chipset x86_isa_chipset;
 #if NISA > 0
-struct isabus_attach_args mba_iba = {
-	"isa",
-	X86_BUS_SPACE_IO, X86_BUS_SPACE_MEM,
-	&isa_bus_dma_tag,
-	&x86_isa_chipset
+static const struct isabus_attach_args mba_iba = {
+	._iba_busname = "isa",
+	.iba_dmat = &isa_bus_dma_tag,
+	.iba_ic = &x86_isa_chipset
 };
 #endif
 
@@ -286,7 +285,7 @@
 	/*
 	 * ACPI and PNPBIOS need ISA DMA initialized before they start probing.
 	 */
-	isa_dmainit(&x86_isa_chipset, X86_BUS_SPACE_IO, &isa_bus_dma_tag,
+	isa_dmainit(&x86_isa_chipset, x86_bus_space_io, &isa_bus_dma_tag,
 	    self);
 #endif
 
@@ -302,8 +301,8 @@
 
 	if (memcmp(ISA_HOLE_VADDR(EISA_ID_PADDR), EISA_ID, EISA_ID_LEN) == 0 &&
 	    eisa_has_been_seen == 0) {
-		mba.mba_eba.eba_iot = X86_BUS_SPACE_IO;
-		mba.mba_eba.eba_memt = X86_BUS_SPACE_MEM;
+		mba.mba_eba.eba_iot = x86_bus_space_io;
+		mba.mba_eba.eba_memt = x86_bus_space_mem;
 #if NEISA > 0
 		mba.mba_eba.eba_dmat = &eisa_bus_dma_tag;
 #endif
@@ -311,8 +310,12 @@
 	}
 
 #if NISA > 0
-	if (isa_has_been_seen == 0)
-		config_found_ia(self, "isabus", &mba_iba, isabusprint);
+	if (isa_has_been_seen == 0) {
+		mba.mba_iba = mba_iba;
+		mba.mba_iba.iba_iot = x86_bus_space_io;
+		mba.mba_iba.iba_memt = x86_bus_space_mem;
+		config_found_ia(self, "isabus", &mba.mba_iba, isabusprint);
+	}
 #endif
 
 #if NAPMBIOS > 0
@@ -339,8 +342,8 @@
 	if (ifattr_match(ifattr, "acpibus") && sc->sc_acpi == NULL &&
 	    sc->sc_acpi_present) {
 #if NACPICA > 0
-		mba.mba_acpi.aa_iot = X86_BUS_SPACE_IO;
-		mba.mba_acpi.aa_memt = X86_BUS_SPACE_MEM;
+		mba.mba_acpi.aa_iot = x86_bus_space_io;
+		mba.mba_acpi.aa_memt = x86_bus_space_mem;
 		mba.mba_acpi.aa_pc = NULL;
 		mba.mba_acpi.aa_pciflags =
 		    PCI_FLAGS_IO_ENABLED | PCI_FLAGS_MEM_ENABLED |
@@ -377,8 +380,8 @@
 	if (ifattr_match(ifattr, "ipmibus") && sc->sc_ipmi == NULL) {
 #if NIPMI > 0
 		memset(&mba.mba_ipmi, 0, sizeof(mba.mba_ipmi));
-		mba.mba_ipmi.iaa_iot = X86_BUS_SPACE_IO;
-		mba.mba_ipmi.iaa_memt = X86_BUS_SPACE_MEM;
+		mba.mba_ipmi.iaa_iot = x86_bus_space_io;
+		mba.mba_ipmi.iaa_memt = x86_bus_space_mem;
 		if (ipmi_probe(&mba.mba_ipmi)) {
 			sc->sc_ipmi =
 			    config_found_ia(self, "ipmibus", &mba.mba_ipmi, 0);
@@ -396,8 +399,8 @@
 	if (pci_mode_detect() != 0 && ifattr_match(ifattr, "pcibus")) {
 		int npcibus = 0;
 
-		mba.mba_pba.pba_iot = X86_BUS_SPACE_IO;
-		mba.mba_pba.pba_memt = X86_BUS_SPACE_MEM;
+		mba.mba_pba.pba_iot = x86_bus_space_io;
+		mba.mba_pba.pba_memt = x86_bus_space_mem;
 		mba.mba_pba.pba_dmat = &pci_bus_dma_tag;
 		mba.mba_pba.pba_dmat64 = NULL;
 		mba.mba_pba.pba_pc = NULL;
@@ -428,8 +431,8 @@
 #if NMCA > 0
 	/* Note: MCA bus probe is done in i386/machdep.c */
 		if (MCA_system) {
-			mba.mba_mba.mba_iot = X86_BUS_SPACE_IO;
-			mba.mba_mba.mba_memt = X86_BUS_SPACE_MEM;
+			mba.mba_mba.mba_iot = x86_bus_space_io;
+			mba.mba_mba.mba_memt = x86_bus_space_mem;
 			mba.mba_mba.mba_dmat = &mca_bus_dma_tag;
 			mba.mba_mba.mba_mc = NULL;
 			mba.mba_mba.mba_bus = 0;

Index: src/sys/arch/i386/isa/isapnp_machdep.c
diff -u src/sys/arch/i386/isa/isapnp_machdep.c:1.15 src/sys/arch/i386/isa/isapnp_machdep.c:1.16
--- src/sys/arch/i386/isa/isapnp_machdep.c:1.15	Tue Apr 20 22:37:25 2010
+++ src/sys/arch/i386/isa/isapnp_machdep.c	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: isapnp_machdep.c,v 1.15 2010/04/20 22:37:25 dyoung Exp $	*/
+/*	$NetBSD: isapnp_machdep.c,v 1.16 2010/04/28 19:17:03 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@@ -45,7 +45,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: isapnp_machdep.c,v 1.15 2010/04/20 22:37:25 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: isapnp_machdep.c,v 1.16 2010/04/28 19:17:03 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -67,7 +67,7 @@
 {
 
 #ifdef DIAGNOSTIC
-	if (!bus_space_is_equal(sc->sc_iot, X86_BUS_SPACE_IO))
+	if (!bus_space_is_equal(sc->sc_iot, x86_bus_space_io))
 		panic("isapnp_map: bogus bus space tag");
 #endif
 
@@ -100,7 +100,7 @@
 #endif
 
 #ifdef DIAGNOSTIC
-	if (!bus_space_is_equal(sc->sc_iot, X86_BUS_SPACE_IO))
+	if (!bus_space_is_equal(sc->sc_iot, x86_bus_space_io))
 		panic("isapnp_map_readport: bogus bus space tag");
 #endif
 

Index: src/sys/arch/i386/pci/pceb.c
diff -u src/sys/arch/i386/pci/pceb.c:1.22 src/sys/arch/i386/pci/pceb.c:1.23
--- src/sys/arch/i386/pci/pceb.c:1.22	Mon May  5 11:49:40 2008
+++ src/sys/arch/i386/pci/pceb.c	Wed Apr 28 19:17:03 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: pceb.c,v 1.22 2008/05/05 11:49:40 xtraeme Exp $	*/
+/*	$NetBSD: pceb.c,v 1.23 2010/04/28 19:17:03 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1998 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pceb.c,v 1.22 2008/05/05 11:49:40 xtraeme Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pceb.c,v 1.23 2010/04/28 19:17:03 dyoung Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -121,8 +121,8 @@
 	 * Attach the EISA bus behind this bridge.
 	 */
 	memset(&ea, 0, sizeof(ea));
-	ea.ea_eba.eba_iot = X86_BUS_SPACE_IO;
-	ea.ea_eba.eba_memt = X86_BUS_SPACE_MEM;
+	ea.ea_eba.eba_iot = x86_bus_space_io;
+	ea.ea_eba.eba_memt = x86_bus_space_mem;
 #if NEISA > 0
 	ea.ea_eba.eba_dmat = &eisa_bus_dma_tag;
 #endif
@@ -132,8 +132,8 @@
 	 * Attach the ISA bus behind this bridge.
 	 */
 	memset(&ea, 0, sizeof(ea));
-	ea.ea_iba.iba_iot = X86_BUS_SPACE_IO;
-	ea.ea_iba.iba_memt = X86_BUS_SPACE_MEM;
+	ea.ea_iba.iba_iot = x86_bus_space_io;
+	ea.ea_iba.iba_memt = x86_bus_space_mem;
 #if NISA > 0
 	ea.ea_iba.iba_dmat = &isa_bus_dma_tag;
 #endif

Index: src/sys/arch/i386/pci/pcibios.c
diff -u src/sys/arch/i386/pci/pcibios.c:1.37 src/sys/arch/i386/pci/pcibios.c:1.38
--- src/sys/arch/i386/pci/pcibios.c:1.37	Tue Feb 16 00:03:47 2010
+++ src/sys/arch/i386/pci/pcibios.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcibios.c,v 1.37 2010/02/16 00:03:47 dyoung Exp $	*/
+/*	$NetBSD: pcibios.c,v 1.38 2010/04/28 19:17:04 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pcibios.c,v 1.37 2010/02/16 00:03:47 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pcibios.c,v 1.38 2010/04/28 19:17:04 dyoung Exp $");
 
 #include "opt_pcibios.h"
 #include "opt_pcifixup.h"
@@ -197,7 +197,7 @@
 		/*
 		 * Fixup interrupt routing.
 		 */
-		rv = pci_intr_fixup(NULL, X86_BUS_SPACE_IO, &pciirq);
+		rv = pci_intr_fixup(NULL, x86_bus_space_io, &pciirq);
 		switch (rv) {
 		case -1:
 			/* Non-fatal error. */

Index: src/sys/arch/i386/pci/pcmb.c
diff -u src/sys/arch/i386/pci/pcmb.c:1.18 src/sys/arch/i386/pci/pcmb.c:1.19
--- src/sys/arch/i386/pci/pcmb.c:1.18	Mon May  5 11:49:40 2008
+++ src/sys/arch/i386/pci/pcmb.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcmb.c,v 1.18 2008/05/05 11:49:40 xtraeme Exp $	*/
+/*	$NetBSD: pcmb.c,v 1.19 2010/04/28 19:17:04 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1998 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pcmb.c,v 1.18 2008/05/05 11:49:40 xtraeme Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pcmb.c,v 1.19 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -102,8 +102,8 @@
 	/*
 	 * Attach MCA bus behind this bridge.
 	 */
-	ma.mba_iot = X86_BUS_SPACE_IO;
-	ma.mba_memt = X86_BUS_SPACE_MEM;
+	ma.mba_iot = x86_bus_space_io;
+	ma.mba_memt = x86_bus_space_mem;
 #if NMCA > 0
 	ma.mba_dmat = &mca_bus_dma_tag;
 #endif

Index: src/sys/arch/i386/pnpbios/pnpbios.c
diff -u src/sys/arch/i386/pnpbios/pnpbios.c:1.68 src/sys/arch/i386/pnpbios/pnpbios.c:1.69
--- src/sys/arch/i386/pnpbios/pnpbios.c:1.68	Sat Nov  7 07:27:44 2009
+++ src/sys/arch/i386/pnpbios/pnpbios.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: pnpbios.c,v 1.68 2009/11/07 07:27:44 cegger Exp $ */
+/* $NetBSD: pnpbios.c,v 1.69 2010/04/28 19:17:04 dyoung Exp $ */
 
 /*
  * Copyright (c) 2000 Jason R. Thorpe.  All rights reserved.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pnpbios.c,v 1.68 2009/11/07 07:27:44 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pnpbios.c,v 1.69 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1278,8 +1278,8 @@
 	while (idx--)
 		io = SIMPLEQ_NEXT(io, next);
 
-	*tagp = X86_BUS_SPACE_IO;
-	return (bus_space_map(X86_BUS_SPACE_IO, io->minbase, io->len,
+	*tagp = x86_bus_space_io;
+	return (bus_space_map(x86_bus_space_io, io->minbase, io->len,
 			       0, hdlp));
 }
 
@@ -1313,7 +1313,7 @@
 		io = SIMPLEQ_NEXT(io, next);
 
 	if (tagp)
-		*tagp = X86_BUS_SPACE_IO;
+		*tagp = x86_bus_space_io;
 	if (basep)
 		*basep = io->minbase;
 	return (0);

Index: src/sys/arch/i386/xbox/xbox.c
diff -u src/sys/arch/i386/xbox/xbox.c:1.4 src/sys/arch/i386/xbox/xbox.c:1.5
--- src/sys/arch/i386/xbox/xbox.c:1.4	Mon May  5 00:18:50 2008
+++ src/sys/arch/i386/xbox/xbox.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: xbox.c,v 1.4 2008/05/05 00:18:50 jmcneill Exp $ */
+/* $NetBSD: xbox.c,v 1.5 2010/04/28 19:17:04 dyoung Exp $ */
 
 /*-
  * Copyright (c) 2007 Jared D. McNeill <jmcne...@invisible.ca>
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xbox.c,v 1.4 2008/05/05 00:18:50 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xbox.c,v 1.5 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -75,11 +75,11 @@
 	 * nfe(4) attach correctly. As the NIC always resides at
 	 * 0xfef00000-0xfef003ff on an XBOX, we simply hardcode this address.
 	 */
-	rv = bus_space_map(X86_BUS_SPACE_MEM, XBOX_NFORCE_NIC,
+	rv = bus_space_map(x86_bus_space_mem, XBOX_NFORCE_NIC,
 	    0x400, 0, &h);
 	if (!rv) {
-		bus_space_write_4(X86_BUS_SPACE_MEM, h, 0x188, 0);
-		bus_space_unmap(X86_BUS_SPACE_MEM, h, 0x400);
+		bus_space_write_4(x86_bus_space_mem, h, 0x188, 0);
+		bus_space_unmap(x86_bus_space_mem, h, 0x400);
 	}
 
 	

Index: src/sys/arch/i386/xbox/xboxfb.c
diff -u src/sys/arch/i386/xbox/xboxfb.c:1.12 src/sys/arch/i386/xbox/xboxfb.c:1.13
--- src/sys/arch/i386/xbox/xboxfb.c:1.12	Wed Jul  9 20:40:16 2008
+++ src/sys/arch/i386/xbox/xboxfb.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: xboxfb.c,v 1.12 2008/07/09 20:40:16 joerg Exp $	*/
+/*	$NetBSD: xboxfb.c,v 1.13 2010/04/28 19:17:04 dyoung Exp $	*/
 
 /*
  * Copyright (c) 2007 Jared D. McNeill <jmcne...@invisible.ca>
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xboxfb.c,v 1.12 2008/07/09 20:40:16 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xboxfb.c,v 1.13 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -200,7 +200,7 @@
 
 	ri = &xboxfb_console_screen.scr_ri;
 
-	sc->sc_memt = X86_BUS_SPACE_MEM;
+	sc->sc_memt = x86_bus_space_mem;
 	sc->sc_memh = xboxfb_console_memh;
 	sc->sc_mode = WSDISPLAYIO_MODE_EMUL;
 
@@ -293,7 +293,7 @@
 	sc = (struct xboxfb_softc *)vd->cookie;
 
 	if (offset >= 0 && offset < XBOX_FB_SIZE) {
-		pa = bus_space_mmap(X86_BUS_SPACE_MEM, XBOX_FB_START,
+		pa = bus_space_mmap(x86_bus_space_mem, XBOX_FB_START,
 		    offset, prot, BUS_SPACE_MAP_LINEAR);
 		return pa;
 	}
@@ -389,7 +389,7 @@
 static uint8_t
 xboxfb_get_encoder(void)
 {
-	bus_space_tag_t t = X86_BUS_SPACE_IO;
+	bus_space_tag_t t = x86_bus_space_io;
 	bus_space_handle_t h;
 	uint8_t rv;
 
@@ -415,7 +415,7 @@
 static uint8_t
 xboxfb_is_widescreen(void)
 {
-	bus_space_tag_t t = X86_BUS_SPACE_IO;
+	bus_space_tag_t t = x86_bus_space_io;
 	bus_space_handle_t h;
 	uint8_t rv;
 
@@ -437,7 +437,7 @@
 	bus_space_handle_t h;
 	uint8_t rv;
 
-	t = X86_BUS_SPACE_IO;
+	t = x86_bus_space_io;
 	rv = bus_space_map(t, XBOX_SMBUS_BA, 16, 0, &h);
 	if (rv)
 		return PIC16LC_REG_AVPACK_COMPOSITE; /* shouldn't happen */
@@ -518,7 +518,7 @@
 	if (xboxfb_console_shadowbits == NULL)
 		aprint_error("xboxfb_cnattach: failed to allocate shadowfb\n");
 
-	if (bus_space_map(X86_BUS_SPACE_MEM, XBOX_FB_START, fbsize,
+	if (bus_space_map(x86_bus_space_mem, XBOX_FB_START, fbsize,
 	    BUS_SPACE_MAP_LINEAR, &xboxfb_console_memh)) {
 		aprint_error("xboxfb_cnattach: failed to map memory.\n");
 		return 1;
@@ -529,11 +529,11 @@
 	ri->ri_flg = 0; /* RI_CENTER does not work with shadowfb */
 	if (xboxfb_console_shadowbits) {
 		ri->ri_bits = xboxfb_console_shadowbits;
-		ri->ri_hwbits = bus_space_vaddr(X86_BUS_SPACE_MEM,
+		ri->ri_hwbits = bus_space_vaddr(x86_bus_space_mem,
 		    xboxfb_console_memh);
 		xboxfb_console_bits = ri->ri_hwbits;
 	} else {
-		ri->ri_bits = bus_space_vaddr(X86_BUS_SPACE_MEM,
+		ri->ri_bits = bus_space_vaddr(x86_bus_space_mem,
 		    xboxfb_console_memh);
 		ri->ri_hwbits = NULL;
 		xboxfb_console_bits = ri->ri_bits;

Index: src/sys/arch/x86/include/bus.h
diff -u src/sys/arch/x86/include/bus.h:1.19 src/sys/arch/x86/include/bus.h:1.20
--- src/sys/arch/x86/include/bus.h:1.19	Fri Feb 13 20:50:38 2009
+++ src/sys/arch/x86/include/bus.h	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: bus.h,v 1.19 2009/02/13 20:50:38 bouyer Exp $	*/
+/*	$NetBSD: bus.h,v 1.20 2010/04/28 19:17:04 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2001 The NetBSD Foundation, Inc.
@@ -80,9 +80,18 @@
 typedef paddr_t bus_addr_t;
 typedef size_t bus_size_t;
 
-typedef	int bus_space_tag_t;
+struct bus_space_tag {
+	int bst_type;
+};
+
+typedef	struct bus_space_tag *bus_space_tag_t;
 typedef	vaddr_t bus_space_handle_t;
 
+extern bus_space_tag_t x86_bus_space_mem;
+extern bus_space_tag_t x86_bus_space_io;
+
+bool	bus_space_is_equal(bus_space_tag_t, bus_space_tag_t);
+
 int	_x86_memio_map(bus_space_tag_t t, bus_addr_t addr,
 	    bus_size_t size, int flags, bus_space_handle_t *bshp);
 void	_x86_memio_unmap(bus_space_tag_t t, bus_space_handle_t bsh,

Index: src/sys/arch/x86/pci/pcib.c
diff -u src/sys/arch/x86/pci/pcib.c:1.11 src/sys/arch/x86/pci/pcib.c:1.12
--- src/sys/arch/x86/pci/pcib.c:1.11	Fri Jan  8 00:09:45 2010
+++ src/sys/arch/x86/pci/pcib.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcib.c,v 1.11 2010/01/08 00:09:45 dyoung Exp $	*/
+/*	$NetBSD: pcib.c,v 1.12 2010/04/28 19:17:04 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1998 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pcib.c,v 1.11 2010/01/08 00:09:45 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pcib.c,v 1.12 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -242,8 +242,8 @@
 		 * Attach the ISA bus behind this bridge.
 		 */
 		memset(&iba, 0, sizeof(iba));
-		iba.iba_iot = X86_BUS_SPACE_IO;
-		iba.iba_memt = X86_BUS_SPACE_MEM;
+		iba.iba_iot = x86_bus_space_io;
+		iba.iba_memt = x86_bus_space_mem;
 #if NISA > 0
 		iba.iba_dmat = &isa_bus_dma_tag;
 #endif

Index: src/sys/arch/x86/x86/acpi_machdep.c
diff -u src/sys/arch/x86/x86/acpi_machdep.c:1.26 src/sys/arch/x86/x86/acpi_machdep.c:1.27
--- src/sys/arch/x86/x86/acpi_machdep.c:1.26	Wed Apr 14 19:32:35 2010
+++ src/sys/arch/x86/x86/acpi_machdep.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: acpi_machdep.c,v 1.26 2010/04/14 19:32:35 jruoho Exp $	*/
+/*	$NetBSD: acpi_machdep.c,v 1.27 2010/04/28 19:17:04 dyoung Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_machdep.c,v 1.26 2010/04/14 19:32:35 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_machdep.c,v 1.27 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -193,7 +193,7 @@
     uint32_t Length, void **LogicalAddress)
 {
 
-	if (_x86_memio_map(X86_BUS_SPACE_MEM, PhysicalAddress, Length,
+	if (_x86_memio_map(x86_bus_space_mem, PhysicalAddress, Length,
 	    0, (bus_space_handle_t *) LogicalAddress) == 0)
 		return (AE_OK);
 
@@ -204,7 +204,7 @@
 acpi_md_OsUnmapMemory(void *LogicalAddress, uint32_t Length)
 {
 
-	(void) _x86_memio_unmap(X86_BUS_SPACE_MEM,
+	(void) _x86_memio_unmap(x86_bus_space_mem,
 	    (bus_space_handle_t) LogicalAddress, Length, NULL);
 }
 
Index: src/sys/arch/x86/x86/bus_space.c
diff -u src/sys/arch/x86/x86/bus_space.c:1.26 src/sys/arch/x86/x86/bus_space.c:1.27
--- src/sys/arch/x86/x86/bus_space.c:1.26	Sat Nov  7 07:32:53 2009
+++ src/sys/arch/x86/x86/bus_space.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: bus_space.c,v 1.26 2009/11/07 07:32:53 cegger Exp $	*/
+/*	$NetBSD: bus_space.c,v 1.27 2010/04/28 19:17:04 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bus_space.c,v 1.26 2009/11/07 07:32:53 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bus_space.c,v 1.27 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -93,9 +93,27 @@
 struct	extent *iomem_ex;
 static	int ioport_malloc_safe;
 
+static struct bus_space_tag x86_io = { .bst_type = X86_BUS_SPACE_IO };
+static struct bus_space_tag x86_mem = { .bst_type = X86_BUS_SPACE_MEM };
+
+bus_space_tag_t x86_bus_space_io = &x86_io;
+bus_space_tag_t x86_bus_space_mem = &x86_mem;
+
 int x86_mem_add_mapping(bus_addr_t, bus_size_t,
 	    int, bus_space_handle_t *);
 
+static inline bool
+x86_bus_space_is_io(bus_space_tag_t t)
+{
+	return t->bst_type == X86_BUS_SPACE_IO;
+}
+
+static inline bool
+x86_bus_space_is_mem(bus_space_tag_t t)
+{
+	return t->bst_type == X86_BUS_SPACE_MEM;
+}
+
 void
 x86_bus_space_init(void)
 {
@@ -147,11 +165,11 @@
 	/*
 	 * Pick the appropriate extent map.
 	 */
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		if (flags & BUS_SPACE_MAP_LINEAR)
 			return (EOPNOTSUPP);
 		ex = ioport_ex;
-	} else if (t == X86_BUS_SPACE_MEM)
+	} else if (x86_bus_space_is_mem(t))
 		ex = iomem_ex;
 	else
 		panic("x86_memio_map: bad bus space tag");
@@ -168,7 +186,7 @@
 	/*
 	 * For I/O space, that's all she wrote.
 	 */
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		*bshp = bpa;
 		return (0);
 	}
@@ -206,7 +224,7 @@
 	/*
 	 * For I/O space, just fill in the handle.
 	 */
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		if (flags & BUS_SPACE_MAP_LINEAR)
 			return (EOPNOTSUPP);
 		*bshp = bpa;
@@ -233,11 +251,11 @@
 	/*
 	 * Pick the appropriate extent map.
 	 */
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		if (flags & BUS_SPACE_MAP_LINEAR)
 			return (EOPNOTSUPP);
 		ex = ioport_ex;
-	} else if (t == X86_BUS_SPACE_MEM)
+	} else if (x86_bus_space_is_mem(t))
 		ex = iomem_ex;
 	else
 		panic("x86_memio_alloc: bad bus space tag");
@@ -262,7 +280,7 @@
 	/*
 	 * For I/O space, that's all she wrote.
 	 */
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		*bshp = *bpap = bpa;
 		return (0);
 	}
@@ -332,6 +350,14 @@
 	return 0;
 }
 
+bool
+bus_space_is_equal(bus_space_tag_t t1, bus_space_tag_t t2)
+{
+	if (t1 == NULL || t2 == NULL)
+		return false;
+	return t1->bst_type == t2->bst_type;
+}
+
 /*
  * void _x86_memio_unmap(bus_space_tag bst, bus_space_handle bsh,
  *                        bus_size_t size, bus_addr_t *adrp)
@@ -352,9 +378,9 @@
 	/*
 	 * Find the correct extent and bus physical address.
 	 */
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		bpa = bsh;
-	} else if (t == X86_BUS_SPACE_MEM) {
+	} else if (x86_bus_space_is_mem(t)) {
 		if (bsh >= atdevbase && (bsh + size) != 0 &&
 		    (bsh + size) <= (atdevbase + IOM_SIZE)) {
 			bpa = (bus_addr_t)ISA_PHYSADDR(bsh);
@@ -401,10 +427,10 @@
 	/*
 	 * Find the correct extent and bus physical address.
 	 */
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		ex = ioport_ex;
 		bpa = bsh;
-	} else if (t == X86_BUS_SPACE_MEM) {
+	} else if (x86_bus_space_is_mem(t)) {
 		ex = iomem_ex;
 
 		if (bsh >= atdevbase && (bsh + size) != 0 &&
@@ -438,7 +464,7 @@
 	if (extent_free(ex, bpa, size,
 	    EX_NOWAIT | (ioport_malloc_safe ? EX_MALLOCOK : 0))) {
 		printf("x86_memio_unmap: %s 0x%jx, size 0x%jx\n",
-		    (t == X86_BUS_SPACE_IO) ? "port" : "pa",
+		    x86_bus_space_is_io(t) ? "port" : "pa",
 		    (uintmax_t)bpa, (uintmax_t)size);
 		printf("x86_memio_unmap: can't free region\n");
 	}
@@ -467,7 +493,7 @@
 {
 
 	/* Can't mmap I/O space. */
-	if (t == X86_BUS_SPACE_IO)
+	if (x86_bus_space_is_io(t))
 		return (-1);
 
 	/*
@@ -486,7 +512,7 @@
 {
 	vaddr_t addr = h + o;
 
-	if (t == X86_BUS_SPACE_IO)
+	if (x86_bus_space_is_io(t))
 		while (c--)
 			outb(addr, v);
 	else
@@ -502,7 +528,7 @@
 
 	BUS_SPACE_ADDRESS_SANITY(addr, uint16_t, "bus addr");
 
-	if (t == X86_BUS_SPACE_IO)
+	if (x86_bus_space_is_io(t))
 		while (c--)
 			outw(addr, v);
 	else
@@ -518,7 +544,7 @@
 
 	BUS_SPACE_ADDRESS_SANITY(addr, uint32_t, "bus addr");
 
-	if (t == X86_BUS_SPACE_IO)
+	if (x86_bus_space_is_io(t))
 		while (c--)
 			outl(addr, v);
 	else
@@ -532,7 +558,7 @@
 {
 	vaddr_t addr = h + o;
 
-	if (t == X86_BUS_SPACE_IO)
+	if (x86_bus_space_is_io(t))
 		for (; c != 0; c--, addr++)
 			outb(addr, v);
 	else
@@ -548,7 +574,7 @@
 
 	BUS_SPACE_ADDRESS_SANITY(addr, uint16_t, "bus addr");
 
-	if (t == X86_BUS_SPACE_IO)
+	if (x86_bus_space_is_io(t))
 		for (; c != 0; c--, addr += 2)
 			outw(addr, v);
 	else
@@ -564,7 +590,7 @@
 
 	BUS_SPACE_ADDRESS_SANITY(addr, uint32_t, "bus addr");
 
-	if (t == X86_BUS_SPACE_IO)
+	if (x86_bus_space_is_io(t))
 		for (; c != 0; c--, addr += 4)
 			outl(addr, v);
 	else
@@ -580,7 +606,7 @@
 	vaddr_t addr1 = h1 + o1;
 	vaddr_t addr2 = h2 + o2;
 
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		if (addr1 >= addr2) {
 			/* src after dest: copy forward */
 			for (; c != 0; c--, addr1++, addr2++)
@@ -618,7 +644,7 @@
 	BUS_SPACE_ADDRESS_SANITY(addr1, uint16_t, "bus addr 1");
 	BUS_SPACE_ADDRESS_SANITY(addr2, uint16_t, "bus addr 2");
 
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		if (addr1 >= addr2) {
 			/* src after dest: copy forward */
 			for (; c != 0; c--, addr1 += 2, addr2 += 2)
@@ -656,7 +682,7 @@
 	BUS_SPACE_ADDRESS_SANITY(addr1, uint32_t, "bus addr 1");
 	BUS_SPACE_ADDRESS_SANITY(addr2, uint32_t, "bus addr 2");
 
-	if (t == X86_BUS_SPACE_IO) {
+	if (x86_bus_space_is_io(t)) {
 		if (addr1 >= addr2) {
 			/* src after dest: copy forward */
 			for (; c != 0; c--, addr1 += 4, addr2 += 4)
@@ -695,5 +721,5 @@
 bus_space_vaddr(bus_space_tag_t tag, bus_space_handle_t bsh)
 {
 
-	return tag == X86_BUS_SPACE_MEM ? (void *)bsh : NULL;
+	return x86_bus_space_is_mem(tag) ? (void *)bsh : NULL;
 }

Index: src/sys/arch/x86/x86/consinit.c
diff -u src/sys/arch/x86/x86/consinit.c:1.20 src/sys/arch/x86/x86/consinit.c:1.21
--- src/sys/arch/x86/x86/consinit.c:1.20	Wed Mar 18 10:22:38 2009
+++ src/sys/arch/x86/x86/consinit.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: consinit.c,v 1.20 2009/03/18 10:22:38 cegger Exp $	*/
+/*	$NetBSD: consinit.c,v 1.21 2010/04/28 19:17:04 dyoung Exp $	*/
 
 /*
  * Copyright (c) 1998
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: consinit.c,v 1.20 2009/03/18 10:22:38 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: consinit.c,v 1.21 2010/04/28 19:17:04 dyoung Exp $");
 
 #include "opt_kgdb.h"
 
@@ -190,23 +190,23 @@
 		}
 #endif
 #if (NVGA > 0)
-		if (!vga_cnattach(X86_BUS_SPACE_IO, X86_BUS_SPACE_MEM,
+		if (!vga_cnattach(x86_bus_space_io, x86_bus_space_mem,
 				  -1, 1))
 			goto dokbd;
 #endif
 #if (NEGA > 0)
-		if (!ega_cnattach(X86_BUS_SPACE_IO, X86_BUS_SPACE_MEM))
+		if (!ega_cnattach(x86_bus_space_io, x86_bus_space_mem))
 			goto dokbd;
 #endif
 #if (NPCDISPLAY > 0)
-		if (!pcdisplay_cnattach(X86_BUS_SPACE_IO, X86_BUS_SPACE_MEM))
+		if (!pcdisplay_cnattach(x86_bus_space_io, x86_bus_space_mem))
 			goto dokbd;
 #endif
 		if (0) goto dokbd; /* XXX stupid gcc */
 dokbd:
 		error = ENODEV;
 #if (NPCKBC > 0)
-		error = pckbc_cnattach(X86_BUS_SPACE_IO, IO_KBD, KBCMDP,
+		error = pckbc_cnattach(x86_bus_space_io, IO_KBD, KBCMDP,
 		    PCKBC_KBD_SLOT);
 #endif
 #if (NUKBD > 0)
@@ -220,7 +220,6 @@
 	}
 #if (NCOM > 0)
 	if (!strcmp(consinfo->devname, "com")) {
-		bus_space_tag_t tag = X86_BUS_SPACE_IO;
 		int addr = consinfo->addr;
 		int speed = consinfo->speed;
 
@@ -229,7 +228,7 @@
 		if (speed == 0)
 			speed = CONSPEED;
 
-		if (comcnattach(tag, addr, speed,
+		if (comcnattach(x86_bus_space_io, addr, speed,
 				COM_FREQ, COM_TYPE_NORMAL, comcnmode))
 			panic("can't init serial console @%x", consinfo->addr);
 
@@ -245,10 +244,8 @@
 {
 #if (NCOM > 0)
 	if(!strcmp(kgdb_devname, "com")) {
-		bus_space_tag_t tag = X86_BUS_SPACE_IO;
-
-		com_kgdb_attach(tag, comkgdbaddr, comkgdbrate, COM_FREQ, 
-		    COM_TYPE_NORMAL, comkgdbmode);
+		com_kgdb_attach(x86_bus_space_io, comkgdbaddr, comkgdbrate,
+		    COM_FREQ, COM_TYPE_NORMAL, comkgdbmode);
 	}
 #endif
 }

Index: src/sys/arch/x86/x86/genfb_machdep.c
diff -u src/sys/arch/x86/x86/genfb_machdep.c:1.3 src/sys/arch/x86/x86/genfb_machdep.c:1.4
--- src/sys/arch/x86/x86/genfb_machdep.c:1.3	Mon Aug 24 02:15:46 2009
+++ src/sys/arch/x86/x86/genfb_machdep.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: genfb_machdep.c,v 1.3 2009/08/24 02:15:46 jmcneill Exp $ */
+/* $NetBSD: genfb_machdep.c,v 1.4 2010/04/28 19:17:04 dyoung Exp $ */
 
 /*-
  * Copyright (c) 2009 Jared D. McNeill <jmcne...@invisible.ca>
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genfb_machdep.c,v 1.3 2009/08/24 02:15:46 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfb_machdep.c,v 1.4 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -76,7 +76,7 @@
 	static int ncalls = 0;
 	struct rasops_info *ri = &x86_genfb_console_screen.scr_ri;
 	const struct btinfo_framebuffer *fbinfo;
-	bus_space_tag_t t = X86_BUS_SPACE_MEM;
+	bus_space_tag_t t = x86_bus_space_mem;
 	bus_space_handle_t h;
 	void *bits;
 	long defattr;

Index: src/sys/arch/xen/x86/consinit.c
diff -u src/sys/arch/xen/x86/consinit.c:1.13 src/sys/arch/xen/x86/consinit.c:1.14
--- src/sys/arch/xen/x86/consinit.c:1.13	Wed Mar 18 10:22:39 2009
+++ src/sys/arch/xen/x86/consinit.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: consinit.c,v 1.13 2009/03/18 10:22:39 cegger Exp $	*/
+/*	$NetBSD: consinit.c,v 1.14 2010/04/28 19:17:04 dyoung Exp $	*/
 /*	NetBSD: consinit.c,v 1.4 2004/03/13 17:31:34 bjh21 Exp 	*/
 
 /*
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: consinit.c,v 1.13 2009/03/18 10:22:39 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: consinit.c,v 1.14 2010/04/28 19:17:04 dyoung Exp $");
 
 #include "opt_kgdb.h"
 
@@ -162,11 +162,11 @@
 		    strcmp(xcp.xcp_console, "pc") == 0) { /* NetBSD name */
 #endif /* CONS_OVERRIDE */
 			int error;
-			vga_cnattach(X86_BUS_SPACE_IO, X86_BUS_SPACE_MEM,
+			vga_cnattach(x86_bus_space_io, x86_bus_space_mem,
 			    -1, 1);
 			error = ENODEV;
 #if (NPCKBC > 0)
-			error = pckbc_cnattach(X86_BUS_SPACE_IO, IO_KBD, KBCMDP,
+			error = pckbc_cnattach(x86_bus_space_io, IO_KBD, KBCMDP,
 			    PCKBC_KBD_SLOT);
 #endif
 #if (NUKBD > 0)
@@ -193,7 +193,7 @@
 {
 #if (NCOM > 0)
 	if(!strcmp(kgdb_devname, "com")) {
-		bus_space_tag_t tag = X86_BUS_SPACE_IO;
+		bus_space_tag_t tag = x86_bus_space_io;
 
 		com_kgdb_attach(tag, comkgdbaddr, comkgdbrate, COM_FREQ, 
 		    COM_TYPE_NORMAL, comkgdbmode);

Index: src/sys/arch/xen/x86/mainbus.c
diff -u src/sys/arch/xen/x86/mainbus.c:1.10 src/sys/arch/xen/x86/mainbus.c:1.11
--- src/sys/arch/xen/x86/mainbus.c:1.10	Mon Feb 15 23:53:56 2010
+++ src/sys/arch/xen/x86/mainbus.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: mainbus.c,v 1.10 2010/02/15 23:53:56 dyoung Exp $	*/
+/*	$NetBSD: mainbus.c,v 1.11 2010/04/28 19:17:04 dyoung Exp $	*/
 /*	NetBSD: mainbus.c,v 1.53 2003/10/27 14:11:47 junyoung Exp 	*/
 
 /*
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.10 2010/02/15 23:53:56 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mainbus.c,v 1.11 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -201,8 +201,8 @@
 
 #if NIPMI > 0
 	memset(&mba.mba_ipmi, 0, sizeof(mba.mba_ipmi));
-	mba.mba_ipmi.iaa_iot = X86_BUS_SPACE_IO;
-	mba.mba_ipmi.iaa_memt = X86_BUS_SPACE_MEM;
+	mba.mba_ipmi.iaa_iot = x86_bus_space_io;
+	mba.mba_ipmi.iaa_memt = x86_bus_space_mem;
 	if (ipmi_probe(&mba.mba_ipmi))
 		config_found_ia(self, "ipmibus", &mba.mba_ipmi, 0);
 #endif

Index: src/sys/arch/xen/xen/hypervisor.c
diff -u src/sys/arch/xen/xen/hypervisor.c:1.51 src/sys/arch/xen/xen/hypervisor.c:1.52
--- src/sys/arch/xen/xen/hypervisor.c:1.51	Tue Mar  2 16:44:08 2010
+++ src/sys/arch/xen/xen/hypervisor.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: hypervisor.c,v 1.51 2010/03/02 16:44:08 dyoung Exp $ */
+/* $NetBSD: hypervisor.c,v 1.52 2010/04/28 19:17:04 dyoung Exp $ */
 
 /*
  * Copyright (c) 2005 Manuel Bouyer.
@@ -53,7 +53,7 @@
 
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hypervisor.c,v 1.51 2010/03/02 16:44:08 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hypervisor.c,v 1.52 2010/04/28 19:17:04 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -246,8 +246,8 @@
 #if NACPICA > 0
 	if (acpi_present) {
 		memset(&hac, 0, sizeof(hac));
-		hac.hac_acpi.aa_iot = X86_BUS_SPACE_IO;
-		hac.hac_acpi.aa_memt = X86_BUS_SPACE_MEM;
+		hac.hac_acpi.aa_iot = x86_bus_space_io;
+		hac.hac_acpi.aa_memt = x86_bus_space_mem;
 		hac.hac_acpi.aa_pc = NULL;
 		hac.hac_acpi.aa_pciflags =
 			PCI_FLAGS_IO_ENABLED | PCI_FLAGS_MEM_ENABLED |
@@ -258,8 +258,8 @@
 	}
 #endif /* NACPICA */
 	memset(&hac, 0, sizeof(hac));
-	hac.hac_pba.pba_iot = X86_BUS_SPACE_IO;
-	hac.hac_pba.pba_memt = X86_BUS_SPACE_MEM;
+	hac.hac_pba.pba_iot = x86_bus_space_io;
+	hac.hac_pba.pba_memt = x86_bus_space_mem;
 	hac.hac_pba.pba_dmat = &pci_bus_dma_tag;
 #ifdef _LP64
 	hac.hac_pba.pba_dmat64 = &pci_bus_dma64_tag;
@@ -288,8 +288,8 @@
 	if (isa_has_been_seen == 0) {
 		memset(&hac, 0, sizeof(hac));
 		hac.hac_iba._iba_busname = "isa";
-		hac.hac_iba.iba_iot = X86_BUS_SPACE_IO;
-		hac.hac_iba.iba_memt = X86_BUS_SPACE_MEM;
+		hac.hac_iba.iba_iot = x86_bus_space_io;
+		hac.hac_iba.iba_memt = x86_bus_space_mem;
 		hac.hac_iba.iba_dmat = &isa_bus_dma_tag;
 		hac.hac_iba.iba_ic = NULL; /* No isa DMA yet */
 		config_found_ia(self, "isabus", &hac.hac_iba, isabusprint);

Index: src/sys/arch/xen/xen/xpci_xenbus.c
diff -u src/sys/arch/xen/xen/xpci_xenbus.c:1.3 src/sys/arch/xen/xen/xpci_xenbus.c:1.4
--- src/sys/arch/xen/xen/xpci_xenbus.c:1.3	Mon Oct 19 18:41:12 2009
+++ src/sys/arch/xen/xen/xpci_xenbus.c	Wed Apr 28 19:17:04 2010
@@ -1,4 +1,4 @@
-/*      $NetBSD: xpci_xenbus.c,v 1.3 2009/10/19 18:41:12 bouyer Exp $      */
+/*      $NetBSD: xpci_xenbus.c,v 1.4 2010/04/28 19:17:04 dyoung Exp $      */
 
 /*
  * Copyright (c) 2009 Manuel Bouyer.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xpci_xenbus.c,v 1.3 2009/10/19 18:41:12 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xpci_xenbus.c,v 1.4 2010/04/28 19:17:04 dyoung Exp $");
 
 #include "opt_xen.h"
 #include "rnd.h"
@@ -382,8 +382,8 @@
 	struct pcibus_attach_args pba;
 
 	memset(&pba, 0, sizeof(struct pcibus_attach_args));
-	pba.pba_iot = X86_BUS_SPACE_IO;
-	pba.pba_memt = X86_BUS_SPACE_MEM;
+	pba.pba_iot = x86_bus_space_io;
+	pba.pba_memt = x86_bus_space_mem;
 	pba.pba_dmat = &pci_bus_dma_tag;
 #ifdef _LP64
 	pba.pba_dmat64 = &pci_bus_dma64_tag;

Index: src/sys/compat/ndis/nbcompat.h
diff -u src/sys/compat/ndis/nbcompat.h:1.12 src/sys/compat/ndis/nbcompat.h:1.13
--- src/sys/compat/ndis/nbcompat.h:1.12	Wed Nov 12 12:36:10 2008
+++ src/sys/compat/ndis/nbcompat.h	Wed Apr 28 19:17:04 2010
@@ -43,7 +43,7 @@
 #define BUS_SPACE_MAXADDR	0xFFFFFFFF
 #endif
 #define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF
-#define I386_BUS_SPACE_MEM	1
+#define I386_BUS_SPACE_MEM	x86_bus_space_mem
 
 #define device_get_softc	(struct ndis_softc *)
 #define ticks			hardclock_ticks
@@ -57,7 +57,7 @@
 #ifndef PAGE_SIZE
 #define PAGE_SIZE		4096
 #endif
-#define I386_BUS_SPACE_IO	0
+#define I386_BUS_SPACE_IO	x86_bus_space_io
 
 #define device_get_nameunit(dev)	device_xname(dev)
 

Index: src/sys/dev/if_ndis/if_ndis_pci.c
diff -u src/sys/dev/if_ndis/if_ndis_pci.c:1.17 src/sys/dev/if_ndis/if_ndis_pci.c:1.18
--- src/sys/dev/if_ndis/if_ndis_pci.c:1.17	Tue Oct 20 19:04:59 2009
+++ src/sys/dev/if_ndis/if_ndis_pci.c	Wed Apr 28 19:17:04 2010
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ndis_pci.c,v 1.17 2009/10/20 19:04:59 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ndis_pci.c,v 1.18 2010/04/28 19:17:04 dyoung Exp $");
 #ifdef __FreeBSD__
 __FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis_pci.c,v 1.8.2.3 2005/03/31 04:24:36 wpaul Exp $");
 #endif
@@ -276,7 +276,7 @@
 				}
 				sc->ndis_res_io->res_base = base;
 				sc->ndis_res_io->res_size = size;
-				sc->ndis_res_io->res_tag  = X86_BUS_SPACE_IO;
+				sc->ndis_res_io->res_tag  = x86_bus_space_io;
 				bus_space_map(sc->ndis_res_io->res_tag,
 					 sc->ndis_res_io->res_base,
 					 sc->ndis_res_io->res_size,
@@ -303,7 +303,7 @@
 					}
 					sc->ndis_res_altmem->res_base = base;
 					sc->ndis_res_altmem->res_size = size;
-					sc->ndis_res_altmem->res_tag  = X86_BUS_SPACE_MEM;
+					sc->ndis_res_altmem->res_tag  = x86_bus_space_mem;
 					
 					
 					if(bus_space_map(sc->ndis_res_altmem->res_tag,
@@ -321,7 +321,7 @@
 					}
 					sc->ndis_res_mem->res_base = base;
 					sc->ndis_res_mem->res_size = size;
-					sc->ndis_res_mem->res_tag  = X86_BUS_SPACE_MEM;
+					sc->ndis_res_mem->res_tag  = x86_bus_space_mem;
 					
 					if(bus_space_map(sc->ndis_res_mem->res_tag,
 						sc->ndis_res_mem->res_base,

Index: src/sys/dev/pci/puccn.c
diff -u src/sys/dev/pci/puccn.c:1.9 src/sys/dev/pci/puccn.c:1.10
--- src/sys/dev/pci/puccn.c:1.9	Sat Jan 13 18:59:31 2007
+++ src/sys/dev/pci/puccn.c	Wed Apr 28 19:17:05 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: puccn.c,v 1.9 2007/01/13 18:59:31 cube Exp $ */
+/*	$NetBSD: puccn.c,v 1.10 2010/04/28 19:17:05 dyoung Exp $ */
 
 /*
  * Derived from  pci.c
@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: puccn.c,v 1.9 2007/01/13 18:59:31 cube Exp $");
+__KERNEL_RCSID(0, "$NetBSD: puccn.c,v 1.10 2010/04/28 19:17:05 dyoung Exp $");
 
 #include "opt_kgdb.h"
 
@@ -76,7 +76,7 @@
 cpu_comcnprobe(struct consdev *cn, struct pci_attach_args *pa)
 {
 	pci_mode_detect();
-	pa->pa_iot = X86_BUS_SPACE_IO;
+	pa->pa_iot = x86_bus_space_io;
 	pa->pa_pc = 0;
 	pa->pa_tag = pci_make_tag(0, 0, 31, 0);
 	return 0;

Reply via email to