summaryrefslogtreecommitdiffhomepage
path: root/Boot
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-06-28 15:38:05 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-06-28 15:44:12 +0200
commita9b891eb31b874c14fce79f7e3e9da8fab475224 (patch)
tree60c7dc9d822f1ddcdb4550b93db9e9fea49605b3 /Boot
parentc142fe6fda7d09e929c9706b444cdc13ed5e72f3 (diff)
IMP: 64X000 newosldr support.
Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Boot')
-rw-r--r--Boot/Sources/HEL/64X000/.gitkeep (renamed from Boot/Sources/HEL/RISCV/.gitkeep)0
-rw-r--r--Boot/Sources/HEL/64X000/Boot64x0.S35
-rw-r--r--Boot/Sources/HEL/POWER/CoreBootStartup.S8
-rw-r--r--Boot/Sources/HEL/RISCV/BootRISCV.S22
4 files changed, 39 insertions, 26 deletions
diff --git a/Boot/Sources/HEL/RISCV/.gitkeep b/Boot/Sources/HEL/64X000/.gitkeep
index e69de29b..e69de29b 100644
--- a/Boot/Sources/HEL/RISCV/.gitkeep
+++ b/Boot/Sources/HEL/64X000/.gitkeep
diff --git a/Boot/Sources/HEL/64X000/Boot64x0.S b/Boot/Sources/HEL/64X000/Boot64x0.S
new file mode 100644
index 00000000..9b2fb569
--- /dev/null
+++ b/Boot/Sources/HEL/64X000/Boot64x0.S
@@ -0,0 +1,35 @@
+/* -------------------------------------------
+
+ Copyright Zeta Electronics Corporation
+
+------------------------------------------- */
+
+.section .boot_hdr
+.align 4
+
+/* NewBoot boot header begin for a 64x000 kernel. */
+
+boot_hdr_mag:
+ .ascii "CB"
+boot_hdr_name:
+ // it has to match ten bytes.
+ .asciz "newosldr\0\0"
+boot_hdr_ver:
+ .word 0x104
+boot_hdr_proc:
+ .long bootloader_start
+
+/* NewBoot boot header end */
+
+.extern bootloader_main
+.extern bootloader_stack
+
+.globl bootloader_start
+bootloader_start:
+ psh 4 /* real address of .Laddr */
+ ldi 0,(bootloader_stack-bootloader_start)(4) /* stack address location */
+ mv 19,0 /* use user defined stack */
+ jrl
+
+ bl bootloader_main
+ blr
diff --git a/Boot/Sources/HEL/POWER/CoreBootStartup.S b/Boot/Sources/HEL/POWER/CoreBootStartup.S
index e1a186ae..cff1add7 100644
--- a/Boot/Sources/HEL/POWER/CoreBootStartup.S
+++ b/Boot/Sources/HEL/POWER/CoreBootStartup.S
@@ -19,16 +19,16 @@ boot_hdr_ver:
boot_hdr_proc:
.long bootloader_start
-/* NewOS boot header end */
+/* NewBoot boot header end */
.extern bootloader_main
.extern bootloader_stack
.globl bootloader_start
bootloader_start:
- mflr 4 /* real address of .Laddr */
- lwz 0,(bootloader_stack-bootloader_start)(4) /* stack address location */
- mr 1,0 /* use user defined stack */
+ mflr 4 /* real address of .Laddr */
+ lwz 0,(bootloader_stack-bootloader_start)(4) /* stack address location */
+ mr 1,0 /* use user defined stack */
bl bootloader_main
blr
diff --git a/Boot/Sources/HEL/RISCV/BootRISCV.S b/Boot/Sources/HEL/RISCV/BootRISCV.S
deleted file mode 100644
index 2f1e9eb9..00000000
--- a/Boot/Sources/HEL/RISCV/BootRISCV.S
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -------------------------------------------
-
- Copyright Zeta Electronics Corporation
-
-------------------------------------------- */
-
-.section .init
-.align 4
-
-/* NewOS kernel header begin */
-
-k_hdr_mag:
- .ascii "LX"
-k_hdr_name:
- // it has to match ten bytes.
- .asciz "newosldr\0\0"
-k_hdr_ver:
- .word 0x104
-k_hdr_proc:
- .long bootloader_start
-
-/* end */ \ No newline at end of file