Changeset 99404 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/PeiHobLib/HobLib.c
- Timestamp:
- Apr 14, 2023 3:17:44 PM (23 months ago)
- svn:sync-xref-src-repo-rev:
- 156854
- 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-145445 /vendor/edk2/current 103735-103757,103769-103776,129194-156846
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/PeiHobLib/HobLib.c
r80721 r99404 38 38 ) 39 39 { 40 EFI_STATUS 41 VOID 40 EFI_STATUS Status; 41 VOID *HobList; 42 42 43 43 Status = PeiServicesGetHobList (&HobList); … … 68 68 EFIAPI 69 69 GetNextHob ( 70 IN UINT16 71 IN CONST VOID 70 IN UINT16 Type, 71 IN CONST VOID *HobStart 72 72 ) 73 73 { … … 76 76 ASSERT (HobStart != NULL); 77 77 78 Hob.Raw = (UINT8 *) 78 Hob.Raw = (UINT8 *)HobStart; 79 79 // 80 80 // Parse the HOB list until end of list or matching type is found. … … 84 84 return Hob.Raw; 85 85 } 86 86 87 Hob.Raw = GET_NEXT_HOB (Hob); 87 88 } 89 88 90 return NULL; 89 91 } … … 105 107 EFIAPI 106 108 GetFirstHob ( 107 IN UINT16 108 ) 109 { 110 VOID 109 IN UINT16 Type 110 ) 111 { 112 VOID *HobList; 111 113 112 114 HobList = GetHobList (); … … 139 141 EFIAPI 140 142 GetNextGuidHob ( 141 IN CONST EFI_GUID 142 IN CONST VOID 143 IN CONST EFI_GUID *Guid, 144 IN CONST VOID *HobStart 143 145 ) 144 146 { 145 147 EFI_PEI_HOB_POINTERS GuidHob; 146 148 147 GuidHob.Raw = (UINT8 *) 149 GuidHob.Raw = (UINT8 *)HobStart; 148 150 while ((GuidHob.Raw = GetNextHob (EFI_HOB_TYPE_GUID_EXTENSION, GuidHob.Raw)) != NULL) { 149 151 if (CompareGuid (Guid, &GuidHob.Guid->Name)) { 150 152 break; 151 153 } 154 152 155 GuidHob.Raw = GET_NEXT_HOB (GuidHob); 153 156 } 157 154 158 return GuidHob.Raw; 155 159 } … … 176 180 EFIAPI 177 181 GetFirstGuidHob ( 178 IN CONST EFI_GUID 179 ) 180 { 181 VOID 182 IN CONST EFI_GUID *Guid 183 ) 184 { 185 VOID *HobList; 182 186 183 187 HobList = GetHobList (); … … 204 208 ) 205 209 { 206 EFI_STATUS 207 EFI_BOOT_MODE 210 EFI_STATUS Status; 211 EFI_BOOT_MODE BootMode; 208 212 209 213 Status = PeiServicesGetBootMode (&BootMode); … … 228 232 EFIAPI 229 233 InternalPeiCreateHob ( 230 IN UINT16 231 IN UINT16 232 ) 233 { 234 EFI_STATUS 235 VOID 234 IN UINT16 Type, 235 IN UINT16 Length 236 ) 237 { 238 EFI_STATUS Status; 239 VOID *Hob; 236 240 237 241 Status = PeiServicesCreateHob (Type, Length, &Hob); … … 239 243 Hob = NULL; 240 244 } 245 241 246 // 242 247 // Assume the process of HOB building is always successful. … … 265 270 EFIAPI 266 271 BuildModuleHob ( 267 IN CONST EFI_GUID 268 IN EFI_PHYSICAL_ADDRESS 269 IN UINT64 270 IN EFI_PHYSICAL_ADDRESS 272 IN CONST EFI_GUID *ModuleName, 273 IN EFI_PHYSICAL_ADDRESS MemoryAllocationModule, 274 IN UINT64 ModuleLength, 275 IN EFI_PHYSICAL_ADDRESS EntryPoint 271 276 ) 272 277 { 273 278 EFI_HOB_MEMORY_ALLOCATION_MODULE *Hob; 274 279 275 ASSERT (((MemoryAllocationModule & (EFI_PAGE_SIZE - 1)) == 0) && 276 ((ModuleLength & (EFI_PAGE_SIZE - 1)) == 0)); 277 278 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, (UINT16) sizeof (EFI_HOB_MEMORY_ALLOCATION_MODULE)); 280 ASSERT ( 281 ((MemoryAllocationModule & (EFI_PAGE_SIZE - 1)) == 0) && 282 ((ModuleLength & (EFI_PAGE_SIZE - 1)) == 0) 283 ); 284 285 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, (UINT16)sizeof (EFI_HOB_MEMORY_ALLOCATION_MODULE)); 279 286 if (Hob == NULL) { 280 287 return; … … 323 330 EFI_HOB_RESOURCE_DESCRIPTOR *Hob; 324 331 325 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, (UINT16) 332 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, (UINT16)sizeof (EFI_HOB_RESOURCE_DESCRIPTOR)); 326 333 if (Hob == NULL) { 327 334 return; … … 362 369 EFI_HOB_RESOURCE_DESCRIPTOR *Hob; 363 370 364 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, (UINT16) 371 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, (UINT16)sizeof (EFI_HOB_RESOURCE_DESCRIPTOR)); 365 372 if (Hob == NULL) { 366 373 return; … … 399 406 EFIAPI 400 407 BuildGuidHob ( 401 IN CONST EFI_GUID 402 IN UINTN 403 ) 404 { 405 EFI_HOB_GUID_TYPE *Hob;408 IN CONST EFI_GUID *Guid, 409 IN UINTN DataLength 410 ) 411 { 412 EFI_HOB_GUID_TYPE *Hob; 406 413 407 414 // … … 415 422 ASSERT (DataLength <= (0xFFF8 - sizeof (EFI_HOB_GUID_TYPE))); 416 423 417 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_GUID_EXTENSION, (UINT16) 424 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_GUID_EXTENSION, (UINT16)(sizeof (EFI_HOB_GUID_TYPE) + DataLength)); 418 425 if (Hob == NULL) { 419 426 return Hob; 420 427 } 428 421 429 CopyGuid (&Hob->Name, Guid); 422 430 return Hob + 1; … … 451 459 EFIAPI 452 460 BuildGuidDataHob ( 453 IN CONST EFI_GUID 454 IN VOID 455 IN UINTN 461 IN CONST EFI_GUID *Guid, 462 IN VOID *Data, 463 IN UINTN DataLength 456 464 ) 457 465 { … … 480 488 BOOLEAN 481 489 InternalCheckFvAlignment ( 482 IN EFI_PHYSICAL_ADDRESS 483 IN UINT64 484 ) 485 { 486 EFI_FIRMWARE_VOLUME_HEADER 487 UINT32 490 IN EFI_PHYSICAL_ADDRESS BaseAddress, 491 IN UINT64 Length 492 ) 493 { 494 EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader; 495 UINT32 FvAlignment; 488 496 489 497 FvAlignment = 0; 490 FwVolHeader = (EFI_FIRMWARE_VOLUME_HEADER *) (UINTN)BaseAddress;498 FwVolHeader = (EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)BaseAddress; 491 499 492 500 // … … 506 514 FvAlignment = 8; 507 515 } 516 508 517 if ((UINTN)BaseAddress % FvAlignment != 0) { 509 518 // … … 541 550 EFIAPI 542 551 BuildFvHob ( 543 IN EFI_PHYSICAL_ADDRESS 544 IN UINT64 552 IN EFI_PHYSICAL_ADDRESS BaseAddress, 553 IN UINT64 Length 545 554 ) 546 555 { … … 552 561 } 553 562 554 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_FV, (UINT16) 563 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_FV, (UINT16)sizeof (EFI_HOB_FIRMWARE_VOLUME)); 555 564 if (Hob == NULL) { 556 565 return; … … 580 589 EFIAPI 581 590 BuildFv2Hob ( 582 IN EFI_PHYSICAL_ADDRESS 583 IN UINT64 584 IN CONST EFI_GUID 585 IN CONST EFI_GUID 591 IN EFI_PHYSICAL_ADDRESS BaseAddress, 592 IN UINT64 Length, 593 IN CONST EFI_GUID *FvName, 594 IN CONST EFI_GUID *FileName 586 595 ) 587 596 { … … 593 602 } 594 603 595 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_FV2, (UINT16) 604 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_FV2, (UINT16)sizeof (EFI_HOB_FIRMWARE_VOLUME2)); 596 605 if (Hob == NULL) { 597 606 return; … … 628 637 EFIAPI 629 638 BuildFv3Hob ( 630 IN EFI_PHYSICAL_ADDRESS 631 IN UINT64 632 IN UINT32 633 IN BOOLEAN 634 IN CONST EFI_GUID *FvName, OPTIONAL635 IN CONST EFI_GUID 639 IN EFI_PHYSICAL_ADDRESS BaseAddress, 640 IN UINT64 Length, 641 IN UINT32 AuthenticationStatus, 642 IN BOOLEAN ExtractedFv, 643 IN CONST EFI_GUID *FvName OPTIONAL, 644 IN CONST EFI_GUID *FileName OPTIONAL 636 645 ) 637 646 { … … 643 652 } 644 653 645 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_FV3, (UINT16) 654 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_FV3, (UINT16)sizeof (EFI_HOB_FIRMWARE_VOLUME3)); 646 655 if (Hob == NULL) { 647 656 return; … … 675 684 EFIAPI 676 685 BuildCvHob ( 677 IN EFI_PHYSICAL_ADDRESS 678 IN UINT64 686 IN EFI_PHYSICAL_ADDRESS BaseAddress, 687 IN UINT64 Length 679 688 ) 680 689 { 681 690 EFI_HOB_UEFI_CAPSULE *Hob; 682 691 683 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_UEFI_CAPSULE, (UINT16) 684 if (Hob == NULL) { 685 return; 686 } 687 688 Hob->BaseAddress 689 Hob->Length 692 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_UEFI_CAPSULE, (UINT16)sizeof (EFI_HOB_UEFI_CAPSULE)); 693 if (Hob == NULL) { 694 return; 695 } 696 697 Hob->BaseAddress = BaseAddress; 698 Hob->Length = Length; 690 699 } 691 700 … … 706 715 EFIAPI 707 716 BuildCpuHob ( 708 IN UINT8 709 IN UINT8 717 IN UINT8 SizeOfMemorySpace, 718 IN UINT8 SizeOfIoSpace 710 719 ) 711 720 { 712 721 EFI_HOB_CPU *Hob; 713 722 714 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_CPU, (UINT16) 723 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_CPU, (UINT16)sizeof (EFI_HOB_CPU)); 715 724 if (Hob == NULL) { 716 725 return; … … 742 751 EFIAPI 743 752 BuildStackHob ( 744 IN EFI_PHYSICAL_ADDRESS 745 IN UINT64 753 IN EFI_PHYSICAL_ADDRESS BaseAddress, 754 IN UINT64 Length 746 755 ) 747 756 { 748 757 EFI_HOB_MEMORY_ALLOCATION_STACK *Hob; 749 758 750 ASSERT (((BaseAddress & (EFI_PAGE_SIZE - 1)) == 0) && 751 ((Length & (EFI_PAGE_SIZE - 1)) == 0)); 752 753 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, (UINT16) sizeof (EFI_HOB_MEMORY_ALLOCATION_STACK)); 759 ASSERT ( 760 ((BaseAddress & (EFI_PAGE_SIZE - 1)) == 0) && 761 ((Length & (EFI_PAGE_SIZE - 1)) == 0) 762 ); 763 764 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, (UINT16)sizeof (EFI_HOB_MEMORY_ALLOCATION_STACK)); 754 765 if (Hob == NULL) { 755 766 return; … … 784 795 EFIAPI 785 796 BuildBspStoreHob ( 786 IN EFI_PHYSICAL_ADDRESS 787 IN UINT64 788 IN EFI_MEMORY_TYPE 797 IN EFI_PHYSICAL_ADDRESS BaseAddress, 798 IN UINT64 Length, 799 IN EFI_MEMORY_TYPE MemoryType 789 800 ) 790 801 { 791 802 EFI_HOB_MEMORY_ALLOCATION_BSP_STORE *Hob; 792 803 793 ASSERT (((BaseAddress & (EFI_PAGE_SIZE - 1)) == 0) && 794 ((Length & (EFI_PAGE_SIZE - 1)) == 0)); 795 796 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, (UINT16) sizeof (EFI_HOB_MEMORY_ALLOCATION_BSP_STORE)); 804 ASSERT ( 805 ((BaseAddress & (EFI_PAGE_SIZE - 1)) == 0) && 806 ((Length & (EFI_PAGE_SIZE - 1)) == 0) 807 ); 808 809 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, (UINT16)sizeof (EFI_HOB_MEMORY_ALLOCATION_BSP_STORE)); 797 810 if (Hob == NULL) { 798 811 return; … … 827 840 EFIAPI 828 841 BuildMemoryAllocationHob ( 829 IN EFI_PHYSICAL_ADDRESS 830 IN UINT64 831 IN EFI_MEMORY_TYPE 842 IN EFI_PHYSICAL_ADDRESS BaseAddress, 843 IN UINT64 Length, 844 IN EFI_MEMORY_TYPE MemoryType 832 845 ) 833 846 { 834 847 EFI_HOB_MEMORY_ALLOCATION *Hob; 835 848 836 ASSERT (((BaseAddress & (EFI_PAGE_SIZE - 1)) == 0) && 837 ((Length & (EFI_PAGE_SIZE - 1)) == 0)); 838 839 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, (UINT16) sizeof (EFI_HOB_MEMORY_ALLOCATION)); 849 ASSERT ( 850 ((BaseAddress & (EFI_PAGE_SIZE - 1)) == 0) && 851 ((Length & (EFI_PAGE_SIZE - 1)) == 0) 852 ); 853 854 Hob = InternalPeiCreateHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, (UINT16)sizeof (EFI_HOB_MEMORY_ALLOCATION)); 840 855 if (Hob == NULL) { 841 856 return;
Note:
See TracChangeset
for help on using the changeset viewer.