[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 28f362: memory: Make eventfd adhere to device

From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 28f362: memory: Make eventfd adhere to device endianness
Date: Tue, 23 Oct 2012 11:30:15 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 28f362be6e7f45ea9b7a57a08555c4c784f36198
  Author: Alexander Graf <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M memory.c

  Log Message:
  memory: Make eventfd adhere to device endianness

Our memory API MMIO regions know the concept of device endianness. This
is used to automatically swap endianness between devices and host CPU,
depending on whether buses in between would swizzle the bits.

The ioeventfd value comparison does not adhere to that semantic though.
Probably because nobody has been running ioeventfd on a BE platform and
the only device implementing ioeventfd right now is LE (PCI) based.

So add swizzling to ioeventfd registration / deletion to make the rest
of the code as consistent as possible.

Thanks a lot to Michael Tsirkin to point me towards the right direction.

Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: Avi Kivity <address@hidden>

  Commit: 2725aec70114cf1bee00443aeb47a305f9b0c665
  Author: Avi Kivity <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M hw/piix_pci.c

  Log Message:
  i440fx: avoid destroying memory regions within a transaction

Calling memory_region_destroy() within a transaction is illegal, since
the memory API is allowed to continue to dispatch to a region until the
transaction commits.  440fx does that however when managing PAM registers.

This bug is benign, since the regions are all aliases (which the memory
core tends to throw anyway), and since we don't do concurrent dispatch yet,
but instead of relying on that, tighten ship ahead of the coming concurrency

Fix by having a predefined set of regions, of which one will be enabled at
any time.

Signed-off-by: Avi Kivity <address@hidden>

  Commit: 2be0e25f4b6a4f91e39388cc365bbe53b56ab62a
  Author: Avi Kivity <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M memory.c

  Log Message:
  memory: abort if a memory region is destroyed during a transaction

Destroying a memory region is illegal within a transaction, as until
the transaction is committed, the memory core may hold references to
the region.  Add an assert to check for violations of this rule.

Signed-off-by: Avi Kivity <address@hidden>

  Commit: a011b10e0c385c58469e654595801a592fb4137a
  Author: Alex Williamson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M hw/vfio_pci.c

  Log Message:
  vfio-pci: Fix debug build

Stray variable from before MSI-X rework

Signed-off-by: Alex Williamson <address@hidden>

  Commit: d9f0e63898d639629bb7eb914786529185334635
  Author: Alex Williamson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M hw/vfio_pci.c

  Log Message:
  vfio-pci: Mark non-migratable

We haven't magically fixed this yet.  Toss in a description too.

Signed-off-by: Alex Williamson <address@hidden>

  Commit: 248bbe74930472e7653dd88716188ab0329f4604
  Author: Anthony Liguori <address@hidden>
  Date:   2012-10-22 (Mon, 22 Oct 2012)

  Changed paths:
    M hw/vfio_pci.c

  Log Message:
  Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20121017.0' 
into staging

* awilliam/tags/vfio-pci-for-qemu-20121017.0:
  vfio-pci: Mark non-migratable
  vfio-pci: Fix debug build

  Commit: 50d2b4d93f45a425f15ac88bc4ec352f5c6e0bc2
  Author: Anthony Liguori <address@hidden>
  Date:   2012-10-22 (Mon, 22 Oct 2012)

  Changed paths:
    M hw/piix_pci.c
    M memory.c

  Log Message:
  Merge remote-tracking branch 'qemu-kvm/memory/urgent' into staging

* qemu-kvm/memory/urgent:
  memory: abort if a memory region is destroyed during a transaction
  i440fx: avoid destroying memory regions within a transaction
  memory: Make eventfd adhere to device endianness

  Commit: a8170e5e97ad17ca169c64ba87ae2f53850dab4c
  Author: Avi Kivity <address@hidden>
  Date:   2012-10-23 (Tue, 23 Oct 2012)

  Changed paths:
    M cpu-all.h
    M cpu-common.h
    M cpu-defs.h
    M cputlb.c
    M cputlb.h
    M disas.h
    M dma-helpers.c
    M dma.h
    M dump.c
    M exec-all.h
    M exec.c
    M hw/a9mpcore.c
    M hw/alpha_pci.c
    M hw/alpha_typhoon.c
    M hw/an5206.c
    M hw/apb_pci.c
    M hw/apb_pci.h
    M hw/apic.c
    M hw/apic_common.c
    M hw/apic_internal.h
    M hw/arm-misc.h
    M hw/arm11mpcore.c
    M hw/arm_boot.c
    M hw/arm_gic.c
    M hw/arm_l2x0.c
    M hw/arm_mptimer.c
    M hw/arm_sysctl.c
    M hw/arm_timer.c
    M hw/armv7m.c
    M hw/armv7m_nvic.c
    M hw/axis_dev88.c
    M hw/bonito.c
    M hw/cadence_gem.c
    M hw/cadence_ttc.c
    M hw/cadence_uart.c
    M hw/cirrus_vga.c
    M hw/cris-boot.h
    M hw/cs4231.c
    M hw/cs4231a.c
    M hw/cuda.c
    M hw/dma.c
    M hw/dp8393x.c
    M hw/ds1225y.c
    M hw/dummy_m68k.c
    M hw/e1000.c
    M hw/eccmemctl.c
    M hw/eepro100.c
    M hw/elf_ops.h
    M hw/empty_slot.c
    M hw/empty_slot.h
    M hw/escc.c
    M hw/escc.h
    M hw/esp-pci.c
    M hw/esp.c
    M hw/esp.h
    M hw/etraxfs.h
    M hw/etraxfs_dma.c
    M hw/etraxfs_dma.h
    M hw/etraxfs_eth.c
    M hw/etraxfs_pic.c
    M hw/etraxfs_ser.c
    M hw/etraxfs_timer.c
    M hw/exynos4210.h
    M hw/exynos4210_combiner.c
    M hw/exynos4210_fimd.c
    M hw/exynos4210_i2c.c
    M hw/exynos4210_mct.c
    M hw/exynos4210_pmu.c
    M hw/exynos4210_pwm.c
    M hw/exynos4210_rtc.c
    M hw/exynos4210_uart.c
    M hw/fdc.c
    M hw/fdc.h
    M hw/flash.h
    M hw/framebuffer.c
    M hw/framebuffer.h
    M hw/fw_cfg.c
    M hw/fw_cfg.h
    M hw/g364fb.c
    M hw/grlib.h
    M hw/grlib_apbuart.c
    M hw/grlib_gptimer.c
    M hw/grlib_irqmp.c
    M hw/gt64xxx.c
    M hw/heathrow_pic.c
    M hw/highbank.c
    M hw/hpet.c
    M hw/i82378.c
    M hw/i8259.c
    M hw/ide.h
    M hw/ide/ahci.c
    M hw/ide/cmd646.c
    M hw/ide/macio.c
    M hw/ide/mmio.c
    M hw/ide/pci.c
    M hw/ide/piix.c
    M hw/ide/via.c
    M hw/imx.h
    M hw/imx_avic.c
    M hw/imx_ccm.c
    M hw/imx_serial.c
    M hw/imx_timer.c
    M hw/integratorcp.c
    M hw/intel-hda.c
    M hw/ioapic.c
    M hw/isa-bus.c
    M hw/isa.h
    M hw/isa_mmio.c
    M hw/ivshmem.c
    M hw/jazz_led.c
    M hw/kvm/apic.c
    M hw/kvm/pci-assign.c
    M hw/kvmvapic.c
    M hw/lan9118.c
    M hw/lance.c
    M hw/lm32_boards.c
    M hw/lm32_hwsetup.h
    M hw/lm32_sys.c
    M hw/lm32_timer.c
    M hw/lm32_uart.c
    M hw/lm4549.c
    M hw/lm4549.h
    M hw/loader.c
    M hw/loader.h
    M hw/lsi53c895a.c
    M hw/m48t59.c
    M hw/mac_dbdma.c
    M hw/mac_dbdma.h
    M hw/mac_nvram.c
    M hw/mainstone.c
    M hw/marvell_88w8618_audio.c
    M hw/mcf.h
    M hw/mcf5206.c
    M hw/mcf5208.c
    M hw/mcf_fec.c
    M hw/mcf_intc.c
    M hw/mcf_uart.c
    M hw/megasas.c
    M hw/microblaze_boot.c
    M hw/microblaze_boot.h
    M hw/milkymist-ac97.c
    M hw/milkymist-hpdmc.c
    M hw/milkymist-hw.h
    M hw/milkymist-memcard.c
    M hw/milkymist-minimac2.c
    M hw/milkymist-pfpu.c
    M hw/milkymist-softusb.c
    M hw/milkymist-sysctl.c
    M hw/milkymist-tmu2.c
    M hw/milkymist-uart.c
    M hw/milkymist-vgafb.c
    M hw/milkymist.c
    M hw/mips.h
    M hw/mips_jazz.c
    M hw/mips_malta.c
    M hw/mips_r4k.c
    M hw/mipsnet.c
    M hw/mpc8544_guts.c
    M hw/msix.c
    M hw/mst_fpga.c
    M hw/multiboot.c
    M hw/musicpal.c
    M hw/ne2000.c
    M hw/nvram.h
    M hw/omap.h
    M hw/omap1.c
    M hw/omap2.c
    M hw/omap_dma.c
    M hw/omap_dss.c
    M hw/omap_gpio.c
    M hw/omap_gpmc.c
    M hw/omap_gptimer.c
    M hw/omap_i2c.c
    M hw/omap_intc.c
    M hw/omap_l4.c
    M hw/omap_lcdc.c
    M hw/omap_mmc.c
    M hw/omap_sdrc.c
    M hw/omap_spi.c
    M hw/omap_sx1.c
    M hw/omap_synctimer.c
    M hw/omap_tap.c
    M hw/omap_uart.c
    M hw/onenand.c
    M hw/opencores_eth.c
    M hw/openpic.c
    M hw/openpic.h
    M hw/openrisc_sim.c
    M hw/palm.c
    M hw/parallel.c
    M hw/pc.c
    M hw/pc.h
    M hw/pc_piix.c
    M hw/pc_sysfw.c
    M hw/pci.c
    M hw/pci_host.c
    M hw/pcie_host.c
    M hw/pcie_host.h
    M hw/pckbd.c
    M hw/pcnet-pci.c
    M hw/pcnet.c
    M hw/pcnet.h
    M hw/pcspk.c
    M hw/petalogix_ml605_mmu.c
    M hw/petalogix_s3adsp1800_mmu.c
    M hw/pflash_cfi01.c
    M hw/pflash_cfi02.c
    M hw/piix_pci.c
    M hw/pl011.c
    M hw/pl022.c
    M hw/pl031.c
    M hw/pl041.c
    M hw/pl050.c
    M hw/pl061.c
    M hw/pl080.c
    M hw/pl110.c
    M hw/pl181.c
    M hw/pl190.c
    M hw/ppc/e500.c
    M hw/ppc405.h
    M hw/ppc405_boards.c
    M hw/ppc405_uc.c
    M hw/ppc440_bamboo.c
    M hw/ppc4xx.h
    M hw/ppc4xx_devs.c
    M hw/ppc4xx_pci.c
    M hw/ppc_mac.h
    M hw/ppc_newworld.c
    M hw/ppc_oldworld.c
    M hw/ppc_prep.c
    M hw/ppce500_pci.c
    M hw/ppce500_spin.c
    M hw/prep_pci.c
    M hw/puv3_dma.c
    M hw/puv3_gpio.c
    M hw/puv3_intc.c
    M hw/puv3_ost.c
    M hw/puv3_pm.c
    M hw/pxa.h
    M hw/pxa2xx.c
    M hw/pxa2xx_dma.c
    M hw/pxa2xx_gpio.c
    M hw/pxa2xx_keypad.c
    M hw/pxa2xx_lcd.c
    M hw/pxa2xx_mmci.c
    M hw/pxa2xx_pcmcia.c
    M hw/pxa2xx_pic.c
    M hw/pxa2xx_timer.c
    M hw/qdev-addr.c
    M hw/qdev-addr.h
    M hw/qxl.c
    M hw/r2d.c
    M hw/rc4030.c
    M hw/realview.c
    M hw/rtl8139.c
    M hw/s390-virtio-bus.c
    M hw/s390-virtio.c
    M hw/sbi.c
    M hw/serial.c
    M hw/serial.h
    M hw/sh.h
    M hw/sh7750.c
    M hw/sh_intc.c
    M hw/sh_pci.c
    M hw/sh_serial.c
    M hw/sh_timer.c
    M hw/sharpsl.h
    M hw/shpc.c
    M hw/slavio_intctl.c
    M hw/slavio_misc.c
    M hw/slavio_timer.c
    M hw/sm501.c
    M hw/smc91c111.c
    M hw/soc_dma.c
    M hw/soc_dma.h
    M hw/spapr.c
    M hw/spapr.h
    M hw/spapr_iommu.c
    M hw/spapr_pci.c
    M hw/spapr_pci.h
    M hw/spapr_rtas.c
    M hw/sparc32_dma.c
    M hw/sparc32_dma.h
    M hw/spitz.c
    M hw/stellaris.c
    M hw/stellaris_enet.c
    M hw/strongarm.c
    M hw/sun4c_intctl.c
    M hw/sun4m.c
    M hw/sun4m.h
    M hw/sun4m_iommu.c
    M hw/sun4u.c
    M hw/sysbus.c
    M hw/sysbus.h
    M hw/tc6393xb.c
    M hw/tcx.c
    M hw/tusb6010.c
    M hw/unin_pci.c
    M hw/usb/hcd-ehci.c
    M hw/usb/hcd-musb.c
    M hw/usb/hcd-ohci.c
    M hw/usb/hcd-xhci.c
    M hw/versatile_i2c.c
    M hw/versatile_pci.c
    M hw/versatilepb.c
    M hw/vexpress.c
    M hw/vfio_pci.c
    M hw/vga-isa-mm.c
    M hw/vga-pci.c
    M hw/vga.c
    M hw/vga_int.h
    M hw/vhost.c
    M hw/virtex_ml507.c
    M hw/virtio-pci.c
    M hw/virtio-scsi.c
    M hw/virtio.c
    M hw/virtio.h
    M hw/vmware_vga.c
    M hw/wdt_i6300esb.c
    M hw/xen_apic.c
    M hw/xen_platform.c
    M hw/xen_pt.c
    M hw/xen_pt_msi.c
    M hw/xgmac.c
    M hw/xilinx.h
    M hw/xilinx_axidma.c
    M hw/xilinx_axienet.c
    M hw/xilinx_ethlite.c
    M hw/xilinx_intc.c
    M hw/xilinx_spi.c
    M hw/xilinx_spips.c
    M hw/xilinx_timer.c
    M hw/xilinx_uartlite.c
    M hw/xtensa_lx60.c
    M hw/zaurus.c
    M hw/zynq_slcr.c
    A hwaddr.h
    M kvm-all.c
    M kvm.h
    M memory-internal.h
    M memory.c
    M memory.h
    M memory_mapping.c
    M memory_mapping.h
    M monitor.c
    M softmmu_template.h
    M target-alpha/cpu.h
    M target-alpha/helper.c
    M target-alpha/mem_helper.c
    M target-arm/helper.c
    M target-cris/helper.c
    M target-i386/arch_memory_mapping.c
    M target-i386/helper.c
    M target-i386/kvm.c
    M target-i386/svm_helper.c
    M target-lm32/helper.c
    M target-m68k/helper.c
    M target-microblaze/cpu.h
    M target-microblaze/helper.c
    M target-microblaze/op_helper.c
    M target-mips/cpu.h
    M target-mips/helper.c
    M target-mips/op_helper.c
    M target-openrisc/cpu.h
    M target-openrisc/mmu.c
    M target-ppc/cpu.h
    M target-ppc/mmu_helper.c
    M target-s390x/cpu.h
    M target-s390x/helper.c
    M target-s390x/mem_helper.c
    M target-sh4/cpu.h
    M target-sh4/helper.c
    M target-sparc/cpu.h
    M target-sparc/ldst_helper.c
    M target-sparc/mmu_helper.c
    M target-unicore32/softmmu.c
    M target-xtensa/helper.c
    M target-xtensa/xtensa-semi.c
    R targphys.h
    M xen-all.c
    M xen-mapcache.c
    M xen-mapcache.h

  Log Message:
  Rename target_phys_addr_t to hwaddr

target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
reserved) and its purpose doesn't match the name (most target_phys_addr_t
addresses are not target specific).  Replace it with a finger-friendly,
standards conformant hwaddr.

Outstanding patchsets can be fixed up with the command

  git rebase -i --exec 'find -name "*.[ch]"
                  | xargs s/target_phys_addr_t/hwaddr/g' origin

Signed-off-by: Avi Kivity <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>

Compare: https://github.com/qemu/qemu/compare/da124e62de21...a8170e5e97ad

reply via email to

[Prev in Thread] Current Thread [Next in Thread]