summaryrefslogtreecommitdiffstats
path: root/sys/sparc64
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2006-11-18 07:10:52 +0000
committerkmacy <kmacy@FreeBSD.org>2006-11-18 07:10:52 +0000
commit7a3167fc079bc8fcd70d202e20191ae638560bce (patch)
treeb41530a704d3e8866ac95920db4c1b833fa80299 /sys/sparc64
parent5af654c5862709158954dcd905ab90b7b4543c24 (diff)
downloadFreeBSD-src-7a3167fc079bc8fcd70d202e20191ae638560bce.zip
FreeBSD-src-7a3167fc079bc8fcd70d202e20191ae638560bce.tar.gz
remove 13 (largely) redundant files and switch to the sparc64/sparc64 version
Reviewed by: jb (mentor rwatson)
Diffstat (limited to 'sys/sparc64')
-rw-r--r--sys/sparc64/sparc64/autoconf.c4
-rw-r--r--sys/sparc64/sparc64/identcpu.c9
-rw-r--r--sys/sparc64/sparc64/mem.c13
3 files changed, 21 insertions, 5 deletions
diff --git a/sys/sparc64/sparc64/autoconf.c b/sys/sparc64/sparc64/autoconf.c
index dd8044d..15b8921 100644
--- a/sys/sparc64/sparc64/autoconf.c
+++ b/sys/sparc64/sparc64/autoconf.c
@@ -27,6 +27,7 @@
*/
#include "opt_isa.h"
+#include "opt_global.h"
#include <sys/param.h>
#include <sys/systm.h>
@@ -65,6 +66,9 @@ static void
configure(void *dummy)
{
+#ifdef SUN4V
+ intr_restore_all(0x16);
+#endif
root_bus_configure();
#ifdef DEV_ISA
if (isa_bus_device != NULL)
diff --git a/sys/sparc64/sparc64/identcpu.c b/sys/sparc64/sparc64/identcpu.c
index ba2fbf7..cfd0df0 100644
--- a/sys/sparc64/sparc64/identcpu.c
+++ b/sys/sparc64/sparc64/identcpu.c
@@ -17,7 +17,7 @@
#include <machine/md_var.h>
#include <machine/ver.h>
-char machine[] = "sparc64";
+char machine[] = MACHINE;
SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD,
machine, 0, "Machine class");
@@ -25,13 +25,20 @@ static char cpu_model[128];
SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD,
cpu_model, 0, "Machine model");
+#ifndef SUN4V
int cpu_impl;
+#endif
void setPQL2(int *const size, int *const ways);
void
setPQL2(int *const size, int *const ways)
{
+#ifdef SUN4V
+/* XXX hardcoding is lame */
+ *size = 3*1024;
+ *ways = 12;
+#endif
return;
}
diff --git a/sys/sparc64/sparc64/mem.c b/sys/sparc64/sparc64/mem.c
index cb4c4de..459191a 100644
--- a/sys/sparc64/sparc64/mem.c
+++ b/sys/sparc64/sparc64/mem.c
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
* might cause illegal aliases to be created for the locked kernel page(s), so
* it is not implemented.
*/
+#include "opt_global.h"
#include <sys/param.h>
#include <sys/conf.h>
@@ -91,9 +92,11 @@ memrw(struct cdev *dev, struct uio *uio, int flags)
vm_paddr_t pa;
vm_size_t cnt;
vm_page_t m;
- int color;
int error;
int i;
+#ifndef SUN4V
+ int color;
+#endif
cnt = 0;
error = 0;
@@ -137,10 +140,12 @@ memrw(struct cdev *dev, struct uio *uio, int flags)
ova = kmem_alloc_wait(kernel_map,
PAGE_SIZE * DCACHE_COLORS);
}
- if ((color = m->md.color) == -1)
- va = ova;
- else
+#ifndef SUN4V
+ if ((color = m->md.color) != -1)
va = ova + color * PAGE_SIZE;
+ else
+#endif
+ va = ova;
pmap_qenter(va, &m, 1);
error = uiomove((void *)(va + off), cnt,
uio);
OpenPOWER on IntegriCloud