diff options
author | David 'Digit' Turner <digit@google.com> | 2009-09-14 14:32:27 -0700 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2009-09-14 14:32:27 -0700 |
commit | 5d8f37ad78fc66901af50c762029a501561f3b23 (patch) | |
tree | 206790f8f21000850a98c4f9590a79e779106278 /gdb-xml | |
parent | cd059b15f2c7df69f4a087bd66900eb172e41d1c (diff) | |
download | external_qemu-5d8f37ad78fc66901af50c762029a501561f3b23.zip external_qemu-5d8f37ad78fc66901af50c762029a501561f3b23.tar.gz external_qemu-5d8f37ad78fc66901af50c762029a501561f3b23.tar.bz2 |
Merge upstream QEMU 10.0.50 into the Android source tree.
This change integrates many changes from the upstream QEMU sources.
Its main purpose is to enable correct ARMv6 and ARMv7 support to the
Android emulator. Due to the nature of the upstream code base, this
unfortunately also required changes to many other parts of the source.
Note that to ensure easier integrations in the future, some source files
and directories that have heavy Android-specific customization have been
renamed with an -android suffix. The original files are still there for
easier integration tracking, but *never* compiled. For example:
net.c net-android.c
qemu-char.c qemu-char-android.c
slirp/ slirp-android/
etc...
Tested on linux-x86, darwin-x86 and windows host machines.
Diffstat (limited to 'gdb-xml')
-rw-r--r-- | gdb-xml/arm-core.xml | 31 | ||||
-rw-r--r-- | gdb-xml/arm-neon.xml | 88 | ||||
-rw-r--r-- | gdb-xml/arm-vfp.xml | 29 | ||||
-rw-r--r-- | gdb-xml/arm-vfp3.xml | 45 | ||||
-rw-r--r-- | gdb-xml/cf-core.xml | 29 | ||||
-rw-r--r-- | gdb-xml/cf-fp.xml | 22 | ||||
-rw-r--r-- | gdb-xml/power-altivec.xml | 57 | ||||
-rw-r--r-- | gdb-xml/power-core.xml | 58 | ||||
-rw-r--r-- | gdb-xml/power-fpu.xml | 44 | ||||
-rw-r--r-- | gdb-xml/power-spe.xml | 45 | ||||
-rw-r--r-- | gdb-xml/power64-core.xml | 58 |
11 files changed, 506 insertions, 0 deletions
diff --git a/gdb-xml/arm-core.xml b/gdb-xml/arm-core.xml new file mode 100644 index 0000000..6012f34 --- /dev/null +++ b/gdb-xml/arm-core.xml @@ -0,0 +1,31 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> + +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.arm.core"> + <reg name="r0" bitsize="32"/> + <reg name="r1" bitsize="32"/> + <reg name="r2" bitsize="32"/> + <reg name="r3" bitsize="32"/> + <reg name="r4" bitsize="32"/> + <reg name="r5" bitsize="32"/> + <reg name="r6" bitsize="32"/> + <reg name="r7" bitsize="32"/> + <reg name="r8" bitsize="32"/> + <reg name="r9" bitsize="32"/> + <reg name="r10" bitsize="32"/> + <reg name="r11" bitsize="32"/> + <reg name="r12" bitsize="32"/> + <reg name="sp" bitsize="32" type="data_ptr"/> + <reg name="lr" bitsize="32"/> + <reg name="pc" bitsize="32" type="code_ptr"/> + + <!-- The CPSR is register 25, rather than register 16, because + the FPA registers historically were placed between the PC + and the CPSR in the "g" packet. --> + <reg name="cpsr" bitsize="32" regnum="25"/> +</feature> diff --git a/gdb-xml/arm-neon.xml b/gdb-xml/arm-neon.xml new file mode 100644 index 0000000..ce3ee03 --- /dev/null +++ b/gdb-xml/arm-neon.xml @@ -0,0 +1,88 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.arm.vfp"> + <vector id="neon_uint8x8" type="uint8" count="8"/> + <vector id="neon_uint16x4" type="uint16" count="4"/> + <vector id="neon_uint32x2" type="uint32" count="2"/> + <vector id="neon_float32x2" type="ieee_single" count="2"/> + <union id="neon_d"> + <field name="u8" type="neon_uint8x8"/> + <field name="u16" type="neon_uint16x4"/> + <field name="u32" type="neon_uint32x2"/> + <field name="u64" type="uint64"/> + <field name="f32" type="neon_float32x2"/> + <field name="f64" type="ieee_double"/> + </union> + <vector id="neon_uint8x16" type="uint8" count="16"/> + <vector id="neon_uint16x8" type="uint16" count="8"/> + <vector id="neon_uint32x4" type="uint32" count="4"/> + <vector id="neon_uint64x2" type="uint64" count="2"/> + <vector id="neon_float32x4" type="ieee_single" count="4"/> + <vector id="neon_float64x2" type="ieee_double" count="2"/> + <union id="neon_q"> + <field name="u8" type="neon_uint8x16"/> + <field name="u16" type="neon_uint16x8"/> + <field name="u32" type="neon_uint32x4"/> + <field name="u64" type="neon_uint64x2"/> + <field name="f32" type="neon_float32x4"/> + <field name="f64" type="neon_float64x2"/> + </union> + <reg name="d0" bitsize="64" type="neon_d"/> + <reg name="d1" bitsize="64" type="neon_d"/> + <reg name="d2" bitsize="64" type="neon_d"/> + <reg name="d3" bitsize="64" type="neon_d"/> + <reg name="d4" bitsize="64" type="neon_d"/> + <reg name="d5" bitsize="64" type="neon_d"/> + <reg name="d6" bitsize="64" type="neon_d"/> + <reg name="d7" bitsize="64" type="neon_d"/> + <reg name="d8" bitsize="64" type="neon_d"/> + <reg name="d9" bitsize="64" type="neon_d"/> + <reg name="d10" bitsize="64" type="neon_d"/> + <reg name="d11" bitsize="64" type="neon_d"/> + <reg name="d12" bitsize="64" type="neon_d"/> + <reg name="d13" bitsize="64" type="neon_d"/> + <reg name="d14" bitsize="64" type="neon_d"/> + <reg name="d15" bitsize="64" type="neon_d"/> + <reg name="d16" bitsize="64" type="neon_d"/> + <reg name="d17" bitsize="64" type="neon_d"/> + <reg name="d18" bitsize="64" type="neon_d"/> + <reg name="d19" bitsize="64" type="neon_d"/> + <reg name="d20" bitsize="64" type="neon_d"/> + <reg name="d21" bitsize="64" type="neon_d"/> + <reg name="d22" bitsize="64" type="neon_d"/> + <reg name="d23" bitsize="64" type="neon_d"/> + <reg name="d24" bitsize="64" type="neon_d"/> + <reg name="d25" bitsize="64" type="neon_d"/> + <reg name="d26" bitsize="64" type="neon_d"/> + <reg name="d27" bitsize="64" type="neon_d"/> + <reg name="d28" bitsize="64" type="neon_d"/> + <reg name="d29" bitsize="64" type="neon_d"/> + <reg name="d30" bitsize="64" type="neon_d"/> + <reg name="d31" bitsize="64" type="neon_d"/> + + <reg name="q0" bitsize="128" type="neon_q"/> + <reg name="q1" bitsize="128" type="neon_q"/> + <reg name="q2" bitsize="128" type="neon_q"/> + <reg name="q3" bitsize="128" type="neon_q"/> + <reg name="q4" bitsize="128" type="neon_q"/> + <reg name="q5" bitsize="128" type="neon_q"/> + <reg name="q6" bitsize="128" type="neon_q"/> + <reg name="q7" bitsize="128" type="neon_q"/> + <reg name="q8" bitsize="128" type="neon_q"/> + <reg name="q9" bitsize="128" type="neon_q"/> + <reg name="q10" bitsize="128" type="neon_q"/> + <reg name="q10" bitsize="128" type="neon_q"/> + <reg name="q12" bitsize="128" type="neon_q"/> + <reg name="q13" bitsize="128" type="neon_q"/> + <reg name="q14" bitsize="128" type="neon_q"/> + <reg name="q15" bitsize="128" type="neon_q"/> + + <reg name="fpsid" bitsize="32" type="int" group="float"/> + <reg name="fpscr" bitsize="32" type="int" group="float"/> + <reg name="fpexc" bitsize="32" type="int" group="float"/> +</feature> diff --git a/gdb-xml/arm-vfp.xml b/gdb-xml/arm-vfp.xml new file mode 100644 index 0000000..b20881e --- /dev/null +++ b/gdb-xml/arm-vfp.xml @@ -0,0 +1,29 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.arm.vfp"> + <reg name="d0" bitsize="64" type="float"/> + <reg name="d1" bitsize="64" type="float"/> + <reg name="d2" bitsize="64" type="float"/> + <reg name="d3" bitsize="64" type="float"/> + <reg name="d4" bitsize="64" type="float"/> + <reg name="d5" bitsize="64" type="float"/> + <reg name="d6" bitsize="64" type="float"/> + <reg name="d7" bitsize="64" type="float"/> + <reg name="d8" bitsize="64" type="float"/> + <reg name="d9" bitsize="64" type="float"/> + <reg name="d10" bitsize="64" type="float"/> + <reg name="d11" bitsize="64" type="float"/> + <reg name="d12" bitsize="64" type="float"/> + <reg name="d13" bitsize="64" type="float"/> + <reg name="d14" bitsize="64" type="float"/> + <reg name="d15" bitsize="64" type="float"/> + + <reg name="fpsid" bitsize="32" type="int" group="float"/> + <reg name="fpscr" bitsize="32" type="int" group="float"/> + <reg name="fpexc" bitsize="32" type="int" group="float"/> +</feature> diff --git a/gdb-xml/arm-vfp3.xml b/gdb-xml/arm-vfp3.xml new file mode 100644 index 0000000..227afd8 --- /dev/null +++ b/gdb-xml/arm-vfp3.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.arm.vfp"> + <reg name="d0" bitsize="64" type="float"/> + <reg name="d1" bitsize="64" type="float"/> + <reg name="d2" bitsize="64" type="float"/> + <reg name="d3" bitsize="64" type="float"/> + <reg name="d4" bitsize="64" type="float"/> + <reg name="d5" bitsize="64" type="float"/> + <reg name="d6" bitsize="64" type="float"/> + <reg name="d7" bitsize="64" type="float"/> + <reg name="d8" bitsize="64" type="float"/> + <reg name="d9" bitsize="64" type="float"/> + <reg name="d10" bitsize="64" type="float"/> + <reg name="d11" bitsize="64" type="float"/> + <reg name="d12" bitsize="64" type="float"/> + <reg name="d13" bitsize="64" type="float"/> + <reg name="d14" bitsize="64" type="float"/> + <reg name="d15" bitsize="64" type="float"/> + <reg name="d16" bitsize="64" type="float"/> + <reg name="d17" bitsize="64" type="float"/> + <reg name="d18" bitsize="64" type="float"/> + <reg name="d19" bitsize="64" type="float"/> + <reg name="d20" bitsize="64" type="float"/> + <reg name="d21" bitsize="64" type="float"/> + <reg name="d22" bitsize="64" type="float"/> + <reg name="d23" bitsize="64" type="float"/> + <reg name="d24" bitsize="64" type="float"/> + <reg name="d25" bitsize="64" type="float"/> + <reg name="d26" bitsize="64" type="float"/> + <reg name="d27" bitsize="64" type="float"/> + <reg name="d28" bitsize="64" type="float"/> + <reg name="d29" bitsize="64" type="float"/> + <reg name="d30" bitsize="64" type="float"/> + <reg name="d31" bitsize="64" type="float"/> + + <reg name="fpsid" bitsize="32" type="int" group="float"/> + <reg name="fpscr" bitsize="32" type="int" group="float"/> + <reg name="fpexc" bitsize="32" type="int" group="float"/> +</feature> diff --git a/gdb-xml/cf-core.xml b/gdb-xml/cf-core.xml new file mode 100644 index 0000000..b90af30 --- /dev/null +++ b/gdb-xml/cf-core.xml @@ -0,0 +1,29 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.coldfire.core"> + <reg name="d0" bitsize="32"/> + <reg name="d1" bitsize="32"/> + <reg name="d2" bitsize="32"/> + <reg name="d3" bitsize="32"/> + <reg name="d4" bitsize="32"/> + <reg name="d5" bitsize="32"/> + <reg name="d6" bitsize="32"/> + <reg name="d7" bitsize="32"/> + <reg name="a0" bitsize="32" type="data_ptr"/> + <reg name="a1" bitsize="32" type="data_ptr"/> + <reg name="a2" bitsize="32" type="data_ptr"/> + <reg name="a3" bitsize="32" type="data_ptr"/> + <reg name="a4" bitsize="32" type="data_ptr"/> + <reg name="a5" bitsize="32" type="data_ptr"/> + <reg name="fp" bitsize="32" type="data_ptr"/> + <reg name="sp" bitsize="32" type="data_ptr"/> + + <reg name="ps" bitsize="32"/> + <reg name="pc" bitsize="32" type="code_ptr"/> + +</feature> diff --git a/gdb-xml/cf-fp.xml b/gdb-xml/cf-fp.xml new file mode 100644 index 0000000..bf71c32 --- /dev/null +++ b/gdb-xml/cf-fp.xml @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.coldfire.fp"> + <reg name="fp0" bitsize="64" type="float" group="float"/> + <reg name="fp1" bitsize="64" type="float" group="float"/> + <reg name="fp2" bitsize="64" type="float" group="float"/> + <reg name="fp3" bitsize="64" type="float" group="float"/> + <reg name="fp4" bitsize="64" type="float" group="float"/> + <reg name="fp5" bitsize="64" type="float" group="float"/> + <reg name="fp6" bitsize="64" type="float" group="float"/> + <reg name="fp7" bitsize="64" type="float" group="float"/> + + + <reg name="fpcontrol" bitsize="32" group="float"/> + <reg name="fpstatus" bitsize="32" group="float"/>, + <reg name="fpiaddr" bitsize="32" type="code_ptr" group="float"/> +</feature> diff --git a/gdb-xml/power-altivec.xml b/gdb-xml/power-altivec.xml new file mode 100644 index 0000000..84f4d27 --- /dev/null +++ b/gdb-xml/power-altivec.xml @@ -0,0 +1,57 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2007, 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> + +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.power.altivec"> + <vector id="v4f" type="ieee_single" count="4"/> + <vector id="v4i32" type="int32" count="4"/> + <vector id="v8i16" type="int16" count="8"/> + <vector id="v16i8" type="int8" count="16"/> + <union id="vec128"> + <field name="uint128" type="uint128"/> + <field name="v4_float" type="v4f"/> + <field name="v4_int32" type="v4i32"/> + <field name="v8_int16" type="v8i16"/> + <field name="v16_int8" type="v16i8"/> + </union> + + <reg name="vr0" bitsize="128" type="vec128"/> + <reg name="vr1" bitsize="128" type="vec128"/> + <reg name="vr2" bitsize="128" type="vec128"/> + <reg name="vr3" bitsize="128" type="vec128"/> + <reg name="vr4" bitsize="128" type="vec128"/> + <reg name="vr5" bitsize="128" type="vec128"/> + <reg name="vr6" bitsize="128" type="vec128"/> + <reg name="vr7" bitsize="128" type="vec128"/> + <reg name="vr8" bitsize="128" type="vec128"/> + <reg name="vr9" bitsize="128" type="vec128"/> + <reg name="vr10" bitsize="128" type="vec128"/> + <reg name="vr11" bitsize="128" type="vec128"/> + <reg name="vr12" bitsize="128" type="vec128"/> + <reg name="vr13" bitsize="128" type="vec128"/> + <reg name="vr14" bitsize="128" type="vec128"/> + <reg name="vr15" bitsize="128" type="vec128"/> + <reg name="vr16" bitsize="128" type="vec128"/> + <reg name="vr17" bitsize="128" type="vec128"/> + <reg name="vr18" bitsize="128" type="vec128"/> + <reg name="vr19" bitsize="128" type="vec128"/> + <reg name="vr20" bitsize="128" type="vec128"/> + <reg name="vr21" bitsize="128" type="vec128"/> + <reg name="vr22" bitsize="128" type="vec128"/> + <reg name="vr23" bitsize="128" type="vec128"/> + <reg name="vr24" bitsize="128" type="vec128"/> + <reg name="vr25" bitsize="128" type="vec128"/> + <reg name="vr26" bitsize="128" type="vec128"/> + <reg name="vr27" bitsize="128" type="vec128"/> + <reg name="vr28" bitsize="128" type="vec128"/> + <reg name="vr29" bitsize="128" type="vec128"/> + <reg name="vr30" bitsize="128" type="vec128"/> + <reg name="vr31" bitsize="128" type="vec128"/> + + <reg name="vscr" bitsize="32" group="vector"/> + <reg name="vrsave" bitsize="32" group="vector"/> +</feature> diff --git a/gdb-xml/power-core.xml b/gdb-xml/power-core.xml new file mode 100644 index 0000000..dae13a6 --- /dev/null +++ b/gdb-xml/power-core.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2007, 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> + +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.power.core"> + <reg name="r0" bitsize="32" type="uint32"/> + <reg name="r1" bitsize="32" type="uint32"/> + <reg name="r2" bitsize="32" type="uint32"/> + <reg name="r3" bitsize="32" type="uint32"/> + <reg name="r4" bitsize="32" type="uint32"/> + <reg name="r5" bitsize="32" type="uint32"/> + <reg name="r6" bitsize="32" type="uint32"/> + <reg name="r7" bitsize="32" type="uint32"/> + <reg name="r8" bitsize="32" type="uint32"/> + <reg name="r9" bitsize="32" type="uint32"/> + <reg name="r10" bitsize="32" type="uint32"/> + <reg name="r11" bitsize="32" type="uint32"/> + <reg name="r12" bitsize="32" type="uint32"/> + <reg name="r13" bitsize="32" type="uint32"/> + <reg name="r14" bitsize="32" type="uint32"/> + <reg name="r15" bitsize="32" type="uint32"/> + <reg name="r16" bitsize="32" type="uint32"/> + <reg name="r17" bitsize="32" type="uint32"/> + <reg name="r18" bitsize="32" type="uint32"/> + <reg name="r19" bitsize="32" type="uint32"/> + <reg name="r20" bitsize="32" type="uint32"/> + <reg name="r21" bitsize="32" type="uint32"/> + <reg name="r22" bitsize="32" type="uint32"/> + <reg name="r23" bitsize="32" type="uint32"/> + <reg name="r24" bitsize="32" type="uint32"/> + <reg name="r25" bitsize="32" type="uint32"/> + <reg name="r26" bitsize="32" type="uint32"/> + <reg name="r27" bitsize="32" type="uint32"/> + <reg name="r28" bitsize="32" type="uint32"/> + <reg name="r29" bitsize="32" type="uint32"/> + <reg name="r30" bitsize="32" type="uint32"/> + <reg name="r31" bitsize="32" type="uint32"/> + + <reg name="pc" bitsize="32" type="code_ptr" regnum="64"/> + <reg name="msr" bitsize="32" type="uint32"/> + <reg name="cr" bitsize="32" type="uint32"/> + <reg name="lr" bitsize="32" type="code_ptr"/> + <reg name="ctr" bitsize="32" type="uint32"/> + <reg name="xer" bitsize="32" type="uint32"/> + <!-- HACK: The way the QEMU GDB stub code is currently written requires + the "integer" registers from the XML file to span the entirety of + NUM_CORE_REGS that non-XML-aware GDB requires. Otherwise, XML-aware + GDB thinks that "coprocessor" registers from XML, such as the + floating-point registers, have register numbers less than + NUM_CORE_REGS. This can lead to problems. Work around it by using + an unnamed register as padding; NUM_CORE_REGS on Power is 71 and + this register is 70. It would be fpscr for non-XML-aware GDB. --> + <reg name="" bitsize="32" type="uint32"/> +</feature> diff --git a/gdb-xml/power-fpu.xml b/gdb-xml/power-fpu.xml new file mode 100644 index 0000000..d1ca3a3 --- /dev/null +++ b/gdb-xml/power-fpu.xml @@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2007, 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> + +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.power.fpu"> + <reg name="f0" bitsize="64" type="ieee_double"/> + <reg name="f1" bitsize="64" type="ieee_double"/> + <reg name="f2" bitsize="64" type="ieee_double"/> + <reg name="f3" bitsize="64" type="ieee_double"/> + <reg name="f4" bitsize="64" type="ieee_double"/> + <reg name="f5" bitsize="64" type="ieee_double"/> + <reg name="f6" bitsize="64" type="ieee_double"/> + <reg name="f7" bitsize="64" type="ieee_double"/> + <reg name="f8" bitsize="64" type="ieee_double"/> + <reg name="f9" bitsize="64" type="ieee_double"/> + <reg name="f10" bitsize="64" type="ieee_double"/> + <reg name="f11" bitsize="64" type="ieee_double"/> + <reg name="f12" bitsize="64" type="ieee_double"/> + <reg name="f13" bitsize="64" type="ieee_double"/> + <reg name="f14" bitsize="64" type="ieee_double"/> + <reg name="f15" bitsize="64" type="ieee_double"/> + <reg name="f16" bitsize="64" type="ieee_double"/> + <reg name="f17" bitsize="64" type="ieee_double"/> + <reg name="f18" bitsize="64" type="ieee_double"/> + <reg name="f19" bitsize="64" type="ieee_double"/> + <reg name="f20" bitsize="64" type="ieee_double"/> + <reg name="f21" bitsize="64" type="ieee_double"/> + <reg name="f22" bitsize="64" type="ieee_double"/> + <reg name="f23" bitsize="64" type="ieee_double"/> + <reg name="f24" bitsize="64" type="ieee_double"/> + <reg name="f25" bitsize="64" type="ieee_double"/> + <reg name="f26" bitsize="64" type="ieee_double"/> + <reg name="f27" bitsize="64" type="ieee_double"/> + <reg name="f28" bitsize="64" type="ieee_double"/> + <reg name="f29" bitsize="64" type="ieee_double"/> + <reg name="f30" bitsize="64" type="ieee_double"/> + <reg name="f31" bitsize="64" type="ieee_double"/> + + <reg name="fpscr" bitsize="32" group="float"/> +</feature> diff --git a/gdb-xml/power-spe.xml b/gdb-xml/power-spe.xml new file mode 100644 index 0000000..1ec15d6 --- /dev/null +++ b/gdb-xml/power-spe.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2007, 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> + +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.power.spe"> + <reg name="ev0h" bitsize="32"/> + <reg name="ev1h" bitsize="32"/> + <reg name="ev2h" bitsize="32"/> + <reg name="ev3h" bitsize="32"/> + <reg name="ev4h" bitsize="32"/> + <reg name="ev5h" bitsize="32"/> + <reg name="ev6h" bitsize="32"/> + <reg name="ev7h" bitsize="32"/> + <reg name="ev8h" bitsize="32"/> + <reg name="ev9h" bitsize="32"/> + <reg name="ev10h" bitsize="32"/> + <reg name="ev11h" bitsize="32"/> + <reg name="ev12h" bitsize="32"/> + <reg name="ev13h" bitsize="32"/> + <reg name="ev14h" bitsize="32"/> + <reg name="ev15h" bitsize="32"/> + <reg name="ev16h" bitsize="32"/> + <reg name="ev17h" bitsize="32"/> + <reg name="ev18h" bitsize="32"/> + <reg name="ev19h" bitsize="32"/> + <reg name="ev20h" bitsize="32"/> + <reg name="ev21h" bitsize="32"/> + <reg name="ev22h" bitsize="32"/> + <reg name="ev23h" bitsize="32"/> + <reg name="ev24h" bitsize="32"/> + <reg name="ev25h" bitsize="32"/> + <reg name="ev26h" bitsize="32"/> + <reg name="ev27h" bitsize="32"/> + <reg name="ev28h" bitsize="32"/> + <reg name="ev29h" bitsize="32"/> + <reg name="ev30h" bitsize="32"/> + <reg name="ev31h" bitsize="32"/> + + <reg name="acc" bitsize="64"/> + <reg name="spefscr" bitsize="32"/> +</feature> diff --git a/gdb-xml/power64-core.xml b/gdb-xml/power64-core.xml new file mode 100644 index 0000000..fef42e4 --- /dev/null +++ b/gdb-xml/power64-core.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2007, 2008 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> + +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.power.core"> + <reg name="r0" bitsize="64" type="uint64"/> + <reg name="r1" bitsize="64" type="uint64"/> + <reg name="r2" bitsize="64" type="uint64"/> + <reg name="r3" bitsize="64" type="uint64"/> + <reg name="r4" bitsize="64" type="uint64"/> + <reg name="r5" bitsize="64" type="uint64"/> + <reg name="r6" bitsize="64" type="uint64"/> + <reg name="r7" bitsize="64" type="uint64"/> + <reg name="r8" bitsize="64" type="uint64"/> + <reg name="r9" bitsize="64" type="uint64"/> + <reg name="r10" bitsize="64" type="uint64"/> + <reg name="r11" bitsize="64" type="uint64"/> + <reg name="r12" bitsize="64" type="uint64"/> + <reg name="r13" bitsize="64" type="uint64"/> + <reg name="r14" bitsize="64" type="uint64"/> + <reg name="r15" bitsize="64" type="uint64"/> + <reg name="r16" bitsize="64" type="uint64"/> + <reg name="r17" bitsize="64" type="uint64"/> + <reg name="r18" bitsize="64" type="uint64"/> + <reg name="r19" bitsize="64" type="uint64"/> + <reg name="r20" bitsize="64" type="uint64"/> + <reg name="r21" bitsize="64" type="uint64"/> + <reg name="r22" bitsize="64" type="uint64"/> + <reg name="r23" bitsize="64" type="uint64"/> + <reg name="r24" bitsize="64" type="uint64"/> + <reg name="r25" bitsize="64" type="uint64"/> + <reg name="r26" bitsize="64" type="uint64"/> + <reg name="r27" bitsize="64" type="uint64"/> + <reg name="r28" bitsize="64" type="uint64"/> + <reg name="r29" bitsize="64" type="uint64"/> + <reg name="r30" bitsize="64" type="uint64"/> + <reg name="r31" bitsize="64" type="uint64"/> + + <reg name="pc" bitsize="64" type="code_ptr" regnum="64"/> + <reg name="msr" bitsize="64" type="uint64"/> + <reg name="cr" bitsize="32" type="uint32"/> + <reg name="lr" bitsize="64" type="code_ptr"/> + <reg name="ctr" bitsize="64" type="uint64"/> + <reg name="xer" bitsize="32" type="uint32"/> + <!-- HACK: The way the QEMU GDB stub code is currently written requires + the "integer" registers from the XML file to span the entirety of + NUM_CORE_REGS that non-XML-aware GDB requires. Otherwise, XML-aware + GDB thinks that "coprocessor" registers from XML, such as the + floating-point registers, have register numbers less than + NUM_CORE_REGS. This can lead to problems. Work around it by using + an unnamed register as padding; NUM_CORE_REGS on Power is 71 and + this register is 70. It would be fpscr for non-XML-aware GDB. --> + <reg name="" bitsize="32" type="uint32"/> +</feature> |