From 912a4c7169e171a40b52d88c0ac82445855b979b Mon Sep 17 00:00:00 2001 From: Ada Christine Date: Sat, 6 Apr 2024 15:37:04 +0000 Subject: more abstract build --- service/arch/x86_64/start.S | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 service/arch/x86_64/start.S (limited to 'service/arch/x86_64/start.S') diff --git a/service/arch/x86_64/start.S b/service/arch/x86_64/start.S new file mode 100644 index 0000000..a9d5ada --- /dev/null +++ b/service/arch/x86_64/start.S @@ -0,0 +1,30 @@ +.section .text.start + +.extern kc_image_base; +.extern _DYNAMIC; +.extern kc_dynamic_init; +.extern kjarna_entry + +.hidden _start +.global _start +.type _start, @function +_start: + push %rbp + push %rdi + push %rsi + mov %rsp, %rbp + and $-0x10, %rsp + lea kc_image_base(%rip), %rdi + lea _DYNAMIC(%rip), %rsi + call kc_dynamic_init + mov %rbp, %rsp + pop %rsi + pop %rdi + mov %rsp, %rbp + and $-0x10, %rsp + call kjarna_entry + mov %rbp, %rsp + pop %rbp + ret +.size _start, . - _start + -- cgit v1.3.1-1-g115d