mconfigptr
Machine Configuration Pointer
Holds a physical address pointer to the unified discovery data structure in Memory.
The mconfigptr holds the physical address of a configuration data structure. Software can traverse this data structure to discover information about the harts, the platform, and their configuration.
The pointer alignment in bits must be no smaller than MXLEN: i.e., if MXLEN is \(8\times n\), then mconfigptr[\(\log_2n\)-1:0] must be zero.
The mconfigptr register must be implemented, but it may be zero to indicate the configuration data structure does not exist or that an alternative mechanism must be used to locate it.
The format and schema of the configuration data structure have yet to be standardized. While the mconfigptr register will simply be hardwired in some implementations, other implementations may provide a means to configure the value returned on CSR reads. For example, mconfigptr might present the value of a memory-mapped register that is programmed by the platform or by M-mode software towards the beginning of the boot process. |