mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
target/arm: Use GDBFeature for dynamic XML
In preparation for a change to use GDBFeature as a parameter of gdb_register_coprocessor(), convert the internal representation of dynamic feature from plain XML to GDBFeature. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231213-gdb-v17-1-777047380591@daynix.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240227144335.1196131-6-alex.bennee@linaro.org>
This commit is contained in:
parent
8467ac75b3
commit
690bd97b5b
4 changed files with 122 additions and 136 deletions
|
@ -25,6 +25,7 @@
|
|||
#include "hw/registerfields.h"
|
||||
#include "cpu-qom.h"
|
||||
#include "exec/cpu-defs.h"
|
||||
#include "exec/gdbstub.h"
|
||||
#include "qapi/qapi-types-common.h"
|
||||
#include "target/arm/multiprocessing.h"
|
||||
#include "target/arm/gtimer.h"
|
||||
|
@ -117,23 +118,21 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* DynamicGDBXMLInfo:
|
||||
* @desc: Contains the XML descriptions.
|
||||
* @num: Number of the registers in this XML seen by GDB.
|
||||
* DynamicGDBFeatureInfo:
|
||||
* @desc: Contains the feature descriptions.
|
||||
* @data: A union with data specific to the set of registers
|
||||
* @cpregs_keys: Array that contains the corresponding Key of
|
||||
* a given cpreg with the same order of the cpreg
|
||||
* in the XML description.
|
||||
*/
|
||||
typedef struct DynamicGDBXMLInfo {
|
||||
char *desc;
|
||||
int num;
|
||||
typedef struct DynamicGDBFeatureInfo {
|
||||
GDBFeature desc;
|
||||
union {
|
||||
struct {
|
||||
uint32_t *keys;
|
||||
} cpregs;
|
||||
} data;
|
||||
} DynamicGDBXMLInfo;
|
||||
} DynamicGDBFeatureInfo;
|
||||
|
||||
/* CPU state for each instance of a generic timer (in cp15 c14) */
|
||||
typedef struct ARMGenericTimer {
|
||||
|
@ -855,10 +854,10 @@ struct ArchCPU {
|
|||
uint64_t *cpreg_vmstate_values;
|
||||
int32_t cpreg_vmstate_array_len;
|
||||
|
||||
DynamicGDBXMLInfo dyn_sysreg_xml;
|
||||
DynamicGDBXMLInfo dyn_svereg_xml;
|
||||
DynamicGDBXMLInfo dyn_m_systemreg_xml;
|
||||
DynamicGDBXMLInfo dyn_m_secextreg_xml;
|
||||
DynamicGDBFeatureInfo dyn_sysreg_feature;
|
||||
DynamicGDBFeatureInfo dyn_svereg_feature;
|
||||
DynamicGDBFeatureInfo dyn_m_systemreg_feature;
|
||||
DynamicGDBFeatureInfo dyn_m_secextreg_feature;
|
||||
|
||||
/* Timers used by the generic (architected) timer */
|
||||
QEMUTimer *gt_timer[NUM_GTIMERS];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue