OSDN Git Service

target-i386: x86_cpu_get_phys_page_debug(): support 1GB page translation
authorLuiz Capitulino <lcapitulino@redhat.com>
Wed, 19 Mar 2014 21:03:53 +0000 (17:03 -0400)
committerAndreas Färber <afaerber@suse.de>
Mon, 31 Mar 2014 17:06:48 +0000 (19:06 +0200)
commitc8c14bcb72e436fb4aff99b4b2b92e44f2e715b5
tree763a01f01d1c8ecf2d63bd1bbbdfe0af5e9ce3c1
parent8648fcd52a9bcc2aa415cbe87b7c636e545acb38
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>
target-i386/helper.c