summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2003-04-06 21:31:26 +0000
committermarcel <marcel@FreeBSD.org>2003-04-06 21:31:26 +0000
commit6246b15b31f81141ae999680a72d2290900c8574 (patch)
tree2d8a6653db983b2679ca2462e9c58e1e6e7ac8ed /sys/ia64
parent37af09e8c133c9dabee2615c4c268421e7277836 (diff)
downloadFreeBSD-src-6246b15b31f81141ae999680a72d2290900c8574.zip
FreeBSD-src-6246b15b31f81141ae999680a72d2290900c8574.tar.gz
Remove the 32KB VHPT section from the kernel image. We don't really
use it because we allocate a VHPT based on the size of the physical memory and even if the allocated VHPT is 32KB, we don't use the in- image section for it. Since the VHPT must be naturally aligned, we save 48K on average (due to alignment). Consequently, we start off with the VHPT disabled (it is assumed the VHPT is disabled because the EFI loader runs without memory address translation and thus has no need to setup the VHPT). It's probably a good idea to explicitly disable the VHPT if we make the use of the VHPT optional.
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/exception.S8
-rw-r--r--sys/ia64/ia64/exception.s8
-rw-r--r--sys/ia64/ia64/locore.S7
-rw-r--r--sys/ia64/ia64/locore.s7
4 files changed, 4 insertions, 26 deletions
diff --git a/sys/ia64/ia64/exception.S b/sys/ia64/ia64/exception.S
index 1e5b17c..9e89aaa 100644
--- a/sys/ia64/ia64/exception.S
+++ b/sys/ia64/ia64/exception.S
@@ -789,14 +789,6 @@ IVT_ENTRY(Reserved_7f00, 0x7f00)
TRAP(67)
IVT_END(Reserved_7f00)
- .section .data.vhpt,"aw"
-
- .align 32768
- .global ia64_vhpt
- .size ia64_vhpt, 32768
-ia64_vhpt:
- .skip 32768
-
.text
/*
diff --git a/sys/ia64/ia64/exception.s b/sys/ia64/ia64/exception.s
index 1e5b17c..9e89aaa 100644
--- a/sys/ia64/ia64/exception.s
+++ b/sys/ia64/ia64/exception.s
@@ -789,14 +789,6 @@ IVT_ENTRY(Reserved_7f00, 0x7f00)
TRAP(67)
IVT_END(Reserved_7f00)
- .section .data.vhpt,"aw"
-
- .align 32768
- .global ia64_vhpt
- .size ia64_vhpt, 32768
-ia64_vhpt:
- .skip 32768
-
.text
/*
diff --git a/sys/ia64/ia64/locore.S b/sys/ia64/ia64/locore.S
index ce991e8..11e5c70 100644
--- a/sys/ia64/ia64/locore.S
+++ b/sys/ia64/ia64/locore.S
@@ -77,21 +77,18 @@ kstack: .space KSTACK_PAGES * PAGE_SIZE
* register r8.
*/
ENTRY(__start, 1)
+ mov ar.rsc=0
movl r16=ia64_vector_table // set up IVT early
;;
mov cr.iva=r16
- movl r16=ia64_vhpt+(1<<8)+(15<<2)+1 // and VHPT
- ;;
- mov cr.pta=r16
movl r16=kstack
;;
srlz.i
;;
mov r17=KSTACK_PAGES*PAGE_SIZE-SIZEOF_PCB-SIZEOF_TRAPFRAME-16
- movl gp=__gp // find kernel globals
;;
add sp=r16,r17 // proc0's stack
- mov ar.rsc=0 // turn off rse
+ movl gp=__gp // find kernel globals
;;
mov ar.bspstore=r16 // switch backing store
movl r16=pa_bootinfo
diff --git a/sys/ia64/ia64/locore.s b/sys/ia64/ia64/locore.s
index ce991e8..11e5c70 100644
--- a/sys/ia64/ia64/locore.s
+++ b/sys/ia64/ia64/locore.s
@@ -77,21 +77,18 @@ kstack: .space KSTACK_PAGES * PAGE_SIZE
* register r8.
*/
ENTRY(__start, 1)
+ mov ar.rsc=0
movl r16=ia64_vector_table // set up IVT early
;;
mov cr.iva=r16
- movl r16=ia64_vhpt+(1<<8)+(15<<2)+1 // and VHPT
- ;;
- mov cr.pta=r16
movl r16=kstack
;;
srlz.i
;;
mov r17=KSTACK_PAGES*PAGE_SIZE-SIZEOF_PCB-SIZEOF_TRAPFRAME-16
- movl gp=__gp // find kernel globals
;;
add sp=r16,r17 // proc0's stack
- mov ar.rsc=0 // turn off rse
+ movl gp=__gp // find kernel globals
;;
mov ar.bspstore=r16 // switch backing store
movl r16=pa_bootinfo
OpenPOWER on IntegriCloud