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 commit is contained in:
dyoung 2010-04-28 19:17:03 +00:00
parent d184555b35
commit 30b2d68d20
28 changed files with 268 additions and 208 deletions

View File

@ -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_1)
*/
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_2)
*/
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_4)
*/
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 @@ STRONG_ALIAS(bus_space_read_stream_8,bus_space_read_8)
*/
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_1)
*/
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_2)
*/
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_4)
*/
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 @@ STRONG_ALIAS(bus_space_write_stream_8,bus_space_write_8)
*/
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_1)
*/
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_2)
*/
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_4)
*/
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 @@ STRONG_ALIAS(bus_space_read_multi_stream_8,bus_space_read_multi_8)
*/
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_1)
*/
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_2)
*/
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_4)
*/
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 @@ STRONG_ALIAS(bus_space_write_multi_stream_8,bus_space_write_multi_8)
* 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 @@ ENTRY(bus_space_read_region_1)
* 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 @@ ENTRY(bus_space_read_region_2)
* 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 @@ ENTRY(bus_space_read_region_4)
* 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 @@ STRONG_ALIAS(bus_space_read_region_stream_8,bus_space_read_region_8)
* 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 @@ ENTRY(bus_space_write_region_1)
* 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 @@ ENTRY(bus_space_write_region_2)
* 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 @@ ENTRY(bus_space_write_region_4)
* 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

View File

@ -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 @@ ifdef XEN
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 OPTERON_MSR_PASSCODE OPTERON_MSR_PASSCODE
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)

View File

