Android设备在运行多个(可能几十个)A32 apk进程时如何运行AARCH64内核? 这是否意味着内核将不断创建数百万个执行状态切换?
或者Android内核在不久的将来不会成为AARCH64?
答案 0 :(得分:4)
内核正在制作数百万个执行状态切换器"无论如何;每次中断或系统调用或调度新任务时,它都会在切换到EL1时保留EL0上下文,然后在返回时恢复相同或不同的上下文。从该位置开始,保留/恢复32位EL0与64位EL0之间的差异并不比所涉及的寄存器数量多得多。特定的AArch32 / AArch64细节只是SPSR中处理器模式的一部分,由硬件作为异常进入/返回机制的固有部分处理。
arm64内核中的大部分兼容层实际上是32位和64位系统调用ABI之间的转换;其余的只是落后于架构设计的方式。
至于"不久的将来&#34 ;,好吧,Android L及其完整的64位支持已经出现了一段时间......