qemu/target-i386
Luiz Capitulino c8c14bcb72 target-i386: x86_cpu_get_phys_page_debug(): support 1GB page translation
Linux guests, when using more than 4GB of RAM, may end up using 1GB pages
to store (kernel) data. When this happens, we're unable to debug a running
Linux kernel with GDB:

(gdb) p node_data[0]->node_id
Cannot access memory at address 0xffff88013fffd3a0
(gdb)

GDB returns this error because x86_cpu_get_phys_page_debug() doesn't support
translating 1GB pages in IA-32e paging mode and returns an error to GDB.

This commit adds support for 1GB page translation for IA32e paging.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
2014-03-31 19:06:48 +02:00
..
arch_dump.c dump: rebase from host-private RAMBlock offsets to guest-physical addresses 2013-08-08 11:01:46 -04:00
arch_memory_mapping.c exec: Make ldq/ldub_*_phys input an AddressSpace 2014-02-11 22:57:00 +10:00
cc_helper_template.h target-i386: Implement BLSR, BLSMSK, BLSI 2013-02-18 15:52:05 -08:00
cc_helper.c target-i386: Fix CC_OP_CLR vs PF 2014-02-28 08:43:15 -08:00
cpu-qom.h target-i386: X86CPU model subclasses 2014-03-13 19:20:07 +01:00
cpu.c target-i386: Add missing 'static' and 'const' attributes 2014-03-27 19:22:48 +04:00
cpu.h target-i386: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00
excp_helper.c cpu-exec: Change cpu_loop_exit() argument to CPUState 2014-03-13 19:20:47 +01:00
fpu_helper.c target-i386: Fix SSE status flag corruption 2014-02-28 08:44:01 -08:00
gdbstub.c target-i386: Fix SSE status flag corruption 2014-02-28 08:44:01 -08:00
helper.c target-i386: x86_cpu_get_phys_page_debug(): support 1GB page translation 2014-03-31 19:06:48 +02:00
helper.h target-i386: yield to another VCPU on PAUSE 2013-11-21 17:39:20 +01:00
int_helper.c target-i386/helper: remove EDX macro 2013-06-15 17:49:10 +00:00
ioport-user.c
kvm_i386.h
kvm-stub.c target-i386: Fix build by providing stub kvm_arch_get_supported_cpuid() 2013-11-21 17:39:11 +01:00
kvm.c target-i386: Add missing 'static' and 'const' attributes 2014-03-27 19:22:48 +04:00
machine.c cputlb: Change tlb_flush() argument to CPUState 2014-03-13 19:52:47 +01:00
Makefile.objs Makefile.target: CONFIG_NO_* variables removed 2013-10-16 18:21:00 +02:00
mem_helper.c translate-all: Change cpu_restore_state() argument to CPUState 2014-03-13 19:20:47 +01:00
misc_helper.c cputlb: Change tlb_flush_page() argument to CPUState 2014-03-13 19:52:47 +01:00
ops_sse_header.h target-i386: add AES-NI instructions 2013-04-13 13:51:57 +02:00
ops_sse.h target-i386: add AES-NI instructions 2013-04-13 13:51:57 +02:00
seg_helper.c exec: Change cpu_abort() argument to CPUState 2014-03-13 19:52:28 +01:00
shift_helper_template.h target-i386: compute eflags outside rcl/rcr helper 2013-02-18 15:03:56 -08:00
smm_helper.c target-i386: Clean up ENV_GET_CPU() usage 2014-03-13 19:01:48 +01:00
svm_helper.c cputlb: Change tlb_flush() argument to CPUState 2014-03-13 19:52:47 +01:00
svm.h
TODO
topology.h target-i386: Inline bitops_flsl 2013-02-16 11:12:29 +00:00
translate.c cpu: Move breakpoints field from CPU_COMMON to CPUState 2014-03-13 19:20:47 +01:00