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.

Attributes

CSR Address

0xf15

Defining extension

  • Sm, version >=1.12

Length

64-bit

Privilege Mode

M

Format

mconfigptr format
Figure 1. mconfigptr format

Field Summary

Name Location Type Reset Value

ADDRESS

63:0

RO

4096

Fields

ADDRESS

Location

mconfigptr[63:0]

Description

Pointer to physical address of the Unified Discovery configuration data structure.

Type

RO

Read-Only

Field has a hardwired value that does not change. Writes to an RO field are ignored.

Reset value

4096