Statistics
| Branch: | Revision:

root @ e023e832

Name Size
  QMP
  audio
  block
  bsd-user
  darwin-user
  default-configs
  docs
  fpu
  fsdev
  gdb-xml
  hw
  libcacard
  linux-user
  net
  pc-bios
  roms
  scripts
  slirp
  sysconfigs
  target-alpha
  target-arm
  target-cris
  target-i386
  target-lm32
  target-m68k
  target-microblaze
  target-mips
  target-ppc
  target-s390x
  target-sh4
  target-sparc
  target-unicore32
  tcg
  tests
  ui
.gitignore 780 Bytes
.gitmodules 328 Bytes
CODING_STYLE 2.9 kB
COPYING 17.6 kB
COPYING.LIB 25.8 kB
Changelog 22.4 kB
HACKING 4.8 kB
LICENSE 637 Bytes
MAINTAINERS 9.2 kB
Makefile 11.6 kB
Makefile.dis 402 Bytes
Makefile.hw 510 Bytes
Makefile.objs 13.1 kB
Makefile.target 12.6 kB
Makefile.user 426 Bytes
README 59 Bytes
TODO 1.1 kB
VERSION 8 Bytes
a.out.h 13.6 kB
acl.c 4.4 kB
acl.h 2.1 kB
aes.c 59.7 kB
aes.h 717 Bytes
aio.c 5.8 kB
alpha-dis.c 79.9 kB
alpha.ld 3.9 kB
arch_init.c 17.6 kB
arch_init.h 785 Bytes
arm-dis.c 157.1 kB
arm-semi.c 15.1 kB
arm.ld 4.6 kB
async.c 5.9 kB
balloon.c 4.3 kB
balloon.h 894 Bytes
bitmap.c 6.3 kB
bitmap.h 7.3 kB
bitops.c 3.4 kB
bitops.h 6.3 kB
block-migration.c 19.8 kB
block-migration.h 504 Bytes
block.c 81 kB
block.h 11.5 kB
block_int.h 9.8 kB
blockdev.c 20.9 kB
blockdev.h 2.1 kB
bswap.h 5.3 kB
bt-host.c 5.2 kB
bt-host.h 123 Bytes
bt-vhci.c 4.5 kB
buffered_file.c 6.4 kB
buffered_file.h 916 Bytes
cache-utils.c 2.1 kB
cache-utils.h 1.1 kB
check-qdict.c 8.9 kB
check-qfloat.c 1.5 kB
check-qint.c 2.1 kB
check-qjson.c 19.9 kB
check-qlist.c 2.8 kB
check-qstring.c 2.8 kB
cmd.c 11.6 kB
cmd.h 2 kB
compatfd.c 2.3 kB
compatfd.h 1.5 kB
config.h 52 Bytes
configure 90.9 kB
console.c 46.8 kB
console.h 12.3 kB
cpu-all.h 25.2 kB
cpu-common.h 6.3 kB
cpu-defs.h 9.8 kB
cpu-exec.c 44.5 kB
cpus.c 25.4 kB
cpus.h 607 Bytes
cris-dis.c 80.3 kB
cursor.c 5.3 kB
cursor_hidden.xpm 1.3 kB
cursor_left_ptr.xpm 1.4 kB
cutils.c 9.8 kB
def-helper.h 7.2 kB
device_tree.c 2.6 kB
device_tree.h 938 Bytes
dis-asm.h 18.2 kB
disas.c 11.6 kB
disas.h 1.1 kB
dma-helpers.c 4.7 kB
dma.h 1.1 kB
dyngen-exec.h 2.4 kB
elf.h 45.4 kB
envlist.c 5.3 kB
envlist.h 484 Bytes
exec-all.h 11.4 kB
exec.c 132.6 kB
gdbstub.c 70.4 kB
gdbstub.h 1.3 kB
gen-icount.h 1.2 kB
hmp-commands.hx 36 kB
host-utils.c 2.8 kB
host-utils.h 5.4 kB
hpet.h 618 Bytes
hppa-dis.c 100.2 kB
hppa.ld 8 kB
i386-dis.c 159.1 kB
i386.ld 4.7 kB
ia64-dis.c 396.6 kB
ia64.ld 8.2 kB
input.c 7.7 kB
iohandler.c 5.4 kB
ioport-user.c 1.6 kB
ioport.c 8.9 kB
ioport.h 1.9 kB
iorange.h 663 Bytes
iov.c 1.6 kB
iov.h 638 Bytes
json-lexer.c 7.8 kB
json-lexer.h 977 Bytes
json-parser.c 13.1 kB
json-parser.h 421 Bytes
json-streamer.c 2.2 kB
json-streamer.h 959 Bytes
kvm-all.c 36 kB
kvm-stub.c 2.2 kB
kvm.h 5.4 kB
libfdt_env.h 1.1 kB
linux-aio.c 6.6 kB
m68k-dis.c 211.6 kB
m68k-semi.c 12.2 kB
m68k.ld 5.9 kB
microblaze-dis.c 62.1 kB
migration-exec.c 3.1 kB
migration-fd.c 2.7 kB
migration-tcp.c 4.6 kB
migration-unix.c 4.8 kB
migration.c 12.2 kB
migration.h 3.9 kB
mips-dis.c 206.6 kB
mips.ld 8.4 kB
module.c 1.3 kB
module.h 1.1 kB
monitor.c 145.8 kB
monitor.h 1.7 kB
nbd.c 16.8 kB
nbd.h 2.1 kB
net.c 38.5 kB
net.h 5.8 kB
notify.c 814 Bytes
notify.h 857 Bytes
os-posix.c 8.6 kB
os-win32.c 7.2 kB
osdep.c 4 kB
osdep.h 3.6 kB
oslib-posix.c 4.1 kB
oslib-win32.c 3.1 kB
path.c 4.7 kB
pci-ids.txt 883 Bytes
pflib.c 6.6 kB
pflib.h 496 Bytes
poison.h 1.5 kB
posix-aio-compat.c 15.9 kB
ppc-dis.c 237 kB
ppc.ld 8.5 kB
ppc64.ld 7.8 kB
qbool.c 1.2 kB
qbool.h 535 Bytes
qdict-test-data.txt 88.4 kB
qdict.c 10.5 kB
qdict.h 2.1 kB
qemu-aio.h 2 kB
qemu-barrier.h 226 Bytes
qemu-char.c 67.8 kB
qemu-char.h 4.6 kB
qemu-common.h 11.2 kB
qemu-config.c 17.1 kB
qemu-config.h 542 Bytes
qemu-doc.texi 76.5 kB
qemu-error.c 4.2 kB
qemu-error.h 1.1 kB
qemu-img-cmds.hx 1.7 kB
qemu-img.c 43.6 kB
qemu-img.texi 8.6 kB
qemu-io.c 37.7 kB
qemu-lock.h 1.6 kB
qemu-log.h 2.1 kB
qemu-malloc.c 2.5 kB
qemu-nbd.c 13.7 kB
qemu-nbd.texi 1.5 kB
qemu-objects.h 506 Bytes
qemu-option.c 24.2 kB
qemu-option.h 5.2 kB
qemu-options.h 1.5 kB
qemu-options.hx 81.5 kB
qemu-os-posix.h 1.8 kB
qemu-os-win32.h 2.3 kB
qemu-progress.c 4 kB
qemu-queue.h 22 kB
qemu-sockets.c 19 kB
qemu-tech.texi 22.3 kB
qemu-thread-posix.c 2.9 kB
qemu-thread-posix.h 233 Bytes
qemu-thread-win32.c 7.6 kB
qemu-thread-win32.h 307 Bytes
qemu-thread.h 1.2 kB
qemu-timer-common.c 2 kB
qemu-timer.c 33.3 kB
qemu-timer.h 8.7 kB
qemu-tool.c 1.5 kB
qemu-x509.h 239 Bytes
qemu.sasl 1.3 kB
qemu_socket.h 1.6 kB
qerror.c 12 kB
qerror.h 5.5 kB
qfloat.c 1.3 kB
qfloat.h 562 Bytes
qint.c 1.2 kB
qint.h 539 Bytes
qjson.c 7.3 kB
qjson.h 708 Bytes
qlist.c 3 kB
qlist.h 1.3 kB
qmp-commands.hx 43.2 kB
qobject.h 2.7 kB
qstring.c 3.1 kB
qstring.h 884 Bytes
range.h 867 Bytes
readline.c 12.8 kB
readline.h 1.5 kB
rules.mak 2 kB
rwhandler.c 2.6 kB
rwhandler.h 981 Bytes
s390-dis.c 93.3 kB
s390.ld 6.9 kB
savevm.c 54.5 kB
sh4-dis.c 82.7 kB
simpletrace.c 8.6 kB
simpletrace.h 1.5 kB
softmmu-semi.h 2 kB
softmmu_defs.h 1.1 kB
softmmu_exec.h 3 kB
softmmu_header.h 4.8 kB
softmmu_template.h 12 kB
sparc-dis.c 171.7 kB
sparc.ld 4.7 kB
sparc64.ld 4.4 kB
spice-qemu-char.c 5.6 kB
sysemu.h 4.9 kB
targphys.h 538 Bytes
tcg-runtime.c 2.2 kB
thunk.c 8.2 kB
thunk.h 4.1 kB
trace-events 22.2 kB
translate-all.c 4.3 kB
uboot_image.h 5.9 kB
usb-bsd.c 17.4 kB
usb-linux.c 53.4 kB
usb-stub.c 1.8 kB
version.rc 749 Bytes
vgafont.h 93.3 kB
vl.c 92.2 kB
x86_64.ld 6.6 kB
xen-all.c 16.8 kB
xen-mapcache-stub.c 773 Bytes
xen-mapcache.c 10.3 kB
xen-mapcache.h 978 Bytes
xen-stub.c 690 Bytes

