On 3/22/21 4:59 AM, Robert Hoo wrote:
Since commit fa4518741e (target-i386: Rename struct XMMReg to ZMMReg), CPUX86State.xmm_regs[] has already been extended to 512bit to support AVX512. Also, other qemu level supports for AVX512 registers are there for years. But in x86_cpu_dump_state(), still only dump XMM registers. This patch is just to complement this part, let it dump ZMM of 512bits.
I think you should examine the state of the cpu to determine what of SSE, AVX or AVX512 is currently enabled, then dump that.
- if (env->hflags & HF_CS64_MASK) - nb = 16; - else - nb = 8; - for(i=0;i<nb;i++) { - qemu_fprintf(f, "XMM%02d=%08x%08x%08x%08x", + + nb = sizeof(env->xmm_regs) / sizeof(env->xmm_regs[0]);
E.g., you're dumping all of the registers in 32-bit mode, which is restricted to 8 registers, not 32.
r~