[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] c8c14b: target-i386: x86_cpu_get_phys_page_de
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] c8c14b: target-i386: x86_cpu_get_phys_page_debug(): suppor... |
Date: |
Mon, 31 Mar 2014 12:00:05 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: c8c14bcb72e436fb4aff99b4b2b92e44f2e715b5
https://github.com/qemu/qemu/commit/c8c14bcb72e436fb4aff99b4b2b92e44f2e715b5
Author: Luiz Capitulino <address@hidden>
Date: 2014-03-31 (Mon, 31 Mar 2014)
Changed paths:
M target-i386/helper.c
Log Message:
-----------
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 <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Reviewed-by: Jan Kiszka <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 0d6d1ab4990b6e8c6f24e9b1308801d657d411ad
https://github.com/qemu/qemu/commit/0d6d1ab4990b6e8c6f24e9b1308801d657d411ad
Author: Andreas Färber <address@hidden>
Date: 2014-03-31 (Mon, 31 Mar 2014)
Changed paths:
M include/qom/cpu.h
Log Message:
-----------
cpu: Avoid QOM casts for CPU()
CPU address spaces touching load and store helpers as well as the
movement of (almost) all fields from CPU_COMMON to CPUState have led to
a noticeable increase of CPU() usage in "hot" paths for both TCG and KVM.
While CPU()'s OBJECT_CHECK() might help detect development errors, i.e.
in form of crashes due to QOM vs. non-QOM mismatches rather than QOM
type mismatches, it is not really needed at runtime since mostly used in
CPU-specific paths, coming from a target-specific CPU subtype. If that
pointer is damaged, other errors are highly likely to occur elsewhere
anyway.
Keep the CPU() macro for a consistent developer experience and for
flexibility to exchange its implementation, but turn it into a pure,
unchecked C cast for now.
Compare commit 6e42be7cd10260fd3a006d94f6c870692bf7a2c0.
Reported-by: Laurent Desnogues <address@hidden>
Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 7d4d7975e58b66de6a67ecb5aa9656653653a658
https://github.com/qemu/qemu/commit/7d4d7975e58b66de6a67ecb5aa9656653653a658
Author: Peter Maydell <address@hidden>
Date: 2014-03-31 (Mon, 31 Mar 2014)
Changed paths:
M include/qom/cpu.h
M target-i386/helper.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into
staging
QOM CPUState refactorings / X86CPU
* X86CPU IA32e 1GB paging support
* Performance quickfix for CPU() cast macro
# gpg: Signature made Mon 31 Mar 2014 18:33:27 BST using RSA key ID 3E7E013F
# gpg: Good signature from "Andreas Färber <address@hidden>"
# gpg: aka "Andreas Färber <address@hidden>"
* remotes/afaerber/tags/qom-cpu-for-2.0:
cpu: Avoid QOM casts for CPU()
target-i386: x86_cpu_get_phys_page_debug(): support 1GB page translation
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/8648fcd52a9b...7d4d7975e58b
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] c8c14b: target-i386: x86_cpu_get_phys_page_debug(): suppor...,
GitHub <=