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.
This commit is contained in:
Marcel Moolenaar 2003-04-06 21:31:26 +00:00
parent 32054bbb7e
commit ca13bfade5
4 changed files with 4 additions and 26 deletions

View File

@ -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
/*

View File

@ -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
/*

View File

@ -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

View File

@ -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