QEMU With E2K User Support
Go to file
David Gibson f80872e21c mmu-hash64: Implement Virtual Page Class Key Protection
Version 2.06 of the Power architecture describes an additional page
protection mechanism.  Each virtual page has a "class" (0-31) recorded in
the PTE.  The AMR register contains bits which can prohibit reads and/or
writes on a class by class basis.  Interestingly, the AMR is userspace
readable and writable, however user mode writes are masked by the contents
of the UAMOR which is privileged.

This patch implements this protection mechanism, along with the AMR and
UAMOR SPRs.  The architecture also specifies a hypervisor-privileged AMOR
register which masks user and supervisor writes to the AMR and UAMOR.  We
leave this out for now, since we don't at present model hypervisor mode
correctly in any case.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[agraf: fix 32-bit hosts]
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-03-22 15:28:53 +01:00
QMP qmp: add pull_event function 2012-10-24 10:26:22 +02:00
audio audio: Replace non-portable asprintf in debug code by g_strdup_printf 2013-01-16 12:03:26 -06:00
backends chardev: add braille support to qapi 2013-03-13 10:27:46 +01:00
block qcow2: Fix segfault in qcow2_invalidate_cache 2013-03-19 11:48:36 +01:00
bsd-user qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
default-configs pl330: Initial version 2013-03-15 16:41:58 +00:00
disas Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() 2013-02-23 16:11:19 +00:00
docs migration: move rate limiting to QEMUFile 2013-03-11 13:32:02 +01:00
fpu softfloat: Handle float_muladd_negate_c when product is zero 2013-01-26 13:22:09 +00:00
fsdev virtfs-proxy-helper: Fix unchecked strdup() by conv. to g_strdup() 2013-01-30 11:14:46 +01:00
gdb-xml gdb-xml: fix hacks in powerpc register numbering 2009-07-12 23:42:05 +02:00
hw mmu-hash*: Add hash pte load/store helpers 2013-03-22 15:28:48 +01:00
include char: Fix return type of qemu_chr_fe_add_watch() 2013-03-19 07:56:07 -05:00
ldscripts build: create ldscripts/ 2012-12-19 08:29:06 +01:00
libcacard libcacard: Fix unchecked strdup() by converting to g_strdup() 2013-01-30 11:14:46 +01:00
linux-headers linux-headers: resync from mainline to add ARM KVM headers 2013-03-05 00:34:40 +00:00
linux-user linux-user/syscall.c: Don't warn about unimplemented get_robust_list 2013-03-11 14:35:08 +02:00
net net: reduce the unnecessary memory allocation of multiqueue 2013-02-27 16:10:47 +01:00
pc-bios Add efi rom binaries 2013-03-18 10:21:56 +01:00
pixman@97336fad32 qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
po ui/gtk: Use menu item from stock for full screen 2013-02-22 14:49:00 -06:00
qapi qapi: Fix unchecked strdup() by converting to g_strdup() 2013-01-30 11:14:46 +01:00
qga qga/main.c: Don't use g_key_file_get/set_int64 2013-03-15 08:23:54 -05:00
qobject Add qdict_clone_shallow() 2013-03-15 16:07:49 +01:00
qom exec: Pass CPUState to cpu_reset_interrupt() 2013-03-12 10:35:55 +01:00
roms Add Makefile rules to build nic rom binaries with efi support 2013-03-18 10:21:56 +01:00
scripts make_device_config.sh: Emit dependency file to directory where included 2013-03-09 12:00:03 +00:00
slirp move socket_set_nodelay to osdep.c 2013-03-04 09:54:17 +01:00
stubs stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY 2013-03-12 10:35:54 +01:00
sysconfigs/target Eliminate cpus-x86_64.conf file 2012-09-21 15:12:58 +02:00
target-alpha cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-arm target-arm: Override do_interrupt for ARMv7-M profile 2013-03-12 10:35:55 +01:00
target-cris cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-i386 cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-lm32 target-lm32: Update VMStateDescription to LM32CPU 2013-03-12 10:35:55 +01:00
target-m68k cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-microblaze microblaze: Ignore non-cpu accesses to unmapped areas 2013-03-19 17:34:47 +01:00
target-mips target-mips: fix rndrashift_short_acc and code for EXTR_ instructions 2013-03-17 01:06:34 +01:00
target-openrisc cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-ppc mmu-hash64: Implement Virtual Page Class Key Protection 2013-03-22 15:28:53 +01:00
target-s390x s390: Fix cpu refactoring fallout. 2013-03-17 20:01:31 +00:00
target-sh4 cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-sparc cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-unicore32 cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
target-xtensa cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
tcg Handle CPU interrupts by inline checking of a flag 2013-03-03 14:28:47 +00:00
tests qemu-iotests: add 052 BDRV_O_SNAPSHOT test 2013-03-19 11:48:37 +01:00
tpm Add support for cancelling of a TPM command 2013-03-12 13:40:55 -05:00
trace trace: deal with deprecated glib thread functions 2013-02-12 16:26:44 -06:00
ui ui/cocoa.m: Fix compile failures introduced by recent console changes 2013-03-19 07:59:39 -05:00
util iov: Factor out hexdumper 2013-03-15 16:41:58 +00:00
.exrc qemu: add .exrc 2012-09-07 09:02:44 +03:00
.gitignore .gitignore: Ignore optionrom/*.asm 2013-02-21 10:38:07 +01:00
.gitmodules pixman: add submodule 2012-11-01 13:10:06 +01:00
.mailmap Add a .mailmap to map pre-git-conversion authors to friendly names 2011-12-12 17:06:21 -06:00
CODING_STYLE Replace Qemu by QEMU in internal documentation 2012-04-07 13:58:25 +00:00
COPYING COPYING: update from FSF 2008-10-12 17:54:42 +00:00
COPYING.LIB Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
Changelog fix some common typos 2012-05-14 07:27:24 +02:00
HACKING HACKING: List areas where we may rely on impdef C behaviour 2012-12-08 14:27:40 +00:00
LICENSE LICENSE: There is no libqemu.a anymore 2011-12-09 11:25:22 +00:00
MAINTAINERS s390: virtio-ccw maintainer 2013-03-08 21:17:46 +01:00
Makefile Fix TAGS creation 2013-03-15 11:36:49 -05:00
Makefile.objs Support for TPM command line options 2013-03-12 13:40:11 -05:00
Makefile.target build: always link device_tree.o into emulators if libfdt available 2013-03-01 15:01:19 +01:00
README Update README 2011-12-11 17:50:43 -06:00
VERSION Open up 1.5 development tree 2013-02-15 17:40:56 -06:00
aio-posix.c aio: support G_IO_HUP and G_IO_ERR 2013-02-21 16:17:31 -06:00
aio-win32.c aio: Fix return value of aio_poll() 2013-01-17 10:51:42 +01:00
arch_init.c page_cache: dup memory on insert 2013-03-11 13:32:03 +01:00
async.c aio: add a ThreadPool instance to AioContext 2013-03-15 16:07:50 +01:00
balloon.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
block-migration.c migration: run setup callbacks out of big lock 2013-03-11 13:32:01 +01:00
block.c block: fix BDRV_O_SNAPSHOT protocol detection 2013-03-19 11:48:37 +01:00
blockdev-nbd.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
blockdev.c blockdev: Fix up copyright and permission notice 2013-03-15 16:07:51 +01:00
blockjob.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
bt-host.c softmmu: move remaining include files to include/ subdirectories 2012-12-19 08:32:46 +01:00
bt-vhci.c softmmu: move remaining include files to include/ subdirectories 2012-12-19 08:32:46 +01:00
cmd.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
cmd.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
configure Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging 2013-03-14 14:50:21 -05:00
coroutine-gthread.c block: move include files to include/block/ 2012-12-19 08:31:31 +01:00
coroutine-sigaltstack.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
coroutine-ucontext.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
coroutine-win32.c block: move include files to include/block/ 2012-12-19 08:31:31 +01:00
cpu-exec.c cpu: Replace do_interrupt() by CPUClass::do_interrupt method 2013-03-12 10:35:55 +01:00
cpus.c cpu: Pass CPUState to cpu_interrupt() 2013-03-12 10:35:55 +01:00
cputlb.c cpu: Move current_tb field to CPUState 2013-02-16 14:51:00 +01:00
device-hotplug.c hw: move device-hotplug.o to toplevel, compile it once 2013-03-01 13:57:13 +01:00
device_tree.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
disas.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
dma-helpers.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
dump-stub.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
dump.c cpu: Move host_tid field to CPUState 2013-02-16 14:50:59 +01:00
exec.c Merge remote-tracking branch 'afaerber/qom-cpu' into staging 2013-03-14 14:50:58 -05:00
gdbstub.c PPC/GDB: handle read and write of fpscr 2013-03-22 15:28:46 +01:00
hmp-commands.hx Revert "hmp: Disable chardev-add and chardev-remove" 2013-03-13 10:27:47 +01:00
hmp.c Support for TPM command line options 2013-03-12 13:40:11 -05:00
hmp.h Support for TPM command line options 2013-03-12 13:40:11 -05:00
iohandler.c iohandler: switch to GPollFD 2013-02-21 16:17:31 -06:00
ioport.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
kvm-all.c cpu: Pass CPUState to cpu_interrupt() 2013-03-12 10:35:55 +01:00
kvm-stub.c kvm: Pass CPUState to kvm_on_sigbus_vcpu() 2013-01-28 16:57:56 +01:00
main-loop.c main-loop: add qemu_get_aio_context() 2013-03-15 16:07:50 +01:00
memory.c memory: Use non-bitops ctzl 2013-02-16 11:12:13 +00:00
memory_mapping-stub.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
memory_mapping.c exec: change RAM list to a TAILQ 2012-12-20 23:08:47 +01:00
migration-exec.c migration: eliminate s->migration_file 2013-03-11 13:32:03 +01:00
migration-fd.c migration: eliminate s->migration_file 2013-03-11 13:32:03 +01:00
migration-tcp.c migration: eliminate s->migration_file 2013-03-11 13:32:03 +01:00
migration-unix.c migration: eliminate s->migration_file 2013-03-11 13:32:03 +01:00
migration.c migration: inline migrate_fd_close 2013-03-11 13:32:03 +01:00
monitor.c target-ppc: Remove vestigial PowerPC 620 support 2013-03-22 15:28:46 +01:00
nbd.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
os-posix.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
os-win32.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
page_cache.c page_cache: dup memory on insert 2013-03-11 13:32:03 +01:00
qapi-schema-test.json qapi: add struct-errors test case to test-qmp-output-visitor 2012-03-27 09:11:00 -03:00
qapi-schema.json chardev: add udp support to qapi 2013-03-13 10:27:46 +01:00
qdev-monitor.c hw: move qdev-monitor.o to toplevel directory 2013-03-01 13:54:10 +01:00
qdict-test-data.txt Introduce QDict test data file 2009-09-04 09:37:34 -05:00
qemu-bridge-helper.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
qemu-char.c char: Fix return type of qemu_chr_fe_add_watch() 2013-03-19 07:56:07 -05:00
qemu-coroutine-io.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
qemu-coroutine-lock.c coroutine: use AioContext for CoQueue BH 2013-03-15 16:07:51 +01:00
qemu-coroutine-sleep.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
qemu-coroutine.c coroutine: move pooling to common code 2013-02-22 21:21:10 +01:00
qemu-doc.texi sheepdog: add support for connecting to unix domain socket 2013-03-04 09:54:17 +01:00
qemu-img-cmds.hx qemu-img: Add compare subcommand 2013-02-22 21:21:10 +01:00
qemu-img.c block: Add options QDict to bdrv_open() prototype 2013-03-15 16:07:49 +01:00
qemu-img.texi qemu-img: Add compare subcommand 2013-02-22 21:21:10 +01:00
qemu-io.c block: Add options QDict to bdrv_open() prototype 2013-03-15 16:07:49 +01:00
qemu-log.c qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
qemu-nbd.c block: Add options QDict to bdrv_open() prototype 2013-03-15 16:07:49 +01:00
qemu-nbd.texi qemu-nbd: add --discard option 2013-02-22 21:29:43 +01:00
qemu-options-wrapper.h vl.c: In qemu -h output, only print options for the arch we are running as 2011-12-19 10:27:33 -06:00
qemu-options.h vl.c: Move option generation logic into a wrapper file 2011-12-19 10:27:33 -06:00
qemu-options.hx add a boot option to do strict boot 2013-03-19 08:00:10 -05:00
qemu-seccomp.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
qemu-tech.texi qemu-tech.texi: update implemented xtensa features list 2012-11-29 13:00:52 -06:00
qemu-timer.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
qemu.sasl Add SASL authentication support ("Daniel P. Berrange") 2009-03-06 20:27:28 +00:00
qmp-commands.hx Support for TPM command line options 2013-03-12 13:40:11 -05:00
qmp.c softmmu: move remaining include files to include/ subdirectories 2012-12-19 08:32:46 +01:00
qtest.c qtest: Add MMIO support 2013-02-18 08:39:10 -06:00
readline.c readline: Fix unchecked strdup() by converting to g_strdup() 2013-01-30 11:14:46 +01:00
rules.mak rules/mak: make clean should blow away timestamp files 2013-01-30 01:31:08 +02:00
savevm.c vmstate: Make vmstate_register() static inline 2013-03-12 10:35:54 +01:00
spice-qemu-char.c spice-qemu-char: Remove dead debugging code 2013-03-14 09:46:18 +01:00
tcg-runtime.c tcg: Implement multiword multiply helpers 2013-02-23 17:25:28 +00:00
tci.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
thread-pool.c threadpool: drop global thread pool 2013-03-15 16:07:51 +01:00
thunk.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
trace-events console: rework DisplaySurface handling [vga emu side] 2013-03-18 10:21:58 +01:00
translate-all.c cpu: Pass CPUState to cpu_interrupt() 2013-03-12 10:35:55 +01:00
translate-all.h cputlb: Pass CPUState to cpu_unlink_tb() 2013-02-16 14:51:00 +01:00
user-exec.c Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() 2013-02-23 16:11:19 +00:00
version.rc mingw: add version information to the executables 2010-09-26 16:07:57 +00:00
vl.c add a boot option to do strict boot 2013-03-19 08:00:10 -05:00
xbzrle.c Move XBZRLE encoding code to a separate file to allow testing 2013-02-01 08:32:20 +01:00
xen-all.c cpu: Move halted and interrupt_request fields to CPUState 2013-03-12 10:35:55 +01:00
xen-mapcache.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
xen-stub.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00

README

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team