本部分描述了领域如何由主机调度以及在领域执行期间发生的异常如何传递给主机。
以下图表显示了进入和退出领域的过程:
运行特定领域VCPU的决定由主机采取,并通过执行RMI“run”命令来实施,传递相应REC的地址。这在图表中显示为“Run Realm”。作为响应,RMM从REC中恢复寄存器状态,然后将控制传递给领域。这在图表中显示为“Restore Realm Context”。
在EL2上发生异常时,RMM执行以下操作之一:
- 执行领域请求的操作,然后将控制返回给领域,或
- 将领域寄存器状态保存到REC,然后从“run”命令返回,提供足够的信息以使主机处理异常。例如,主机可以响应页面故障或处理中断。
调度Realm VCPU然后处理退出的流程适合现有的hypervisor调度框架。