Go to file
bellard 59faf6d6a6 compile fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@279 c046a42c-6fe2-441c-8c8c-71466251a162
2003-06-25 16:18:50 +00:00
linux-user compile fixes 2003-06-25 16:18:50 +00:00
tests iret and popl (%esp) tests 2003-06-24 13:29:40 +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
Changelog updated 2003-06-24 13:40:52 +00:00
configure fixed compilation for gcc 2.96 2003-06-25 16:08:13 +00:00
COPYING
COPYING.LIB update 2003-05-25 16:41:52 +00:00
cpu-all.h arm fixes 2003-06-25 16:09:48 +00:00
cpu-arm.h arm fixes 2003-06-25 16:09:48 +00:00
cpu-exec.c suppressed ring 0 hacks 2003-06-25 16:12:37 +00:00
cpu-i386.h more precise cpu_interrupt() 2003-06-25 16:16:50 +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 fixed op_label computation on ppc 2003-06-15 22:50:44 +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 more precise cpu_interrupt() 2003-06-25 16:16:50 +00:00
exec.h MMU support 2003-06-24 13:28:12 +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
ia64-syscall.S ia64 support 2003-04-29 21:10:09 +00:00
Makefile fixed compilation for gcc 2.96 - added QEMU system emulator 2003-06-25 16:08:39 +00:00
op_string.h changed I/O function prototype to include emulator state 2003-05-08 15:42:38 +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 more ring 0 operations 2003-06-24 13:27:18 +00:00
opreg_template.h
ops_template.h new segment access 2003-06-21 13:13:25 +00:00
ppc-dis.c PowerPC disas code 2003-04-29 20:41:16 +00:00
ppc.ld
qemu-doc.texi update 2003-06-15 23:29:28 +00:00
README more compiler tests 2003-06-25 16:09:14 +00:00
README.distrib
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 serious ioctl parameter conversion issue - exported type size and align functions 2003-06-15 19:52:54 +00:00
TODO update 2003-06-09 15:38:23 +00:00
translate-arm.c use inline function 2003-06-24 13:28:48 +00:00
translate-i386.c more ring 0 instructions - full x86 MMU emulation based on mmap() syscall - fixed popl (%esp) 2003-06-24 13:20:53 +00:00
translate.c correct restoring of CC_OP in case of exception 2003-06-24 13:21:23 +00:00
VERSION arm emulation support 2003-06-15 20:25:43 +00:00
vl.c added NE2000 emulation 2003-06-25 00:07:40 +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.