head_32.S (9e8238020c5beba64e7ffafbb7ea0fb02fe68270) | head_32.S (a13f2ef168cb2a033a284eb841bcc481ffbc90cf) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * 4 * Copyright (C) 1991, 1992 Linus Torvalds 5 * 6 * Enhanced CPU detection and feature setting code by Mike Jagdis 7 * and Martin Mares, November 1997. 8 */ --- 120 unchanged lines hidden (view full) --- 129 movl $pa(initial_pg_fixmap)+PDE_IDENT_ATTR,%eax 130#ifdef CONFIG_X86_PAE 131#define KPMDS (((-__PAGE_OFFSET) >> 30) & 3) /* Number of kernel PMDs */ 132 movl %eax,pa(initial_pg_pmd+0x1000*KPMDS-8) 133#else 134 movl %eax,pa(initial_page_table+0xffc) 135#endif 136 | 1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * 4 * Copyright (C) 1991, 1992 Linus Torvalds 5 * 6 * Enhanced CPU detection and feature setting code by Mike Jagdis 7 * and Martin Mares, November 1997. 8 */ --- 120 unchanged lines hidden (view full) --- 129 movl $pa(initial_pg_fixmap)+PDE_IDENT_ATTR,%eax 130#ifdef CONFIG_X86_PAE 131#define KPMDS (((-__PAGE_OFFSET) >> 30) & 3) /* Number of kernel PMDs */ 132 movl %eax,pa(initial_pg_pmd+0x1000*KPMDS-8) 133#else 134 movl %eax,pa(initial_page_table+0xffc) 135#endif 136 |
137#ifdef CONFIG_PARAVIRT 138 /* This is can only trip for a broken bootloader... */ 139 cmpw $0x207, pa(boot_params + BP_version) 140 jb .Ldefault_entry 141 142 /* Paravirt-compatible boot parameters. Look to see what architecture 143 we're booting under. */ 144 movl pa(boot_params + BP_hardware_subarch), %eax 145 cmpl $num_subarch_entries, %eax 146 jae .Lbad_subarch 147 148 movl pa(subarch_entries)(,%eax,4), %eax 149 subl $__PAGE_OFFSET, %eax 150 jmp *%eax 151 152.Lbad_subarch: 153SYM_INNER_LABEL_ALIGN(xen_entry, SYM_L_WEAK) 154 /* Unknown implementation; there's really 155 nothing we can do at this point. */ 156 ud2a 157 158 __INITDATA 159 160subarch_entries: 161 .long .Ldefault_entry /* normal x86/PC */ 162 .long xen_entry /* Xen hypervisor */ 163 .long .Ldefault_entry /* Moorestown MID */ 164num_subarch_entries = (. - subarch_entries) / 4 165.previous 166#else | |
167 jmp .Ldefault_entry | 137 jmp .Ldefault_entry |
168#endif /* CONFIG_PARAVIRT */ | |
169SYM_CODE_END(startup_32) 170 171#ifdef CONFIG_HOTPLUG_CPU 172/* 173 * Boot CPU0 entry point. It's called from play_dead(). Everything has been set 174 * up already except stack. We just set up stack here. Then call 175 * start_secondary(). 176 */ --- 451 unchanged lines hidden --- | 138SYM_CODE_END(startup_32) 139 140#ifdef CONFIG_HOTPLUG_CPU 141/* 142 * Boot CPU0 entry point. It's called from play_dead(). Everything has been set 143 * up already except stack. We just set up stack here. Then call 144 * start_secondary(). 145 */ --- 451 unchanged lines hidden --- |