提交 46fac17d 编写于 作者: V Viktor Prutyanov 提交者: Paolo Bonzini

dump: add kernel_gs_base to QEMU CPU state

This patch adds field with content of KERNEL_GS_BASE MSR to QEMU note in
ELF dump.

On Windows, if all vCPUs are running usermode tasks at the time the dump is
created, this can be helpful in the discovery of guest system structures
during conversion ELF dump to MEMORY.DMP dump.
Signed-off-by: NViktor Prutyanov <viktor.prutyanov@virtuozzo.com>
Message-Id: <20180714123000.11326-1-viktor.prutyanov@virtuozzo.com>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 9277d81f
......@@ -258,6 +258,12 @@ struct QEMUCPUState {
QEMUCPUSegment cs, ds, es, fs, gs, ss;
QEMUCPUSegment ldt, tr, gdt, idt;
uint64_t cr[5];
/*
* Fields below are optional and are being added at the end without
* changing the version. External tools may identify their presence
* by checking 'size' field.
*/
uint64_t kernel_gs_base;
};
typedef struct QEMUCPUState QEMUCPUState;
......@@ -315,6 +321,10 @@ static void qemu_get_cpustate(QEMUCPUState *s, CPUX86State *env)
s->cr[2] = env->cr[2];
s->cr[3] = env->cr[3];
s->cr[4] = env->cr[4];
#ifdef TARGET_X86_64
s->kernel_gs_base = env->kernelgsbase;
#endif
}
static inline int cpu_write_qemu_note(WriteCoreDumpFunction f,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册