Go to file
bellard 0824d6fc67 for hard core developpers only: a new user mode linux project :-)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@267 c046a42c-6fe2-441c-8c8c-71466251a162
2003-06-24 13:42:40 +00:00
linux-user declare user mode only simulation for QEMU 2003-06-24 13:30:31 +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 arm emulation support 2003-06-15 20:25:43 +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 added cpu_abort() 2003-06-21 13:08:39 +00:00
cpu-arm.h ARM emulation support 2003-06-15 19:42:24 +00:00
cpu-exec.c hardware interrupt support - support forfull ring 0 exception simulation 2003-06-24 13:22:59 +00:00
cpu-i386.h MMU support 2003-06-24 13:28:12 +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 MMU support 2003-06-24 13:28:12 +00:00
exec.h MMU support 2003-06-24 13:28:12 +00:00
helper-i386.c more ring 0 operations 2003-06-24 13:27:18 +00:00
i386-dis.c added ARM and Sparc disassemblers 2003-06-09 15:23:31 +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 for hard core developpers only: a new user mode linux project :-) 2003-06-24 13:42:40 +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 glibc2.2 fixes - more command line options - misc doc fixes 2003-03-24 21:58:34 +00:00
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 ppc build 2003-02-18 23:35:48 +00:00
qemu-doc.texi update 2003-06-15 23:29:28 +00:00
README update 2003-06-09 15:38:23 +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 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 for hard core developpers only: a new user mode linux project :-) 2003-06-24 13:42: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
-------------------------------------------------------
x86       2.95.2   2.13.2        2.1.3    2.4.18

PowerPC   2.95.4   2.12.90.0.1   2.2.5    2.4.20-pre2

Alpha     3.3 [1]  2.14.90.0.4   2.2.5    2.2.20 [2]

Sparc32   2.95.4   2.12.90.0.1   2.2.5    2.4.18

ARM       2.95.4   2.12.90.0.1   2.2.5    2.4.9-ac10-rmk2-np1-cerf2

[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).

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

Read the documentation in qemu-doc.html.


Fabrice Bellard.