同时,基本启动需求(BBR)规范也至关重要。它涵盖了操作系统和虚拟机管理程序可以依赖的系统启动要求。该规范不仅定义了固件接口要求,如PSCI、SMCCC、UEFI、ACPI和SMBIOS,还提供了针对特定用例的方法,如SBBR、EBBR和LBBR,以满足不同操作系统的启动需求。综上所述,ARM架构及其相关规范在确保软件兼容性方面发挥着至...
11static unsigned long __invoke_psci_fn_smc(unsigned long function_id, 12 unsigned long arg0, unsigned long arg1, 13 unsigned long arg2) 14{ 15 struct arm_smccc_res res; 16 17 arm_smccc_smc(function_id, arg0, arg1, arg2, 0, 0, 0, 0, &res); 18 return res.a0; 19} 1. 2....
0x8400 0014-SMC32版本 0xC400 0014-SMC64版本 uint32 Function ID: uint32/64 base 要检查的内存的基地址; uint32/64 length 要检查的内存的长度; 返回值 int32: SUCCESS DENIED NOT_SUPPORTED 5.14 PSCI_FEATURES 功能描述 查询SMCCC_VERSION或者某个PSCI功能是否被实现。PSCI 1.0引入。 参数 0x8400 000A ...
基本引导需求(BBR)规范涵盖了基于Arm架构的系统需求,以及操作系统和管理程序可以依赖的系统需求。该规范建立了固件接口需求,如PSCI、SMCCC、UEFI、ACPI和SMBIOS。 ISA: 规范是软件兼容性的基础。根据规范构建硬件意味着可以编写与之匹配的软件。根据规范编写软件意味着它可以在兼容的硬件上运行。Arm架构是第一层,通过指...
method = "smc"; cpu_suspend = <0xC4000001>; cpu_off = <0x84000002>; cpu_on = <0xC4000003>; }; psci节点的详细说明可以参考内核文档:Documentation/devicetree/bindings/arm/psci.txt 可以看到现在enable-method 属性已经是psci,说明使用的多核启动方式是psci, 下面还有psci节点,用于psci驱动使用,method...
smc:安全监控系统调用指令 4. 系统寄存器访问指令 5.内存屏障指令 五、GNU AS汇编器介绍 5.1ARM64的汇编器 (1)ARM公司官方的汇编器; (2)GNU AS汇编器:aarch64-linux-gnu-as; (3)gcc采用as作为汇编器,所以汇编码是AT&T格式; (4)AT&T格式:源于贝尔实验室; (5)ARM格式:ARM官方汇编语法; 汇编语法 (1)...
struct arm_smccc_res res;arm_smccc_smc(function_id, arg0, arg1, arg2, 0, 0, 0, 0, &res); return res.a0; }.macro SMCCC instr .cfi_startproc \instr #0 ldr x4, [sp] stp x0, x1, [x4, #ARM_SMCCC_RES_X0_OFFS]
17arm_smccc_smc(function_id, arg0, arg1, arg2,0,0,0,0, &res); 18returnres.a0; 19} Bootloader 以boot-wrapper-aarch64作分析,看 psci.c 里的 psci_call 实现函数,通过 fid 与 PSCI_CPU_OFF 和 PSCI_CPU_ON 相比,找出需要执行的动作: ...
系统调用类指令(SVC、HVC、SMC) • 系统寄存器指令 读写系统寄存器,如 :MRS、MSR指令 可操作PSTATE的位段寄存器 • 数据处理指令 包括各种算数运算、逻辑运算、位操作、移位(shift)指令 • load/store 内存访问指令 load/store {批量寄存器、单个寄存器、一对寄存器、非-暂存、非特权、独占}以及load-Acquire、...
SMCCC定义了每个SMC请求功能的ID以及入参和返回值。 下面逐一介绍运行在EL3固件的运行服务框架的注册、初始化和使用。 SMCCC定义了每个运行服务框架的SMC功能ID、OEN(Owning Entity Numbers)、Fast和Standard调用、SMC32和SMC64调用转换。 需要优先实现的功能有: ...