PERFORCE change 211334 for review

Robert Watson rwatson at FreeBSD.org
Fri May 18 16:07:48 UTC 2012


http://p4web.freebsd.org/@@211334?ac=10

Change 211334 by rwatson at rwatson_svr_ctsrd_mipsbuild on 2012/05/18 16:07:29

	Integrate the CheriBSD branch to pick up the last few week of work
	on BeriBSD: syscons text console, new video and touch screen
	drivers, MIPS fixes, support for multi-user mode, Avalon generic
	driver, and much general fixery to use FreeBSD on BERI MIPS.

Affected files ...

.. //depot/projects/ctsrd/cheribsd/src/etc/etc.mips/ttys#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/conf/NOTES#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/conf/files.mips#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/conf/options#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/conf/options.mips#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/altera/avgen/altera_avgen.c#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/altera/avgen/altera_avgen.h#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/altera/jtag_uart/altera_jtag_uart.c#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/fb/fbreg.h#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/gxemul/cons/gxemul_cons.c#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/syscons/schistory.c#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/syscons/scterm-teken.c#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/syscons/syscons.c#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtl/terasic_mtl.c#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtl/terasic_mtl.h#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtl/terasic_mtl_nexus.c#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtl/terasic_mtl_pixel.c#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtl/terasic_mtl_reg.c#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtl/terasic_mtl_syscons.c#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtl/terasic_mtl_text.c#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtllcd/terasic_mtllcd.c#2 delete
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtllcd/terasic_mtllcd.h#2 delete
.. //depot/projects/ctsrd/cheribsd/src/sys/dev/terasic/mtllcd/terasic_mtllcd_nexus.c#2 delete
.. //depot/projects/ctsrd/cheribsd/src/sys/kern/init_main.c#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/beri/files.beri#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/beri/gxemul_cons.c#2 delete
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/beri/std.beri#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/conf/BERI.hints#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/conf/BERI_MDROOT#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/conf/BERI_SDROOT#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/conf/GXEMUL#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/conf/GXEMUL.hints#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/gxemul/files.gxemul#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/gxemul/gxemul_machdep.c#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/gxemul/std.gxemul#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/include/sc_machdep.h#1 branch
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/mips/bus_space_generic.c#2 integrate
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/mips/sc_machdep.c#1 branch

Differences ...

==== //depot/projects/ctsrd/cheribsd/src/etc/etc.mips/ttys#2 (text+ko) ====

@@ -28,6 +28,17 @@
 # If console is marked "insecure", then init will ask for the root password
 # when going to single-user mode.
 console	none				unknown	off secure
+#
+ttyv0	"/usr/libexec/getty Pc"		xterm	on  secure
+# Virtual terminals
+ttyv1	"/usr/libexec/getty Pc"		xterm	off secure
+ttyv2	"/usr/libexec/getty Pc"		xterm	off secure
+ttyv3	"/usr/libexec/getty Pc"		xterm	off secure
+ttyv4	"/usr/libexec/getty Pc"		xterm	off secure
+ttyv5	"/usr/libexec/getty Pc"		xterm	off secure
+ttyv6	"/usr/libexec/getty Pc"		xterm	off secure
+ttyv7	"/usr/libexec/getty Pc"		xterm	off secure
+ttyv8	"/usr/local/bin/xdm -nodaemon"	xterm	off secure
 # Serial terminals
 # The 'dialup' keyword identifies dialin lines to login, fingerd etc.
 ttyu0	"/usr/libexec/getty std.115200"	dialup	on  secure

==== //depot/projects/ctsrd/cheribsd/src/sys/conf/NOTES#2 (text+ko) ====

@@ -139,6 +139,12 @@
 #
 options 	INCLUDE_CONFIG_FILE     # Include this file in kernel
 
+#
+# Compile-time defaults for various boot parameters
+#
+options 	BOOTVERBOSE=1
+options 	BOOTHOWTO=RB_MULTIPLE
+
 options 	GEOM_AES		# Don't use, use GEOM_BDE
 options 	GEOM_BDE		# Disk encryption.
 options 	GEOM_BSD		# BSD disklabels

==== //depot/projects/ctsrd/cheribsd/src/sys/conf/files.mips#2 (text+ko) ====

