[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 00/62] KVM, dirty bitmap, build system, SMM, icoun
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL v2 00/62] KVM, dirty bitmap, build system, SMM, icount changes for 2015-06-05 |
Date: |
Fri, 5 Jun 2015 17:56:14 +0200 |
The following changes since commit 00967f4e0bab246679d0ddc32fd31a7179345baf:
Merge remote-tracking branch 'remotes/agraf/tags/signed-s390-for-upstream'
into staging (2015-06-05 12:04:42 +0100)
are available in the git repository at:
git://github.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to 7452a3b21318902ffe725cc75e68dc3d0716070f:
update Linux headers from kvm/next (2015-06-05 17:10:02 +0200)
Apologies for the very large pull request, mostly due to the two main
topics (dirty bitmap + SMM) being reviewed more or less at the same time.
Diff to v1 below; Peter, it's a small ARM change so you can take a look.
----------------------------------------------------------------
* KVM error improvement from Laurent
* CONFIG_PARALLEL fix from Mirek
* Atomic/optimized dirty bitmap access from myself and Stefan
* BUILD_DIR convenience/bugfix from Peter C
* Memory leak fix from Shannon
* SMM improvements (though still TCG only) from myself and Gerd, acked by mst
----------------------------------------------------------------
Fam Zheng (1):
qemu-nbd: Switch to qemu_set_fd_handler
Gerd Hoffmann (6):
q35: fix ESMRAMC default
q35: add config space wmask for SMRAM and ESMRAMC
q35: implement SMRAM.D_LCK
q35: add test for SMRAM.D_LCK
q35: implement TSEG
ich9: implement SMI_LOCK
Laurent Vivier (1):
ppc: add helpful message when KVM fails to start VCPU
Miroslav Rezanina (1):
Move parallel_hds_isa_init to hw/isa/isa-bus.c
Paolo Bonzini (43):
exec: optimize phys_page_set_level
memory: the only dirty memory flag for users is DIRTY_MEMORY_VGA
g364fb: remove pointless call to memory_region_set_coalescing
display: enable DIRTY_MEMORY_VGA tracking explicitly
display: add memory_region_sync_dirty_bitmap calls
memory: differentiate memory_region_is_logging and
memory_region_get_dirty_log_mask
memory: prepare for multiple bits in the dirty log mask
framebuffer: check memory_region_is_logging
ui/console: remove dpy_gfx_update_dirty
memory: track DIRTY_MEMORY_CODE in mr->dirty_log_mask
kvm: accept non-mapped memory in kvm_dirty_pages_log_change
memory: include DIRTY_MEMORY_MIGRATION in the dirty log mask
kvm: remove special handling of DIRTY_MEMORY_MIGRATION in the dirty log
mask
ram_addr: tweaks to xen_modified_memory
exec: use memory_region_get_dirty_log_mask to optimize dirty tracking
exec: move functions to translate-all.h
translate-all: remove unnecessary argument to tb_invalidate_phys_range
cputlb: remove useless arguments to tlb_unprotect_code_phys, rename
translate-all: make less of tb_invalidate_phys_page_range depend on
is_cpu_write_access
exec: pass client mask to cpu_physical_memory_set_dirty_range
exec: invert return value of cpu_physical_memory_get_clean, rename
exec: only check relevant bitmaps for cleanliness
memory: do not touch code dirty bitmap unless TCG is enabled
memory: use mr->ram_addr in "is this RAM?" assertions
target-i386: introduce cpu_get_mem_attrs
target-i386: Use correct memory attributes for memory accesses
target-i386: Use correct memory attributes for ioport accesses
target-i386: mask NMIs on entry to SMM
target-i386: set G=1 in SMM big real mode selectors
target-i386: wake up processors that receive an SMI
pflash_cfi01: change big-endian property to BIT type
pflash_cfi01: change to new-style MMIO accessors
pflash_cfi01: add secure property
vl: allow full-blown QemuOpts syntax for -global
qom: add object_property_add_const_link
vl: run "late" notifiers immediately
target-i386: create a separate AddressSpace for each CPU
hw/i386: add a separate region that tracks the SMRAME bit
target-i386: use memory API to implement SMRAM
hw/i386: remove smram_update
q35: implement high SMRAM
atomics: add explicit compiler fence in __atomic memory barriers
update Linux headers from kvm/next
Peter Crosthwaite (1):
Makefile.target: set master BUILD_DIR
Stefan Hajnoczi (6):
bitmap: add atomic set functions
bitmap: add atomic test and clear
memory: use atomic ops for setting dirty memory bits
migration: move dirty bitmap sync to ram_addr.h
memory: replace cpu_physical_memory_reset_dirty() with test-and-clear
memory: make cpu_physical_memory_sync_dirty_bitmap() fully atomic
Victor CLEMENT (3):
icount: implement a new icount_sleep mode toggleing real-time cpu sleep
icount: add sleep parameter to the icount option to set icount_sleep mode
icount: print a warning if there is no more deadline in sleep=no mode
Makefile.target | 2 +
arch_init.c | 46 +---
bsd-user/main.c | 4 -
cpus.c | 84 ++++---
cputlb.c | 7 +-
exec.c | 123 +++++-----
hw/acpi/ich9.c | 4 +-
hw/arm/vexpress.c | 2 +
hw/arm/virt.c | 2 +
hw/block/pflash_cfi01.c | 204 +++++++---------
hw/char/parallel.c | 25 --
hw/display/cg3.c | 2 +
hw/display/exynos4210_fimd.c | 20 +-
hw/display/framebuffer.c | 4 +
hw/display/g364fb.c | 3 +-
hw/display/sm501.c | 2 +
hw/display/tcx.c | 3 +
hw/display/vmware_vga.c | 2 +-
hw/i386/pc.c | 21 --
hw/isa/isa-bus.c | 26 +++
hw/isa/lpc_ich9.c | 19 ++
hw/pci-host/pam.c | 20 --
hw/pci-host/piix.c | 44 ++--
hw/pci-host/q35.c | 142 ++++++++++--
hw/virtio/dataplane/vring.c | 2 +-
hw/virtio/vhost.c | 9 +-
include/exec/cputlb.h | 3 +-
include/exec/exec-all.h | 6 +-
include/exec/memattrs.h | 4 +-
include/exec/memory.h | 25 +-
include/exec/ram_addr.h | 138 +++++++----
include/hw/acpi/ich9.h | 1 +
include/hw/i386/ich9.h | 6 +
include/hw/i386/pc.h | 1 -
include/hw/pci-host/pam.h | 4 -
include/hw/pci-host/q35.h | 36 ++-
include/qemu/atomic.h | 12 +-
include/qemu/bitmap.h | 4 +
include/qemu/bitops.h | 14 ++
include/qom/object.h | 18 ++
include/standard-headers/linux/virtio_ring.h | 2 +-
include/ui/console.h | 4 -
kvm-all.c | 85 ++-----
linux-headers/asm-x86/kvm.h | 14 +-
linux-headers/linux/kvm.h | 7 +-
linux-user/main.c | 4 -
linux-user/mmap.c | 7 +-
memory.c | 81 +++++--
qdev-monitor.c | 18 +-
qemu-nbd.c | 21 +-
qemu-options.hx | 19 +-
qom/object.c | 16 ++
target-i386/Makefile.objs | 2 -
target-i386/cpu-qom.h | 3 +
target-i386/cpu.c | 47 +++-
target-i386/cpu.h | 40 +++-
target-i386/helper.c | 135 +++++++++--
target-i386/helper.h | 12 +-
target-i386/ioport-user.c | 60 -----
target-i386/kvm.c | 2 +-
target-i386/machine.c | 3 +
target-i386/misc_helper.c | 59 +++--
target-i386/seg_helper.c | 12 +-
target-i386/smm_helper.c | 333 ++++++++++++++-------------
target-i386/svm_helper.c | 230 +++++++++---------
target-i386/translate.c | 12 +-
tests/Makefile | 3 +
tests/q35-test.c | 91 ++++++++
translate-all.c | 20 +-
translate-all.h | 7 +
ui/console.c | 61 -----
user-exec.c | 1 +
util/bitmap.c | 83 +++++++
vl.c | 9 +
xen-hvm.c | 22 +-
73 files changed, 1560 insertions(+), 1055 deletions(-)
delete mode 100644 target-i386/ioport-user.c
create mode 100644 tests/q35-test.c
--
2.4.1
diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
index 8f1a5ea..da21788 100644
--- a/hw/arm/vexpress.c
+++ b/hw/arm/vexpress.c
@@ -525,7 +525,7 @@ static pflash_t *ve_pflash_cfi01_register(hwaddr base,
const char *name,
qdev_prop_set_uint64(dev, "sector-length", VEXPRESS_FLASH_SECT_SIZE);
qdev_prop_set_uint8(dev, "width", 4);
qdev_prop_set_uint8(dev, "device-width", 2);
- qdev_prop_set_uint8(dev, "big-endian", 0);
+ qdev_prop_set_bit(dev, "big-endian", false);
qdev_prop_set_uint16(dev, "id0", 0x89);
qdev_prop_set_uint16(dev, "id1", 0x18);
qdev_prop_set_uint16(dev, "id2", 0x00);
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 0a75cc8..1b1cc71 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -555,7 +555,7 @@ static void create_one_flash(const char *name, hwaddr
flashbase,
qdev_prop_set_uint64(dev, "sector-length", sectorlength);
qdev_prop_set_uint8(dev, "width", 4);
qdev_prop_set_uint8(dev, "device-width", 2);
- qdev_prop_set_uint8(dev, "big-endian", 0);
+ qdev_prop_set_bit(dev, "big-endian", false);
qdev_prop_set_uint16(dev, "id0", 0x89);
qdev_prop_set_uint16(dev, "id1", 0x18);
qdev_prop_set_uint16(dev, "id2", 0x00);
- [Qemu-devel] [PULL v2 00/62] KVM, dirty bitmap, build system, SMM, icount changes for 2015-06-05,
Paolo Bonzini <=