summaryrefslogtreecommitdiffhomepage
path: root/dev/ZBA
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-08-20 02:53:51 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-08-20 02:53:51 +0200
commit4eb813ba7247d9e2bebf255ecc50f68c0a71bb72 (patch)
treef818bb72f3dcad6e03d77d7b2280b3172f9d29df /dev/ZBA
parent860e40b89cca46050850afc79da958bb651d713f (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')
-rw-r--r--dev/ZBA/Sources/HEL/AMD64/BootMain.cxx13
-rw-r--r--dev/ZBA/amd64-efi.make2
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 \