Module Name:    src
Committed By:   palle
Date:           Wed Jun 22 20:13:00 UTC 2016

Modified Files:
        src/sys/arch/sparc64/conf: GENERIC files.sparc64
        src/sys/arch/sparc64/include: cpu.h mdesc.h

Log Message:
sun4v: add cbus driver - from OpenBSD


To generate a diff of this commit:
cvs rdiff -u -r1.190 -r1.191 src/sys/arch/sparc64/conf/GENERIC
cvs rdiff -u -r1.150 -r1.151 src/sys/arch/sparc64/conf/files.sparc64
cvs rdiff -u -r1.119 -r1.120 src/sys/arch/sparc64/include/cpu.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/sparc64/include/mdesc.h

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/sparc64/conf/GENERIC
diff -u src/sys/arch/sparc64/conf/GENERIC:1.190 src/sys/arch/sparc64/conf/GENERIC:1.191
--- src/sys/arch/sparc64/conf/GENERIC:1.190	Fri Jun 17 21:38:09 2016
+++ src/sys/arch/sparc64/conf/GENERIC	Wed Jun 22 20:12:59 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.190 2016/06/17 21:38:09 palle Exp $
+# $NetBSD: GENERIC,v 1.191 2016/06/22 20:12:59 palle Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include 	"arch/sparc64/conf/std.sparc64"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.190 $"
+#ident		"GENERIC-$Revision: 1.191 $"
 
 maxusers	64
 
@@ -248,6 +248,7 @@ ebus*	at pci?					# ebus devices
 # XXX 'puc's aren't really bridges, but there's no better place for them here
 puc*	at pci? dev ? function ?		# PCI "universal" comm. cards
 vbus0	at mainbus0
+cbus*	at vbus?
 
 #### Standard system devices -- all required for a given architecture
 

Index: src/sys/arch/sparc64/conf/files.sparc64
diff -u src/sys/arch/sparc64/conf/files.sparc64:1.150 src/sys/arch/sparc64/conf/files.sparc64:1.151
--- src/sys/arch/sparc64/conf/files.sparc64:1.150	Fri Jun 17 21:38:09 2016
+++ src/sys/arch/sparc64/conf/files.sparc64	Wed Jun 22 20:12:59 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: files.sparc64,v 1.150 2016/06/17 21:38:09 palle Exp $
+#	$NetBSD: files.sparc64,v 1.151 2016/06/22 20:12:59 palle Exp $
 
 # @(#)files.sparc64	8.1 (Berkeley) 7/19/93
 # sparc64-specific configuration info
@@ -73,6 +73,10 @@ device	vbus {}
 attach	vbus at mainbus
 file	arch/sparc64/dev/vbus.c			vbus
 
+device	cbus {}
+attach	cbus at vbus
+file	arch/sparc64/dev/cbus.c			cbus
+
 device clock: mk48txx
 attach clock at sbus with mkclock_sbus
 attach clock at ebus with mkclock_ebus

Index: src/sys/arch/sparc64/include/cpu.h
diff -u src/sys/arch/sparc64/include/cpu.h:1.119 src/sys/arch/sparc64/include/cpu.h:1.120
--- src/sys/arch/sparc64/include/cpu.h:1.119	Tue May 10 19:24:00 2016
+++ src/sys/arch/sparc64/include/cpu.h	Wed Jun 22 20:13:00 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.h,v 1.119 2016/05/10 19:24:00 palle Exp $ */
+/*	$NetBSD: cpu.h,v 1.120 2016/06/22 20:13:00 palle Exp $ */
 
 /*
  * Copyright (c) 1992, 1993
@@ -63,6 +63,7 @@
 #include "opt_lockdebug.h"
 #endif
 
+#include <machine/bus_defs.h>
 #include <machine/psl.h>
 #include <machine/reg.h>
 #include <machine/pte.h>
@@ -362,6 +363,7 @@ struct intrhand {
 	volatile uint64_t	*ih_map;	/* Interrupt map reg */
 	volatile uint64_t	*ih_clr;	/* clear interrupt reg */
 	void			(*ih_ack)(struct intrhand *); /* ack interrupt function */
+	bus_space_tag_t		ih_bus;		/* parent bus */
 	struct evcnt		ih_cnt;		/* counter for vmstat */
 	uint32_t		ih_ivec;
 	char			ih_name[32];	/* name for the above */

Index: src/sys/arch/sparc64/include/mdesc.h
diff -u src/sys/arch/sparc64/include/mdesc.h:1.4 src/sys/arch/sparc64/include/mdesc.h:1.5
--- src/sys/arch/sparc64/include/mdesc.h:1.4	Sun Sep  6 16:45:09 2015
+++ src/sys/arch/sparc64/include/mdesc.h	Wed Jun 22 20:13:00 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: mdesc.h,v 1.4 2015/09/06 16:45:09 martin Exp $	*/
+/*	$NetBSD: mdesc.h,v 1.5 2016/06/22 20:13:00 palle Exp $	*/
 /*	$OpenBSD: mdesc.h,v 1.3 2014/11/30 22:26:14 kettenis Exp $	*/
 /*
  * Copyright (c) 2009 Mark Kettenis
@@ -16,6 +16,9 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#ifndef	_MDESC_H_
+#define _MDESC_H_
+
 struct md_header {
 	uint32_t	transport_version;
 	uint32_t	node_blk_sz;
@@ -37,6 +40,8 @@ struct md_element {
 	} d;
 };
 
+extern vaddr_t mdesc;
+
 #ifdef _KERNEL
 psize_t	mdesc_get_len(void);
 void	mdesc_init(vaddr_t, paddr_t, psize_t);
@@ -50,3 +55,5 @@ int	mdesc_find_node_by_idx(int, const ch
 int	mdesc_next_node(int);
 const char *mdesc_name_by_idx(int);
 #endif
+
+#endif /* _MDESC_H_ */

Reply via email to