add xizi smp

This commit is contained in:
wty 2024-07-29 15:41:37 +08:00
parent e61c8909b7
commit 4c598c8fd9
3 changed files with 9 additions and 8 deletions

View File

@ -1,6 +1,6 @@
SRC_FILES := boot.S \ SRC_FILES := boot.S \
xizi_smp.S \
smp.c \ smp.c \
smccc-call.S \
cortexA55.S cortexA55.S
include $(KERNEL_ROOT)/compiler.mk include $(KERNEL_ROOT)/compiler.mk

View File

@ -48,7 +48,7 @@ Modification:
#include <stdint.h> #include <stdint.h>
#define PSCI_CPUON 0xc4000003 #define PSCI_CPUON 0xc4000003
struct arm_smccc_res { struct xizi_smccc_res {
unsigned long a0; unsigned long a0;
unsigned long a1; unsigned long a1;
unsigned long a2; unsigned long a2;
@ -57,18 +57,19 @@ struct arm_smccc_res {
extern void _boot_start(); extern void _boot_start();
extern void __print(); extern void __print();
extern void __arm_smccc_smc(unsigned long a0, unsigned long a1, unsigned long a2,
unsigned long a3, unsigned long a4, unsigned long a5,
unsigned long a6, unsigned long a7, struct arm_smccc_res* res);
static struct arm_smccc_res __invoke_sip_fn_smc(unsigned long function_id, extern void __xizi_smccc_smc(unsigned long a0, unsigned long a1, unsigned long a2,
unsigned long a3, unsigned long a4, unsigned long a5,
unsigned long a6, unsigned long a7, struct xizi_smccc_res* res);
static struct xizi_smccc_res __invoke_sip_fn_smc(unsigned long function_id,
unsigned long arg0, unsigned long arg0,
unsigned long arg1, unsigned long arg1,
unsigned long arg2) unsigned long arg2)
{ {
struct arm_smccc_res res; struct xizi_smccc_res res;
__arm_smccc_smc(function_id, arg0, arg1, arg2, 0, 0, 0, 0, &res); __xizi_smccc_smc(function_id, arg0, arg1, arg2, 0, 0, 0, 0, &res);
return res; return res;
} }