@@ -126,3 +126,9 @@
 
 dev/fdt/fdt_mips.c		optional	fdt
 
+dev/fb/fb.c			optional	sc
+dev/kbd/kbd.c			optional	sc
+dev/syscons/scgfbrndr.c		optional	sc
+dev/syscons/scterm-teken.c	optional	sc
+dev/syscons/scvtb.c		optional	sc
+mips/mips/sc_machdep.c		optional	sc

==== //depot/projects/ctsrd/cheribsd/src/sys/conf/options#2 (text+ko) ====

@@ -66,6 +66,8 @@
 ADAPTIVE_LOCKMGRS
 ALQ
 AUDIT		opt_global.h
+BOOTHOWTO	opt_global.h
+BOOTVERBOSE	opt_global.h
 CAPABILITIES	opt_capsicum.h
 CAPABILITY_MODE	opt_capsicum.h
 CODA_COMPAT_5	opt_coda.h

==== //depot/projects/ctsrd/cheribsd/src/sys/conf/options.mips#2 (text+ko) ====

@@ -55,6 +55,10 @@
 CFE_ENV		opt_global.h
 CFE_ENV_SIZE	opt_global.h
 
+GFB_DEBUG		opt_gfb.h
+GFB_NO_FONT_LOADING	opt_gfb.h
+GFB_NO_MODE_CHANGE	opt_gfb.h
+
 NOFPU		opt_global.h
 
 TICK_USE_YAMON_FREQ	opt_global.h

==== //depot/projects/ctsrd/cheribsd/src/sys/dev/altera/jtag_uart/altera_jtag_uart.c#2 (text+ko) ====

@@ -37,6 +37,7 @@
 #include <sys/kdb.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
+#include <sys/reboot.h>
 #include <sys/tty.h>
 
 #include <ddb/ddb.h>
@@ -297,7 +298,7 @@
 {
 
 	sprintf(cp->cn_name, "ttyu0");
-	cp->cn_pri = CN_NORMAL;
+	cp->cn_pri = (boothowto & RB_SERIAL) ? CN_REMOTE : CN_NORMAL;
 }
 
 static void

==== //depot/projects/ctsrd/cheribsd/src/sys/dev/fb/fbreg.h#2 (text+ko) ====

@@ -84,6 +84,29 @@
 u_int16_t ofwfb_readw(u_int16_t *addr);
 void ofwfb_writew(u_int16_t *addr, u_int16_t val);
 
+#elif defined(__mips__)
+
+/*
+ * Use amd64/i386-like settings under the assumption that MIPS-based display
+ * drivers will have to add a level of indirection between a syscons-managed
+ * frame buffer and the actual video hardware.  We are forced to do this
+ * because syscons doesn't carry around required busspace handles and tags to
+ * use here.  This is only really a problem for true VGA devices hooked up to
+ * MIPS, as others will be performing a translation anyway.
+ */
+#define bcopy_io(s, d, c)	memcpy((void *)(d), (void *)(s), (c))
+#define bcopy_toio(s, d, c)	memcpy((void *)(d), (void *)(s), (c))
+#define bcopy_fromio(s, d, c)	memcpy((void *)(d), (void *)(s), (c))
+#define bzero_io(d, c)		memset((void *)(d), 0, (c))
+#define fill_io(p, d, c)	memset((void *)(d), (p), (c))
+static __inline void
+fillw(int val, uint16_t *buf, size_t size)
+{
+	while (size--)
+		*buf++ = val;
+}
+#define fillw_io(p, d, c)	fillw((p), (void *)(d), (c))
+
 #else /* !__i386__ && !__amd64__ && !__ia64__ && !__sparc64__ && !__powerpc__ */
 #define bcopy_io(s, d, c)	memcpy_io((d), (s), (c))
 #define bcopy_toio(s, d, c)	memcpy_toio((d), (void *)(s), (c))

==== //depot/projects/ctsrd/cheribsd/src/sys/dev/syscons/schistory.c#2 (text+ko) ====

@@ -42,7 +42,7 @@
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 
-#if defined(__sparc64__) || defined(__powerpc__)
+#if defined(__sparc64__) || defined(__powerpc__) || defined(__mips__)
 #include <machine/sc_machdep.h>
 #else
 #include <machine/pc/display.h>

