Statistics
| Branch: | Revision:

root @ 9fdf0c29

Name Size
  QMP
  audio
  block
  bsd-user
  darwin-user
  default-configs
  docs
  fpu
  fsdev
  gdb-xml
  hw
  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
  tcg
  tests
  ui
.gitignore 762 Bytes
.gitmodules 174 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.1 kB
Makefile 12.7 kB
Makefile.dis 402 Bytes
Makefile.hw 510 Bytes
Makefile.objs 11.3 kB
Makefile.target 11.2 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.5 kB
arch_init.h 888 Bytes
arm-dis.c 157.1 kB
arm-semi.c 15.2 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.6 kB
block-migration.h 504 Bytes
block.c 81.5 kB
block.h 11.7 kB
block_int.h 9.8 kB
blockdev.c 21.2 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 85.3 kB
console.c 46.8 kB
console.h 12.3 kB
cpu-all.h 23.7 kB
cpu-common.h 5.7 kB
cpu-defs.h 9.8 kB
cpu-exec.c 44.1 kB
cpus.c 25.1 kB
cpus.h 482 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.4 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 129.4 kB
gdbstub.c 69.8 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.7 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 34.3 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.8 kB
migration-tcp.c 4.6 kB
migration-unix.c 4.8 kB
migration.c 12.2 kB
migration.h 3.7 kB
mips-dis.c 206.6 kB
mips.ld 8.4 kB
module.c 1.3 kB
module.h 1.1 kB
monitor.c 142.9 kB
monitor.h 1.7 kB
nbd.c 16.4 kB
nbd.h 1.9 kB
net-checksum.c 2.2 kB
net.c 37.2 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.4 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.2 kB
qemu-char.h 4.4 kB
qemu-common.h 10.7 kB
qemu-config.c 16.8 kB
qemu-config.h 542 Bytes
qemu-doc.texi 76.3 kB
qemu-error.c 4.3 kB
qemu-error.h 1.1 kB
qemu-img-cmds.hx 1.7 kB
qemu-img.c 41.7 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 80.9 kB
qemu-os-posix.h 1.8 kB
qemu-os-win32.h 2.2 kB
qemu-queue.h 22 kB
qemu-sockets.c 18.9 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.1 kB
qemu-timer-common.c 2 kB
qemu-timer.c 27.6 kB
qemu-timer.h 8.7 kB
qemu-tool.c 1.2 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.1 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.2 kB
sysemu.h 5.7 kB
targphys.h 538 Bytes
tcg-runtime.c 2.2 kB
thunk.c 8.2 kB
thunk.h 4.1 kB
trace-events 17.2 kB
translate-all.c 4.3 kB
uboot_image.h 5.9 kB
usb-bsd.c 17.4 kB
usb-linux.c 44.6 kB
usb-stub.c 1.8 kB
version.rc 749 Bytes
vgafont.h 93.3 kB
vl.c 89.2 kB
x86_64.ld 6.6 kB

Latest revisions

# Date Author Comment
8500e3a9 04/01/2011 07:34 pm David Gibson

Clean up slb_lookup() function

The slb_lookup() function, used in the ppc translation path returns a
number of slb entry fields in reference parameters. However, only one
of the two callers of slb_lookup() actually wants this information.

This patch, therefore, makes slb_lookup() return a simple pointer to the...

bb593904 04/01/2011 07:34 pm David Gibson

Parse SDR1 on mtspr instead of at translate time

On ppc machines with hash table MMUs, the special purpose register SDR1
contains both the base address of the encoded size (hashed) page tables.

At present, we interpret the SDR1 value within the address translation...

fda6a0ec 04/01/2011 07:34 pm David Gibson

Use "hash" more consistently in ppc mmu code

Currently, get_segment() has a variable called hash. However it doesn't
(quite) get the hash value for the ppc hashed page table. Instead it
gets the hash shifted - effectively the offset of the hash bucket within...

256cebe5 04/01/2011 07:34 pm David Gibson

Better factor the ppc hash translation path

Currently the path handling hash page table translation in get_segment()
has a mix of common and 32 or 64 bit specific code. However the
division is not done terribly well which results in a lot of messy code
flipping between common and divided paths....

cdaee006 04/01/2011 07:34 pm David Gibson

Support 1T segments on ppc

Traditionally, the "segments" used for the two-stage translation used on
powerpc MMUs were 256MB in size. This was the only option on all hash
page table based 32-bit powerpc cpus, and on the earlier 64-bit hash page
table based cpus. However, newer 64-bit cpus also permit 1TB segments...

9d52e907 04/01/2011 07:34 pm David Gibson

Add POWER7 support for ppc

This adds emulation support for the recent POWER7 cpu to qemu. It's far
from perfect - it's missing a number of POWER7 features so far, including
any support for VSX or decimal floating point instructions. However, it's
close enough to boot a kernel with the POWER7 PVR....

9fdf0c29 04/01/2011 07:34 pm David Gibson

Start implementing pSeries logical partition machine

This patch adds a "pseries" machine to qemu. This aims to emulate a
logical partition on an IBM pSeries machine, compliant to the
"PowerPC Architecture Platform Requirements" (PAPR) document.

This initial version is quite limited, it implements a basic machine...

efdef95f 04/01/2011 07:34 pm David Gibson

Implement PowerPC slbmfee and slbmfev instructions

For a 64-bit PowerPC target, qemu correctly implements translation
through the segment lookaside buffer. Likewise it supports the
slbmte instruction which is used to load entries into the SLB.

However, it does not emulate the slbmfee and slbmfev instructions...

3a7f009a 04/01/2011 07:34 pm David Gibson

Implement missing parts of the logic for the POWER PURR

The PURR (Processor Utilization Resource Register) is a register found
on recent POWER CPUs. The guts of implementing it at least enough to
get by are already present in qemu, however some of the helper...

eaabeef2 04/01/2011 07:34 pm David Gibson

Correct ppc popcntb logic, implement popcntw and popcntd

qemu already includes support for the popcntb instruction introduced
in POWER5 (although it doesn't actually allow you to choose POWER5).

However, the logic is slightly incorrect: it will generate results...

View all revisions | View revisions

Also available in: Atom