summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2008-03-08 15:42:27 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2008-03-08 15:42:27 +0000
commit5d3e200ed8e7fc450c0ce889def1783cf5b9a709 (patch)
treec991d050310453f0249135f6033d549459875d8c /sys/arch/sparc64
parent99bbb0d89ab70df2381a27cc37bd3f788e7bb42c (diff)
SUNW,set-trap-table takes an extra argument on sun4v; sun4u doesn't seem to
mind. tested by miod@
Diffstat (limited to 'sys/arch/sparc64')
-rw-r--r--sys/arch/sparc64/include/sparc64.h4
-rw-r--r--sys/arch/sparc64/sparc64/ofw_machdep.c9
2 files changed, 8 insertions, 5 deletions
diff --git a/sys/arch/sparc64/include/sparc64.h b/sys/arch/sparc64/include/sparc64.h
index a75189ffa83..701110e9677 100644
--- a/sys/arch/sparc64/include/sparc64.h
+++ b/sys/arch/sparc64/include/sparc64.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: sparc64.h,v 1.7 2007/09/08 17:48:12 kettenis Exp $ */
+/* $OpenBSD: sparc64.h,v 1.8 2008/03/08 15:42:26 kettenis Exp $ */
/* $NetBSD: sparc64.h,v 1.3 2000/10/20 05:47:03 mrg Exp $ */
/*
@@ -39,7 +39,7 @@ struct mem_region {
u_int64_t size;
};
-int prom_set_trap_table(vaddr_t tba);
+int prom_set_trap_table(vaddr_t tba, paddr_t mmfsa);
paddr_t prom_vtop(vaddr_t vaddr);
vaddr_t prom_claim_virt(vaddr_t vaddr, int len);
vaddr_t prom_alloc_virt(int len, int align);
diff --git a/sys/arch/sparc64/sparc64/ofw_machdep.c b/sys/arch/sparc64/sparc64/ofw_machdep.c
index 5ab6c580cb6..4e3f0e1b62d 100644
--- a/sys/arch/sparc64/sparc64/ofw_machdep.c
+++ b/sys/arch/sparc64/sparc64/ofw_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ofw_machdep.c,v 1.23 2008/01/10 22:46:48 deraadt Exp $ */
+/* $OpenBSD: ofw_machdep.c,v 1.24 2008/03/08 15:42:26 kettenis Exp $ */
/* $NetBSD: ofw_machdep.c,v 1.16 2001/07/20 00:07:14 eeh Exp $ */
/*
@@ -105,20 +105,23 @@ get_memory_handle()
* Point prom to our trap table. This stops the prom from mapping us.
*/
int
-prom_set_trap_table(tba)
+prom_set_trap_table(tba, mmfsa)
vaddr_t tba;
+ paddr_t mmfsa;
{
struct {
cell_t name;
cell_t nargs;
cell_t nreturns;
cell_t tba;
+ cell_t mmfsa;
} args;
args.name = ADR2CELL("SUNW,set-trap-table");
- args.nargs = 1;
+ args.nargs = 2;
args.nreturns = 0;
args.tba = ADR2CELL(tba);
+ args.mmfsa = ADR2CELL(mmfsa);
return openfirmware(&args);
}