xen-head.S (9e8238020c5beba64e7ffafbb7ea0fb02fe68270) xen-head.S (a13f2ef168cb2a033a284eb841bcc481ffbc90cf)
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Xen-specific pieces of head.S, intended to be included in the right
3 place in head.S */
4
5#ifdef CONFIG_XEN
6
7#include <linux/elfnote.h>
8#include <linux/init.h>

--- 21 unchanged lines hidden (view full) ---

30 xor %eax,%eax
31 mov $__bss_start, %_ASM_DI
32 mov $__bss_stop, %_ASM_CX
33 sub %_ASM_DI, %_ASM_CX
34 shr $__ASM_SEL(2, 3), %_ASM_CX
35 rep __ASM_SIZE(stos)
36
37 mov %_ASM_SI, xen_start_info
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Xen-specific pieces of head.S, intended to be included in the right
3 place in head.S */
4
5#ifdef CONFIG_XEN
6
7#include <linux/elfnote.h>
8#include <linux/init.h>

--- 21 unchanged lines hidden (view full) ---

30 xor %eax,%eax
31 mov $__bss_start, %_ASM_DI
32 mov $__bss_stop, %_ASM_CX
33 sub %_ASM_DI, %_ASM_CX
34 shr $__ASM_SEL(2, 3), %_ASM_CX
35 rep __ASM_SIZE(stos)
36
37 mov %_ASM_SI, xen_start_info
38#ifdef CONFIG_X86_64
39 mov initial_stack(%rip), %rsp
38 mov initial_stack(%rip), %rsp
40#else
41 mov initial_stack, %esp
42#endif
43
39
44#ifdef CONFIG_X86_64
45 /* Set up %gs.
46 *
47 * The base of %gs always points to fixed_percpu_data. If the
48 * stack protector canary is enabled, it is located at %gs:40.
49 * Note that, on SMP, the boot cpu uses init data section until
50 * the per cpu areas are set up.
51 */
52 movl $MSR_GS_BASE,%ecx
53 movq $INIT_PER_CPU_VAR(fixed_percpu_data),%rax
54 cdq
55 wrmsr
40 /* Set up %gs.
41 *
42 * The base of %gs always points to fixed_percpu_data. If the
43 * stack protector canary is enabled, it is located at %gs:40.
44 * Note that, on SMP, the boot cpu uses init data section until
45 * the per cpu areas are set up.
46 */
47 movl $MSR_GS_BASE,%ecx
48 movq $INIT_PER_CPU_VAR(fixed_percpu_data),%rax
49 cdq
50 wrmsr
56#endif
57
58 call xen_start_kernel
59SYM_CODE_END(startup_xen)
60 __FINIT
61
62#ifdef CONFIG_XEN_PV_SMP
63.pushsection .text
64SYM_CODE_START(asm_cpu_bringup_and_idle)

--- 54 unchanged lines hidden ---
51
52 call xen_start_kernel
53SYM_CODE_END(startup_xen)
54 __FINIT
55
56#ifdef CONFIG_XEN_PV_SMP
57.pushsection .text
58SYM_CODE_START(asm_cpu_bringup_and_idle)

--- 54 unchanged lines hidden ---