Kernelite 0.1.0
Kernelite is a minimalist, educational operating system kernel built from scratch. The project aims to recreate core components of the Linux architecture to explore the fundamentals of operating system design and hardware-software interaction.
Loading...
Searching...
No Matches
Data Fields
gicd_ctlr_t Union Reference

GICv3 Distributor Control Register, GICD_CTLR (0x0000). More...

Data Fields

uint32_t raw
 Raw 32-bit register value.
 
struct { 
 
   bool   enable_grp0: 1 
 Enables Group 0 interrupts.
 
   bool   enable_grp1ns: 1 
 Enables Non-secure Group 1 interrupts.
 
   bool   enable_grp1s: 1 
 Enables Secure Group 1 interrupts. RES0 if are_s == 0.
 
   bool   res0: 1 
 Reserved.
 
   bool   are_s: 1 
 Affinity Routing Enable, Secure state.
 
   bool   are_ns: 1 
 Affinity Routing Enable, Non-secure state.
 
   bool   ds: 1 
 Disable Security. RAO/WI on implementations with a single security state.
 
   bool   e1nwf: 1 
 Enable 1-of-N Wakeup Functionality.
 
   uint32_t   res1: 23 
 Reserved (includes the nASSGIreq field).
 
   bool   rwp: 1 
 Register Write Pending. Read-only; poll until 0 after writes this field tracks.
 
};  
 

Detailed Description

GICv3 Distributor Control Register, GICD_CTLR (0x0000).

Bit layout per Arm IHI 0069. On QEMU virt the GIC runs with a single security state (DS reads as 1, RAO/WI), in which case ARE_S/ARE_NS/ EnableGrp1S are not meaningful and only EnableGrp0/EnableGrp1NS/DS/RWP are relevant.


The documentation for this union was generated from the following file: