Go to file
2003-06-30 23:36:57 +00:00
linux-user reduced irq latency 2003-06-30 13:12:32 +00:00
tests gcc3 compile fixes 2003-06-25 16:21:11 +00:00
alpha-dis.c moved to disas.c 2003-06-09 15:31:02 +00:00
alpha.ld alpha support 2003-04-29 20:53:42 +00:00
arm-dis.c added ARM and Sparc disassemblers 2003-06-09 15:23:31 +00:00
arm.ld added missing link scripts 2003-06-15 20:25:04 +00:00
block.c allow read only images 2003-06-30 23:17:31 +00:00
Changelog update 2003-06-27 12:02:03 +00:00
configure fixed compilation for gcc 2.96 2003-06-25 16:08:13 +00:00
COPYING distribution patches 2003-03-23 20:17:16 +00:00
COPYING.LIB update 2003-05-25 16:41:52 +00:00
cpu-all.h reduced irq latency 2003-06-30 13:12:32 +00:00
cpu-arm.h arm fixes 2003-06-25 16:09:48 +00:00
cpu-exec.c fixed invalid irq jump chaining 2003-06-30 23:18:22 +00:00
cpu-i386.h reduced irq latency 2003-06-30 13:12:32 +00:00
dis-asm.h added ARM and Sparc disassemblers 2003-06-09 15:23:31 +00:00
disas.c changed disas() prototype for multi target support 2003-06-15 19:44:10 +00:00
disas.h changed disas() prototype for multi target support 2003-06-15 19:44:10 +00:00
dyngen-exec.h moved dyngen generic code to dyngen-exec.h 2003-06-15 19:46:57 +00:00
dyngen.c correct eflags evaluation order for all operations - fixed important CPU state restoring bug in some exception cases - disabled unsafe inc flags optimisation 2003-06-30 23:36:57 +00:00
dyngen.h moved cache flush to dyngen header 2003-06-15 19:45:20 +00:00
elf.h ia64 support 2003-04-29 21:10:09 +00:00
exec-arm.h ARM emulation support 2003-06-15 19:42:24 +00:00
exec-i386.h more ring 0 operations 2003-06-24 13:27:18 +00:00
exec.c reduced irq latency 2003-06-30 13:12:32 +00:00
exec.h dummy label to avoid gcc optimisations 2003-06-30 23:18:59 +00:00
gdbstub.c added gdb support to vl 2003-06-27 17:34:32 +00:00
helper-i386.c fixed VM86 support in Virtual Linux - fixed compilation issues with gcc 2.96 - cpuid returns now pentium pro in order to avoid F00F bug workaround in Linux kernel 2003-06-25 16:18:05 +00:00
i386-dis.c added ARM and Sparc disassemblers 2003-06-09 15:23:31 +00:00
i386-vl.ld untested RH9 fixes 2003-06-25 16:18:32 +00:00
i386.ld This commit was generated by cvs2svn to compensate for changes in r2, 2003-02-18 22:55:36 +00:00
ia64-syscall.S ia64 support 2003-04-29 21:10:09 +00:00
Makefile correct eflags evaluation order for all operations - fixed important CPU state restoring bug in some exception cases - disabled unsafe inc flags optimisation 2003-06-30 23:36:57 +00:00
op_string.h removed unused assignment 2003-06-30 23:17:08 +00:00
op-arm-template.h ARM emulation support 2003-06-15 19:42:24 +00:00
op-arm.c ARM emulation support 2003-06-15 19:42:24 +00:00
op-i386.c first step to fix precise eflags update in case of exception 2003-06-30 10:11:50 +00:00
opreg_template.h glibc2.2 fixes - more command line options - misc doc fixes 2003-03-24 21:58:34 +00:00
ops_template_mem.h correct eflags evaluation order for all operations - fixed important CPU state restoring bug in some exception cases - disabled unsafe inc flags optimisation 2003-06-30 23:36:57 +00:00
ops_template.h correct eflags evaluation order for all operations - fixed important CPU state restoring bug in some exception cases - disabled unsafe inc flags optimisation 2003-06-30 23:36:57 +00:00
ppc-dis.c fixed endianness (Jocelyn Mayer) 2003-06-26 17:09:07 +00:00
ppc.ld ppc build 2003-02-18 23:35:48 +00:00
qemu-doc.texi update 2003-06-30 23:16:33 +00:00
README more compiler tests 2003-06-25 16:09:14 +00:00
README.distrib update 2003-04-11 01:17:32 +00:00
s390.ld update 2003-04-29 21:34:02 +00:00
sparc-dis.c added ARM and Sparc disassemblers 2003-06-09 15:23:31 +00:00
sparc.ld added missing link scripts 2003-06-15 20:25:04 +00:00
syscall-arm.h ARM emulation support 2003-06-15 19:42:24 +00:00
syscall-i386.h factorized more definitions - suppressed broken sound ioctls 2003-06-15 19:58:13 +00:00
thunk.c fixed serious ioctl parameter conversion issue - exported type size and align functions 2003-06-15 19:52:54 +00:00
thunk.h fixed inline pb 2003-06-25 22:11:41 +00:00
TODO update 2003-06-25 16:21:49 +00:00
translate-arm.c use inline function 2003-06-24 13:28:48 +00:00
translate-i386.c correct eflags evaluation order for all operations - fixed important CPU state restoring bug in some exception cases - disabled unsafe inc flags optimisation 2003-06-30 23:36:57 +00:00
translate.c correct restoring of CC_OP in case of exception 2003-06-24 13:21:23 +00:00
VERSION update 2003-06-27 12:02:03 +00:00
vl.c added PIC debug 2003-06-30 23:36:21 +00:00
vl.h IDE emulation 2003-06-30 10:03:06 +00:00

