From 05a07fc0a893bd57871bb2c37fa37beb18372394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ciro=20Santilli=20=E5=85=AD=E5=9B=9B=E4=BA=8B=E4=BB=B6=20?= =?UTF-8?q?=E6=B3=95=E8=BD=AE=E5=8A=9F?= Date: Thu, 26 Mar 2020 00:00:00 +0000 Subject: [PATCH] baremetal: make entry point _start instead of lkmc_start I forgot why I did that. Let's try and see it blow up. --- baremetal/arch/aarch64/no_bootloader/exit.S | 4 ++-- baremetal/arch/aarch64/no_bootloader/gem5_exit.S | 4 ++-- baremetal/arch/aarch64/no_bootloader/multicore_asm.S | 4 ++-- baremetal/arch/aarch64/no_bootloader/semihost_exit.S | 6 +++--- baremetal/arch/aarch64/no_bootloader/wfe_loop.S | 6 +++--- baremetal/arch/arm/no_bootloader/gem5_exit.S | 4 ++-- baremetal/arch/arm/no_bootloader/multicore_asm.S | 4 ++-- baremetal/arch/arm/no_bootloader/semihost_exit.S | 4 ++-- baremetal/lib/aarch64.S | 4 ++-- baremetal/lib/arm.S | 4 ++-- baremetal/link.ld | 2 +- 11 files changed, 23 insertions(+), 23 deletions(-) diff --git a/baremetal/arch/aarch64/no_bootloader/exit.S b/baremetal/arch/aarch64/no_bootloader/exit.S index 5ce2a2b..15ce9fc 100644 --- a/baremetal/arch/aarch64/no_bootloader/exit.S +++ b/baremetal/arch/aarch64/no_bootloader/exit.S @@ -2,7 +2,7 @@ #include -.global lkmc_start -lkmc_start: +.global _start +_start: mov x0, 0 bl _exit diff --git a/baremetal/arch/aarch64/no_bootloader/gem5_exit.S b/baremetal/arch/aarch64/no_bootloader/gem5_exit.S index 06045c0..4c678fc 100644 --- a/baremetal/arch/aarch64/no_bootloader/gem5_exit.S +++ b/baremetal/arch/aarch64/no_bootloader/gem5_exit.S @@ -1,5 +1,5 @@ #include -.global lkmc_start -lkmc_start: +.global _start +_start: LKMC_M5OPS_EXIT_ASM diff --git a/baremetal/arch/aarch64/no_bootloader/multicore_asm.S b/baremetal/arch/aarch64/no_bootloader/multicore_asm.S index ac240dc..b3aa3f3 100644 --- a/baremetal/arch/aarch64/no_bootloader/multicore_asm.S +++ b/baremetal/arch/aarch64/no_bootloader/multicore_asm.S @@ -5,8 +5,8 @@ #include -.global lkmc_start -lkmc_start: +.global _start +_start: /* Reset spinlock. */ mov x0, 0 ldr x1, =.Lspinlock diff --git a/baremetal/arch/aarch64/no_bootloader/semihost_exit.S b/baremetal/arch/aarch64/no_bootloader/semihost_exit.S index c91d81c..ad4a657 100644 --- a/baremetal/arch/aarch64/no_bootloader/semihost_exit.S +++ b/baremetal/arch/aarch64/no_bootloader/semihost_exit.S @@ -1,11 +1,11 @@ /* https://cirosantilli.com/linux-kernel-module-cheat#semihosting * - * Since our stack pointer is not setup, we justa allocate a memory + * Since our stack pointer is not setup, we just a allocate a memory * region to contain the semihosting arguments, which must be in memory. */ -.global lkmc_start -lkmc_start: +.global _start +_start: mov x1, 0x26 movk x1, 2, lsl 16 ldr x2, =.Lsemihost_args diff --git a/baremetal/arch/aarch64/no_bootloader/wfe_loop.S b/baremetal/arch/aarch64/no_bootloader/wfe_loop.S index c4e7d98..21a6eed 100644 --- a/baremetal/arch/aarch64/no_bootloader/wfe_loop.S +++ b/baremetal/arch/aarch64/no_bootloader/wfe_loop.S @@ -2,7 +2,7 @@ #include -.global lkmc_start -lkmc_start: +.global _start +_start: wfe - b lkmc_start + b _start diff --git a/baremetal/arch/arm/no_bootloader/gem5_exit.S b/baremetal/arch/arm/no_bootloader/gem5_exit.S index deed641..7a6a407 100644 --- a/baremetal/arch/arm/no_bootloader/gem5_exit.S +++ b/baremetal/arch/arm/no_bootloader/gem5_exit.S @@ -1,3 +1,3 @@ -.global lkmc_start -lkmc_start: +.global _start +_start: mov r0, #0; mov r1, #0; .inst 0xEE000110 | (0x21 << 16); diff --git a/baremetal/arch/arm/no_bootloader/multicore_asm.S b/baremetal/arch/arm/no_bootloader/multicore_asm.S index 9bd944d..af0b117 100644 --- a/baremetal/arch/arm/no_bootloader/multicore_asm.S +++ b/baremetal/arch/arm/no_bootloader/multicore_asm.S @@ -2,8 +2,8 @@ #include -.global lkmc_start -lkmc_start: +.global _start +_start: mov r0, 0 ldr r1, =.Lspinlock str r0, [r1] diff --git a/baremetal/arch/arm/no_bootloader/semihost_exit.S b/baremetal/arch/arm/no_bootloader/semihost_exit.S index bfe85c2..59ed806 100644 --- a/baremetal/arch/arm/no_bootloader/semihost_exit.S +++ b/baremetal/arch/arm/no_bootloader/semihost_exit.S @@ -1,5 +1,5 @@ -.global lkmc_start -lkmc_start: +.global _start +_start: mov r0, #0x18 ldr r1, =#0x20026 svc 0x00123456 diff --git a/baremetal/lib/aarch64.S b/baremetal/lib/aarch64.S index 63c8b5a..8e175f3 100644 --- a/baremetal/lib/aarch64.S +++ b/baremetal/lib/aarch64.S @@ -1,7 +1,7 @@ #include -.global lkmc_start -lkmc_start: +.global _start +_start: /* Make all CPUs except CPU0 sleep by default. */ mrs x0, mpidr_el1 ands x0, x0, 3 diff --git a/baremetal/lib/arm.S b/baremetal/lib/arm.S index eb7d314..6f015d1 100644 --- a/baremetal/lib/arm.S +++ b/baremetal/lib/arm.S @@ -1,7 +1,7 @@ #include -.global lkmc_start -lkmc_start: +.global _start +_start: /* Make all CPUs except CPU0 sleep by default. */ mrc p15, 0, r0, c0, c0, 5 ands r0, r0, 3 diff --git a/baremetal/link.ld b/baremetal/link.ld index 91a9119..063ef8b 100644 --- a/baremetal/link.ld +++ b/baremetal/link.ld @@ -1,4 +1,4 @@ -ENTRY(lkmc_start) +ENTRY(_start) SECTIONS { .text : {