|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[Xen-ia64-devel] [patch 07/12] ia64: kexec: Unpin VPD (privregs) on kexe
If an HVM domain has been creaated then VPD (privregs) will
be pinned into the ITLB and thus should be unpinned on kexec.
Cc: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Cc: Alex Williamson <alex.williamson@xxxxxx>
Cc: Aron Griffis <aron@xxxxxx>
Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>
---
This depends on set_one_rr_efi-2.patch (which provides core
to repin TLB entries when switching to the EFI RID) as that
patch includes code to track if the VPD has been inserted or not.
That code could be broken out if neccessary.
Index: xen-unstable.hg/xen/arch/ia64/linux-xen/mca_asm.S
===================================================================
--- xen-unstable.hg.orig/xen/arch/ia64/linux-xen/mca_asm.S 2008-04-22
16:59:47.000000000 +1000
+++ xen-unstable.hg/xen/arch/ia64/linux-xen/mca_asm.S 2008-04-22
17:18:05.000000000 +1000
@@ -357,6 +357,19 @@ ia64_do_tlb_purge:
srlz.d
;;
#endif
+ // 8. VPD (privregs)
+ GET_THIS_PADDR(r2, inserted_privregs);;
+ cmp.eq p7,p0=r2,r0
+ ;;
+(p7) br.cond.sptk vpd_not_pinned
+ dep r16=0,r2,0,IA64_GRANULE_SHIFT
+ mov r18=IA64_GRANULE_SHIFT<<2
+ ;;
+ ptr.i r16,r18
+ ;;
+ srlz.i
+ ;;
+vpd_not_pinned:
#endif
// Now branch away to caller.
br.sptk.many b1
--
--
Horms
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|