On 05/06/2015 17:15, Paolo Bonzini wrote: > 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 4f4edb40f55b130b00960abc826a588b31bd3308: > > 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. > > ---------------------------------------------------------------- > * 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/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 >
The final rebase to origin/master broke qtest. Sent one patch for an existing breakage, but this pull request has to be redone as well. Paolo