On 03/16/2012 07:17 AM, Jan Kiszka wrote:
> Even if the content is always 0, gdb expects us to return also ds,
> es, fs, and gs while in x86-64 mode. Do this to avoid ugly errors on
> "info registers".
>
> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
> ---
>  arch/x86/include/asm/kgdb.h |    6 +++++-
>  arch/x86/kernel/kgdb.c      |    6 ++++--
>  2 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/include/asm/kgdb.h b/arch/x86/include/asm/kgdb.h
> index 77e95f5..e857f1a 100644
> --- a/arch/x86/include/asm/kgdb.h
> +++ b/arch/x86/include/asm/kgdb.h
> @@ -64,9 +64,13 @@ enum regnames {
>       GDB_PS,                 /* 17 */
>       GDB_CS,                 /* 18 */
>       GDB_SS,                 /* 19 */
> +     GDB_DS,                 /* 20 */
> +     GDB_ES,                 /* 21 */
> +     GDB_FS,                 /* 22 */
> +     GDB_GS,                 /* 23 */
>  };
>  #define GDB_ORIG_AX          57
> -#define DBG_MAX_REG_NUM              20
> +#define DBG_MAX_REG_NUM              24
>  /* 17 64 bit regs and 3 32 bit regs */
>  #define NUMREGBYTES          ((17 * 8) + (3 * 4))

You bumped the register numbers correctly, but you also need to add the correct 
padding to the NUMREGBYTES or you might not get a large enough memory block for 
the register struct.

You added 2 32 bit regs, so it should change to:

/* 17 64 bit regs and 5 32 bit regs */
#define NUMREGBYTES        ((17 * 8) + (5 * 4))


The rest should be fine.   I can test this and add it to the merge queue with 
the NUMREGBYTES change, unless you disagree.

Cheers,
Jason.

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Kgdb-bugreport mailing list
Kgdb-bugreport@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport

Reply via email to