==== //depot/projects/ctsrd/cheribsd/src/sys/dev/syscons/scterm-teken.c#2 (text+ko) ====

@@ -40,7 +40,7 @@
 #include <sys/consio.h>
 #include <sys/kbio.h>
 
-#if defined(__sparc64__) || defined(__powerpc__)
+#if defined(__sparc64__) || defined(__powerpc__) || defined(__mips__)
 #include <machine/sc_machdep.h>
 #else
 #include <machine/pc/display.h>

==== //depot/projects/ctsrd/cheribsd/src/sys/dev/syscons/syscons.c#2 (text+ko) ====

@@ -62,7 +62,7 @@
 #include <sys/power.h>
 
 #include <machine/clock.h>
-#if defined(__sparc64__) || defined(__powerpc__)
+#if defined(__sparc64__) || defined(__powerpc__) || defined(__mips__)
 #include <machine/sc_machdep.h>
 #else
 #include <machine/pc/display.h>

==== //depot/projects/ctsrd/cheribsd/src/sys/kern/init_main.c#2 (text+ko) ====

@@ -101,10 +101,17 @@
 struct	vmspace vmspace0;
 struct	proc *initproc;
 
-int	boothowto = 0;		/* initialized so that it can be patched */
+#ifndef BOOTHOWTO
+#define	BOOTHOWTO	0
+#endif
+int	boothowto = BOOTHOWTO;	/* initialized so that it can be patched */
 SYSCTL_INT(_debug, OID_AUTO, boothowto, CTLFLAG_RD, &boothowto, 0,
 	"Boot control flags, passed from loader");
-int	bootverbose;
+
+#ifndef BOOTVERBOSE
+#define	BOOTVERBOSE	0
+#endif
+int	bootverbose = BOOTVERBOSE;
 SYSCTL_INT(_debug, OID_AUTO, bootverbose, CTLFLAG_RW, &bootverbose, 0,
 	"Control the output of verbose kernel messages");
 

==== //depot/projects/ctsrd/cheribsd/src/sys/mips/beri/files.beri#2 (text+ko) ====

@@ -1,4 +1,5 @@
 # $FreeBSD$
+dev/altera/avgen/altera_avgen.c		optional altera_avgen
 dev/altera/jtag_uart/altera_jtag_uart.c		optional altera_jtag_uart
 dev/altera/sdcard/altera_sdcard.c	optional altera_sdcard
 dev/altera/sdcard/altera_sdcard_disk.c	optional altera_sdcard
@@ -6,9 +7,12 @@
 dev/altera/sdcard/altera_sdcard_nexus.c	optional altera_sdcard
 dev/terasic/de4led/terasic_de4led.c	optional terasic_de4led
 dev/terasic/de4led/terasic_de4led_nexus.c	optional terasic_de4led
-dev/terasic/mtllcd/terasic_mtllcd.c	optional terasic_mtllcd
-dev/terasic/mtllcd/terasic_mtllcd_nexus.c	optional terasic_mtllcd
+dev/terasic/mtl/terasic_mtl.c		optional terasic_mtl
+dev/terasic/mtl/terasic_mtl_nexus.c	optional terasic_mtl
+dev/terasic/mtl/terasic_mtl_pixel.c	optional terasic_mtl
+dev/terasic/mtl/terasic_mtl_reg.c	optional terasic_mtl
+dev/terasic/mtl/terasic_mtl_syscons.c	optional terasic_mtl
+dev/terasic/mtl/terasic_mtl_text.c	optional terasic_mtl
 mips/beri/beri_machdep.c		standard
-mips/beri/gxemul_cons.c			optional gxemul_cons
 mips/mips/intr_machdep.c		standard
 mips/mips/tick.c			standard

==== //depot/projects/ctsrd/cheribsd/src/sys/mips/beri/std.beri#2 (text+ko) ====


==== //depot/projects/ctsrd/cheribsd/src/sys/mips/conf/BERI.hints#2 (text+ko) ====

@@ -24,6 +24,21 @@
 #
 # Terasic Multi-touch LCD (MTL), an optional feature in DE-4 configurations
 #
