QEMU With E2K User Support
Go to file
aliguori 7d957bd8cb DisplayState interface change (Stefano Stabellini)
This patch changes the DisplayState interface adding support for
multiple frontends at the same time (sdl and vnc) and implements most
of the benefit of the shared_buf patch without the added complexity.

Currently DisplayState is managed by sdl (or vnc) and sdl (or vnc) is
also responsible for allocating the data and setting the depth.
Vga.c (or another backend) will do any necessary conversion.

The idea is to change it so that is vga.c (or another backend) together
with console.c that fully manage the DisplayState interface allocating
data and setting the depth (either 16 or 32 bit, if the guest uses a
different resolution or is in text mode, vga.c (or another backend) is
in charge of doing the conversion seamlessly).

The other idea is that DisplayState supports *multiple* frontends
like sdl and vnc; each of them can register some callbacks to be called
when a display event occurs.

The interesting changes are:

- the new structures and related functions in console.h and console.c

in particular the following functions are very helpful to manage a
DisplaySurface:

qemu_create_displaysurface
qemu_resize_displaysurface
qemu_create_displaysurface_from
qemu_free_displaysurface

- console_select and qemu_console_resize in console.c
this two functions manage multiple consoles on a single host display

- moving code around in hw/vga.c
as for the shared_buf patch this is necessary to be able to handle a dynamic
DisplaySurface bpp

- changes to vga_draw_graphic in hw/vga.c
this is the place where the DisplaySurface buffer is shared with the
videoram, when possible;


Compared to the last version the only changes are:

