boot/platform/efi: Fill out riscv64 kernel entry assembly

Change-Id: I18867f2c1188b43d5c663a7ceb3aab4a4dedb454
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3731
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
This commit is contained in:
Alexander von Gluck IV 2021-02-02 15:54:31 -06:00 committed by Alex von Gluck IV
parent 9e4c5cf124
commit 0cbad7f3a3

View File

@ -1,35 +1,32 @@
/* /*
* Copyright 2011, François Revol <revol@free.fr>. * Copyright 2020-2021, Haiku, Inc. All rights reserved.
* All rights reserved. Distributed under the terms of the MIT License. * Distributed under the terms of the MIT License.
*/ */
#include <asm_defs.h> #include <asm_defs.h>
.text .text
/* status_t arch_enter_kernel(struct kernel_args *kernelArgs, /* status_t arch_enter_kernel(struct kernel_args *kernelArgs,
addr_t kernelEntry, addr_t kernelStackTop); addr_t kernelEntry, addr_t kernelStackTop);
r0 - kernelArgs a0 - kernelArgs
r1 - kernelEntry a1 - kernelEntry
r2 - kernelStackTop a2 - kernelStackTop
*/ */
FUNCTION(arch_enter_kernel): FUNCTION(arch_enter_kernel):
nop // set the kernel stack
mv sp,a2
// // set the kernel stack // Setup kernel args
// mov sp,r2 //mv a0,a0 // kernelArgs
// mv a4,a1
// // set up kernel _start args li a1,0 // currentCPU=0
// //mov r0,r0 // kernelArgs
// mov r4,r1 // call the kernel
// mov r1,#0 // currentCPU=0 jr a4
//
// // call the kernel // return
// mov pc,r4 li a0,-1 // B_ERROR
// ret
// // return
// mov r0,#-1 // B_ERROR
// mov pc,lr
FUNCTION_END(arch_enter_kernel) FUNCTION_END(arch_enter_kernel)