Richard Henderson <richard.hender...@linaro.org> writes:
> On 12/11/19 9:05 AM, Alex Bennée wrote: >> +static struct TypeSize vec_lanes[] = { > > const. > >> + case 51: >> + return gdb_get_reg64(buf, (cpu->env.vfp.zcr_el[1] & 0xf) + 1); > > You need to use sve_zcr_len_for_el to get the effective vq. > Also, I thought vg == 2 * vq. > > + case 51: >> + { >> + uint64_t val = *(uint64_t *) buf; >> + cpu->env.vfp.zcr_el[1] = (val - 1) & 0xf; > > You cannot hard-code EL1 without ifdef CONFIG_USER_ONLY. If the effective vq > decreases, you must call aarch64_sve_narrow_vq. You must call > arm_rebuild_hflags. Hmm thinking about it this is overriding the kernels competencies - it should be read only as it is a "virtual" register. Given gdbserver doesn't use the value and will most likely use dynamic XML we could just drop it altogether. > > > r~ -- Alex Bennée