- do not remove support to dpy_copy in cirrus_vga
- change the name of the displaysurface handling functions

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6336 c046a42c-6fe2-441c-8c8c-71466251a162
2009-01-15 22:14:11 +00:00
audio Use the ARRAY_SIZE() macro where appropriate. 2008-12-22 20:33:55 +00:00
bsd-user Get rid of user_mode_only 2009-01-14 19:40:27 +00:00
darwin-user Get rid of user_mode_only 2009-01-14 19:40:27 +00:00
fpu Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
gdb-xml Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
hw DisplayState interface change (Stefano Stabellini) 2009-01-15 22:14:11 +00:00
keymaps Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
linux-user Clean up debugging code #ifdefs (Eduardo Habkost) 2009-01-15 21:48:06 +00:00
pc-bios Update OpenBIOS PowerPC image to revision 406 2009-01-14 14:47:46 +00:00
slirp Fix _P use on OpenBSD 2009-01-14 18:04:52 +00:00
target-alpha Clean up debugging code #ifdefs (Eduardo Habkost) 2009-01-15 21:48:06 +00:00
target-arm Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
target-cris Clean up debugging code #ifdefs (Eduardo Habkost) 2009-01-15 21:48:06 +00:00
target-i386 Clean up debugging code #ifdefs (Eduardo Habkost) 2009-01-15 21:48:06 +00:00
target-m68k Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
target-mips Clean up debugging code #ifdefs (Eduardo Habkost) 2009-01-15 21:48:06 +00:00
target-ppc Clean up debugging code #ifdefs (Eduardo Habkost) 2009-01-15 21:48:06 +00:00
target-sh4 sh4: Add FMAC instruction support 2009-01-14 21:02:59 +00:00
target-sparc Get rid of user_mode_only 2009-01-14 19:40:27 +00:00
tcg Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
tests Get rid of user_mode_only 2009-01-14 19:40:27 +00:00
.gitignore Update VGA BIOS 2008-12-17 22:29:37 +00:00
COPYING COPYING: update from FSF 2008-10-12 17:54:42 +00:00
COPYING.LIB Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
Changelog Update 2008-06-08 01:55:07 +00:00
LICENSE Add missing newline at the end of file 2008-12-14 08:50:18 +00:00
MAINTAINERS Update maintainers list. 2008-08-25 22:26:03 +00:00
Makefile target-ppc: add an openbios-ppc image 2009-01-09 11:01:31 +00:00
Makefile.target add virtio-console support (Christian Ehrhardt) 2009-01-15 20:05:25 +00:00
README Add missing newline at the end of file 2008-12-14 08:50:18 +00:00
TODO Update 2008-12-04 11:29:42 +00:00
VERSION version change 2008-01-06 17:10:54 +00:00
a.out.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
aes.c Fix miscellaneous minor things, by Andre Przywara. 2007-12-17 03:15:52 +00:00
aes.h AES crypto support 2004-08-01 21:54:53 +00:00
aio.c Make sure to initialize fd_sets in aio.c 2008-10-12 21:19:57 +00:00
alpha-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
alpha.ld alpha support 2003-04-29 20:53:42 +00:00
arm-dis.c Update ARM disassembler. 2007-11-10 17:38:00 +00:00
arm-semi.c Fix more FSF addresses 2009-01-05 18:11:53 +00:00
arm.ld Link ARM prologue closer to code segment to avoid a build failure 2008-07-10 17:21:31 +00:00
balloon.h Add missing file from previous commit. 2008-12-04 20:35:16 +00:00
block-bochs.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-cloop.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
block-cow.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-dmg.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
block-nbd.c Remove unnecessary #includes from block-nbd.c 2008-08-19 19:10:38 +00:00
block-parallels.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-qcow.c qcow1: Fix compressed images (Kevin Wolf) 2009-01-08 19:29:03 +00:00
block-qcow2.c qcow2: free old snapshots array upon creation of a new one (Uri Lublin) 2009-01-08 19:32:20 +00:00
block-raw-posix.c Return -errno on write failure (Gleb Natapov) 2009-01-15 20:44:26 +00:00
block-raw-win32.c Expand cache= option and use write-through caching by default 2008-10-14 14:42:54 +00:00
block-vmdk.c fix off-by-one generating vmdk backing files (Avi Kivity) 2008-10-28 14:08:49 +00:00
block-vpc.c Fix char* signedness, by Andre Przywara. 2007-12-16 03:16:05 +00:00
block-vvfat.c Use a hex value instead of possibly ambiguous 8 bit character 2008-12-14 09:30:41 +00:00
block.c bdrv_write should not stop on partial write (Gleb Natapov) 2009-01-15 20:43:39 +00:00
block.h Use writeback caching by default with qcow2 2008-12-04 21:39:21 +00:00
block_int.h Use an option rom instead of boot sector for -kernel 2008-11-08 16:27:07 +00:00
bswap.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
bt-host.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
bt-vhci.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
buffered_file.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
buffered_file.h Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
cache-utils.c Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
cache-utils.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
cocoa.m Let the USB tablet reach the far bottom and right pixels 2008-03-10 19:34:27 +00:00
configure report issues causing the kvm probe to fail (Christian Ehrhardt) 2009-01-15 21:57:30 +00:00
console.c DisplayState interface change (Stefano Stabellini) 2009-01-15 22:14:11 +00:00
console.h DisplayState interface change (Stefano Stabellini) 2009-01-15 22:14:11 +00:00
cpu-all.h Add noreturn function attribute 2009-01-14 19:00:36 +00:00
cpu-defs.h Get rid of user_mode_only 2009-01-14 19:40:27 +00:00
cpu-exec.c Get rid of user_mode_only 2009-01-14 19:40:27 +00:00
cris-dis.c Teach the CRIS disassembler to stay within the provided buffer. 2008-05-06 08:45:10 +00:00
curses.c DisplayState interface change (Stefano Stabellini) 2009-01-15 22:14:11 +00:00
curses_keys.h Control + i and [tab] share keycode in curses, simulate [tab]. 2008-10-28 00:11:06 +00:00
cutils.c Rename fls to qemu_fls 2008-12-11 19:37:54 +00:00
d3des.c Ansify to please sparse 2008-10-27 19:49:12 +00:00
d3des.h Actually add d3des implementation files. 2007-08-25 02:09:50 +00:00
def-helper.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
device_tree.c Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
device_tree.h Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
dis-asm.h Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
disas.c Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
disas.h * Use function pointers for symbol lookup (currently for elf32 and elf64, 2008-10-22 15:11:31 +00:00
dyngen-exec.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
elf.h Fix most warnings that would be caused by gcc flag -Wundef 2008-09-06 17:47:39 +00:00
elf_ops.h Use load address when loading ELF images. 2008-10-22 18:20:20 +00:00
exec-all.h Add noreturn function attribute 2009-01-14 19:00:36 +00:00
exec.c Adopt cpu_copy to new breakpoint API (Jan Kaszka) 2009-01-15 20:16:51 +00:00
feature_to_c.sh Fix undeclared symbol warnings from sparse 2008-10-26 13:43:07 +00:00
gdbstub.c Fix bsd-user build 2009-01-15 17:27:45 +00:00
gdbstub.h User-mode GDB stub improvements - handle signals 2008-12-18 22:44:13 +00:00
gen-icount.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
host-utils.c Code used by the linux-user targets should not use vl.h. 2007-11-05 13:01:41 +00:00
host-utils.h Include <strings.h> for ffs(). 2008-11-12 17:18:41 +00:00
hostregs_helper.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
hpet.h Add a local copy of hpet.h. 2007-09-16 20:03:23 +00:00
hppa-dis.c HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
hppa.ld HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
i386-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
i386.ld Add TLS sections. 2008-05-31 16:21:33 +00:00
ia64.ld ia64 host support (David Mosberger) 2005-04-07 22:20:31 +00:00
keymaps.c Make keysym tables const 2008-10-02 18:26:42 +00:00
kqemu.c Clean up debugging code #ifdefs (Eduardo Habkost) 2009-01-15 21:48:06 +00:00
kqemu.h kqemu API change - allow use of kqemu with 32 bit QEMU on a 64 bit host 2008-05-30 20:48:25 +00:00
kvm-all.c KVM: Silence unused s warning 2008-12-18 22:42:51 +00:00
kvm.h kvm: sync vcpu state during initialization (Hollis Blanchard) 2008-12-15 22:20:42 +00:00
libfdt_env.h Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
loader.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
m68k-dis.c Spelling and grammar fixes 2008-11-30 16:25:37 +00:00
m68k-semi.c Fix more FSF addresses 2009-01-05 18:11:53 +00:00
m68k.ld m68k host port (Richard Zidlicky) 2003-08-10 22:14:22 +00:00
migration-exec.c Fix brown-paper-bag bugs from live-migration patch (Charles Duffy) 2008-11-12 22:29:11 +00:00
migration-tcp.c Fix brown-paper-bag bugs from live-migration patch (Charles Duffy) 2008-11-12 22:29:11 +00:00
migration.c Reintroduce migrate-to-exec: support (Charles Duffy) 2008-11-11 16:46:33 +00:00
migration.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
mips-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
mips.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
mipsel.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
monitor.c Add 'set_link' monitor command (Mark McLoughlin) 2009-01-08 19:44:06 +00:00
nbd.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
nbd.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
net-checksum.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
net.c Fix tap downscript argument (Mark McLoughlin) 2009-01-13 19:15:55 +00:00
net.h Add qemu_check_nic_model() and qemu_check_nic_model_list() (Mark McLoughlin) 2009-01-13 19:03:57 +00:00
osdep.c Remove redundant #ifdef _BSD 2008-12-11 19:39:56 +00:00
osdep.h snapshot subcommand for qemu-img (Kevin Wolf) 2009-01-07 17:40:15 +00:00
pci-ids.txt This should have been added in Gerd's previous commit. 2008-12-17 21:32:37 +00:00
posix-aio-compat.c Fix race in POSIX AIO emulation (Jan Kiszka) 2009-01-13 15:13:53 +00:00
posix-aio-compat.h Replace posix-aio with custom thread pool 2008-12-12 16:41:40 +00:00
ppc-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
ppc.ld Update ppc.ld to work with newer binutils. 2007-04-28 19:00:30 +00:00
ppc64.ld Correct version of Heikki Lindholms ppc64.ld script 2008-08-20 22:39:24 +00:00
qemu-aio.h Refactor AIO to allow multiple AIO implementations 2008-09-22 19:17:18 +00:00
qemu-binfmt-conf.sh Code provision for n32/n64 mips userland emulation. Not functional yet. 2007-09-30 01:58:33 +00:00
qemu-char.c Make OpenBSD sparc-softmmu compile warning free 2009-01-14 18:08:08 +00:00
qemu-char.h Move some declarations around in the QEMU CharDriver code 2008-10-31 18:44:40 +00:00
qemu-common.h DisplayState interface change (Stefano Stabellini) 2009-01-15 22:14:11 +00:00
qemu-doc.texi Add -rtc-td-hack option to fix time drift with RTC on Windows (Gleb Natapov) 2009-01-15 20:11:34 +00:00
qemu-img.c qemu-img: Fix type of getopt return value (Kevin Wolf) 2009-01-15 21:42:12 +00:00
qemu-img.texi New qemu-img convert -B option, by Marc Bevand. 2008-06-05 21:53:49 +00:00
qemu-lock.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
qemu-log.h Define macros that will become the new logging API (Eduardo Habkost) 2009-01-15 21:52:11 +00:00
qemu-malloc.c Add qemu_strndup: qemu_strdup with length limit. 2008-11-09 00:28:40 +00:00
qemu-nbd.c qemu-nbd: fix options: -b (--bind) expects an argument (IFACE) (Uri Lublin) 2009-01-08 19:34:35 +00:00
qemu-nbd.texi Fix formatting of documentation (Stefan Weil) 2008-09-22 20:41:57 +00:00
qemu-sockets.c Fix some more warnings 2009-01-14 18:34:22 +00:00
qemu-tech.texi Update (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej) 2008-10-09 18:52:04 +00:00
qemu-timer.h Break up vl.h. 2007-11-17 17:14:51 +00:00
qemu-tool.c Fix warning from sparse (wrong declaration) 2008-11-30 16:25:17 +00:00
qemu_socket.h sockets: helper functions for qemu (Gerd Hoffman) 2008-11-11 20:46:40 +00:00
readline.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
s390-dis.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
s390.ld Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
savevm.c Fix handling of disk-only snapshots (Kevin Wolf) 2008-12-11 21:06:49 +00:00
sdl.c DisplayState interface change (Stefano Stabellini) 2009-01-15 22:14:11 +00:00
sdl_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
sh4-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu-semi.h Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings 2008-09-20 08:07:15 +00:00
softmmu_defs.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_exec.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_header.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu_template.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
sparc-dis.c Make OpenBSD sparc-softmmu compile warning free 2009-01-14 18:08:08 +00:00
sparc.ld More detabification 2007-10-06 11:28:21 +00:00
sparc64.ld Map code buffers below 2G on Sparc64 2008-07-26 15:05:57 +00:00
sys-queue.h Remove CRs 2008-12-14 08:53:17 +00:00
sysemu.h add a -vga none cli option (Stefano Stabellini) 2009-01-15 20:37:28 +00:00
tap-win32.c Add a -net name=foo parameter (Mark McLoughlin) 2009-01-07 17:48:51 +00:00
texi2pod.pl Update texi2pod.pl. 2008-02-04 14:47:49 +00:00
thunk.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
thunk.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
translate-all.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
uboot_image.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
usb-bsd.c Make OpenBSD sparc-softmmu compile warning free 2009-01-14 18:08:08 +00:00
usb-linux.c Suppress a -Werror=format-security warning 2008-12-28 15:45:20 +00:00
usb-stub.c Fix usb-stub compilation 2008-11-25 16:49:33 +00:00
vgafont.h Some little fixes on QEMU 2008-09-06 16:31:30 +00:00
vl.c DisplayState interface change (Stefano Stabellini) 2009-01-15 22:14:11 +00:00
vnc.c DisplayState interface change (Stefano Stabellini) 2009-01-15 22:14:11 +00:00
vnc_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
vnchextile.h Introduce accessors for DisplayState (Stefano Stabellini) 2008-11-24 19:29:13 +00:00
x86_64.ld update 2005-01-06 20:50:00 +00:00
x_keymap.c Add statics and missing #includes for prototypes. 2007-11-18 01:44:38 +00:00

README

Read the documentation in qemu-doc.html.

Fabrice Bellard.