Latest revisions

# Date Author Comment
71b12d31 05/20/2011 06:35 pm Christian Borntraeger

s390x: fix smp support for kvm

Currently smp support for kvm does not work. Qemu does a kvm run even on
secondary CPUs which dont have a sane state (initial psw == 0)
triggering some program faults. Architecturally these cpus are in the stopped
state, so we should not do the kvm run ioctl. (these CPUs will be started...

7a86d29a 05/20/2011 06:35 pm Alexander Graf

tcg: extend max tcg opcodes when using 64-on-32bit

When running a 64 bit guest on a 32 bit host, we tend to use more TCG ops
than on a 64 bit host. Reflect that in the reserved opcode amount constant.

Signed-off-by: Alexander Graf <>

a4c075f1 05/20/2011 06:35 pm Ulrich Hecht

s390x: s390x-linux-user support

This patch adds support for running s390x binaries in the linux-user emulation
code.

Signed-off-by: Ulrich Hecht <>
Signed-off-by: Alexander Graf <>

1f206266 05/20/2011 06:35 pm Alexander Graf

s390x: make kvm exported functions conditional on kvm

We have some helper functions we use to directly invoke KVM
functionality from device emulation code.

This patch replaces those exported functions with static inline
stubs when not building with KVM enabled....

d1ff903c 05/20/2011 06:35 pm Alexander Graf

s390x: keep hint on virtio managing size

The s390x virtio bus keeps management information on virtio after the top
of the guest's RAM. We need to be able to tell the guest the size of its
RAM (without virtio stuff), but also be able to trap when the guest accesses...

4e836781 05/20/2011 06:35 pm Alexander Graf

s390x: Shift variables in CPUState for memset(0)

The default reset handler does a memset(0) until right in between CPU_COMMON.
I incorrectly changed that behavior on the s390x port, so let's move the fields
in CPUState around to reflect the correct split up to which point memset(0)...

d5a43964 05/20/2011 06:35 pm Alexander Graf

s390x: helper functions for system emulation

When running system emulation, we need to transverse through the MMU and
deliver interrupts according to the specification.

This patch implements those two pieces and in addition adjusts the CPU
initialization code to account for the new fields in CPUState....

defb0e31 05/20/2011 06:35 pm Alexander Graf

s390x: Implement opcode helpers

There are some instructions that can't (or shouldn't) be expressed by pure
tcg code. For those, we call into externally compiled C functions.

This patch implements those C functions.

Signed-off-by: Alexander Graf <>

81f7c56c 05/20/2011 06:35 pm Alexander Graf

s390x: Adjust internal kvm code

We're now finally emulating an s390x CPU, so we can move quite some logic
from the kvm code out into generic CPU code.

This patch does this and adjusts the interfaces according to what the code
around now expects to be able to call....

e023e832 05/20/2011 06:35 pm Alexander Graf

s390x: translate engine for s390x CPU

This is the main meat part of the patch set. It implements emulation for an
s390x CPU.

The code does all the optimizations that are common for TCG code:

- direct branches
- cc optimization
- unrolling of simple microcode loops...

View all revisions | View revisions

Also available in: Atom