Fix the PowerPC Book-E register definitions used by the remote GDB

protocol.

Obtained from:	Juniper Networks, Inc.
This commit is contained in:
Marcel Moolenaar 2013-05-21 18:00:47 +00:00
parent e9d8fda02c
commit 972aa49664
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=250864

View File

@ -29,11 +29,20 @@
#ifndef _MACHINE_GDB_MACHDEP_H_
#define _MACHINE_GDB_MACHDEP_H_
#ifdef BOOKE
#define PPC_GDB_NREGS0 1
#define PPC_GDB_NREGS4 (70 + 1)
#define PPC_GDB_NREGS8 (1 + 32)
#define PPC_GDB_NREGS16 0
#else
#define PPC_GDB_NREGS0 0
#define PPC_GDB_NREGS4 (32 + 7 + 2)
#define PPC_GDB_NREGS8 32
#define PPC_GDB_NREGS16 32
#endif
#define GDB_NREGS (PPC_GDB_NREGS4 + PPC_GDB_NREGS8 + PPC_GDB_NREGS16)
#define GDB_NREGS (PPC_GDB_NREGS0 + PPC_GDB_NREGS4 + \
PPC_GDB_NREGS8 + PPC_GDB_NREGS16)
#define GDB_REG_PC 64
#define GDB_BUFSZ (PPC_GDB_NREGS4 * 8 + \
@ -44,10 +53,17 @@ static __inline size_t
gdb_cpu_regsz(int regnum)
{
#ifdef BOOKE
if (regnum == 70)
return (0);
if (regnum == 71 || regnum >= 73)
return (8);
#else
if (regnum >= 32 && regnum <= 63)
return (8);
if (regnum >= 71 && regnum <= 102)
return (16);
#endif
return (4);
}