QEMU main repository: Please see https://www.qemu.org/docs/master/devel/submitting-a-patch.html for how to submit changes to QEMU. Pull Requests are ignored. Please only use release tarballs from the QEMU website. http://www.qemu.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
bellard 59faf6d6a6 compile fixes 23 years ago
linux-user compile fixes 23 years ago
tests iret and popl (%esp) tests 23 years ago
COPYING distribution patches 24 years ago
COPYING.LIB update 24 years ago
Changelog updated 23 years ago
Makefile fixed compilation for gcc 2.96 - added QEMU system emulator 23 years ago
README more compiler tests 23 years ago
README.distrib update 24 years ago
TODO update 24 years ago
VERSION arm emulation support 23 years ago
alpha-dis.c moved to disas.c 24 years ago
alpha.ld alpha support 24 years ago
arm-dis.c added ARM and Sparc disassemblers 24 years ago
arm.ld added missing link scripts 23 years ago
configure fixed compilation for gcc 2.96 23 years ago
cpu-all.h arm fixes 23 years ago
cpu-arm.h arm fixes 23 years ago
cpu-exec.c suppressed ring 0 hacks 23 years ago
cpu-i386.h more precise cpu_interrupt() 23 years ago
dis-asm.h added ARM and Sparc disassemblers 24 years ago
disas.c changed disas() prototype for multi target support 23 years ago
disas.h changed disas() prototype for multi target support 23 years ago
dyngen-exec.h moved dyngen generic code to dyngen-exec.h 23 years ago
dyngen.c fixed op_label computation on ppc 23 years ago
dyngen.h moved cache flush to dyngen header 23 years ago
elf.h ia64 support 24 years ago
exec-arm.h ARM emulation support 23 years ago
exec-i386.h more ring 0 operations 23 years ago
exec.c more precise cpu_interrupt() 23 years ago
exec.h MMU support 23 years ago
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 23 years ago
i386-dis.c added ARM and Sparc disassemblers 24 years ago
i386-vl.ld untested RH9 fixes 23 years ago
i386.ld This commit was generated by cvs2svn to compensate for changes in r2, 24 years ago
ia64-syscall.S ia64 support 24 years ago
op-arm-template.h ARM emulation support 23 years ago
op-arm.c ARM emulation support 23 years ago
op-i386.c more ring 0 operations 23 years ago
op_string.h changed I/O function prototype to include emulator state 24 years ago
opreg_template.h glibc2.2 fixes - more command line options - misc doc fixes 24 years ago
ops_template.h new segment access 23 years ago
ppc-dis.c PowerPC disas code 24 years ago
ppc.ld ppc build 24 years ago
qemu-doc.texi update 23 years ago
s390.ld update 24 years ago
sparc-dis.c added ARM and Sparc disassemblers 24 years ago
sparc.ld added missing link scripts 23 years ago
syscall-arm.h ARM emulation support 23 years ago
syscall-i386.h factorized more definitions - suppressed broken sound ioctls 23 years ago
thunk.c fixed serious ioctl parameter conversion issue - exported type size and align functions 23 years ago
thunk.h fixed serious ioctl parameter conversion issue - exported type size and align functions 23 years ago
translate-arm.c use inline function 23 years ago
translate-i386.c more ring 0 instructions - full x86 MMU emulation based on mmap() syscall - fixed popl (%esp) 23 years ago
translate.c correct restoring of CC_OP in case of exception 23 years ago
vl.c added NE2000 emulation 23 years ago

README

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.