Gekko: Add union for segment registers
Will be used in the following commit.
This commit is contained in:
parent
75840f62ff
commit
e687569e02
|
@ -721,6 +721,27 @@ union UReg_BAT_Lo
|
||||||
explicit UReg_BAT_Lo(u32 hex_) : Hex{hex_} {}
|
explicit UReg_BAT_Lo(u32 hex_) : Hex{hex_} {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Segment register
|
||||||
|
union UReg_SR
|
||||||
|
{
|
||||||
|
BitField<0, 24, u32> VSID; // Virtual segment ID
|
||||||
|
BitField<24, 4, u32> reserved; // Reserved
|
||||||
|
BitField<28, 1, u32> N; // No-execute protection
|
||||||
|
BitField<29, 1, u32> Kp; // User-state protection
|
||||||
|
BitField<30, 1, u32> Ks; // Supervisor-state protection
|
||||||
|
BitField<31, 1, u32> T; // Segment register format selector
|
||||||
|
|
||||||
|
// These override other fields if T = 1
|
||||||
|
|
||||||
|
BitField<0, 20, u32> CNTLR_SPEC; // Device-specific data for I/O controller
|
||||||
|
BitField<20, 9, u32> BUID; // Bus unit ID
|
||||||
|
|
||||||
|
u32 Hex = 0;
|
||||||
|
|
||||||
|
UReg_SR() = default;
|
||||||
|
explicit UReg_SR(u32 hex_) : Hex{hex_} {}
|
||||||
|
};
|
||||||
|
|
||||||
union UReg_THRM12
|
union UReg_THRM12
|
||||||
{
|
{
|
||||||
BitField<0, 1, u32> V; // Valid
|
BitField<0, 1, u32> V; // Valid
|
||||||
|
|
Loading…
Reference in New Issue