summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorjmcp <James.McPherson@Sun.COM>2009-12-03 01:41:29 -0800
committerjmcp <James.McPherson@Sun.COM>2009-12-03 01:41:29 -0800
commit902408c74976ae981a40a253677084474ca7f2f5 (patch)
tree05afd96ae9f3bb770c3a7028852110402f49b7c5 /usr/src
parent500b96d99247182b2f05a6cb2d63ca95fca0eace (diff)
downloadillumos-joyent-902408c74976ae981a40a253677084474ca7f2f5.tar.gz
backout 6840848: fails to build
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/vm/seg_kmem.c15
-rw-r--r--usr/src/uts/sun4/os/startup.c21
-rw-r--r--usr/src/uts/sun4/sys/ivintr.h9
3 files changed, 16 insertions, 29 deletions
diff --git a/usr/src/uts/common/vm/seg_kmem.c b/usr/src/uts/common/vm/seg_kmem.c
index ce68c4c930..1b2f34dd0b 100644
--- a/usr/src/uts/common/vm/seg_kmem.c
+++ b/usr/src/uts/common/vm/seg_kmem.c
@@ -47,8 +47,6 @@
#include <vm/seg_kp.h>
#include <sys/bitmap.h>
#include <sys/mem_cage.h>
-#include <sys/ivintr.h>
-#include <sys/panic.h>
/*
* seg_kmem is the primary kernel memory segment driver. It
@@ -300,19 +298,6 @@ kernelheap_init(
SYSLIMIT32 - SYSBASE32 - HEAPTEXT_SIZE, PAGESIZE, NULL,
NULL, NULL, 0, VM_SLEEP);
- /*
- * Prom claims the physical and virtual resources used by panicbuf
- * and inter_vec_table. So reserve space for panicbuf, intr_vec_table,
- * reserved interrrupt vector data structures from the 32-bit heap.
- */
- (void) vmem_xalloc(heap32_arena, PANICBUFSIZE, PAGESIZE, 0, 0,
- panicbuf, panicbuf + PANICBUFSIZE,
- VM_NOSLEEP | VM_BESTFIT | VM_PANIC);
-
- (void) vmem_xalloc(heap32_arena, IVSIZE, PAGESIZE, 0, 0,
- intr_vec_table, (caddr_t)intr_vec_table + IVSIZE,
- VM_NOSLEEP | VM_BESTFIT | VM_PANIC);
-
textbase = SYSLIMIT32 - HEAPTEXT_SIZE;
heaptext_parent = NULL;
#else /* __sparc */
diff --git a/usr/src/uts/sun4/os/startup.c b/usr/src/uts/sun4/os/startup.c
index 41e1baaa20..ebb336f6d9 100644
--- a/usr/src/uts/sun4/os/startup.c
+++ b/usr/src/uts/sun4/os/startup.c
@@ -37,6 +37,7 @@
#include <sys/prom_plat.h>
#include <sys/prom_isa.h>
#include <sys/autoconf.h>
+#include <sys/intreg.h>
#include <sys/ivintr.h>
#include <sys/fpu/fpusystm.h>
#include <sys/iommutsb.h>
@@ -464,12 +465,8 @@ printmemseg(struct memseg *memseg)
* | |
* | segkmem32 segment | (SYSLIMIT32 - SYSBASE32 =
* | | ~64MB)
- * |-----------------------|
- * | IVSIZE |
- * 0x00000000.70004000 -|-----------------------|
- * | panicbuf |
* 0x00000000.70002000 -|-----------------------|
- * | PAGESIZE |
+ * | panicbuf |
* 0x00000000.70000000 -|-----------------------|- SYSBASE32
* | boot-time |
* | temporary space |
@@ -825,6 +822,10 @@ alloc_kmem64(caddr_t base, caddr_t end)
static prom_memlist_t *boot_physinstalled, *boot_physavail, *boot_virtavail;
static size_t boot_physinstalled_len, boot_physavail_len, boot_virtavail_len;
+#define IVSIZE roundup(((MAXIVNUM * sizeof (intr_vec_t *)) + \
+ (MAX_RSVD_IV * sizeof (intr_vec_t)) + \
+ (MAX_RSVD_IVX * sizeof (intr_vecx_t))), PAGESIZE)
+
#if !defined(C_OBP)
/*
* Install a temporary tte handler in OBP for kmem64 area.
@@ -1469,8 +1470,16 @@ startup_memlist(void)
bp_init(shm_alignment, HAT_STRICTORDER);
/*
- * Reserve space for MPO mblock structs from the 32-bit heap.
+ * Reserve space for panicbuf, intr_vec_table, reserved interrupt
+ * vector data structures and MPO mblock structs from the 32-bit heap.
*/
+ (void) vmem_xalloc(heap32_arena, PANICBUFSIZE, PAGESIZE, 0, 0,
+ panicbuf, panicbuf + PANICBUFSIZE,
+ VM_NOSLEEP | VM_BESTFIT | VM_PANIC);
+
+ (void) vmem_xalloc(heap32_arena, IVSIZE, PAGESIZE, 0, 0,
+ intr_vec_table, (caddr_t)intr_vec_table + IVSIZE,
+ VM_NOSLEEP | VM_BESTFIT | VM_PANIC);
if (mpo_heap32_bufsz > (size_t)0) {
(void) vmem_xalloc(heap32_arena, mpo_heap32_bufsz,
diff --git a/usr/src/uts/sun4/sys/ivintr.h b/usr/src/uts/sun4/sys/ivintr.h
index 7aad039075..eec54078c5 100644
--- a/usr/src/uts/sun4/sys/ivintr.h
+++ b/usr/src/uts/sun4/sys/ivintr.h
@@ -19,16 +19,13 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_IVINTR_H
#define _SYS_IVINTR_H
-#include <sys/intreg.h>
-#include <sys/param.h>
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -48,10 +45,6 @@ extern "C" {
#define MAX_RSVD_IV ((NCPU * 3) + 256) /* HW and Single target SW intrs */
#define MAX_RSVD_IVX 32 /* Multi target software intrs */
-#define IVSIZE roundup(((MAXIVNUM * sizeof (intr_vec_t *)) + \
- (MAX_RSVD_IV * sizeof (intr_vec_t)) + \
- (MAX_RSVD_IVX * sizeof (intr_vecx_t))), PAGESIZE)
-
#ifndef _ASM
typedef uint_t (*intrfunc)(caddr_t, caddr_t);