diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-08-20 02:53:51 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-08-20 02:53:51 +0200 |
| commit | 4eb813ba7247d9e2bebf255ecc50f68c0a71bb72 (patch) | |
| tree | f818bb72f3dcad6e03d77d7b2280b3172f9d29df /dev/ZBA/Sources | |
| parent | 860e40b89cca46050850afc79da958bb651d713f (diff) | |
+ IMP: Using Hybrid MP services on ZKA_EFI firmware.
+ Implement HPET on HardwareTimer and added a SoftwareTimer.
+ Implemented Hybrid MP Services on EFI.hxx.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZBA/Sources')
| -rw-r--r-- | dev/ZBA/Sources/HEL/AMD64/BootMain.cxx | 13 |
1 files changed, 11 insertions, 2 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); // ---------------------------------------------------- // |
