Lines Matching +full:pre +full:- +full:charge +full:- +full:time
1 /* SPDX-License-Identifier: GPL-2.0 */
10 #define _pa(x) ((x) - __START_KERNEL_map)
12 #define rva(x) ((x) - pvh_start_xen)
22 #include <asm/processor-flags.h>
24 #include <asm/nospec-branch.h>
34 * - `ebx`: contains the physical memory address where the loader has placed
36 * - `cr0`: bit 0 (PE) must be set. All the other writeable bits are cleared.
37 * - `cr4`: all bits are cleared.
38 * - `cs `: must be a 32-bit read/execute code segment with a base of `0`
40 * - `ds`, `es`: must be a 32-bit read/write data segment with a base of
43 * - `tr`: must be a 32-bit TSS (active) with a base of '0' and a limit
45 * - `eflags`: bit 17 (VM) must be cleared. Bit 9 (IF) must be cleared.
49 * charge of setting up its own stack, GDT and IDT.
108 * Reuse the non-relocatable symbol emitted for the ELF note to
109 * subtract the build time physical address of pvh_start_xen() from
110 * its actual runtime address, without relying on absolute 32-bit ELF
112 * in -pie mode, and should be avoided in .head.text in general.
124 /* Fixup page-tables for relocation. */
141 addl %ebx, (PAGE_SIZE - 16)(%edi)
142 addl %ebx, (PAGE_SIZE - 8)(%edi)
144 /* pvh_level2_ident_pgt is fine - large pages */
146 /* pvh_level2_kernel_pgt needs adjustment - large pages */
159 /* Enable pre-constructed page tables. */
165 /* Jump to 64-bit mode. */
171 /* 64-bit entry point. */
226 .word gdt_end - gdt_start - 1
227 .long gdt_start - gdt
256 .quad pvh_level3_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
258 .quad pvh_level3_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
260 /* (2^48-(2*1024*1024*1024))/(2^39) = 511 */
261 .quad pvh_level3_kernel_pgt - __START_KERNEL_map + _PAGE_TABLE_NOENC
265 .quad pvh_level2_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
281 /* (2^48-(2*1024*1024*1024)-((2^39)*511))/(2^30) = 510 */
282 .quad pvh_level2_kernel_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
306 .long KERNEL_IMAGE_SIZE - 1)
310 xen_elfnote_phys32_entry: _ASM_PTR xen_elfnote_phys32_entry_value - .)