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 --- |