riscv: update defines for *havereset and dmerr fields
This commit is contained in:
parent
b01075eaa5
commit
09efae933a
|
@ -544,6 +544,19 @@
|
|||
#define CSR_ICOUNT_ACTION (0x3fULL << CSR_ICOUNT_ACTION_OFFSET)
|
||||
#define DMI_DMSTATUS 0x11
|
||||
/*
|
||||
* Gets set if the Debug Module was accessed incorrectly.
|
||||
*
|
||||
* 0 (none): No error.
|
||||
*
|
||||
* 1 (badaddr): There was an access to an unimplemented Debug Module
|
||||
* address.
|
||||
*
|
||||
* 7 (other): An access failed for another reason.
|
||||
*/
|
||||
#define DMI_DMSTATUS_DMERR_OFFSET 24
|
||||
#define DMI_DMSTATUS_DMERR_LENGTH 3
|
||||
#define DMI_DMSTATUS_DMERR (0x7U << DMI_DMSTATUS_DMERR_OFFSET)
|
||||
/*
|
||||
* If 1, then there is an implicit {\tt ebreak} instruction at the
|
||||
* non-existent word immediately after the Program Buffer. This saves
|
||||
* the debugger from having to write the {\tt ebreak} itself, and
|
||||
|
@ -555,26 +568,27 @@
|
|||
#define DMI_DMSTATUS_IMPEBREAK_LENGTH 1
|
||||
#define DMI_DMSTATUS_IMPEBREAK (0x1U << DMI_DMSTATUS_IMPEBREAK_OFFSET)
|
||||
/*
|
||||
* Gets set if the Debug Module was accessed incorrectly.
|
||||
*
|
||||
* 0 (none): No error.
|
||||
*
|
||||
* 1 (badaddr): There was an access to an unimplemented Debug Module
|
||||
* address.
|
||||
*
|
||||
* 7 (other): An access failed for another reason.
|
||||
* This field is 1 when all currently selected harts have been reset but the reset has not been acknowledged.
|
||||
*/
|
||||
#define DMI_DMSTATUS_DMERR_OFFSET 18
|
||||
#define DMI_DMSTATUS_DMERR_LENGTH 3
|
||||
#define DMI_DMSTATUS_DMERR (0x7U << DMI_DMSTATUS_DMERR_OFFSET)
|
||||
#define DMI_DMSTATUS_ALLHAVERESET_OFFSET 19
|
||||
#define DMI_DMSTATUS_ALLHAVERESET_LENGTH 1
|
||||
#define DMI_DMSTATUS_ALLHAVERESET (0x1U << DMI_DMSTATUS_ALLHAVERESET_OFFSET)
|
||||
/*
|
||||
* This field is 1 when all currently selected harts have acknowledged the previous \Fresumereq.
|
||||
* This field is 1 when any currently selected hart has been reset but the reset has not been acknowledged.
|
||||
*/
|
||||
#define DMI_DMSTATUS_ANYHAVERESET_OFFSET 18
|
||||
#define DMI_DMSTATUS_ANYHAVERESET_LENGTH 1
|
||||
#define DMI_DMSTATUS_ANYHAVERESET (0x1U << DMI_DMSTATUS_ANYHAVERESET_OFFSET)
|
||||
/*
|
||||
* This field is 1 when all currently selected harts have acknowledged
|
||||
* the previous resume request.
|
||||
*/
|
||||
#define DMI_DMSTATUS_ALLRESUMEACK_OFFSET 17
|
||||
#define DMI_DMSTATUS_ALLRESUMEACK_LENGTH 1
|
||||
#define DMI_DMSTATUS_ALLRESUMEACK (0x1U << DMI_DMSTATUS_ALLRESUMEACK_OFFSET)
|
||||
/*
|
||||
* This field is 1 when any currently selected hart has acknowledged the previous \Fresumereq.
|
||||
* This field is 1 when any currently selected hart has acknowledged
|
||||
* the previous resume request.
|
||||
*/
|
||||
#define DMI_DMSTATUS_ANYRESUMEACK_OFFSET 16
|
||||
#define DMI_DMSTATUS_ANYRESUMEACK_LENGTH 1
|
||||
|
@ -675,11 +689,12 @@
|
|||
#define DMI_DMSTATUS_VERSION (0xfU << DMI_DMSTATUS_VERSION_OFFSET)
|
||||
#define DMI_DMCONTROL 0x10
|
||||
/*
|
||||
* Halt request signal for all currently selected harts. When set to
|
||||
* 1, each selected hart will halt if it is not currently halted.
|
||||
* Writes the halt request bit for all currently selected harts.
|
||||
* When set to 1, each selected hart will halt if it is not currently
|
||||
* halted.
|
||||
*
|
||||
* Writing 1 or 0 has no effect on a hart which is already halted, but
|
||||
* the bit should be cleared to 0 before the hart is resumed.
|
||||
* the bit must be cleared to 0 before the hart is resumed.
|
||||
*
|
||||
* Writes apply to the new value of \Fhartsel and \Fhasel.
|
||||
*/
|
||||
|
@ -687,10 +702,12 @@
|
|||
#define DMI_DMCONTROL_HALTREQ_LENGTH 1
|
||||
#define DMI_DMCONTROL_HALTREQ (0x1U << DMI_DMCONTROL_HALTREQ_OFFSET)
|
||||
/*
|
||||
* Resume request signal for all currently selected harts. When set to 1,
|
||||
* each selected hart will resume if it is currently halted.
|
||||
* Writes the resume request bit for all currently selected harts.
|
||||
* When set to 1, each selected hart will resume if it is currently
|
||||
* halted.
|
||||
*
|
||||
* This bit is ignored while \Fhaltreq is set.
|
||||
* The resume request bit is ignored while the halt request bit is
|
||||
* set.
|
||||
*
|
||||
* Writes apply to the new value of \Fhartsel and \Fhasel.
|
||||
*/
|
||||
|
@ -698,9 +715,9 @@
|
|||
#define DMI_DMCONTROL_RESUMEREQ_LENGTH 1
|
||||
#define DMI_DMCONTROL_RESUMEREQ (0x1U << DMI_DMCONTROL_RESUMEREQ_OFFSET)
|
||||
/*
|
||||
* This optional bit controls reset to all the currently selected harts.
|
||||
* To perform a reset the debugger writes 1, and then writes 0 to
|
||||
* deassert the reset signal.
|
||||
* This optional field writes the reset bit for all the currently
|
||||
* selected harts. To perform a reset the debugger writes 1, and then
|
||||
* writes 0 to deassert the reset signal.
|
||||
*
|
||||
* If this feature is not implemented, the bit always stays 0, so
|
||||
* after writing 1 the debugger can read the register back to see if
|
||||
|
@ -712,6 +729,15 @@
|
|||
#define DMI_DMCONTROL_HARTRESET_LENGTH 1
|
||||
#define DMI_DMCONTROL_HARTRESET (0x1U << DMI_DMCONTROL_HARTRESET_OFFSET)
|
||||
/*
|
||||
* Writing 1 to this bit clears the {\tt havereset} bits for
|
||||
* any selected harts.
|
||||
*
|
||||
* Writes apply to the new value of \Fhartsel and \Fhasel.
|
||||
*/
|
||||
#define DMI_DMCONTROL_ACKHAVERESET_OFFSET 28
|
||||
#define DMI_DMCONTROL_ACKHAVERESET_LENGTH 1
|
||||
#define DMI_DMCONTROL_ACKHAVERESET (0x1U << DMI_DMCONTROL_ACKHAVERESET_OFFSET)
|
||||
/*
|
||||
* Selects the definition of currently selected harts.
|
||||
*
|
||||
* 0: There is a single currently selected hart, that selected by \Fhartsel.
|
||||
|
|
Loading…
Reference in New Issue