PowerPC保护/特权模式结构

时间:2017-10-21 16:00:00

标签: powerpc

在哪里可以获得有关PowerPC特权/保护模式结构的信息? 我曾尝试查看用户手册,但我无法获得任何信息。

1 个答案:

答案 0 :(得分:1)

在架构上,它相当简单 - 作为一个广泛的概述:首先,您在机器状态寄存器(MSR)中有几个位:问题状态(PR)和管理程序(HV)。这两位代表三种状态:

  • PR = 1,HV = x - nonrivileged(通常为:userspace)
  • PR = 0,HV = 0 - 主管(通常是:虚拟客户操作系统内核)
  • PR = 0,HV = 1 - 虚拟机管理程序(通常:虚拟机管理程序主机或非虚拟化操作系统内核)

如果您的实施不支持硬件虚拟化(即,没有HV位),那么只有两种状态:

  • PR = 1 - 用户空间
  • PR = 0 - 主管

然后,某些设施仅在特定的机器状态下可用。例如,某些专用寄存器只能在PR = 0状态下访问;尝试以PR = 1访问这些寄存器将导致程序中断,将控制权转移回OS。然后,操作系统可以决定要采取的操作(例如,终止进程,或代表该进程访问特权资源)。

当然,MSR本身就是特权;用户空间进程不能简单地清除PR位以进入管理员状态。

为了实现对存储器的访问控制,存储控制设备可以将映射标记为仅在机器处于PR = 0和/或HV = 1状态时可用。处理虚拟地址转换将根据机器状态检查映射配置,如果不允许访问,则可能引发数据或指令存储异常。同样,这会将控制权转移回OS / hypervisor。

有关详细信息,请参阅POWER ISA文档。第三册有关于特权国家的大部分细节。