Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Go to file
bellard 27c3f2cb9b buffer overflow fix - handle case where stdin is closed (Rusty Russell)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@397 c046a42c-6fe2-441c-8c8c-71466251a162
2003-09-30 21:40:47 +00:00
hw multiscan/doublescan fix (malc) 2003-09-30 21:29:03 +00:00
linux-user removed SIGIOT 2003-09-30 21:10:14 +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
target-sparc sparc emulation target (thanx to Thomas M. Ogrisegg) 2003-09-30 20:36:07 +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 new directory structure - changed naming of qemu and vl 2003-09-30 20:54:24 +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 sparc emulation target (thanx to Thomas M. Ogrisegg) 2003-09-30 20:57:29 +00:00
cpu-defs.h soft mmu support 2003-08-10 21:35:13 +00:00
cpu-exec.c sparc emulation target (thanx to Thomas M. Ogrisegg) 2003-09-30 20:57:29 +00:00
dis-asm.h added ARM and Sparc disassemblers 2003-06-09 15:23:31 +00:00
disas.c sparc emulation target (thanx to Thomas M. Ogrisegg) 2003-09-30 20:57:29 +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-all.h new directory structure 2003-09-30 20:59:51 +00:00
exec.c new directory structure 2003-09-30 21:04:53 +00:00
gdbstub.c new directory structure 2003-09-30 21:04:53 +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 new directory structure - changed naming of qemu and vl 2003-09-30 20:54:24 +00:00
Makefile.target new directory structure - changed naming of qemu and vl 2003-09-30 20:54:24 +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
qemu-mkcow.c new directory structure 2003-09-30 20:59:51 +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 allow Ctrl-C to be pressed when using gdb stub and SDL 2003-09-30 21:09:16 +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
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-all.c new directory structure 2003-09-30 20:59:51 +00:00
VERSION update 2003-09-17 22:56:56 +00:00
vl.c buffer overflow fix - handle case where stdin is closed (Rusty Russell) 2003-09-30 21:40:47 +00:00
vl.h 64 bit fixes (Falk Hueffner) 2003-08-11 20:35:58 +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.