Changeset 108794 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c
- Timestamp:
- Mar 31, 2025 11:31:09 AM (2 weeks ago)
- svn:sync-xref-src-repo-rev:
- 168237
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/FirmwareNew
-
Property svn:mergeinfo
changed from (toggle deleted branches)
to (toggle deleted branches)/vendor/edk2/current 103735-103757,103769-103776,129194-164365 /vendor/edk2/current 103735-103757,103769-103776,129194-168232
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c
r105670 r108794 343 343 IA32_PAGING_ENTRY OriginalParentPagingEntry; 344 344 IA32_PAGING_ENTRY OriginalCurrentPagingEntry; 345 IA32_PAGING_ENTRY TempPagingEntry; 345 346 346 347 ASSERT (Level != 0); … … 360 361 OriginalParentPagingEntry.Uint64 = ParentPagingEntry->Uint64; 361 362 OneOfPagingEntry.Uint64 = 0; 363 TempPagingEntry.Uint64 = 0; 364 362 365 // 363 366 // RegionLength: 256T (1 << 48) 512G (1 << 39), 1G (1 << 30), 2M (1 << 21) or 4K (1 << 12). … … 442 445 // (bit12) in original big-leaf entry is not assigned to PageTableBaseAddress field of non-leaf entry. 443 446 // 444 PageTableLibSetPnle (&ParentPagingEntry->Pnle, &NopAttribute, &AllOneMask); 445 ParentPagingEntry->Uint64 = ((UINTN)(VOID *)PagingEntry) | (ParentPagingEntry->Uint64 & (~IA32_PE_BASE_ADDRESS_MASK_40)); 447 TempPagingEntry.Uint64 = ParentPagingEntry->Uint64; 448 PageTableLibSetPnle (&TempPagingEntry.Pnle, &NopAttribute, &AllOneMask); 449 TempPagingEntry.Uint64 = ((UINTN)(VOID *)PagingEntry) | (TempPagingEntry.Uint64 & (~IA32_PE_BASE_ADDRESS_MASK_40)); 450 *(volatile UINT64 *)&(ParentPagingEntry->Uint64) = TempPagingEntry.Uint64; 446 451 } 447 452 } else {
Note:
See TracChangeset
for help on using the changeset viewer.