[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] [IA64] Kexec: Purge the VHPT entry in the TLB on kexec
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1190997156 21600 # Node ID 4edc8d689989510d6eaa1bdcdcf742e6e43baad0 # Parent 20813f115a812840fe678f10b60b62b217fb3d69 [IA64] Kexec: Purge the VHPT entry in the TLB on kexec Should relocate_new_kernel(), which is run by the hypervisor, purge the VHPT on XEN like ia64_do_purge_tlb() (code in the hypervisor) does? There is a hypervisor portion of this patch which modifies machine_kexec() to pass the appropriate extra argument to ia64_do_purge_tlb(). Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> --- arch/ia64/kernel/relocate_kernel.S | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletion(-) diff -r 20813f115a81 -r 4edc8d689989 arch/ia64/kernel/relocate_kernel.S --- a/arch/ia64/kernel/relocate_kernel.S Thu Sep 27 14:49:14 2007 -0600 +++ b/arch/ia64/kernel/relocate_kernel.S Fri Sep 28 10:32:36 2007 -0600 @@ -21,7 +21,7 @@ GLOBAL_ENTRY(relocate_new_kernel) GLOBAL_ENTRY(relocate_new_kernel) .prologue #ifdef CONFIG_XEN - alloc r31=ar.pfs,7,0,0,0 + alloc r31=ar.pfs,8,0,0,0 #else alloc r31=ar.pfs,4,0,0,0 #endif @@ -159,6 +159,20 @@ 4: ;; srlz.i ;; + +#ifdef XEN + /* XXX: Is this neccessary ??? */ + // purge TR entry for VHPT + mov r16=in7 + ;; + dep r16=0,r16,0,IA64_GRANULE_SHIFT + mov r18=IA64_GRANULE_SHIFT<<2 + ;; + ptr.d r16,r18 + ;; + srlz.i + ;; +#endif //copy segments movl r16=PAGE_MASK _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |