OPAL_XSCOM_READ¶
#define OPAL_XSCOM_READ 65
int xscom_read(uint32_t partid, uint64_t pcb_addr, uint64_t *val);
This low level call will read XSCOM values directly.
They should only be used by low level manufacturing/debug tools. “Normal” host OS kernel code should not know about XSCOM.
This is also needed by HBRT/opal-prd.
Returns¶
- OPAL_SUCCESS
Success!
- OPAL_HARDWARE
if operation failed
- OPAL_WRONG_STATE
if CPU is asleep
- OPAL_XSCOM_BUSY
Alias for OPAL_BUSY.
- OPAL_XSCOM_CHIPLET_OFF
Alias for OPAL_WRONG_STATE
- OPAL_XSCOM_PARTIAL_GOOD
XSCOM Partial Good
- OPAL_XSCOM_ADDR_ERROR
XSCOM Address Error
- OPAL_XSCOM_CLOCK_ERROR
XSCOM Clock Error
- OPAL_XSCOM_PARITY_ERROR
XSCOM Parity Error
- OPAL_XSCOM_TIMEOUT
XSCOM Timeout
- OPAL_XSCOM_CTR_OFFLINED
XSCOM Controller Offlined due to too many errors.
OPAL_XSCOM_WRITE¶
#define OPAL_XSCOM_WRITE 66
int xscom_write(uint32_t partid, uint64_t pcb_addr, uint64_t val);
This low level call will write an XSCOM value directly.
They should only be used by low level manufacturing/debug tools. “Normal” host OS kernel code should not know about XSCOM.
This is also needed by HBRT/opal-prd.
Returns¶
- OPAL_SUCCESS
Success!
- OPAL_HARDWARE
if operation failed
- OPAL_WRONG_STATE
if CPU is asleep
- OPAL_XSCOM_BUSY
Alias for OPAL_BUSY.
- OPAL_XSCOM_CHIPLET_OFF
Alias for OPAL_WRONG_STATE
- OPAL_XSCOM_PARTIAL_GOOD
XSCOM Partial Good
- OPAL_XSCOM_ADDR_ERROR
XSCOM Address Error
- OPAL_XSCOM_CLOCK_ERROR
XSCOM Clock Error
- OPAL_XSCOM_PARITY_ERROR
XSCOM Parity Error
- OPAL_XSCOM_TIMEOUT
XSCOM Timeout
- OPAL_XSCOM_CTR_OFFLINED
XSCOM Controller Offlined due to too many errors.