mirror of https://gitee.com/openkylin/qemu.git
target-xtensa: implement MISC SR
The Miscellaneous Special Registers Option provides zero to four scratch registers within the processor readable and writable by RSR, WSR, and XSR. These registers are privileged. They may be useful for some application-specific exception and interrupt processing tasks in the kernel. The MISC registers are undefined after reset. See ISA, 4.7.3 for details. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
53593e90d1
commit
b7909d81f7
|
@ -153,6 +153,7 @@ enum {
|
|||
ICOUNTLEVEL = 237,
|
||||
EXCVADDR = 238,
|
||||
CCOMPARE = 240,
|
||||
MISC = 244,
|
||||
};
|
||||
|
||||
#define PS_INTLEVEL 0xf
|
||||
|
|
|
@ -95,6 +95,7 @@
|
|||
/* Other, TODO */ \
|
||||
XCHAL_OPTION(XCHAL_HAVE_WINDOWED, XTENSA_OPTION_WINDOWED_REGISTER) | \
|
||||
XCHAL_OPTION(XCHAL_HAVE_DEBUG, XTENSA_OPTION_DEBUG) |\
|
||||
XCHAL_OPTION(XCHAL_NUM_MISC_REGS > 0, XTENSA_OPTION_MISC_SR) | \
|
||||
XCHAL_OPTION(XCHAL_HAVE_THREADPTR, XTENSA_OPTION_THREAD_POINTER) | \
|
||||
XCHAL_OPTION(XCHAL_HAVE_PRID, XTENSA_OPTION_PROCESSOR_ID))
|
||||
|
||||
|
|
|
@ -179,6 +179,10 @@ static const XtensaReg sregnames[256] = {
|
|||
XTENSA_OPTION_TIMER_INTERRUPT),
|
||||
[CCOMPARE + 2] = XTENSA_REG("CCOMPARE2",
|
||||
XTENSA_OPTION_TIMER_INTERRUPT),
|
||||
[MISC] = XTENSA_REG("MISC0", XTENSA_OPTION_MISC_SR),
|
||||
[MISC + 1] = XTENSA_REG("MISC1", XTENSA_OPTION_MISC_SR),
|
||||
[MISC + 2] = XTENSA_REG("MISC2", XTENSA_OPTION_MISC_SR),
|
||||
[MISC + 3] = XTENSA_REG("MISC3", XTENSA_OPTION_MISC_SR),
|
||||
};
|
||||
|
||||
static const XtensaReg uregnames[256] = {
|
||||
|
|
Loading…
Reference in New Issue