Changeset 8a9a41e in mainline for boot/arch/arm64/src/main.c
- Timestamp:
- 2021-10-24T08:28:43Z (4 years ago)
- Children:
- 9ea3a41
- Parents:
- 2ce943a (diff), cd981f2a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - git-author:
- Erik Kučák <35500848+Riko196@…> (2021-10-24 08:28:43)
- git-committer:
- GitHub <noreply@…> (2021-10-24 08:28:43)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm64/src/main.c
r2ce943a r8a9a41e 116 116 { 117 117 efi_status_t status; 118 uint64_t current_el;119 118 uint64_t memmap = 0; 120 119 sysarg_t memmap_size; … … 143 142 printf(" %p|%p: UEFI system table\n", efi_system_table_in, 144 143 efi_system_table_in); 145 146 /* Validate the exception level. */147 current_el = CurrentEL_read();148 if (current_el != CURRENT_EL_EL1) {149 printf("Error: Unexpected CurrentEL value %0#18" PRIx64 ".\n",150 current_el);151 status = EFI_UNSUPPORTED;152 goto fail;153 }154 144 155 145 /* Obtain memory map. */ … … 187 177 188 178 /* 189 * Check that everything is aligned on a 4 kB boundary and the kernel can179 * Check that everything is aligned on a 4 KiB boundary and the kernel can 190 180 * be placed by the decompression code at a correct address. 191 181 */ … … 199 189 * Dynamically check the memory base. The condition should be always 200 190 * true because UEFI guarantees each physical/virtual address in the 201 * memory map is aligned on a 4 kB boundary.191 * memory map is aligned on a 4 KiB boundary. 202 192 */ 203 193 if (!IS_ALIGNED(memory_base, PAGE_SIZE)) { 204 194 printf("Error: Start of usable RAM (%p) is not aligned on a " 205 "4 kB boundary.\n", (void *) memory_base);195 "4 KiB boundary.\n", (void *) memory_base); 206 196 status = EFI_UNSUPPORTED; 207 197 goto fail; … … 243 233 244 234 extract_payload(&bootinfo->taskmap, kernel_dest, ram_end, 245 (uintptr_t) kernel_dest, ensure_visibility);235 (uintptr_t) kernel_dest, smc_coherence); 246 236 247 237 /* Get final memory map. */ … … 301 291 bootinfo->memmap.cnt = cnt; 302 292 293 /* Flush the data cache containing bootinfo. */ 294 dcache_flush(bootinfo, sizeof(*bootinfo)); 295 303 296 uintptr_t entry = check_kernel_translated((void *) decompress_base, 304 297 BOOT_OFFSET);
Note:
See TracChangeset
for help on using the changeset viewer.