-hint.terasic_mtllcd.0.at="nexus0"
-hint.terasic_mtllcd.0.maddr=0x7f800000
-hint.terasic_mtllcd.0.msize=0x800000
+hint.terasic_mtl.0.at="nexus0"
+hint.terasic_mtl.0.reg_maddr=0x70400000
+hint.terasic_mtl.0.reg_msize=0x1000
+hint.terasic_mtl.0.pixel_maddr=0x70000000
+hint.terasic_mtl.0.pixel_msize=0x177000
+hint.terasic_mtl.0.text_maddr=0x70177000
+hint.terasic_mtl.0.text_msize=0x2000
+
+#
+# Expose the DE4 flash via an Avalon "generic" device.
+#
+hint.altera_avgen.0.at="nexus0"
+hint.altera_avgen.0.maddr=0x74000000
+hint.altera_avgen.0.msize=0x4000000
+hint.altera_avgen.0.width=2
+hint.altera_avgen.0.fileio="rw"
+hint.altera_avgen.0.mmapio="rwx"
+hint.altera_avgen.0.devname="de4flash"

==== //depot/projects/ctsrd/cheribsd/src/sys/mips/conf/BERI_MDROOT#2 (text+ko) ====

@@ -33,6 +33,11 @@
 
 options 	FFS			#Berkeley Fast Filesystem
 
+options 	INET
+options 	INET6
+options 	NFSCL
+options 	NFS_ROOT
+
 # Debugging for use in -current
 #options 	DEADLKRES		#Enable the deadlock resolver
 options 	INVARIANTS		#Enable calls of extra sanity checking
@@ -49,11 +54,15 @@
 makeoptions	MFS_IMAGE=/local/scratch/rnw24/mdroot.img
 options 	ROOTDEVNAME=\"ufs:md0\"
 
+device		altera_avgen
 device		altera_jtag_uart
 device		altera_sdcard
 device		terasic_de4led
-device		terasic_mtllcd
+device		terasic_mtl
 
 device		md
+device		ether
 device		loop
 device		random
+device		sc
+device		snp

==== //depot/projects/ctsrd/cheribsd/src/sys/mips/conf/BERI_SDROOT#2 (text+ko) ====

@@ -32,6 +32,11 @@
 
 options 	FFS			#Berkeley Fast Filesystem
 
+options 	INET
+options 	INET6
+options 	NFSCL
+options 	NFS_ROOT
+
 # Debugging for use in -current
 #options 	DEADLKRES		#Enable the deadlock resolver
 options 	INVARIANTS		#Enable calls of extra sanity checking
@@ -41,11 +46,15 @@
 
 options 	ROOTDEVNAME=\"ufs:altera_sdcard0\"
 
+device		altera_avgen
 device		altera_jtag_uart
 device		altera_sdcard
 device		terasic_de4led
-device		terasic_mtllcd
+device		terasic_mtl
 
 device		md
+device		ether
 device		loop
 device		random
+device		sc
+device		snp

==== //depot/projects/ctsrd/cheribsd/src/sys/mips/conf/GXEMUL#2 (text+ko) ====

@@ -1,5 +1,52 @@
-include BERI
-ident GXEMUL
+#
+# GXEMUL "oldtestmips" sample kernel configuration.
+#
+# $FreeBSD$
+#
+
+ident		GXEMUL
+
+machine		mips mips64eb
+cpu		CPU_MIPS4KC
+
+options 	HZ=100
+
+makeoptions	ARCH_FLAGS="-march=mips64 -mabi=64"
+
+makeoptions 	KERNLOADADDR=0xffffffff80100000
+
+include		"../gxemul/std.gxemul"
+
+hints		"GXEMUL.hints"		#Default places to look for devices.
+
+makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
+
+makeoptions	MODULES_OVERRIDE=""
+
+options 	DDB
+options 	KDB
+
+options 	SCHED_ULE
+
+options 	FFS			#Berkeley Fast Filesystem
+
+# Debugging for use in -current
+#options 	DEADLKRES		#Enable the deadlock resolver
+options 	INVARIANTS		#Enable calls of extra sanity checking
+options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
+#options 	WITNESS			#Enable checks to detect deadlocks and cycles
+#options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
+
+#
+# This kernel configuration uses an embedded 8MB memory root file system.
+# Adjust the following path based on local requirements.
+#
+options 	MD_ROOT			# MD is a potential root device
+options 	MD_ROOT_SIZE=8192
+#makeoptions	MFS_IMAGE=/local/scratch/rnw24/mdroot.img
+options 	ROOTDEVNAME=\"ufs:md0\"
 
