diff options
author | marcel <marcel@FreeBSD.org> | 2003-04-06 21:31:26 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2003-04-06 21:31:26 +0000 |
commit | 6246b15b31f81141ae999680a72d2290900c8574 (patch) | |
tree | 2d8a6653db983b2679ca2462e9c58e1e6e7ac8ed /sys/ia64 | |
parent | 37af09e8c133c9dabee2615c4c268421e7277836 (diff) | |
download | FreeBSD-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.S | 8 | ||||
-rw-r--r-- | sys/ia64/ia64/exception.s | 8 | ||||
-rw-r--r-- | sys/ia64/ia64/locore.S | 7 | ||||
-rw-r--r-- | sys/ia64/ia64/locore.s | 7 |
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 |