diff options
| author | Amlal <amlal.elmahrouss@icloud.com> | 2025-02-15 10:55:46 +0100 |
|---|---|---|
| committer | Amlal <amlal.elmahrouss@icloud.com> | 2025-02-15 10:55:58 +0100 |
| commit | 9d340d010d80b074fa9b038087a499ac4009ead1 (patch) | |
| tree | 2dbd59e26d58e3a8a24853c97629e5d9cc05c09f /dev/Boot | |
| parent | 5961b530b3d28a2258268c37d69dca22cc3a2423 (diff) | |
ADD: Almost done on AHCI:
- Got the HBA to respond.
- Got it to do some transfers.
- Now debugging a GPF.
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Boot')
| -rw-r--r-- | dev/Boot/amd64-desktop.make | 20 | ||||
| -rw-r--r-- | dev/Boot/src/HEL/AMD64/BootEFI.cc | 2 |
2 files changed, 21 insertions, 1 deletions
diff --git a/dev/Boot/amd64-desktop.make b/dev/Boot/amd64-desktop.make index aa48a2e1..bb5deb71 100644 --- a/dev/Boot/amd64-desktop.make +++ b/dev/Boot/amd64-desktop.make @@ -28,6 +28,24 @@ BIOS=OVMF.fd IMG=epm-master-1.img IMG_2=epm-master-2.img +DISK_DRV = + +ifneq ($(ATA_PIO_SUPPORT), ) +DISK_DRV = -D__ATA_PIO__ +endif + +ifneq ($(ATA_DMA_SUPPORT), ) +DISK_DRV = -D__ATA_DMA__ +endif + +ifneq ($(AHCI_SUPPORT), ) +DISK_DRV = -D__AHCI__ +endif + +ifneq ($(DEBUG_SUPPORT), ) +DEBUG_MACRO = -D__DEBUG__ +endif + ifeq ($(shell uname), Darwin) EMU_FLAGS=-net none -smp 4 -m 8G \ -bios $(BIOS) -drive \ @@ -50,7 +68,7 @@ REM_FLAG=-f FLAG_ASM=-f win64 FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mno-red-zone -D__NEOSKRNL__ -D__ZBAOSLDR__ \ - -DEFI_FUNCTION_WRAPPER -I./ -I../Kernel -I../ -c -nostdlib -fno-rtti -fno-exceptions \ + -DEFI_FUNCTION_WRAPPER -I./ -I../Kernel $(DISK_DRV) -I../ -c -nostdlib -fno-rtti -fno-exceptions \ -std=c++20 -DBOOTZ_GPT_SUPPORT -DBOOTZ_EPM_SUPPORT -D__HAVE_NE_APIS__ -DZBA_USE_FB -D__NE_AMD64__ -D__NE__ -DNE_AUTO_FORMAT BOOTLOADER=zbaosldr.exe diff --git a/dev/Boot/src/HEL/AMD64/BootEFI.cc b/dev/Boot/src/HEL/AMD64/BootEFI.cc index c6d1ca9d..b3e03f01 100644 --- a/dev/Boot/src/HEL/AMD64/BootEFI.cc +++ b/dev/Boot/src/HEL/AMD64/BootEFI.cc @@ -226,6 +226,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle, syschk_thread->SetName("BootZ: System Recovery Check"); } +#ifndef __AHCI__ Boot::BDiskFormatFactory<BootDeviceATA> partition_factory; if (syschk_thread->Start(handover_hdr, NO) != kEfiOk) @@ -252,6 +253,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle, fb_clear(); } } +#endif // ------------------------------------------ // // null these fields, to avoid being reused later. |