-nodevice	altera_jtag_uart
 device		gxemul_cons
+device		md
+device		loop
+device		random

==== //depot/projects/ctsrd/cheribsd/src/sys/mips/mips/bus_space_generic.c#2 (text+ko) ====

@@ -99,8 +99,8 @@
 	generic_bs_subregion,
 
 	/* allocation/deallocation */
-	NULL,
-	NULL,
+	generic_bs_alloc,
+	generic_bs_free,
 
 	/* barrier */
 	generic_bs_barrier,
@@ -109,91 +109,91 @@
 	generic_bs_r_1,
 	generic_bs_r_2,
 	generic_bs_r_4,
-	NULL,
+	generic_bs_r_8,
 
 	/* read multiple */
 	generic_bs_rm_1,
 	generic_bs_rm_2,
 	generic_bs_rm_4,
-	NULL,
+	generic_bs_rm_8,
 
 	/* read region */
 	generic_bs_rr_1,
 	generic_bs_rr_2,
 	generic_bs_rr_4,
-	NULL,
+	generic_bs_rr_8,
 
 	/* write (single) */
 	generic_bs_w_1,
 	generic_bs_w_2,
 	generic_bs_w_4,
-	NULL,
+	generic_bs_w_8,
 
 	/* write multiple */
 	generic_bs_wm_1,
 	generic_bs_wm_2,
 	generic_bs_wm_4,
-	NULL,
+	generic_bs_wm_8,
 
 	/* write region */
 	generic_bs_wr_1,
 	generic_bs_wr_2,
 	generic_bs_wr_4,
-	NULL,
+	generic_bs_wr_8,
 
 	/* set multiple */
-	NULL,
-	NULL,
-	NULL,
-	NULL,
+	generic_bs_sm_1,
+	generic_bs_sm_2,
+	generic_bs_sm_4,
+	generic_bs_sm_8,
 
 	/* set region */
 	generic_bs_sr_1,
 	generic_bs_sr_2,
 	generic_bs_sr_4,
-	NULL,
+	generic_bs_sr_8,
 
 	/* copy */
 	generic_bs_c_1,
 	generic_bs_c_2,
 	generic_bs_c_4,
-	NULL,
+	generic_bs_c_8,
 
 	/* read (single) stream */
 	generic_bs_r_1,
 	generic_bs_r_2,
 	generic_bs_r_4,
-	NULL,
+	generic_bs_r_8,
 
 	/* read multiple stream */
 	generic_bs_rm_1,
 	generic_bs_rm_2,
 	generic_bs_rm_4,
-	NULL,
+	generic_bs_rm_8,
 
 	/* read region stream */
 	generic_bs_rr_1,
 	generic_bs_rr_2,
 	generic_bs_rr_4,
-	NULL,
+	generic_bs_rr_8,
 
 	/* write (single) stream */
 	generic_bs_w_1,
 	generic_bs_w_2,
 	generic_bs_w_4,
-	NULL,
+	generic_bs_w_8,
 
 	/* write multiple stream */
 	generic_bs_wm_1,
 	generic_bs_wm_2,
 	generic_bs_wm_4,
-	NULL,
+	generic_bs_wm_8,
 
 	/* write region stream */
 	generic_bs_wr_1,
 	generic_bs_wr_2,
 	generic_bs_wr_4,
-	NULL,
+	generic_bs_wr_8,
 };
 
 /* Ultra-gross kludge */
@@ -254,6 +254,22 @@
 	return (0);
 }
 
+int
+generic_bs_alloc(void *t, bus_addr_t rstart, bus_addr_t rend,
+    bus_size_t size, bus_size_t alignment, bus_size_t boundary, int flags,
+    bus_addr_t *bpap, bus_space_handle_t *bshp)
+{
+
+	panic("%s: not implemented", __func__);
+}
+
+void    
+generic_bs_free(void *t, bus_space_handle_t bsh, bus_size_t size)
+{
+
+	panic("%s: not implemented", __func__);
+}
+
 uint8_t
 generic_bs_r_1(void *t, bus_space_handle_t handle,
     bus_size_t offset)
