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