History | View | Annotate | Download (71.8 kB)
misc: move include files to include/qemu/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
ui: move files to ui/ and include/ui/
Merge commit '1dd3a74d2ee2d873cde0b390b536e45420b3fe05' into HEAD
pci: update all users to look in pci/
update all users so we can remove the makefile hack.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
pixman: fix vnc tight png/jpeg support
This patch adds an x argument to qemu_pixman_linebuf_fill so it canalso be used to convert a partial scanline. Then fix tight + png/jpegencoding by passing in the x+y offset, so the data is read from thecorrect screen location instead of the upper left corner....
vga: fix bochs alignment issue
The bochs dispi interface traditionally uses port 0x1ce as 16bit indexregister and port 0x1cf as 16bit data register. The later is unaligned,and probably for that reason the the data register was moved to 0x1d0for non-x86 archs....
vmware_vga: Allow simple drivers to work without using the fifo
Postpone stopping the dirty log to the point where the command fifo isconfigured to allow drivers which don't use the fifo to work too.(Without this the picture rendered into the vram never got to the...
vga: stop direct access to DisplaySurface fields.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
pixman: switch screendump function.
console: untangle gfx & txt updates
Stop abusing displaysurface fields for text mode displays.(bpp = 0, width = cols, height = lines).
Add flags to displaystate indicating whenever text mode display(curses) or gfx mode displays (sdl, vnc, ...) are present....
vga: fix text mode updating
With both text (curses) and graphics (vnc/sdl/spice/...) display activevga text mode emulation fails to update both correctly. Depending onwhenever vga_update_text() or vga_draw_text() happens to be called firstonly the text display or only the graphics display will see display...
console: move set_mouse + cursor_define callbacks
When adding DisplayChangeListeners the set_mouse and cursor_definecallbacks have been left in DisplayState for some reason. Fix it.
Rename target_phys_addr_t to hwaddr
target_phys_addr_t is unwieldly, violates the C standard (_t suffixes arereserved) and its purpose doesn't match the name (most target_phys_addr_taddresses are not target specific). Replace it with a finger-friendly,...
vga: add mmio bar to standard vga
This patch adds a mmio bar to the qemu standard vga which allows toaccess the standard vga registers and bochs dispi interface registersvia mmio.
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>...
vga: remove CONFIG_BOCHS_VBE
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
VGA: Flush coalesced MMIO on related MMIO/PIO accesses
In preparation of stopping to flush coalesced MMIO unconditionally onvmexits, mark VGA MMIO and PIO regions as synchronous /wrt coalescedMMIO and flush the buffer explicitly on PIO accesses that do not use...
console: vga_hw_screen_dump_ptr: take Error argument
All devices that register a screen dump callback viagraphic_console_init() are updated.
The new argument is not used in this commit. Error handling willbe added to each device individually later.
This change is a preparation to convert the screendump command...
vga: ppm_save(): add error handling
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Revert "vga: add some optional CGA compatibility hacks"
This reverts commit 482f7bf86b43af9f6903c52726fedf82b28bf953.
Signed-off-by: malc <av1474@comtv.ru>
vga: add some optional CGA compatibility hacks
This patch adds some optional compatibility hacks (defaultdisabled) to allow Microport UNIX to function under qemu.
I've tried to structure it to be easy to add more hacks for otherold CGA programs, if anyone ever needs them....
vga: Implement blinking of text cursor
Let the text cursor blink at 1.875 Hz, the original VGA cursorfrequency. No timer is used, instead we rely on the fact that thedisplay is updated periodically.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
vga: make vram size configurable
Zap the global VGA_RAM_SIZE #define, make the vga ram size configurablefor standard vga and vmware vga. cirrus and qxl are left with a fixedsize (and private VGA_RAM_SIZE #define) for now.
qxl needs some non-trivial adjustments in the mode list handling deal...
vga: fix vram double-mapping with -vga std and -M pc-0.12
With pc-0.12, we map the video RAM both through the PCI BAR (the guest doesthis) and through a fixed mapping at 0xe0000000. The memory API doesn't allowthis double map, and aborts.
Fix by using an alias....
vga: Don't switch to 1 x 1 character text screen
Initially, vga_get_text_resolution returns a text resolution of 1 x 1(vga register values are 0).
This is visible during MIPS Malta boot with SDL. It also occurs with thei386 or x86_64 system emulation when it runs in single step mode:...
fix screendump
Commit 45efb16124efef51de5157afc31984b5a47700f9 optimized a bit toomuch. We can skip the vga_invalidate_display() in case no consoleswitch happened because we don't need a full redraw then. We can notskip vga_hw_update() though, because the screen content will be stale...
vga: add trace event for ppm_save
Signed-off-by: Alon Levy <alevy@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
optimize screendump for the common non-switch case
switch console only if needed, also pass down whenever the console wasswitched or not because a displaysurface redraw is only needed in casethe console was switched.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>...
vga: simplify screendump
The displaychangelistener isn't needed at all, we can simply save theimage when vga_hw_update is done instead of hooking into the updateprocess.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vga: Fix full updates in graphic mode
This fixes the regression introduced by cd7a45c95e: We lost the or'ingwith the full_update flag.
Fix memory dirty getting API change fallout
Fix confusion in length calculation in commitcd7a45c95ecf2404810f3c6becb7cb83c5010ad8.
Reported-by: Jan Kiszka <jan.kiszka@web.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
memory: change dirty getting API to take a size
Instead of each device knowing or guessing the guest page size,just pass the desired size of dirtied memory area.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
vga: use constants from vga.h
vga: improve documentation
Add links to chipset docs and FreeVGA site.
memory: change dirty setting APIs to take a size
Instead of each target knowing or guessing the guest page size,just pass the desired size of dirtied memory area.
vga: optimize ppm_save() divisions
ppm_save() spends upwards of 50% of its time doing divisions. Replace themwith shifts.
Reviewed-by: Alon Levy <alevy@redhat.com>Signed-off-by: Avi Kivity <avi@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vmstate, memory: decouple vmstate from memory API
Currently creating a memory region automatically registers it forlive migration. This differs from other state (which is enumeratedin a VMStateDescription structure) and ties the live migration codeinto the memory core....
xen, vga: add API for registering the framebuffer
Xen currently uses the name of a memory region to determine whether itis the framebuffer. Replace with an explicit API.
Signed-off-by: Avi Kivity <avi@redhat.com>
Move graphic-related coalesced MMIO flushes to affected device models
This is conceptually cleaner and will allow us to drop the nographictimer. Moreover, it will be mandatory to fully exploit future per-devicecoalesced MMIO rings.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
vga: Convert to isa_register_portio_list
[jan: fix cut'n'paste errors][avi: adjust pci variants not to use isa functions]
Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Avi Kivity <avi@redhat.com>
vga: Respect isa_mem_base when registering chain4 alias
This does not yet unbreak PPC (which has its own problems) butpotentially other non-x86 systems where isa_mem_base is != 0.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vga: Fix text mode screendumps
In text mode, even a full refresh of the screen takes multiple updates.As we reset the dump file pointer after the first call, we only wrotethe first line.
vga: Silence bogus gcc warning about uninitialized variables
Some gcc versions do not properly detect that all possible cases arecovered and base and size are always initialized. Please gcc by defininga pseudo default case.
vmware-vga: Eliminate vga_dirty_log_restart
After the conversion to the new Memory API, vga_dirty_log_restart becameseriously pointless. Remove it from vmware-vga and and then finally dropthe service.
CC: Andrzej Zaborowski <balrogg@gmail.com>CC: Avi Kivity <avi@redhat.com>...
vga: Use linear mapping + dirty logging in chain 4 memory access mode
Most VGA memory access modes require MMIO handling as they demand weirdlogic to get a byte from or into the video RAM. However, there is oneexception: chain 4 mode with all memory planes enabled for writing. This...
vga: drop get_system_memory() from vga devices and derivatives
Instead, use the bus accessors, or get the address space directlyfrom the board constructor.
Signed-off-by: Avi Kivity <avi@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Use glib memory allocation and free functions
qemu_malloc/qemu_free no longer exist after this commit.
vga: simplify vga window mmio access functions
Make use of the memory API's ability to satisfy multi-byte accesses viamultiple single-byte accesses.
We have to keep vga_mem_{read,write}b() since they're used by cirrus.
Reviewed-by: Richard Henderson <rth@twiddle.net>...
vga: convert vga and its derivatives to the memory API
Convert all vga memory to the memory API. Note we need to fall back toget_system_memory(), since the various buses don't pass the vga windowas a memory region.
We no longer need to sync the dirty bitmap of the cirrus mapped memory...
Optimize screendump
When running kvm-autotest, fputc() is often the second highest (sometimes #1)function showing up in a profile. This is due to fputc() locking the filefor every byte written.
Optimize by buffering a line's worth of pixels and writing that out in a...
change all other clock references to use nanosecond resolution accessors
This was done with:
sed -i 's/qemu_get_clock\>/qemu_get_clock_ns/' \ $(git grep -l 'qemu_get_clock\>' ) sed -i 's/qemu_new_timer\>/qemu_new_timer_ns/' \ $(git grep -l 'qemu_new_timer\>' )...
vga-isa: convert to qdev
Introduce log_start/log_stop in CPUPhysMemoryClient
In order to use log_start/log_stop with Xen as well in the vga code,this two operations have been put in CPUPhysMemoryClient.
The two new functions cpu_physical_log_start,cpu_physical_log_stop areused in hw/vga.c and replace the kvm_log_start/stop. With this, vga does...
Fix curses on big endian hosts
On big endian hosts, the curses interface is unusable: the emulatedgraphic card only displays garbage, while the monitor interface displaysnothing (or rather only spaces).
The curses interface is waiting for data in native endianness, so...
vga: Declare as little endian
This patch replaces explicit bswaps with endianness hints to themmio layer.
CC: Alexander Graf <agraf@suse.de>Acked-by: Alexander Graf <agraf@suse.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Add endianness as io mem parameter
As stated before, devices can be little, big or native endian. Thetarget endianness is not of their concern, so we need to push thingsdown a level.
This patch adds a parameter to cpu_register_io_memory that allows adevice to choose its endianness. For now, all devices simply choose...
more stdvga cleanups.
video.x is gone now. It was the only user of thevga bios_offset + bios_size logic. Zap it.
VGA: Don't register deprecated VBE range
Old versions of the BOCHs VGA BIOS (cira 2003) made use of VBEregisters at 0xff80/81. In VBE API version 0xb0c2 these weremoved to 0x1ce/cf. Unfortunately, QEMU still registers handlersfor the old range. If a guest attempts to assign an I/O device...
qemu_ram_alloc: Add DeviceState and name parameters
These will be used to generate unique id strings for ramblocks. The namefield is required, the device pointer is optional as most callers don'thave a device. When there's no device or the device isn't a child of...
Fix %lld or %llx printf format use
vga: make some tables 'const'
vga: fix typo in length passed to kvm_log_stop
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
x86: remove dead assignments, spotted by clang analyzer
Value stored is never read.
update bochs vbe interface
The bochs vbe interface got a new register a while back, which specifiesthe linear framebuffer size in 64k units. This patch adds support forthe new register to qemu. With this patch applied vgabios 0.6c workswith qemu.
hw/vga.c: remove dead assignment
clang-analyzer points out a redundant assignment.
Signed-off-by: Amit Shah <amit.shah@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
VMware VGA: Only enable dirty log tracking when fifo is disabled
This patch enables dirty log tracking whenever it's needed and disables itwhen it is not.
We unconditionally enable dirty log tracking on reset, restart dirty logtracking when PCI IO regions are remapped, and disable/enable it based on...
Make sure to enable dirty tracking of VBE vram mapping
Apparently, VBE maps the VGA vram to a fixed physical location. KVM requiresthat all mappings of the VGA vram have dirty tracking enabled on them. Anyaccess to the VGA vram through the VBE mapping currently fails to result in...
Revert "vga: do not resize the screen on hw_invalidate"
This causes ctrl+alt+u or ctrl+alt+f to not work when windows hasn't beenresized first. Other graphic emulators do resize the screen onhw_invalidate.
This reverts commit 0bd8246bfec1dfb2eb959f52db535572c0260f4c.
v3: don't call reset functions on cpu initialization
There is absolutely no need to call reset functions when initializingdevices. Since we are already registering them, calling qemu_system_reset()should suffice. Actually, it is what happens when we reboot the machine,...
vga: fix line comparison
Line counter doesn't wrap.
vga: Respect Line Compare Register in text modes
Unbreaks setup screen of Act1/PL
vga: remove unused vga_common_save/load
Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vga: create is_vbe_vmstate field
vga: port vga_common_save/load to vmstate
vga: move back dirty_log functions to vga.c
They are needed there on qemu-kvm.
Revert "Get rid of _t suffix"
In the very least, a change like this requires discussion on the list.
The naming convention is goofy and it causes a massive merge problem. Somethinglike this must be presented on the list first so people can provide input...
Get rid of _t suffix
Some not so obvious bits, slirp and Xen were left alone for the timebeing.
Unexport ticks_per_sec variable. Create get_ticks_per_sec() function
vga: change tabs to spaces
vga and cirrus_vga: substitute switch for equivalent assigntment
vga: Rename last VGAState occurrences to VGACommonState
vga and cirrus_vga: create vga_ioport_invalid() and use it everywhere
vga: split vga_{load, save} into pci and common parts
Once there adjust VGAState <-> VGACommonStateExport vga_common_save/vga_common_load (nreeded by wmvare_vgaRemove vga.pci_dev field, it is not needed anymore
Signed-off-by: Juan Quintela <quintela@redhat.com>...
vga: split pci bits into vga-pci.c
Adjust all the VGAState in VGACommonStateCompile vga-pci.o only for targets that use it.
vga: split isa bits inco vga-isa.c
Adjust all the VGAState in VGACommonStateCompile vga-isa.o in the targets that use it
vga: export vga_mem_{read,write}
vga: split vga-isa-mm.o
It is only used in mips softmmu, compile only there.it_shift field was only used for vga_isa_mm, move it from VGACommonStateto ISAVGAMMstate.
vga: remove useless cast from void *
vga: export vga_ioport_{read,write}
Introduce vga_common_reset() to be able to typcheck vga_reset()
vga: Rename vga_state -> vga
Everything outside of vga.c should use VGACommonState
qdev: add return value to init() callbacks.
Sorry folks, but it has to be. One more of these invasive qdev patches.
We have a serious design bug in the qdev interface: device initcallbacks can't signal failure because the init() callback has noreturn value. This patch fixes it....
Make CPURead/WriteFunc structure 'const'
make vga screen_dump use DisplayState properly
Hi all,currently the vga screen_dump code doesn't use the DisplayStateinterface properly and tries to replace it temporarily while taking thescreenshot.A better approach is to register a DisplayChangeListener, call...
qdev/prop: convert vga.c to helper macros.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>Message-Id:
vga: do not resize the screen on hw_invalidate
Hi all,currently vga always resizes the screen when vga_hw_invalidate is calledwhile this is not required and all the other graphic emulators don't.This patch fixes it, making vga invalidate behaviour consistent with the...
qdev: convert all vga devices.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIAN
Fix most warnings (errors with -Werror) when debugging is enabled
I used the following command to enable debugging:perl -p -i -e 's/^\/\/#define DEBUG/#define DEBUG/g' * /* *//*
Revert "Introduce reset notifier order"
This reverts commit 8217606e6edb49591b4a6fd5a0d1229cebe470a9 (andupdates later added users of qemu_register_reset), we solved theproblem it originally addressed less invasively.