@ -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 @@ union mainbus_attach_args {
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 @@ mainbus_attach(device_t parent, device_t self, void *aux)
/*
* 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 @@ mainbus_attach(device_t parent, device_t self, void *aux)
#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 @@ mainbus_attach(device_t parent, device_t self, void *aux)
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 @@ mainbus_attach(device_t parent, device_t self, void *aux)
#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))

View File

@ -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 @@ apmbiosattach(device_t parent, device_t self, void *aux)
* 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,

View File

@ -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 @@ __KERNEL_RCSID(0, "$NetBSD: busfunc.S,v 1.5 2008/04/28 20:23:24 martin Exp $");
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_1)
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_2)
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 @@ STRONG_ALIAS(bus_space_read_stream_4,bus_space_read_4)
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_1)
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_2)
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 @@ ENTRY(bus_space_read_multi_1)
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 @@ ENTRY(bus_space_read_multi_2)
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 @@ ENTRY(bus_space_read_multi_4)
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 @@ ENTRY(bus_space_write_multi_1)
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 @@ ENTRY(bus_space_write_multi_2)
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 @@ ENTRY(bus_space_write_multi_4)
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 @@ ENTRY(bus_space_read_region_1)
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 @@ ENTRY(bus_space_read_region_2)
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 @@ ENTRY(bus_space_read_region_4)
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 @@ ENTRY(bus_space_write_region_1)
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 @@ ENTRY(bus_space_write_region_2)
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 @@ ENTRY(bus_space_write_region_4)
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

View File

@ -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 @@ endif
include <machine/tlog.h>
include <x86/busdefs.h>
include <x86/bus.h>
define PAGE_SIZE PAGE_SIZE
@ -440,6 +440,8 @@ define OPTERON_MSR_PASSCODE OPTERON_MSR_PASSCODE
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

View File

@ -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 @@ ipkdbif_init(struct ipkdb_if *kip)
#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;

View File

@ -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 @@ union mainbus_attach_args {
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 @@ mainbus_attach(device_t parent, device_t self, void *aux)
/*
* 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 @@ mainbus_attach(device_t parent, device_t self, void *aux)
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 @@ mainbus_attach(device_t parent, device_t self, void *aux)
}
#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 @@ mainbus_rescan(device_t self, const char *ifattr, const int *locators)
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 @@ mainbus_rescan(device_t self, const char *ifattr, const int *locators)
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 @@ mainbus_rescan(device_t self, const char *ifattr, const int *locators)
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 @@ mainbus_rescan(device_t self, const char *ifattr, const int *locators)
#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;

View File

@ -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 @@ isapnp_map(struct isapnp_softc *sc)
{
#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 @@ isapnp_map_readport(struct isapnp_softc *sc)
#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

View File

@ -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 @@ pceb_callback(device_t self)
* 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 @@ pceb_callback(device_t self)
* 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

View File

@ -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 @@ pcibios_init(void)
/*
* 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. */

View File

@ -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 @@ pcmb_callback(device_t self)
/*
* 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

View File

@ -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 @@ pnpbios_io_map(pnpbios_tag_t pbt, struct pnpresources *resc,
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 @@ pnpbios_getiobase(pnpbios_tag_t pbt, struct pnpresources *resc,
io = SIMPLEQ_NEXT(io, next);
if (tagp)
*tagp = X86_BUS_SPACE_IO;
*tagp = x86_bus_space_io;
if (basep)
*basep = io->minbase;
return (0);

View File

@ -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 <jmcneill@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 @@ xbox_startup(void)
* 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);
}

View File

@ -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 <jmcneill@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 @@ xboxfb_attach(device_t parent, device_t self, void *aux)
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 @@ xboxfb_mmap(void *v, void *vs, off_t offset, int prot)
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 @@ xboxfb_smbus_pic_read(bus_space_tag_t t, bus_space_handle_t h, uint8_t cmd)
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 @@ xboxfb_get_encoder(void)
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 @@ xboxfb_get_avpack(void)
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 @@ xboxfb_cnattach(void)
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 @@ xboxfb_cnattach(void)
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;

View File

@ -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,

View File

@ -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 @@ pcibrescan(device_t self, const char *ifattr, const int *loc)
* 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

View File

@ -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 @@ acpi_md_OsMapMemory(ACPI_PHYSICAL_ADDRESS PhysicalAddress,
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 @@ void
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);
}

View File

@ -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 *ioport_ex;
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 @@ bus_space_map(bus_space_tag_t t, bus_addr_t bpa, bus_size_t size,
/*
* 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 @@ bus_space_map(bus_space_tag_t t, bus_addr_t bpa, bus_size_t size,
/*
* 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 @@ _x86_memio_map(bus_space_tag_t t, bus_addr_t bpa, bus_size_t size,
/*
* 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 @@ bus_space_alloc(bus_space_tag_t t, bus_addr_t rstart, bus_addr_t rend,
/*
* 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 @@ bus_space_alloc(bus_space_tag_t t, bus_addr_t rstart, bus_addr_t rend,
/*
* 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 @@ x86_mem_add_mapping(bus_addr_t bpa, bus_size_t size,
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 @@ _x86_memio_unmap(bus_space_tag_t t, bus_space_handle_t bsh,
/*
* 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 @@ bus_space_unmap(bus_space_tag_t t, bus_space_handle_t bsh, bus_size_t size)
/*
* 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 @@ ok:
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 @@ bus_space_mmap(bus_space_tag_t t, bus_addr_t addr, off_t off, int prot,
{
/* 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 @@ bus_space_set_multi_1(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o,
{
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_set_multi_2(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o,
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_set_multi_4(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o,
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 @@ bus_space_set_region_1(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o,
{
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_set_region_2(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o,
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_set_region_4(bus_space_tag_t t, bus_space_handle_t h, bus_size_t o,
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 @@ bus_space_copy_region_1(bus_space_tag_t t, bus_space_handle_t h1,
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_copy_region_2(bus_space_tag_t t, bus_space_handle_t h1,
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_copy_region_4(bus_space_tag_t t, bus_space_handle_t h1,
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 @@ void *
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;
}

View File

@ -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 @@ consinit(void)
}
#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 @@ dokbd:
}
#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 @@ dokbd:
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 @@ kgdb_port_init(void)
{
#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
}

View File

@ -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 <jmcneill@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 @@ x86_genfb_cnattach(void)
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;

View File

@ -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 @@ consinit(void)
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 @@ kgdb_port_init(void)
{
#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);

View File

@ -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 @@ mainbus_attach(device_t parent, device_t self, void *aux)
#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

View File

@ -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 @@ hypervisor_attach(device_t parent, device_t self, void *aux)
#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 @@ hypervisor_attach(device_t parent, device_t self, void *aux)
}
#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 @@ hypervisor_attach(device_t parent, device_t self, void *aux)
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);

View File

@ -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 @@ xpci_attach_pcibus(int domain, int busn)
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;

View File

@ -43,7 +43,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
#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 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
#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)

View File

@ -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 @@ void ndis_attach_pci(device_t parent, device_t self, void *aux)
}
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 @@ void ndis_attach_pci(device_t parent, device_t self, void *aux)
}
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 @@ void ndis_attach_pci(device_t parent, device_t self, void *aux)
}
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,

View File

@ -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 @@ int
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;