aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>2016-02-26 14:02:36 -0500
committerDavid Vrabel <david.vrabel@citrix.com>2016-03-03 11:20:09 -0500
commit04b6b4a56884327c1648c517f1f46a2638f04c9d (patch)
treedc96b84e9f78a1b50a3e616a748246ef9f3f5cb8
parenta4d7b75be034115d36b6a20db566eb8b11bacaf8 (diff)
xen/x86: Zero out .bss for PV guests
ELF spec is unclear about whether .bss must me cleared by the loader. Currently the domain builder does it when loading the guest but because it is not (or rather may not be) guaranteed we should zero it out explicitly. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
-rw-r--r--arch/x86/xen/xen-head.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index b65f59a358a2..5c63d2d955bb 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -38,6 +38,15 @@
38 __INIT 38 __INIT
39ENTRY(startup_xen) 39ENTRY(startup_xen)
40 cld 40 cld
41
42 /* Clear .bss */
43 xor %eax,%eax
44 mov $__bss_start, %_ASM_DI
45 mov $__bss_stop, %_ASM_CX
46 sub %_ASM_DI, %_ASM_CX
47 shr $__ASM_SEL(2, 3), %_ASM_CX
48 rep __ASM_SIZE(stos)
49
41#ifdef CONFIG_X86_32 50#ifdef CONFIG_X86_32
42 mov %esi,xen_start_info 51 mov %esi,xen_start_info
43 mov $init_thread_union+THREAD_SIZE,%esp 52 mov $init_thread_union+THREAD_SIZE,%esp