Difference between revisions of "Power ISA/Privilege States"
Jump to navigation
Jump to search
(moving from Power ISA) |
(rewrite) |
||
Line 1: | Line 1: | ||
− | + | == States == | |
− | |||
− | |||
− | |||
− | At the moment very little information exists about the | + | === Ultravisor State === |
+ | |||
+ | At the moment very little information exists about the Ultravisor State. It is not mentioned in Power ISA version 2.07 documents at all, and version 3.0B only mentions it as a possible privilege of instructions. There is no official documentation of a ''UV'' - ''Ultravisor State'' [[Machine State Register]] bit, although some source code does reference its existence.<ref>https://patchwork.ozlabs.org/patch/719952/</ref> | ||
+ | |||
+ | === Hypervisor State === | ||
+ | |||
+ | Hypervisor State was introduced in POWER4, although for some time it was not included in documentation, appearing only as a ''reserved'' bit in the Machine State Register.<ref>Kerr, Jeremy. [https://www.youtube.com/watch?v=DigNr08GVss OpenPOWER: building an open-source software stack from bare metal] (video). Linux.conf.au 2015</ref> It is indicated by the [[Machine State Register#Bit_3_-_Hypervisor_State_.28HV.29|HV (bit 3)]] of the Machine State Register | ||
+ | |||
+ | === Privileged State === | ||
+ | |||
+ | Also called Supervisor Mode | ||
+ | |||
+ | === Problem State === | ||
+ | |||
+ | Also called User Mode | ||
+ | |||
+ | == Instruction Classification == | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 51: | Line 64: | ||
|an instruction that can be executed only in ultravisor state | |an instruction that can be executed only in ultravisor state | ||
|} | |} | ||
+ | |||
+ | == References == | ||
+ | |||
+ | <references/> |
Revision as of 01:46, 21 January 2018
Contents
States
Ultravisor State
At the moment very little information exists about the Ultravisor State. It is not mentioned in Power ISA version 2.07 documents at all, and version 3.0B only mentions it as a possible privilege of instructions. There is no official documentation of a UV - Ultravisor State Machine State Register bit, although some source code does reference its existence.[1]
Hypervisor State
Hypervisor State was introduced in POWER4, although for some time it was not included in documentation, appearing only as a reserved bit in the Machine State Register.[2] It is indicated by the HV (bit 3) of the Machine State Register
Privileged State
Also called Supervisor Mode
Problem State
Also called User Mode
Instruction Classification
Code | 2.07 | 3.0B | Description |
---|---|---|---|
P | Yes | Yes | a privileged instruction. |
O | Yes | Yes | an instruction that is treated as privileged or nonprivileged (or hypervisor, for mtspr), depend-
ing on the SPR or PMR number. |
PI | No | Yes | an instruction that is illegal in privileged state. |
H | Yes | Yes | an instruction that can be executed only in hypervisor state |
PH | Yes | No | a hypervisor privileged instruction if Category Embedded.Hypervisor is implemented; otherwise
denotes a privileged instruction. |
M | Yes | No | an instruction that is treated as privileged or nonprivileged, depending on the value of the UCLE
bit in the MSR |
U | No | Yes | an instruction that can be executed only in ultravisor state |
References
- ↑ https://patchwork.ozlabs.org/patch/719952/
- ↑ Kerr, Jeremy. OpenPOWER: building an open-source software stack from bare metal (video). Linux.conf.au 2015