qemu/stubs
Laszlo Ersek 56c4bfb3f0 dump: rebase from host-private RAMBlock offsets to guest-physical addresses
RAMBlock.offset                   --> GuestPhysBlock.target_start
RAMBlock.offset + RAMBlock.length --> GuestPhysBlock.target_end
RAMBlock.length                   --> GuestPhysBlock.target_end -
                                      GuestPhysBlock.target_start

"GuestPhysBlock.host_addr" is only used when writing the dump contents.

This patch enables "crash" to work with the vmcore by rebasing the vmcore
from the left side of the following diagram to the right side:

host-private
offset
relative
to ram_addr   RAMBlock                  guest-visible paddrs
            0 +-------------------+.....+-------------------+ 0
              |         ^         |     |        ^          |
              |       640 KB      |     |      640 KB       |
              |         v         |     |        v          |
  0x0000a0000 +-------------------+.....+-------------------+ 0x0000a0000
              |         ^         |     |XXXXXXXXXXXXXXXXXXX|
              |       384 KB      |     |XXXXXXXXXXXXXXXXXXX|
              |         v         |     |XXXXXXXXXXXXXXXXXXX|
  0x000100000 +-------------------+.....+-------------------+ 0x000100000
              |         ^         |     |        ^          |
              |       3583 MB     |     |      3583 MB      |
              |         v         |     |        v          |
  0x0e0000000 +-------------------+.....+-------------------+ 0x0e0000000
              |         ^         |.    |XXXXXXXXXXXXXXXXXXX|
              | above_4g_mem_size | .   |XXXX PCI hole XXXXX|
              |         v         |  .  |XXXX          XXXXX|
     ram_size +-------------------+   . |XXXX  512 MB  XXXXX|
                                   .   .|XXXXXXXXXXXXXXXXXXX|
                                    .   +-------------------+ 0x100000000
                                     .  |         ^         |
                                      . | above_4g_mem_size |
                                       .|         v         |
                                        +-------------------+ ram_size
                                                              + 512 MB

Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2013-08-08 11:01:46 -04:00
..
arch-query-cpu-def.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
clock-warp.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
cpu-get-clock.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
cpu-get-icount.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
cpus.c cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
dump.c dump: rebase from host-private RAMBlock offsets to guest-physical addresses 2013-08-08 11:01:46 -04:00
fd-register.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
fdset-add-fd.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
fdset-find-fd.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
fdset-get-fd.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
fdset-remove-fd.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
gdbstub.c cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML 2013-07-27 00:04:17 +02:00
get-fd.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
get-vm-name.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
iothread-lock.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
Makefile.objs cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML 2013-07-27 00:04:17 +02:00
migr-blocker.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
mon-is-qmp.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
mon-print-filename.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
mon-printf.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
mon-protocol-event.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
mon-set-error.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
pci-drive-hot-add.c hw: move device-hotplug.o to toplevel, compile it once 2013-03-01 13:57:13 +01:00
reset.c libqemustub: Add qemu_[un]register_reset() stubs 2013-01-08 21:03:43 +01:00
set-fd-handler.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
slirp.c slirp: switch to GPollFD 2013-02-21 16:17:31 -06:00
sysbus.c libqemustub: sysbus_get_default() stub 2013-01-08 21:03:43 +01:00
vm-stop.c cpus: Add return value for vm_stop() 2013-07-15 09:51:38 +02:00
vmstate.c stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY 2013-03-12 10:35:54 +01:00