CVS commit: src/sys/arch/arc/arc

2020-05-29 Thread Izumi Tsutsui
Module Name:src
Committed By:   tsutsui
Date:   Fri May 29 23:02:51 UTC 2020

Modified Files:
src/sys/arch/arc/arc: arcbios.c

Log Message:
Make sure to preserve MIPS_CURLWP (t8) register from ARC BIOS calls.

Fixes silent hangup right after starting a kernel on my
Express5800/230 R4400 PCI (finally I've repaired its PSU and RTC).
Reviewed by soda@.  Maybe other ARC machines are also affected.

Note GXemul was not affected by this problem because it doesn't
have actual ARC BIOS ROM and emulates ARC functions internally.

Should be pulled up to at least netbsd-9.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arc/arc/arcbios.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/arc/arc/arcbios.c
diff -u src/sys/arch/arc/arc/arcbios.c:1.17 src/sys/arch/arc/arc/arcbios.c:1.18
--- src/sys/arch/arc/arc/arcbios.c:1.17	Fri Nov 27 03:23:04 2009
+++ src/sys/arch/arc/arc/arcbios.c	Fri May 29 23:02:51 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: arcbios.c,v 1.17 2009/11/27 03:23:04 rmind Exp $	*/
+/*	$NetBSD: arcbios.c,v 1.18 2020/05/29 23:02:51 tsutsui Exp $	*/
 /*	$OpenBSD: arcbios.c,v 1.3 1998/06/06 06:33:33 mickey Exp $	*/
 
 /*-
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: arcbios.c,v 1.17 2009/11/27 03:23:04 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arcbios.c,v 1.18 2020/05/29 23:02:51 tsutsui Exp $");
 
 #include 
 #include 
@@ -39,7 +39,9 @@ __KERNEL_RCSID(0, "$NetBSD: arcbios.c,v 
 #include 
 #include 
 #include 
+#include 
 #include 
+#include 
 #include 
 
 int Bios_Read(int, char *, int, int *);
@@ -68,23 +70,56 @@ int arc_cpu_l2cache_size = 0;
 
 /*
  *	ARC Bios trampoline code.
+ *	Note we have to save/restore reserved MIPS_CURLWP register.
  */
-#define ARC_Call(Name,Offset)	\
-__asm("\n"			\
-"	.text\n"		\
-"	.ent	" #Name "\n"	\
-"	.align	3\n"		\
-"	.set	noreorder\n"	\
-"	.globl	" #Name "\n" 	\
-#Name":\n"			\
-"	lw	$2, 0x80001020\n"\
-"	lw	$2," #Offset "($2)\n"\
-"	jr	$2\n"		\
-"	nop\n"			\
+#define ARC_Call(Name,Offset)	\
+__asm("\n"			\
+"	.text\n"		\
+"	.ent	" #Name "\n"	\
+"	.align	3\n"		\
+"	.set	noreorder\n"	\
+"	.globl	" #Name "\n" 	\
+#Name":\n"			\
+"	subu	$29, " ___STRING(CALLFRAME_SIZ) "\n"		\
+"	sw	$31, " ___STRING(CALLFRAME_RA) "($29)\n"	\
+"	sw	$16, " ___STRING(CALLFRAME_SP) "($29)\n"	\
+"	lw	$2, 0x80001020\n"\
+"	lw	$2," #Offset "($2)\n"\
+"	jalr	$2\n"		\
+"	 move	$16, " ___STRING(MIPS_CURLWP) "\n"		\
+"	move	" ___STRING(MIPS_CURLWP) ", $16\n"		\
+"	lw	$31, " ___STRING(CALLFRAME_RA) "($29)\n"	\
+"	lw	$16, " ___STRING(CALLFRAME_SP) "($29)\n"	\
+"	j	$31\n"		\
+"	 addu	$29, " ___STRING(CALLFRAME_SIZ) "\n"		\
+"	.end	" #Name "\n"	);
+
+#define ARC_Call5(Name,Offset)	\
+__asm("\n"			\
+"	.text\n"		\
+"	.ent	" #Name "\n"	\
+"	.align	3\n"		\
+"	.set	noreorder\n"	\
+"	.globl	" #Name "\n" 	\
+#Name":\n"			\
+"	subu	$29, " ___STRING(CALLFRAME_SIZ + 4) "\n"	\
+"	sw	$31, " ___STRING(CALLFRAME_RA + 4) "($29)\n"	\
+"	sw	$16, " ___STRING(CALLFRAME_SP + 4) "($29)\n"	\
+"	lw	$12, " ___STRING(CALLFRAME_SIZ + 4 + 16) "($29)\n" \
+"	sw	$12, 16($29)\n"	\
+"	lw	$2, 0x80001020\n"\
+"	lw	$2," #Offset "($2)\n"\
+"	jalr	$2\n"		\
+"	 move	$16, " ___STRING(MIPS_CURLWP) "\n"		\
+"	move	" ___STRING(MIPS_CURLWP) ", $16\n"		\
+"	lw	$31, " ___STRING(CALLFRAME_RA + 4) "($29)\n"	\
+"	lw	$16, " ___STRING(CALLFRAME_SP + 4) "($29)\n"	\
+"	j	$31\n"		\
+"	 addu	$29, " ___STRING(CALLFRAME_SIZ + 4) "\n"	\
 "	.end	" #Name "\n"	);
 
 ARC_Call(Bios_Load,			0x00);
-ARC_Call(Bios_Invoke,			0x04);
+ARC_Call5(Bios_Invoke,			0x04);
 ARC_Call(Bios_Execute,			0x08);
 ARC_Call(Bios_Halt,			0x0c);
 ARC_Call(Bios_PowerDown,		0x10);



CVS commit: src/sys/arch/arc/arc

2019-04-06 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Sun Apr  7 03:53:53 UTC 2019

Modified Files:
src/sys/arch/arc/arc: locore_machdep.S

Log Message:
Remove dead codes, that are #if 0'd for more than 19 years!


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arc/arc/locore_machdep.S

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/arc/arc/locore_machdep.S
diff -u src/sys/arch/arc/arc/locore_machdep.S:1.16 src/sys/arch/arc/arc/locore_machdep.S:1.17
--- src/sys/arch/arc/arc/locore_machdep.S:1.16	Fri Nov 27 03:23:04 2009
+++ src/sys/arch/arc/arc/locore_machdep.S	Sun Apr  7 03:53:53 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore_machdep.S,v 1.16 2009/11/27 03:23:04 rmind Exp $	*/
+/*	$NetBSD: locore_machdep.S,v 1.17 2019/04/07 03:53:53 rin Exp $	*/
 /*	$OpenBSD: locore.S,v 1.12 1997/04/19 17:19:43 pefo Exp $	*/
 
 /*
@@ -195,140 +195,3 @@ LEAF(fillw)
 	jr	ra
 	nop
 END(fillw)
-
-/*#ifdef DEBUG*/ /* for minidebug.c: fix trap() to use this */
-#if 0
-/*
- * Read a long and return it.
- * Note: addresses can be unaligned!
- *
- * long
-L* mdbpeek(addr)
-L*	caddt_t addr;
-L* {
-L*	return (*(long *)addr);
-L* }
- */
-LEAF(mdbpeek)
-	li	v0, MDBERR
-	sw	v0, UADDR+PCB_ONFAULT
-	and	v0, a0, 3		# unaligned address?
-	bne	v0, zero, 1f
-	nop
-	b	2f
-	lw	v0, (a0)		# aligned access
-1:
-	LWHI	v0, 0(a0)		# get next 4 bytes (unaligned)
-	LWLO	v0, 3(a0)
-2:
-	j	ra			# made it w/o errors
-	sw	zero, UADDR+PCB_ONFAULT
-mdberr:
-	li	v0, 1			# trap sends us here
-	sw	v0, mdbmkfault
-	j	ra
-	nop
-END(mdbpeek)
-
-/*
- * Write a long to 'addr'.
- * Note: addresses can be unaligned!
- *
-L* void
-L* mdbpoke(addr, value)
-L*	caddt_t addr;
-L*	long value;
-L* {
-L*	*(long *)addr = value;
-L* }
- */
-LEAF(mdbpoke)
-	li	v0, MDBERR
-	sw	v0, UADDR+PCB_ONFAULT
-	and	v0, a0, 3		# unaligned address?
-	bne	v0, zero, 1f
-	nop
-	b	2f
-	sw	a1, (a0)		# aligned access
-1:
-	SWHI	a1, 0(a0)		# store next 4 bytes (unaligned)
-	SWLO	a1, 3(a0)
-	and	a0, a0, ~3		# align address for cache flush
-2:
-	sw	zero, UADDR+PCB_ONFAULT
-	b	R4K_FlushICache		# flush instruction cache
-	li	a1, 8
-END(mdbpoke)
-
-/*
- * Save registers and state so we can do a 'mdbreset' (like longjmp) later.
- * Always returns zero.
- *
-L* int mdb_savearea[11];
-L*
-L* int
-L* mdbsetexit()
-L* {
-L*	mdb_savearea[0] = 0;
-L*	return (0);
-L* }
- */
-	.comm	mdb_savearea, (11 * 4)
-
-LEAF(mdbsetexit)
-	la	a0, mdb_savearea
-	sw	s0, 0(a0)
-	sw	s1, 4(a0)
-	sw	s2, 8(a0)
-	sw	s3, 12(a0)
-	sw	s4, 16(a0)
-	sw	s5, 20(a0)
-	sw	s6, 24(a0)
-	sw	s7, 28(a0)
-	sw	sp, 32(a0)
-	sw	s8, 36(a0)
-	sw	ra, 40(a0)
-	j	ra
-	move	v0, zero
-END(mdbsetexit)
-
-/*
- * Restore registers and state (like longjmp) and return x.
- *
-L* int
-L* mdbreset(x)
-L* {
-L*	return (x);
-L* }
- */
-LEAF(mdbreset)
-	la	v0, mdb_savearea
-	lw	ra, 40(v0)
-	lw	s0, 0(v0)
-	lw	s1, 4(v0)
-	lw	s2, 8(v0)
-	lw	s3, 12(v0)
-	lw	s4, 16(v0)
-	lw	s5, 20(v0)
-	lw	s6, 24(v0)
-	lw	s7, 28(v0)
-	lw	sp, 32(v0)
-	lw	s8, 36(v0)
-	j	ra
-	move	v0, a0
-END(mdbreset)
-
-/*
- * Trap into the debugger.
- *
-L* void
-L* mdbpanic()
-L* {
-L* }
- */
-LEAF(mdbpanic)
-	break	BREAK_SOVER_VAL
-	j	ra
-	nop
-END(mdbpanic)
-#endif /* DEBUG */



CVS commit: src/sys/arch/arc/arc

2016-07-12 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jul 12 23:53:18 UTC 2016

Modified Files:
src/sys/arch/arc/arc: bus_space_sparse.c

Log Message:
Put back cacheable


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arc/arc/bus_space_sparse.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/arc/arc/bus_space_sparse.c
diff -u src/sys/arch/arc/arc/bus_space_sparse.c:1.19 src/sys/arch/arc/arc/bus_space_sparse.c:1.20
--- src/sys/arch/arc/arc/bus_space_sparse.c:1.19	Mon Jul 11 16:18:55 2016
+++ src/sys/arch/arc/arc/bus_space_sparse.c	Tue Jul 12 23:53:18 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: bus_space_sparse.c,v 1.19 2016/07/11 16:18:55 matt Exp $	*/
+/*	$NetBSD: bus_space_sparse.c,v 1.20 2016/07/12 23:53:18 matt Exp $	*/
 /*	NetBSD: bus_machdep.c,v 1.1 2000/01/26 18:48:00 drochner Exp 	*/
 
 /*-
@@ -39,7 +39,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: bus_space_sparse.c,v 1.19 2016/07/11 16:18:55 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bus_space_sparse.c,v 1.20 2016/07/12 23:53:18 matt Exp $");
 
 #include 
 #include 
@@ -75,9 +75,8 @@ arc_sparse_bus_space_compose_handle(bus_
 	 * Since all buses can be linearly mappable, we don't have to check
 	 * BUS_SPACE_MAP_LINEAR and BUS_SPACE_MAP_PREFETCHABLE.
 	 */
-	const u_int pmap_flags = (flags & BUS_SPACE_MAP_CACHEABLE)
-	? PMAP_WRITE_BACK
-	: 0;
+	const bool cacheable = (flags & BUS_SPACE_MAP_CACHEABLE) != 0;
+	const u_int pmap_flags = cacheable ? PMAP_WRITE_BACK : 0;
 
 	/*
 	 * XXX - `bst->bs_pbase' must be page aligned,



CVS commit: src/sys/arch/arc/arc

2015-06-24 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Jun 24 06:19:52 UTC 2015

Modified Files:
src/sys/arch/arc/arc: cpu.c

Log Message:
Fix includes


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arc/arc/cpu.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/arc/arc/cpu.c
diff -u src/sys/arch/arc/arc/cpu.c:1.19 src/sys/arch/arc/arc/cpu.c:1.20
--- src/sys/arch/arc/arc/cpu.c:1.19	Sun Mar  6 14:58:42 2011
+++ src/sys/arch/arc/arc/cpu.c	Wed Jun 24 06:19:52 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.c,v 1.19 2011/03/06 14:58:42 tsutsui Exp $	*/
+/*	$NetBSD: cpu.c,v 1.20 2015/06/24 06:19:52 matt Exp $	*/
 /*	$OpenBSD: cpu.c,v 1.8 1997/04/19 17:19:41 pefo Exp $ */
 
 /*
@@ -34,7 +34,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: cpu.c,v 1.19 2011/03/06 14:58:42 tsutsui Exp $);
+__KERNEL_RCSID(0, $NetBSD: cpu.c,v 1.20 2015/06/24 06:19:52 matt Exp $);
 
 #include sys/param.h
 #include sys/systm.h
@@ -43,7 +43,8 @@ __KERNEL_RCSID(0, $NetBSD: cpu.c,v 1.19
 
 #include uvm/uvm_extern.h
 
-#include machine/cpu.h
+#include mips/locore.h
+
 #include machine/autoconf.h
 
 #include ioconf.h



CVS commit: src/sys/arch/arc/arc

2011-03-02 Thread Izumi Tsutsui
Module Name:src
Committed By:   tsutsui
Date:   Wed Mar  2 10:51:04 UTC 2011

Modified Files:
src/sys/arch/arc/arc: interrupt.c

Log Message:
Fix misplaced #endif.  PR port-arc/44664

XXX: I'll also remove ENABLE_INT5_STATCLOCK soon since no visible improvements.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arc/arc/interrupt.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/arc/arc/interrupt.c
diff -u src/sys/arch/arc/arc/interrupt.c:1.8 src/sys/arch/arc/arc/interrupt.c:1.9
--- src/sys/arch/arc/arc/interrupt.c:1.8	Sun Feb 20 07:52:42 2011
+++ src/sys/arch/arc/arc/interrupt.c	Wed Mar  2 10:51:04 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: interrupt.c,v 1.8 2011/02/20 07:52:42 matt Exp $	*/
+/*	$NetBSD: interrupt.c,v 1.9 2011/03/02 10:51:04 tsutsui Exp $	*/
 /*	$OpenBSD: trap.c,v 1.22 1999/05/24 23:08:59 jason Exp $	*/
 
 /*
@@ -40,7 +40,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: interrupt.c,v 1.8 2011/02/20 07:52:42 matt Exp $);
+__KERNEL_RCSID(0, $NetBSD: interrupt.c,v 1.9 2011/03/02 10:51:04 tsutsui Exp $);
 
 #include sys/param.h
 #include sys/systm.h
@@ -124,8 +124,8 @@
 			 * effect, clears the timer interrupt request.
 			 */
 			mips3_cp0_compare_write(0);
-		}
 #endif
+		}
 
 		/*
 		 * If there is an independent timer interrupt handler,



CVS commit: src/sys/arch/arc/arc

2010-11-12 Thread Masao Uebayashi
Module Name:src
Committed By:   uebayasi
Date:   Fri Nov 12 16:09:58 UTC 2010

Modified Files:
src/sys/arch/arc/arc: p_acer_pica_61.c p_dti_arcstation.c p_dti_tyne.c
p_sni_rm200pci.c

Log Message:
Pull in uvm/uvm.h for vm_page_zero_enable.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arc/arc/p_acer_pica_61.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arc/arc/p_dti_arcstation.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arc/arc/p_dti_tyne.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arc/arc/p_sni_rm200pci.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/arc/arc/p_acer_pica_61.c
diff -u src/sys/arch/arc/arc/p_acer_pica_61.c:1.10 src/sys/arch/arc/arc/p_acer_pica_61.c:1.11
--- src/sys/arch/arc/arc/p_acer_pica_61.c:1.10	Thu Feb 22 05:09:01 2007
+++ src/sys/arch/arc/arc/p_acer_pica_61.c	Fri Nov 12 16:09:57 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: p_acer_pica_61.c,v 1.10 2007/02/22 05:09:01 thorpej Exp $	*/
+/*	$NetBSD: p_acer_pica_61.c,v 1.11 2010/11/12 16:09:57 uebayasi Exp $	*/
 /*	$OpenBSD: picabus.c,v 1.11 1999/01/11 05:11:10 millert Exp $	*/
 
 /*
@@ -30,10 +30,10 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: p_acer_pica_61.c,v 1.10 2007/02/22 05:09:01 thorpej Exp $);
+__KERNEL_RCSID(0, $NetBSD: p_acer_pica_61.c,v 1.11 2010/11/12 16:09:57 uebayasi Exp $);
 
 #include sys/param.h
-#include uvm/uvm_extern.h
+#include uvm/uvm.h
 
 #include machine/autoconf.h
 #include machine/platform.h

Index: src/sys/arch/arc/arc/p_dti_arcstation.c
diff -u src/sys/arch/arc/arc/p_dti_arcstation.c:1.13 src/sys/arch/arc/arc/p_dti_arcstation.c:1.14
--- src/sys/arch/arc/arc/p_dti_arcstation.c:1.13	Mon Dec  3 15:33:14 2007
+++ src/sys/arch/arc/arc/p_dti_arcstation.c	Fri Nov 12 16:09:57 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: p_dti_arcstation.c,v 1.13 2007/12/03 15:33:14 ad Exp $	*/
+/*	$NetBSD: p_dti_arcstation.c,v 1.14 2010/11/12 16:09:57 uebayasi Exp $	*/
 /*	$OpenBSD: machdep.c,v 1.36 1999/05/22 21:22:19 weingart Exp $	*/
 
 /*
@@ -76,12 +76,12 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: p_dti_arcstation.c,v 1.13 2007/12/03 15:33:14 ad Exp $);
+__KERNEL_RCSID(0, $NetBSD: p_dti_arcstation.c,v 1.14 2010/11/12 16:09:57 uebayasi Exp $);
 
 #include sys/param.h
 #include sys/systm.h
 #include sys/device.h
-#include uvm/uvm_extern.h
+#include uvm/uvm.h
 
 #include machine/autoconf.h
 #include machine/bus.h

Index: src/sys/arch/arc/arc/p_dti_tyne.c
diff -u src/sys/arch/arc/arc/p_dti_tyne.c:1.16 src/sys/arch/arc/arc/p_dti_tyne.c:1.17
--- src/sys/arch/arc/arc/p_dti_tyne.c:1.16	Mon Dec  3 15:33:14 2007
+++ src/sys/arch/arc/arc/p_dti_tyne.c	Fri Nov 12 16:09:57 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: p_dti_tyne.c,v 1.16 2007/12/03 15:33:14 ad Exp $	*/
+/*	$NetBSD: p_dti_tyne.c,v 1.17 2010/11/12 16:09:57 uebayasi Exp $	*/
 /*	$OpenBSD: machdep.c,v 1.36 1999/05/22 21:22:19 weingart Exp $	*/
 
 /*
@@ -76,12 +76,12 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: p_dti_tyne.c,v 1.16 2007/12/03 15:33:14 ad Exp $);
+__KERNEL_RCSID(0, $NetBSD: p_dti_tyne.c,v 1.17 2010/11/12 16:09:57 uebayasi Exp $);
 
 #include sys/param.h
 #include sys/systm.h
 #include sys/device.h
-#include uvm/uvm_extern.h
+#include uvm/uvm.h
 
 #include machine/autoconf.h
 #include machine/bus.h

Index: src/sys/arch/arc/arc/p_sni_rm200pci.c
diff -u src/sys/arch/arc/arc/p_sni_rm200pci.c:1.12 src/sys/arch/arc/arc/p_sni_rm200pci.c:1.13
--- src/sys/arch/arc/arc/p_sni_rm200pci.c:1.12	Mon Dec  3 15:33:14 2007
+++ src/sys/arch/arc/arc/p_sni_rm200pci.c	Fri Nov 12 16:09:57 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: p_sni_rm200pci.c,v 1.12 2007/12/03 15:33:14 ad Exp $	*/
+/*	$NetBSD: p_sni_rm200pci.c,v 1.13 2010/11/12 16:09:57 uebayasi Exp $	*/
 /*	$OpenBSD: machdep.c,v 1.36 1999/05/22 21:22:19 weingart Exp $	*/
 
 /*
@@ -76,12 +76,12 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: p_sni_rm200pci.c,v 1.12 2007/12/03 15:33:14 ad Exp $);
+__KERNEL_RCSID(0, $NetBSD: p_sni_rm200pci.c,v 1.13 2010/11/12 16:09:57 uebayasi Exp $);
 
 #include sys/param.h
 #include sys/systm.h
 #include sys/device.h
-#include uvm/uvm_extern.h
+#include uvm/uvm.h
 
 #include machine/autoconf.h
 #include machine/bus.h