mirror of
https://github.com/mii443/qemu.git
synced 2025-12-17 01:28:52 +00:00
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20190326' into staging
target-arm queue: * Set SIMDMISC and FPMISC for 32-bit -cpu max (fixes regression from 3.1) * fix vCont packet handling when no thread is specified # gpg: Signature made Tue 26 Mar 2019 13:09:48 GMT # gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE # gpg: issuer "peter.maydell@linaro.org" # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate] # gpg: aka "Peter Maydell <pmaydell@gmail.com>" [ultimate] # gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate] # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE * remotes/pmaydell/tags/pull-target-arm-20190326: gdbstub: fix vCont packet handling when no thread is specified target/arm: Set SIMDMISC and FPMISC for 32-bit -cpu max Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
14
gdbstub.c
14
gdbstub.c
@@ -1152,6 +1152,7 @@ static int gdb_handle_vcont(GDBState *s, const char *p)
|
||||
uint32_t pid, tid;
|
||||
GDBProcess *process;
|
||||
CPUState *cpu;
|
||||
GDBThreadIdKind kind;
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
int max_cpus = 1; /* global variable max_cpus exists only in system mode */
|
||||
|
||||
@@ -1194,12 +1195,21 @@ static int gdb_handle_vcont(GDBState *s, const char *p)
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (*p++ != ':') {
|
||||
if (*p == '\0' || *p == ';') {
|
||||
/*
|
||||
* No thread specifier, action is on "all threads". The
|
||||
* specification is unclear regarding the process to act on. We
|
||||
* choose all processes.
|
||||
*/
|
||||
kind = GDB_ALL_PROCESSES;
|
||||
} else if (*p++ == ':') {
|
||||
kind = read_thread_id(p, &p, &pid, &tid);
|
||||
} else {
|
||||
res = -ENOTSUP;
|
||||
goto out;
|
||||
}
|
||||
|
||||
switch (read_thread_id(p, &p, &pid, &tid)) {
|
||||
switch (kind) {
|
||||
case GDB_READ_THREAD_ERR:
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
|
||||
@@ -2028,6 +2028,11 @@ static void arm_max_initfn(Object *obj)
|
||||
t = FIELD_DP32(t, ID_ISAR6, SPECRES, 1);
|
||||
cpu->isar.id_isar6 = t;
|
||||
|
||||
t = cpu->isar.mvfr2;
|
||||
t = FIELD_DP32(t, MVFR2, SIMDMISC, 3); /* SIMD MaxNum */
|
||||
t = FIELD_DP32(t, MVFR2, FPMISC, 4); /* FP MaxNum */
|
||||
cpu->isar.mvfr2 = t;
|
||||
|
||||
t = cpu->id_mmfr4;
|
||||
t = FIELD_DP32(t, ID_MMFR4, HPDS, 1); /* AA32HPD */
|
||||
cpu->id_mmfr4 = t;
|
||||
|
||||
Reference in New Issue
Block a user