|
4 | 4 | // |
5 | 5 | // Author: Joerg Roedel <jroedel@suse.de> |
6 | 6 |
|
7 | | -use crate::platform::SvsmPlatformType; |
| 7 | +use crate::{platform::SvsmPlatformType, symbols::KSym}; |
8 | 8 | use core::mem::size_of; |
9 | 9 | use zerocopy::{FromBytes, Immutable, IntoBytes}; |
10 | 10 |
|
11 | 11 | // The SIPI stub is placed immediately below the stage 2 heap. |
12 | 12 | pub const SIPI_STUB_GPA: u32 = 0xF000; |
13 | 13 |
|
| 14 | +// Two pages below the SIPI stub are used for low memory page tables. |
| 15 | +pub const SIPI_STUB_PT_GPA: u32 = 0xD000; |
| 16 | + |
14 | 17 | // The first 640 KB of RAM (low memory) |
15 | 18 | pub const LOWMEM_END: u32 = 0xA0000; |
16 | 19 |
|
@@ -39,18 +42,18 @@ pub struct KernelLaunchInfo { |
39 | 42 | pub heap_area_allocated: u64, |
40 | 43 | pub kernel_region_virt_start: u64, |
41 | 44 | pub heap_area_virt_start: u64, // Start of virtual heap area mapping. |
42 | | - pub kernel_elf_stage2_virt_start: u64, // Virtual address of kernel ELF in Stage2 mapping. |
43 | | - pub kernel_elf_stage2_virt_end: u64, |
44 | 45 | pub kernel_fs_start: u64, |
45 | 46 | pub kernel_fs_end: u64, |
46 | 47 | pub stage2_start: u64, |
47 | | - pub stage2_end: u64, |
48 | 48 | pub cpuid_page: u64, |
49 | 49 | pub secrets_page: u64, |
50 | | - pub stage2_igvm_params_phys_addr: u64, |
51 | | - pub stage2_igvm_params_size: u64, |
52 | 50 | pub igvm_params_virt_addr: u64, |
| 51 | + pub kernel_symtab_start: *const KSym, |
| 52 | + pub kernel_symtab_len: u64, |
| 53 | + pub kernel_strtab_start: *const u8, |
| 54 | + pub kernel_strtab_len: u64, |
53 | 55 | pub vtom: u64, |
| 56 | + pub kernel_page_table_vaddr: u64, |
54 | 57 | pub debug_serial_port: u16, |
55 | 58 | pub use_alternate_injection: bool, |
56 | 59 | pub suppress_svsm_interrupts: bool, |
|
0 commit comments