The QEMU x86 emulator
---------------------

INSTALLATION
------------

Type 

    ./configure --interp-prefix=/usr/local/qemu-i386
    make

to build qemu and libqemu.a.

Type

    make install

to install QEMU in /usr/local/bin

* On x86 you should be able to launch any program by using the
libraries installed on your PC. For example:

    ./qemu -L / /bin/ls

* On non x86 CPUs, you need first to download at least an x86 glibc
(qemu-XXX-i386-glibc21.tar.gz on the qemu web page). Ensure that
LD_LIBRARY_PATH is not set:

    unset LD_LIBRARY_PATH 

Then you can launch the precompiled 'ls' x86 executable:

    ./qemu /usr/local/qemu-i386/bin/ls-i386

You can look at /usr/local/qemu-i386/bin/qemu-conf.sh so that QEMU is
automatically launched by the Linux kernel when you try to launch x86
executables.

Tested tool versions
--------------------

In order to compile QEMU succesfully, it is very important that you
have the right tools. The most important one is gcc. I cannot guaranty
that QEMU works if you do not use a tested gcc version. Look at
'configure' and 'Makefile' if you want to make a different gcc
version work.

host      gcc      binutils      glibc    linux       distribution
----------------------------------------------------------------------
x86       2.95.2   2.13.2        2.1.3    2.4.18           
          3.2      2.13.2        2.1.3    2.4.18
          2.96     2.11.93.0.2   2.2.5    2.4.18      Red Hat 7.3

PowerPC   2.95.4   2.12.90.0.1   2.2.5    2.4.20-pre2 Debian 3.0

Alpha     3.3 [1]  2.14.90.0.4   2.2.5    2.2.20 [2]  Debian 3.0

Sparc32   2.95.4   2.12.90.0.1   2.2.5    2.4.18      Debian 3.0

ARM       2.95.4   2.12.90.0.1   2.2.5    2.4.9 [3]   Debian 3.0

[1] On Alpha, QEMU needs the gcc 'visibility' attribute only available
    for gcc version >= 3.3.
[2] Linux >= 2.4.20 is necessary for precise exception support
    (untested).
[3] 2.4.9-ac10-rmk2-np1-cerf2

Documentation
-------------

Read the documentation in qemu-doc.html.


Fabrice Bellard.