ia64/xen-unstable

diff xen/include/asm-ia64/xenkregs.h @ 16781:6f7e6608cb74

[IA64] domheap: Allocate privregs from domain heap for VTi domain

- Pin privregs down with both dtr/itr so that privregs can be allocated
from the domain heap
- Introduce vmx_vpd_pin()/vmx_vpd_unpin().
The vpd area is pinned down when current. But two functions,
update_vhpi() and alloc_vpd() are exceptions.
We have to pin down the area before PAL call.
- Minor twist context switch not to use unpinned vpd area.
vmx_load_state() needs the vpd area pinned down.
Call it after vmx_load_all_rr()
- Fix vmx_load_all_rr()
vmx_switch_rr7() sets psr.ic = 0 so that clearing psr.ic before calling
vmx_switch_rr7() doesn't make sense.
- Improve vmx_switch_rr7()
It sets psr.ic = 0 after switching to physical mode. But it can be
done at the switching time.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author Alex Williamson <alex.williamson@hp.com>
date Thu Jan 17 12:05:43 2008 -0700 (2008-01-17)
parents ac296153ea64
children af3550f53874
line diff
     1.1 --- a/xen/include/asm-ia64/xenkregs.h	Thu Jan 17 12:05:43 2008 -0700
     1.2 +++ b/xen/include/asm-ia64/xenkregs.h	Thu Jan 17 12:05:43 2008 -0700
     1.3 @@ -9,6 +9,8 @@
     1.4  #define IA64_TR_MAPPED_REGS	5	/* dtr5: vcpu mapped regs */
     1.5  #define	IA64_TR_VHPT		6	/* dtr6: vhpt */
     1.6  
     1.7 +#define IA64_TR_VPD		2	/* itr2: vpd */
     1.8 +
     1.9  #define IA64_DTR_GUEST_KERNEL   7
    1.10  #define IA64_ITR_GUEST_KERNEL   2
    1.11  /* Processor status register bits: */