qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH qom-cpu v4 00/18] dump: Build cleanups, redone
@ 2013-06-09 16:10 Andreas Färber
  2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 01/18] dump: Move stubs into libqemustub.a Andreas Färber
                   ` (19 more replies)
  0 siblings, 20 replies; 37+ messages in thread
From: Andreas Färber @ 2013-06-09 16:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jens Freimann, lcapitulino, Vincent Rabin, qiaonuohan,
	Paolo Bonzini, Andreas Färber

Hello,

As requested by Paolo, this replaces Kate's previous memory_mapping split
and my follow-ups and instead goes directly for moving things to CPUState.

All knowledge about dump / memory mapping are moved away from configure.

v4 incorporates minor API changes, suggested by Luiz, as well as two
CPUArchState cleanups previously on qom-cpu-10 and goes on to make
memory_mapping.c target-independent.

Note: dump.c depends on TARGET_PAGE_SIZE. Since it is only used in ifs and
function arguments, we could easily introduce a target_get_page_size() helper
to abstract this info out from dump.c, but that's outside the scope of this
guest-memory-dump series.

Available for testing here:
git://github.com/afaerber/qemu-cpu.git qom-cpu-dump-stubs.v4
https://github.com/afaerber/qemu-cpu/commits/qom-cpu-dump-stubs.v4

Regards,
Andreas

v3 -> v4:
* Made cpu_paging_enabled() CPUState argument const.
* Added Error** argument to cpu_get_memory_mapping().
* Inserted patch to change cpu_paging_enabled() default to false.
* Redid qemu_get_guest_memory_mapping() cleanup with two CPU iterations and Error.
* Appended two patches to clean up CPUArchState uses.
* Re-appended target_ulong replacement patch.

v2 -> v3:
* Incorporate Luiz' x86 bugfix.
* Append a patch to resolve the open-coded CPU loops.
* Massage CONFIG_HAVE_* commit messages (they were previously reordered).

v1 -> v2:
* Dropped Kate's memory_mapping split
* Dropped target_ulong cleanup and replaced with typedef
* Amended CPUArchState cleanups with introducing hooks in CPUClass
* Drop memory_memory stubs instead of moving them

Cc: Wen Congyang <wency@cn.fujitsu.com>
Cc: Qiao Nuohan <qiaonuohan@cn.fujitsu.com>
Cc: Jens Freimann <jfrei@linux.vnet.ibm.com>
Cc: Vincent Rabin <rabin@rab.in>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Luiz Capitulino <lcapitulino@redhat.com>

Andreas Färber (13):
  dump: Move stubs into libqemustub.a
  cpu: Turn cpu_paging_enabled() into a CPUState hook
  memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h
  cpu: Turn cpu_get_memory_mapping() into a CPUState hook
  memory_mapping: Drop qemu_get_memory_mapping() stub
  dump: Drop qmp_dump_guest_memory() stub and build for all targets
  cpu: Change default for CPUClass::get_paging_enabled()
  memory_mapping: Cleanup qemu_get_guest_memory_mapping()
  dump: Abstract dump_init() with cpu_synchronize_all_states()
  dump: Abstract dump_init() further with qemu_for_each_cpu()
  dump: Abstract write_elf{64,32}_notes() with qemu_for_each_cpu()
  memory_mapping: Use hwaddr type for MemoryMapping virt_addr field
  memory_mapping: Build only once

Eduardo Habkost (3):
  pc: Create pc-*-1.6 machine-types
  target-i386: Update model values on Conroe/Penryn/Nehalem CPU models
  target-i386: Set level=4 on Conroe/Penryn/Nehalem

Igor Mammedov (2):
  pc: Fix crash when attempting to hotplug CPU with negative ID
  target-i386: cpu: Fix potential buffer overrun in
    get_register_name_32()

 Makefile.objs                     |   1 +
 Makefile.target                   |   7 +-
 configure                         |   8 --
 dump.c                            | 157 +++++++++++++++++++++++++++-----------
 hmp-commands.hx                   |   2 -
 hw/i386/pc.c                      |   5 ++
 hw/i386/pc_piix.c                 |  18 ++++-
 hw/i386/pc_q35.c                  |  16 +++-
 include/exec/cpu-all.h            |  28 -------
 include/exec/cpu-common.h         |  33 ++++++++
 include/hw/i386/pc.h              |  28 +++++++
 include/qemu/typedefs.h           |   2 +
 include/qom/cpu.h                 |  24 ++++++
 include/sysemu/memory_mapping.h   |  19 ++---
 memory_mapping-stub.c             |  33 --------
 memory_mapping.c                  |  57 ++++++++------
 qom/cpu.c                         |  29 +++++++
 stubs/Makefile.objs               |   1 +
 dump-stub.c => stubs/dump.c       |   8 --
 target-i386/arch_memory_mapping.c |  16 ++--
 target-i386/cpu-qom.h             |   3 +
 target-i386/cpu.c                 |  26 ++++---
 22 files changed, 336 insertions(+), 185 deletions(-)
 delete mode 100644 memory_mapping-stub.c
 rename dump-stub.c => stubs/dump.c (65%)

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2013-06-11 17:47 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-09 16:10 [Qemu-devel] [PATCH qom-cpu v4 00/18] dump: Build cleanups, redone Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 01/18] dump: Move stubs into libqemustub.a Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 02/18] pc: Fix crash when attempting to hotplug CPU with negative ID Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 03/18] pc: Create pc-*-1.6 machine-types Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 04/18] target-i386: Update model values on Conroe/Penryn/Nehalem CPU models Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 05/18] target-i386: Set level=4 on Conroe/Penryn/Nehalem Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 06/18] target-i386: cpu: Fix potential buffer overrun in get_register_name_32() Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 07/18] cpu: Turn cpu_paging_enabled() into a CPUState hook Andreas Färber
2013-06-11  8:06   ` Jens Freimann
2013-06-11 14:52   ` Luiz Capitulino
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 08/18] memory_mapping: Move MemoryMappingList typedef to qemu/typedefs.h Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 09/18] cpu: Turn cpu_get_memory_mapping() into a CPUState hook Andreas Färber
2013-06-11  9:20   ` Jens Freimann
2013-06-11 14:56   ` Luiz Capitulino
2013-06-11 16:03     ` Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 10/18] memory_mapping: Drop qemu_get_memory_mapping() stub Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 11/18] dump: Drop qmp_dump_guest_memory() stub and build for all targets Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 12/18] cpu: Change default for CPUClass::get_paging_enabled() Andreas Färber
2013-06-11  9:00   ` Jens Freimann
2013-06-11 15:01   ` Luiz Capitulino
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 13/18] memory_mapping: Cleanup qemu_get_guest_memory_mapping() Andreas Färber
2013-06-11 15:52   ` Luiz Capitulino
2013-06-11 17:47     ` Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 14/18] dump: Abstract dump_init() with cpu_synchronize_all_states() Andreas Färber
2013-06-11 15:55   ` Luiz Capitulino
2013-06-11 17:46     ` Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 15/18] dump: Abstract dump_init() further with qemu_for_each_cpu() Andreas Färber
2013-06-11 15:55   ` Luiz Capitulino
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 16/18] dump: Abstract write_elf{64, 32}_notes() " Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 17/18] memory_mapping: Use hwaddr type for MemoryMapping virt_addr field Andreas Färber
2013-06-09 17:17   ` Peter Maydell
2013-06-09 17:25     ` Andreas Färber
2013-06-09 16:10 ` [Qemu-devel] [PATCH qom-cpu v4 18/18] memory_mapping: Build only once Andreas Färber
2013-06-09 17:29   ` Peter Maydell
2013-06-09 17:36     ` Andreas Färber
2013-06-09 16:19 ` [Qemu-devel] [PATCH qom-cpu v4 00/18] dump: Build cleanups, redone Andreas Färber
2013-06-11 16:54 ` Andreas Färber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).