diff options
Diffstat (limited to 'dev/ZBA')
| -rw-r--r-- | dev/ZBA/Sources/HEL/AMD64/BootMain.cxx | 13 | ||||
| -rw-r--r-- | dev/ZBA/amd64-efi.make | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx b/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx index 57f23b22..2e11d27f 100644 --- a/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx +++ b/dev/ZBA/Sources/HEL/AMD64/BootMain.cxx @@ -126,6 +126,15 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, handoverHdrPtr->f_GOP.f_PixelFormat = kGop->Mode->Info->PixelFormat; handoverHdrPtr->f_GOP.f_Size = kGop->Mode->FrameBufferSize; + auto guid_mp = EfiGUID(EFI_MP_SERVICES_PROTOCOL_GUID); + VoidPtr mp = nullptr; + + extern EfiBootServices* BS; + + BS->LocateProtocol(&guid_mp, nullptr, &mp); + + handoverHdrPtr->f_HardwareTables.f_MPPtr = mp; + kHandoverHeader = handoverHdrPtr; CGInit(); @@ -192,6 +201,8 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, BCopyMem(handoverHdrPtr->f_FirmwareVendorName, SystemTable->FirmwareVendor, handoverHdrPtr->f_FirmwareVendorLen); + handoverHdrPtr->f_FirmwareVendorLen = BStrLen(SystemTable->FirmwareVendor); + // Assign to global 'kHandoverHeader'. BDiskFormatFactory<BootDeviceATA> checkPart; @@ -234,8 +245,6 @@ EFI_EXTERN_C EFI_API Int Main(EfiHandlePtr ImageHandle, loader->SetName("64-bit Kernel DLL."); } - handoverHdrPtr->f_FirmwareVendorLen = BStrLen(SystemTable->FirmwareVendor); - EFI::ExitBootServices(MapKey, ImageHandle); // ---------------------------------------------------- // diff --git a/dev/ZBA/amd64-efi.make b/dev/ZBA/amd64-efi.make index 85d27e7a..dcb0972c 100644 --- a/dev/ZBA/amd64-efi.make +++ b/dev/ZBA/amd64-efi.make @@ -29,7 +29,7 @@ IMG=epm-master-1.img IMG_2=epm-slave.img IMG_3=epm-master-2.img -EMU_FLAGS=-net none -smp 2 -m 8G -M q35 \ +EMU_FLAGS=-net none -smp 4 -m 8G -M q35 \ -bios $(BIOS) -device piix3-ide,id=ide \ -drive id=disk,file=$(IMG),format=raw,if=none \ -device ide-hd,drive=disk,bus=ide.0 -drive \ |