@@ -278,7 +294,13 @@
 	return (rd32(handle + offset));
 }
 
+uint64_t
+generic_bs_r_8(void *t, bus_space_handle_t handle, bus_size_t offset)
+{
 
+	panic("%s: not implemented", __func__);
+}
+
 void
 generic_bs_rm_1(void *t, bus_space_handle_t bsh,
     bus_size_t offset, uint8_t *addr, size_t count)
@@ -308,6 +330,13 @@
 		*addr++ = rd32(baddr);
 }
 
+void
+generic_bs_rm_8(void *t, bus_space_handle_t bsh, bus_size_t offset,
+    uint64_t *addr, size_t count)
+{
+
+	panic("%s: not implemented", __func__);
+}
 
 /*
  * Read `count' 1, 2, 4, or 8 byte quantities from bus space
@@ -350,6 +379,14 @@
 	}
 }
 
+void
+generic_bs_rr_8(void *t, bus_space_handle_t bsh, bus_size_t offset,
+    uint64_t *addr, size_t count)
+{
+
+	panic("%s: not implemented", __func__);
+}
+
 /*
  * Write the 1, 2, 4, or 8 byte value `value' to bus space
  * described by tag/handle/offset.
@@ -378,6 +415,14 @@
 	wr32(bsh + offset, value);
 }
 
+void
+generic_bs_w_8(void *t, bus_space_handle_t bsh, bus_size_t offset,
+    uint64_t value)
+{
+
+	panic("%s: not implemented", __func__);
+}
+
 /*
  * Write `count' 1, 2, 4, or 8 byte quantities from the buffer
  * provided to bus space described by tag/handle/offset.
@@ -412,6 +457,14 @@
 		wr32(baddr, *addr++);
 }
 
+void
+generic_bs_wm_8(void *t, bus_space_handle_t bsh, bus_size_t offset,
+    const uint64_t *addr, size_t count)
+{
+
+	panic("%s: not implemented", __func__);
+}
+
 /*
  * Write `count' 1, 2, 4, or 8 byte quantities from the buffer provided
  * to bus space described by tag/handle starting at `offset'.
@@ -452,6 +505,14 @@
 	}
 }
 
+void
+generic_bs_wr_8(void *t, bus_space_handle_t bsh, bus_size_t offset,
+    const uint64_t *addr, size_t count)
+{
+
+	panic("%s: not implemented", __func__);
+}
+
 /*
  * Write the 1, 2, 4, or 8 byte value `val' to bus space described
  * by tag/handle/offset `count' times.
@@ -486,6 +547,14 @@
 		wr32(addr, value);
 }
 
+void
+generic_bs_sm_8(void *t, bus_space_handle_t bsh, bus_size_t offset,
+    uint64_t value, size_t count)
+{
+
+	panic("%s: not implemented", __func__);
+}
+
 /*
  * Write `count' 1, 2, 4, or 8 byte value `val' to bus space described
  * by tag/handle starting at `offset'.
@@ -520,6 +589,14 @@
 		wr32(addr, value);
 }
 
+void
+generic_bs_sr_8(void *t, bus_space_handle_t bsh, bus_size_t offset,
+    uint64_t value, size_t count)
+{
+
+	panic("%s: not implemented", __func__);
+}
+
 /*
  * Copy `count' 1, 2, 4, or 8 byte values from bus space starting
  * at tag/bsh1/off1 to bus space starting at tag/bsh2/off2.
@@ -585,6 +662,14 @@
 }
 
 void
+generic_bs_c_8(void *t, bus_space_handle_t bsh1, bus_size_t off1,
+    bus_space_handle_t bsh2, bus_size_t off2, size_t count)
+{
+
+	panic("%s: not implemented", __func__);
+}
+
+void
 generic_bs_barrier(void *t __unused, 
 		bus_space_handle_t bsh __unused,
 		bus_size_t offset __unused, bus_size_t len __unused, 


More information about the p4-projects mailing list