aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu/hw/vga_int.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove internal tools/ioemu tree.Keir Fraser2008-09-181-185/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvm: Use main memory for video memory.Keir Fraser2008-08-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | When creating an HVM domain, if e.g. another domain is created before qemu allocates video memory, the extra 8MB memory ballooning is not available any more, because it got consumed by the other domain. This fixes it by taking video memory from the main memory: - make hvmloader use e820_malloc to reserve some of the main memory and notify ioemu of its address through the Xen platform PCI card. - add XENMAPSPACE_mfn to the xen_add_to_physmap memory op, to allow ioemu to move the MFNs between the original position and the PCI mapping, when LFB acceleration is disabled/enabled - add a remove_from_physmap memory op, to allow ioemu to unmap it completely for the case of old guests with acceleration disabled. - add xc_domain_memory_translate_gpfn_list to libxc to allow ioemu to get the MFNs of the video memory. - have xend save the PCI memory space instead of ioemu: if a memory page is there, the guest can access it like usual memory, so xend can safely be responsible to save it. The extra benefit is that live migration will apply the logdirty optimization there too. - handle old saved images, populating the video memory from ioemu if really needed. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* ioemu: simplyfing vga_draw_text codeKeir Fraser2008-06-091-0/+1
| | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* shadow: track video RAM dirty bitsKeir Fraser2008-05-021-0/+2
| | | | | | | | | | This adds a new HVM op that enables tracking dirty bits of a range of video RAM. The idea is to optimize just for the most common case (only one guest mapping, with sometimes some temporary other mappings), which permits to keep the overhead on shadow as low as possible. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* ioemu rendering fixesKeir Fraser2008-04-011-0/+1
| | | | | | | | | | | | | | | | | | | | - no need to call the colourdepth callback in text mode: the buffer cannot be shared anyway; - line size changes are currently undetected: since we added a linesize parameter to the resize callback, we also need to detect line size changes and call dpy_resize accordingly; - 8 bit colour depth with the shared framebuffer is broken: in order to fix it I disabled the shared buffer in vnc for the 8bit colour depth case (it has to be done in software anyway..) and implemented paletted colours in both opengl and sdl; - opengl rendering is broken when there is padding in the framebuffer lines: removing unnecessary GL_UNPACK_ALIGNMENT settings so that the GL_UNPACK_ROW_LENGTH parameter can work properly. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* [ioemu] Update to qemu 0.90.Christian Limpach2007-05-091-1/+6
| | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* [QEMU] Align VGA ram allocationTim Deegan2006-12-211-0/+1
| | | | | This makes the SSE-optimized vram_dirty() safe again. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
* [qemu] Update ioemu to qemu 0.8.2.chris@kneesaa.uk.xensource.com2006-08-071-3/+6
| | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* Add qemu 0.8.1 based ioemu.chris@kneesaa.uk.xensource.com2006-07-121-0/+172
| | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* Remove qemu 0.6.1 based ioemu.chris@kneesaa.uk.xensource.com2006-07-121-170/+0
| | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* Fix the cirrus vga model to not leak memory when switching betweenkaf24@firebug.cl.cam.ac.uk2006-05-121-1/+1
| | | | | | | | | | | | | | | | | initial vga mode and linear framebuffer. When creating device model, the vga memory is allocated through xc_domain_memory_increase_reservation(), however, when switch to use linear framebuffer, we didn't free that memory, and re-allocate the vga memory through set_mm_mapping(), that caused memory leak. Now it is changed to just using qemu_malloc when create device model, and free that memory when switch to linear framebuffer. After unset_vram_mapping(), the old memory pointer should be unmapped; after set_vram_mapping(), the old memory should be freed. Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
* Add a shadow VRAM to track changes to the real VRAM. When the guestkaf24@firebug.cl.cam.ac.uk2006-03-161-0/+1
| | | | | | | | | | | | | | | OS was given write access to the VRAM the device model tracked all VRAM changes by updating the entire screen on every output loop, causing significant overhead (a CPU bound loop in a guest slows down by about 35%) and significant mouse latency (VNC uses the same data path for mouse events and video updates). With the shadow VRAM only modified pages need to be updated and the comparison of the shadow VRAM to the real VRAM only adds ~4% overhead while eliminating the mouse latencies. Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
* Re-enable VGA acceleration under the new phys_to_machine_mapping.kaf24@firebug.cl.cam.ac.uk2006-02-161-0/+1
| | | | | | | | Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: Xin B Li <xin.b.li@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
* bitkeeper revision 1.1476 (428d0d8esmCTqdrDnpEQ1XlfV6CWGg)kaf24@firebug.cl.cam.ac.uk2005-05-191-0/+168
New qemu-based ioemu for fully virtualised guests. Signed-off-by: Arun Sharma <arun.sharma@intel.com> Signed-off-by: Keir Fraser <keir@xensource.com>