Go to file
bellard 2c0262afa7 new directory structure
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@385 c046a42c-6fe2-441c-8c8c-71466251a162
2003-09-30 20:34:21 +00:00
hw depth 32 fix 2003-09-16 21:47:08 +00:00
linux-user new directory structure 2003-09-30 20:34:21 +00:00
target-arm new directory structure 2003-09-30 20:34:21 +00:00
target-i386 new directory structure 2003-09-30 20:34:21 +00:00
tests portable Linux test 2003-09-28 18:59:32 +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 ARM fixes 2003-07-09 17:10:32 +00:00
arm.ld added missing link scripts 2003-06-15 20:25:04 +00:00
block.c added user mode Linux Copy On Write disk image support - added -snapshot support (initial patch by Rusty Russell) 2003-07-06 17:15:21 +00:00
bswap.h soft mmu support 2003-08-10 21:35:13 +00:00
Changelog update 2003-09-17 22:56:56 +00:00
configure m68k host port (Richard Zidlicky) 2003-08-10 22:14:22 +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 soft mmu support - Memory I/O API - synthetize string instructions 2003-08-10 21:47:01 +00:00
cpu-arm.h soft mmu support - Memory I/O API - synthetize string instructions 2003-08-10 21:47:01 +00:00
cpu-defs.h soft mmu support 2003-08-10 21:35:13 +00:00
cpu-exec.c removed x86 hacks 2003-09-17 22:51:18 +00:00
cpu-i386.h faster and more accurate segment handling 2003-08-21 23:25:21 +00:00
dis-asm.h added ARM and Sparc disassemblers 2003-06-09 15:23:31 +00:00
disas.c address printing fix 2003-07-13 17:29:55 +00:00
disas.h changed disas() prototype for multi target support 2003-06-15 19:44:10 +00:00
dyngen-exec.h added two more jump points 2003-09-17 22:51:45 +00:00
dyngen.c m68k host port (Richard Zidlicky) 2003-08-10 22:14:22 +00:00
dyngen.h added two more jump points 2003-09-17 22:51:45 +00:00
elf.h ia64 support 2003-04-29 21:10:09 +00:00
exec-arm.h ARM fixes 2003-07-09 17:10:32 +00:00
exec-i386.h no error code if hardware interrupt 2003-08-20 21:34:35 +00:00
exec.c soft mmu support - Memory I/O API - synthetize string instructions 2003-08-10 21:47:01 +00:00
exec.h added JUMP_TB2 for a third basic block exit jump point 2003-09-17 22:53:29 +00:00
gdbstub.c first part of single stepping support 2003-07-29 20:50:33 +00:00
helper2-i386.c pop ss, mov ss, x and sti disable irqs for the next instruction - began dispatch optimization by adding new x86 cpu 'hidden' flags 2003-08-20 23:02:09 +00:00
helper-i386.c faster and more accurate segment handling 2003-08-21 23:25:21 +00:00
i386-dis.c added ARM and Sparc disassemblers 2003-06-09 15:23:31 +00:00
i386-vl.ld allow up to 256 MB of ram 2003-07-01 16:27:45 +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
m68k.ld m68k host port (Richard Zidlicky) 2003-08-10 22:14:22 +00:00
Makefile Redhat 9 fixes 2003-09-17 22:57:56 +00:00
Makefile.target Redhat 9 fixes 2003-09-17 22:57:56 +00:00
op-arm-template.h ARM emulation support 2003-06-15 19:42:24 +00:00
op-arm.c pass function name to JMUP_TB() 2003-08-11 22:19:11 +00:00
op-i386.c finished simplifying string operations 2003-09-17 22:52:47 +00:00
opreg_template.h glibc2.2 fixes - more command line options - misc doc fixes 2003-03-24 21:58:34 +00:00
ops_mem.h soft mmu support 2003-08-10 21:35:13 +00:00
ops_template_mem.h gcc 3.2.2 bug workaround (RedHat 9 fix) 2003-07-13 17:31:01 +00:00
ops_template.h finished simplifying string operations 2003-09-17 22:52:47 +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-07-13 22:37:44 +00:00
README gcc 3.x is mandatory now on PowerPC 2003-08-11 22:28:58 +00:00
README.distrib update 2003-04-11 01:17:32 +00:00
s390.ld update 2003-04-29 21:34:02 +00:00
sdl.c SDL support for VGA, keyboard and mouse 2003-08-09 18:26:36 +00:00
softmmu_header.h removed warnings 2003-08-10 23:39:03 +00:00
softmmu_template.h pop ss, mov ss, x and sti disable irqs for the next instruction - began dispatch optimization by adding new x86 cpu 'hidden' flags 2003-08-20 23:02:09 +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 signal support 2003-07-09 19:31:39 +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 use bswap.h 2003-08-10 21:38:48 +00:00
TODO update 2003-07-07 12:17:46 +00:00
translate-arm.c gdb stub breakpoints support 2003-07-26 12:06:08 +00:00
translate-i386.c finished simplifying string operations - correct TF flag handling for string operations and ss loading - simplified basic block exit code generation 2003-09-17 22:56:30 +00:00
translate.c added JUMP_TB2 for a third basic block exit jump point 2003-09-17 22:53:29 +00:00
VERSION update 2003-09-17 22:56:56 +00:00
vl.c glibc 2.3.x fix 2003-09-16 21:46:04 +00:00
vl.h 64 bit fixes (Falk Hueffner) 2003-08-11 20:35:58 +00:00
vlmkcow.c use bswap.h 2003-08-10 21:38:48 +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
          3.2.2    2.13.90.0.18  2.3.2    2.4.20      Red Hat 9

PowerPC   3.3 [4]  2.13.90.0.18  2.3.1    2.4.20briq
          3.2

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

[4] gcc 2.95.x generates invalid code when using too many register
variables. You must use gcc 3.x on PowerPC.

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

Read the documentation in qemu-doc.html.


Fabrice Bellard.