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

dbghelp: Implement arm_fetch_context_reg.

parent 1bae92b9
......@@ -63,7 +63,30 @@ static unsigned arm_map_dwarf_register(unsigned regno)
static void* arm_fetch_context_reg(CONTEXT* ctx, unsigned regno, unsigned* size)
{
FIXME("not done for ARM\n");
#ifdef __arm__
switch (regno)
{
case CV_ARM_R0 + 0: *size = sizeof(ctx->R0); return &ctx->R0;
case CV_ARM_R0 + 1: *size = sizeof(ctx->R1); return &ctx->R1;
case CV_ARM_R0 + 2: *size = sizeof(ctx->R2); return &ctx->R2;
case CV_ARM_R0 + 3: *size = sizeof(ctx->R3); return &ctx->R3;
case CV_ARM_R0 + 4: *size = sizeof(ctx->R4); return &ctx->R4;
case CV_ARM_R0 + 5: *size = sizeof(ctx->R5); return &ctx->R5;
case CV_ARM_R0 + 6: *size = sizeof(ctx->R6); return &ctx->R6;
case CV_ARM_R0 + 7: *size = sizeof(ctx->R7); return &ctx->R7;
case CV_ARM_R0 + 8: *size = sizeof(ctx->R8); return &ctx->R8;
case CV_ARM_R0 + 9: *size = sizeof(ctx->R9); return &ctx->R9;
case CV_ARM_R0 + 10: *size = sizeof(ctx->R10); return &ctx->R10;
case CV_ARM_R0 + 11: *size = sizeof(ctx->Fp); return &ctx->Fp;
case CV_ARM_R0 + 12: *size = sizeof(ctx->Ip); return &ctx->Ip;
case CV_ARM_SP: *size = sizeof(ctx->Sp); return &ctx->Sp;
case CV_ARM_LR: *size = sizeof(ctx->Lr); return &ctx->Lr;
case CV_ARM_PC: *size = sizeof(ctx->Pc); return &ctx->Pc;
case CV_ARM_CPSR: *size = sizeof(ctx->Cpsr); return &ctx->Cpsr;
}
#endif
FIXME("Unknown register %x\n", regno);
return NULL;
}
......
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