summaryrefslogtreecommitdiffhomepage
path: root/dev/Boot/src
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-04 12:04:32 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-04 12:04:32 +0100
commit179b2fcaeb7d1ce1710c4957c2b9848f3f60bbb8 (patch)
tree27f7ff7e0a54e5b30c80458956f4612b9570d319 /dev/Boot/src
parent45f6db992d305c9937056e9f7e7205677143d94c (diff)
ADD: AHCI Metadata support, and working towards I/O support.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Boot/src')
-rw-r--r--dev/Boot/src/HEL/AMD64/EFIBootStartup.cc (renamed from dev/Boot/src/HEL/AMD64/BootMain.cc)2
-rw-r--r--dev/Boot/src/HEL/ARM64/CoreBootStartup.S36
-rw-r--r--dev/Boot/src/HEL/ARM64/EFIBootStartup.cc (renamed from dev/Boot/src/HEL/ARM64/BootMain.cc)0
3 files changed, 38 insertions, 0 deletions
diff --git a/dev/Boot/src/HEL/AMD64/BootMain.cc b/dev/Boot/src/HEL/AMD64/EFIBootStartup.cc
index f2d6276b..5b05e1bb 100644
--- a/dev/Boot/src/HEL/AMD64/BootMain.cc
+++ b/dev/Boot/src/HEL/AMD64/EFIBootStartup.cc
@@ -218,6 +218,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
syschk_thread->SetName("BootZ: System Recovery Check");
}
+#if 0
Boot::BDiskFormatFactory<BootDeviceATA> partition_factory;
if (syschk_thread->Start(handover_hdr, NO) != kEfiOk)
@@ -244,6 +245,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr image_handle,
fb_clear();
}
}
+#endif
// ------------------------------------------ //
// null these fields, to avoid being reused later.
diff --git a/dev/Boot/src/HEL/ARM64/CoreBootStartup.S b/dev/Boot/src/HEL/ARM64/CoreBootStartup.S
new file mode 100644
index 00000000..ee2dd3ec
--- /dev/null
+++ b/dev/Boot/src/HEL/ARM64/CoreBootStartup.S
@@ -0,0 +1,36 @@
+/* -------------------------------------------
+
+ Copyright (C) 2024, Theater Quality Corp, all rights reserved.
+
+------------------------------------------- */
+
+.section .boot_hdr
+.align 4
+
+/* BootZ boot header begin */
+
+boot_hdr_mag:
+ .ascii "CB"
+boot_hdr_name:
+ // it has to match ten bytes.
+ .asciz "zbaosldr\0\0"
+boot_hdr_ver:
+ .word 0x104
+boot_hdr_proc:
+ .long bootloader_start
+
+/* BootZ boot header end */
+
+.extern bootloader_main
+.extern bootloader_stack
+
+.globl bootloader_start
+bootloader_start:
+ adr x0, bootloader_stack
+ ldr x1, =bootloader_start
+ sub x0, x0, x1
+ ldr x0, [x0]
+ mov sp, x0
+
+ bl bootloader_main
+ ret \ No newline at end of file
diff --git a/dev/Boot/src/HEL/ARM64/BootMain.cc b/dev/Boot/src/HEL/ARM64/EFIBootStartup.cc
index 4d303c33..4d303c33 100644
--- a/dev/Boot/src/HEL/ARM64/BootMain.cc
+++ b/dev/Boot/src/HEL/ARM64/EFIBootStartup.cc