sun4m: Add FCode ROM for TCX framebuffer
Upstream OpenBIOS now implements SBus probing in order to determine thecontents of a physical bus slot, which is required to allow OpenBIOS toidentify the framebuffer without help from the fw_cfg interface.
SBus probing works by detecting the presence of an FCode program...
vga: fix invalid read after free
After calling dpy_gfx_replace_surface(s->con, surface), the outersurface is invalid.
bswap.h: Remove cpu_to_32wu()
Replace the legacy cpu_to_32wu() with stl_p().
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Reviewed-by: Richard Henderson <rth@twiddle.net>Reviewed-by: Michael S. Tsirkin <mst@redhat.com>Message-id: 1383669517-25598-10-git-send-email-peter.maydell@linaro.org...
qxl: replace pipe signaling with bottom half
qxl creates a pipe, then writes something to it to wake up the iothreadfrom the spice server thread to raise an irq. These days qemu bottomhalves can be scheduled from threads and signals, so there is no reason...
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci, pc, acpi fixes, enhancements
This includes some pretty big changes:- pci master abort support by Marcel- pci IRQ API rework by Marcel- acpi generation support by myself
Everything has gone through several revisions, latest versions have been on...
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
cirrus: Mark vga io region as coalesced MMIO flushing
This allows to remove the explicit qemu_flush_coalesced_mmio_buffercalls - the memory core will invoke them now.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
vga: Mark relevant portio lists regions as coalesced MMIO flushing
This allows to remove the explicit qemu_flush_coalesced_mmio_buffercalls.
spice: fix multihead support
This patch fixes spice display initialization to handlemultihead properly.
spice-core now keeps track of which QemuConsole has a spicedisplay channel attached to it and which has not. It alsomanages display channel ids....
spice: replace use of deprecated API
hose API are deprecated since 0.11, and qemu depends on 0.12 already.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw: set interrupts using pci irq wrappers
pci_set_irq and the other pci irq wrappers usePCI_INTERRUPT_PIN config register to compute deviceINTx pin to assert/deassert.
An irq is allocated using pci_allocate_irq wrapperonly if is needed by non pci devices....
qxl: define qxl operating on 4k pages
qxl: simplify qxl_rom_size
Nowdays rom size is fixed at 8192 for live migration compat reasons.So we can ditch the pointless math trying to calculate the size needed.Also make the size sanity check fail at compile time not runtime.
qxl: simplify page dirtying
No need to do target page size calculations here,memory_region_set_dirty will care for us.
qxl: compile only once
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130910' into staging
ARM queue: * aarch64 preparation patchset (excluding the defconfigs, so this doesn't actually enable the new targets yet) * minor bugfixes and cleanups * disable "-cpu any" in system emulation mode...
pl110: Clarify comment about PL110 ID on VersatilePB
Clarify a comment about the ID register value presented bythe PL110 variant present on the VersatilePB board (basedon testing what the actual hardware does), to indicate thatthis is not an error in our emulation, and to remove an #if-0....
qxl: trace io port name
qxl: fix local renderer
The local spice renderer assumes the primary surface is located at thestart of the "ram" bar. This used to be a requirement in qxl hardwarerevision 1. In revision 2+ this is relaxed. Nevertheless guest driverscontinued to use the traditional location, for historical and backward...
aio / timers: Switch entire codebase to the new timer API
This is an autogenerated patch using scripts/switch-timer-api.
Switch the entire code base to using the new timer API.
Note this patch may introduce some line length issues.
Signed-off-by: Alex Bligh <alex@alex.org.uk>...
milkymist-vgafb: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field.
Signed-off-by: Andreas Färber <afaerber@suse.de>
pl110: Rename pl110_state to PL110State
pl110: QOM'ify pl110, pl110_versatile and pl111
Let pl110_versatile and pl111 inherit from pl110 and use PL110 cast;set their version index in an instance_init.
Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Set version PL110 explicitly, suggested by Hu Tao; fixed inheritence]...
tcx: QOM cast cleanup
milkymist-tmu2: QOM cast cleanup
jazz_led: QOM cast cleanup
exynos4210_fimd: QOM cast cleanup
g364fb: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field andprepare for QOM realize.
devices: Associate devices to their logical category
The category will be used to sort the devices displayed inthe command line help.
Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>Message-id: 1375107465-25767-4-git-send-email-marcel.a@redhat.com...
display/vmware_vga: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST() anddirect -> style casting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>[AF: Renamed to TYPE_VMWARE_VGA and VMWARE_VGA()]Signed-off-by: Andreas Färber <afaerber@suse.de>
display/vmware_vga: QOM parent field cleanup
Replace direct uses of pci_vmsvga_state_s::card with QOM casts andrename it to parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
add a header file for atomic operations
We're already using them in several places, but __sync builtins are justtoo ugly to type, and do not provide seqcst load/store operations.
Reviewed-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
piolist: add owner argument to initialization functions and pass devices
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/d*: pass owner to memory_region_init* functions
vga: pass owner to vga_init
vga: pass owner to vga_common_init
vga: pass owner to cirrus_init_common
vga: pass owner to vga_init_vbe
vga: pass owner to vga_init_io
vga: set owner in vga_update_memory_access
memory: add ref/unref calls
Add ref/unref calls at the following places:
- places where memory regions are stashed by a listener and used outside the BQL (including in Xen or KVM).
- memory_region_find callsites
- creation of aliases and containers (only the aliased/contained...
memory: add owner argument to initialization functions
vmware-vga: Accept unaligned I/O accesses
Before switching to the memory core dispatcher, we need to make surethat this pv-device will continue to receive unaligned portio accesses.
Merge remote-tracking branch 'spice/spice.v71' into staging
qxl: fix Coverity scan SIGN_EXTENSION error
Cc: Markus Armbruster <armbru@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
qxl: Fix QXLRam initialisation.
The qxl driver expect NULL for QXLRam.memory_configs, but this is neverinitialized.
If memory is set to 0xc2c2.., it leads to a spice-critical error whentrying to start qxl.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>...
memory: make section size a 128-bit integer
So far, the size of all regions passed to listeners could fit in 64 bits,because artificial regions (containers and aliases) are eliminated bythe memory core, leaving only device regions which have reasonable sizes...
isa: Use realizefn for ISADevice
Drop ISADeviceClass::init and the resulting no-op initfn and letchildren implement their own realizefn. Adapt error handling.Split off an instance_init where sensible.
Merge remote-tracking branch 'mjt/trivial-patches' into staging
tcx: Fix 24-bit display mode
Commit d08151bf (conversion of tcx to the memory API) broke the 24-bit mode ofthe tcx display adapter by accidentally passing in the final address of thedirty region to memory_region_reset_dirty() instead of its size.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>...
Remove unnecessary break statements
Fix these warnings from cppcheck:
hw/display/cirrus_vga.c:2603:hw/sd/sd.c:348:hw/timer/exynos4210_mct.c:1033:target-arm/translate.c:9886:target-s390x/mem_helper.c:518:target-unicore32/translate.c:1936: style: Consecutive return, break, continue, goto or throw statements are unnecessary....
qxl: Call spice_qxl_driver_unload from qxl_enter_vga_mode
With a SPICE_DISPLAY_CAP_MONITORS_CONFIG capable client, the client needs toknow what part of the primary to use for each monitor. If the guest driverdoes not support this, the server sends messages to the client for a...
vga-isa: QOM'ify ISA VGA
Introduce type constant and cast macro to obsolete DO_UPCAST() andcontainer_of(). Prepares for ISA realizefn.
Unify function naming scheme while at it.
Signed-off-by: Andreas Färber <afaerber@suse.de>Signed-off-by: Andreas Färber <afaerber@suse.de>...
cirrus_vga: QOM'ify ISA Cirrus VGA
Introduce type constant and cast macro to obsolete DO_UPCAST().
Prepares for ISA realizefn.
Signed-off-by: Andreas Färber <afaerber@suse.de>Signed-off-by: Andreas Färber <afaerber@suse.de>Message-id: 1367093935-29091-3-git-send-email-afaerber@suse.de...
console: qom-ify QemuConsole
Just the minimal bits to turn QemuConsoles into Objects.
console: add device link to QemuConsoles
So it is possible to figure which qemu console displays which device.
console: zap ds arg from register_displaychangelistener
We don't have multiple DisplayStates any more,so passing it in as argument is not needed.
qdev: Drop taddr properties
Drop all the infrastructure for taddr properties (ie ones whichare 'hwaddr' sized). These are now unused, and any further desireduse would be rather questionable since device properties shouldn'tgenerally depend on a type that is conceptually variable based on...
hw/sm501: Use correct setter for sysbus-ohci dma-address property
The sysbus-ohci dma-address property is declared as a HEX64property, not a TADDR, so use the correct setter for it.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Acked-by: Andreas Färber <afaerber@suse.de>...
Remove unneeded type casts
cpu_physical_memory_read, cpu_physical_memory_write take any pointeras 2nd argument without needing a type cast.
Signed-off-by: Stefan Weil <sw@weilnetz.de>Reviewed-by: Andreas Färber <afaerber@suse.de>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
configure: eliminate target_libs_softmmu
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Merge remote-tracking branch 'spice/spice.v69' into staging
spice: (32 bit only) fix surface cmd tracking destruction
No change for 64 bit arches, but for 32 bit previously we zeroed halfthe surfaces cmd array, instead of all of it.
Signed-off-by: Alon Levy <alevy@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
qxl: add 2000x2000 and 2048x2048 video modes
qxl: register QemuConsole for secondary cards
Hook secondary qxl cards properly into the qemu console subsystem.
xen: re-enable refresh interval reporting for xenfb
xenfb informs the guest about the gui refresh interval so it can avoidpointless work. That logic was temporarely disabled for theDisplayState reorganization. Restore it now, with a proper interfacefor it....
console: allow pinning displaychangelisteners to consoles
DisplayChangeListener gets a new QemuConsole field, which can be set tonon-NULL before registering. This will pin the QemuConsole, so thatparticular DisplayChangeListener will not follow console switches....
qxl: add 4k + 8k resolutions
console: add GraphicHwOps
Pass a single GraphicHwOps struct pointer to graphic_console_init,instead of a bunch of function pointers.
console: rename vga_hw_*, add QemuConsole param
Add QemuConsole parameter to vga_hw_*, so the interface allows to updatenon-active consoles (the actual code can't handle this yet, see nextpatch). Passing NULL is allowed and updates the active console, like...
console: simplify screendump
Screendumps are alot simpler as we can update non-activeQemuConsoles now. So we only need to update the QemuConsolewe want write out, then dump the DisplaySurface content intoa ppm file. Done.
No console switching needed. No special support code in the...
hw/vmware_vga.c: add tracepoints for mmio reads+writes
hw/vmware_vga.c: various vmware vga fixes.
Hardcode depth to 32 bpp. It effectively was that way before becausethat is the default surface depth, this just makes it explicit in thecode.
Rename depth to new_depth to make it consistent with the new_width +...
exynos4210_fimd.c: fix display resize bug introduced after console revamp
In exynos4210 display update function, we were acquiring DisplaySurfacepointer before calling screen resize function, not paying attention that resizeprocedure can replace current DisplaySurface with newly allocated one....
hw/vmware_vga.c: fix screen resize bug introduced after console revamp
In vmsvga display update function, a pointer to DisplaySurface must be acquiredafter a call to vmsvga_check_size since this function might replace currentDisplaySurface with a new one....
sysemu: avoid proliferation of include/ subdirectories
arm: fix location of some include files
The recent rearrangement of include files had some minor errors: devices.h is not ARM specific and should not be in arm/ arm.h should be in arm/
Move these two headers to correct this.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>...
hw: move private headers to hw/ subdirectories.
Many headers are used only in a single directory. These can bekept in hw/.
hw: move display devices to hw/display/, configure via default-configs/
hw: move target-independent files to subdirectories
This patch tackles all files that are compiled once, movingthem to subdirectories of hw/.
hw: make subdirectories for devices
Prepare the new directory structure.