• Home
  • Raw
  • Download

Lines Matching +full:linear +full:- +full:mapping +full:- +full:mode

1 // SPDX-License-Identifier: GPL-2.0
12 #include <asm/sev-es.h>
26 * This function is called before exiting to real-mode and that will in load_trampoline_pgtable()
32 write_cr3(real_mode_header->trampoline_pgd); in load_trampoline_pgtable()
56 /* Has to be under 1M so we can execute real-mode AP code. */ in reserve_real_mode()
59 pr_info("No sub-1M memory is available for the trampoline\n"); in reserve_real_mode()
72 th->flags |= TH_FLAGS_SME_ACTIVE; in sme_sev_setup_real_mode()
79 th->start = (u64) secondary_startup_64_no_verify; in sme_sev_setup_real_mode()
82 panic("Failed to get/update SEV-ES AP Jump Table"); in sme_sev_setup_real_mode()
95 size_t size = PAGE_ALIGN(real_mode_blob_end - real_mode_blob); in setup_real_mode()
119 /* 16-bit segment relocations. */ in setup_real_mode()
121 while (count--) { in setup_real_mode()
126 /* 32-bit linear relocations. */ in setup_real_mode()
128 while (count--) { in setup_real_mode()
135 __va(real_mode_header->trampoline_header); in setup_real_mode()
138 trampoline_header->start = __pa_symbol(startup_32_smp); in setup_real_mode()
139 trampoline_header->gdt_limit = __BOOT_DS + 7; in setup_real_mode()
140 trampoline_header->gdt_base = __pa_symbol(boot_gdt); in setup_real_mode()
147 trampoline_header->efer = efer & ~EFER_LMA; in setup_real_mode()
149 trampoline_header->start = (u64) secondary_startup_64; in setup_real_mode()
150 trampoline_cr4_features = &trampoline_header->cr4; in setup_real_mode()
153 trampoline_header->flags = 0; in setup_real_mode()
155 trampoline_pgd = (u64 *) __va(real_mode_header->trampoline_pgd); in setup_real_mode()
157 /* Map the real mode stub as virtual == physical */ in setup_real_mode()
161 * Include the entirety of the kernel mapping into the trampoline in setup_real_mode()
183 size_t size = PAGE_ALIGN(real_mode_blob_end - real_mode_blob); in set_real_mode_permissions()
186 PAGE_ALIGN(real_mode_header->ro_end) - in set_real_mode_permissions()
190 PAGE_ALIGN(real_mode_header->ro_end) - in set_real_mode_permissions()
191 real_mode_header->text_start; in set_real_mode_permissions()
194 (unsigned long) __va(real_mode_header->text_start); in set_real_mode_permissions()
204 panic("Real mode trampoline was not allocated"); in init_real_mode()