]> git.baikalelectronics.ru Git - kernel.git/commit
x86/xen: Fix 32-bit PV guests's usage of kernel_stack
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>
Thu, 10 Apr 2014 16:17:09 +0000 (12:17 -0400)
committerDavid Vrabel <david.vrabel@citrix.com>
Tue, 15 Apr 2014 14:00:14 +0000 (15:00 +0100)
commitf219598ad94d6e571efaa08ad1495930d62e41b1
tree170e93580f872fdb8e781bb83f6b1999322fbc7c
parent817ec4b8df89b30ef0d609cd84c9bff3127b6a8a
x86/xen: Fix 32-bit PV guests's usage of kernel_stack

Commit b51c3becc0b820b6f624d8e864af4b4dc381f568 ("x86: Keep
thread_info on thread stack in x86_32") made 32-bit kernels use
kernel_stack to point to thread_info. That change missed a couple of
updates needed by Xen's 32-bit PV guests:

1. kernel_stack needs to be initialized for secondary CPUs

2. GET_THREAD_INFO() now uses %fs register which may not be the
   kernel's version when executing xen_iret().

With respect to the second issue, we don't need GET_THREAD_INFO()
anymore: we used it as an intermediate step to get to per_cpu xen_vcpu
and avoid referencing %fs. Now that we are going to use %fs anyway we
may as well go directly to xen_vcpu.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
arch/x86/xen/smp.c
arch/x86/xen/xen-asm_32.S