Commit dae65898 authored by André Hentschel's avatar André Hentschel Committed by Alexandre Julliard

dbghelp: Implement sparc_map_dwarf_register.

parent 46a96b13
...@@ -54,8 +54,17 @@ static BOOL sparc_stack_walk(struct cpu_stack_walk* csw, LPSTACKFRAME64 frame, C ...@@ -54,8 +54,17 @@ static BOOL sparc_stack_walk(struct cpu_stack_walk* csw, LPSTACKFRAME64 frame, C
static unsigned sparc_map_dwarf_register(unsigned regno) static unsigned sparc_map_dwarf_register(unsigned regno)
{ {
FIXME("not done for Sparc\n"); if (regno <= 7)
return 0; return CV_SPARC_G0 + regno;
else if (regno >= 8 && regno <= 15)
return CV_SPARC_O0 + regno - 8;
else if (regno >= 16 && regno <= 23)
return CV_SPARC_L0 + regno - 16;
else if (regno >= 24 && regno <= 31)
return CV_SPARC_I0 + regno - 24;
FIXME("Don't know how to map register %d\n", regno);
return CV_SPARC_NOREG;
} }
static void* sparc_fetch_context_reg(CONTEXT* ctx, unsigned regno, unsigned* size) static void* sparc_fetch_context_reg(CONTEXT* ctx, unsigned regno, unsigned* size)
......
...@@ -530,6 +530,19 @@ enum CV_HREG_e ...@@ -530,6 +530,19 @@ enum CV_HREG_e
CV_AMD64_R13 = 341, CV_AMD64_R13 = 341,
CV_AMD64_R14 = 342, CV_AMD64_R14 = 342,
CV_AMD64_R15 = 343, CV_AMD64_R15 = 343,
/* Wine extension */
CV_SPARC_NOREG = CV_REG_NONE,
CV_SPARC_G0 = 10, /* includes g0 to g7 */
CV_SPARC_O0 = 18, /* includes o0 to o7 */
CV_SPARC_L0 = 26, /* includes l0 to l7 */
CV_SPARC_I0 = 34, /* includes i0 to i7 */
CV_SPARC_PSR = 42,
CV_SPARC_PC = 43,
CV_SPARC_NPC = 44,
CV_SPARC_Y = 45,
CV_SPARC_WIM = 46,
CV_SPARC_TBR = 47,
}; };
typedef enum typedef enum
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment