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_ */