diff options
author | David Hildenbrand <dahi@linux.vnet.ibm.com> | 2014-08-29 15:52:16 +0200 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-09-01 09:45:19 +0200 |
commit | 73d510c9d3f67378759447fd78af10b22e39620f (patch) | |
tree | b8bcb06c8e359812e4e39acb7f7c11503d5ecaa0 /target-s390x/cpu.c | |
parent | 6117afac348c8e94ca02c9b5ff68c9f0abcfdb85 (diff) | |
download | qemu-73d510c9d3f67378759447fd78af10b22e39620f.tar.gz qemu-73d510c9d3f67378759447fd78af10b22e39620f.tar.bz2 qemu-73d510c9d3f67378759447fd78af10b22e39620f.zip |
s390x/gdb: generate target.xml and handle fp/ac as coprocessors
This patch reduces the core registers to the psw and the general purpose
registers. The fpc and ac registers are handled as coprocessors registers by gdb.
This allows to reuse the feature xml files taken from gdb without further
modification and is what other architectures do.
The target.xml is now generated and provided to the gdb client. Therefore, the
client doesn't have to guess which registers are available at which logical
register number.
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'target-s390x/cpu.c')
-rw-r--r-- | target-s390x/cpu.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c index 505a2fa3da..97a92168a8 100644 --- a/target-s390x/cpu.c +++ b/target-s390x/cpu.c @@ -174,6 +174,7 @@ static void s390_cpu_realizefn(DeviceState *dev, Error **errp) CPUState *cs = CPU(dev); S390CPUClass *scc = S390_CPU_GET_CLASS(dev); + s390_cpu_gdb_init(cs); qemu_init_vcpu(cs); #if !defined(CONFIG_USER_ONLY) run_on_cpu(cs, s390_do_cpu_full_reset, cs); @@ -263,7 +264,8 @@ static void s390_cpu_class_init(ObjectClass *oc, void *data) cc->write_elf64_qemunote = s390_cpu_write_elf64_qemunote; #endif dc->vmsd = &vmstate_s390_cpu; - cc->gdb_num_core_regs = S390_NUM_REGS; + cc->gdb_num_core_regs = S390_NUM_CORE_REGS; + cc->gdb_core_xml_file = "s390x-core64.xml"; } static const TypeInfo s390_cpu_type_info = { |