adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
Benjamin Herrenschmidt b7d1f77ada spapr: Locate RTAS and device-tree based on real RMA
We currently calculate the final RTAS and FDT location based on
the early estimate of the RMA size, cropped to 256M on KVM since
we only know the real RMA size at reset time which happens much
later in the boot process.

This means the FDT and RTAS end up right below 256M while they
could be much higher, using precious RMA space and limiting
what the OS bootloader can put there which has proved to be
a problem with some OSes (such as when using very large initrd's)

Fortunately, we do the actual copy of the device-tree into guest
memory much later, during reset, late enough to be able to do it
using the final RMA value, we just need to move the calculation
to the right place.

However, RTAS is still loaded too early, so we change the code to
load the tiny blob into qemu memory early on, and then copy it into
guest memory at reset time. It's small enough that the memory usage
doesn't matter.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[aik: fixed errors from checkpatch.pl, defined RTAS_MAX_ADDR]
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
[agraf: fix compilation on 32bit hosts]
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-09-08 12:50:48 +02:00
audio
backends hostmem: set MPOL_MF_MOVE 2014-08-20 21:15:56 +02:00
block quorum: Fix leak of opts in quorum_open 2014-08-29 17:10:18 +01:00
bsd-user
default-configs target-tricore: Add initialization for translation and activate target 2014-09-01 14:49:20 +01:00
disas disas/libvixl: Update to upstream VIXL 1.5 2014-08-29 15:00:27 +01:00
docs SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
dtc@bc895d6d09
fpu
fsdev
gdb-xml s390x/gdb: add the feature xml files for s390x 2014-09-01 09:45:19 +02:00
hw spapr: Locate RTAS and device-tree based on real RMA 2014-09-08 12:50:48 +02:00
include spapr: Locate RTAS and device-tree based on real RMA 2014-09-08 12:50:48 +02:00
libcacard
libdecnumber libdecnumber: Fix warnings from smatch (missing static, boolean operations) 2014-08-24 13:21:06 +04:00
linux-headers
linux-user linux-user: Handle PPC64 ELFv2 Function Pointers 2014-09-08 12:50:46 +02:00
net tap-bsd: implement a FreeBSD only version of tap_open 2014-08-01 15:57:48 +00:00
pc-bios pc-bios/s390-ccw.img binary update 2014-09-01 09:23:02 +02:00
pixman@97336fad32
po po: Fix Makefile rules for in-tree builds without configuration 2014-08-24 13:16:42 +04:00
qapi qapi: add read-pattern enum for quorum 2014-08-29 10:46:58 +01:00
qga channel-posix: using qemu_set_nonblock() instead of fcntl(O_NONBLOCK) 2014-08-15 18:03:13 +01:00
qobject
qom qom: object: move unparenting to the child property's release callback 2014-08-17 23:25:24 +02:00
roms Update OpenBIOS images 2014-08-26 13:52:15 +01:00
scripts Mostly bugfixes + Alexey's interface-based implementation 2014-08-28 16:07:23 +01:00
slirp slirp/misc: Use the GLib memory allocation APIs 2014-08-24 13:16:32 +04:00
stubs monitor: fix use after free 2014-08-18 14:39:10 -04:00
sysconfigs/target
target-alpha trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-arm target-arm: Implement pmccfiltr_write function 2014-08-29 15:00:30 +01:00
target-cris trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-i386 Mostly bugfixes + Alexey's interface-based implementation 2014-08-28 16:07:23 +01:00
target-lm32 trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-m68k trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-microblaze trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-mips trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-moxie
target-openrisc trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-ppc spapr: add uuid/host details to device tree 2014-09-08 12:50:47 +02:00
target-s390x s390x/gdb: coding style fixes 2014-09-01 09:45:19 +02:00
target-sh4 trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-sparc target-sparc64: implement Short Floating-Point Store Instructions 2014-08-17 13:24:27 +01:00
target-tricore target-tricore: Add instructions of SR opcode format 2014-09-01 14:49:21 +01:00
target-unicore32 trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-xtensa trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
tcg tcg: dump op count into qemu log 2014-08-24 13:16:32 +04:00
tests Block pull request 2014-08-29 18:40:04 +01:00
trace trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
ui spice: use console index as display id 2014-09-01 10:19:03 +02:00
util util/path: Use the GLib memory allocation routines 2014-08-24 13:16:32 +04:00
.exrc
.gitignore trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
.gitmodules
.mailmap
.travis.yml
CODING_STYLE CODING_STYLE: Section about conditional statement 2014-08-15 18:54:06 +04:00
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
MAINTAINERS target-tricore: Add target stubs and qom-cpu 2014-09-01 14:49:20 +01:00
Makefile Tracing pull request 2014-08-15 16:37:17 +01:00
Makefile.objs Tracing pull request 2014-08-15 16:37:17 +01:00
Makefile.target trace: [tcg] Define TCG tracing helper routines 2014-08-12 14:26:12 +01:00
README
VERSION Open 2.2 development tree 2014-08-01 18:30:08 +01:00
aio-posix.c AioContext: introduce aio_prepare 2014-08-29 10:46:58 +01:00
aio-win32.c aio-win32: add support for sockets 2014-08-29 10:46:58 +01:00
arch_init.c target-tricore: Add target stubs and qom-cpu 2014-09-01 14:49:20 +01:00
async.c AioContext: introduce aio_prepare 2014-08-29 10:46:58 +01:00
balloon.c
block-migration.c block: Use g_new() & friends where that makes obvious sense 2014-08-20 11:51:28 +02:00
block.c block: fix overlapping multiwrite requests 2014-08-29 14:09:43 +01:00
blockdev-nbd.c block: Use g_new() & friends where that makes obvious sense 2014-08-20 11:51:28 +02:00
blockdev.c block: acquire AioContext in do_drive_del() 2014-08-29 16:01:10 +01:00
blockjob.c coroutine: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
bt-host.c
bt-vhci.c
configure target-tricore: Add initialization for translation and activate target 2014-09-01 14:49:20 +01:00
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c target-tricore: Add target stubs and qom-cpu 2014-09-01 14:49:20 +01:00
cpus.c target-tricore: Add target stubs and qom-cpu 2014-09-01 14:49:20 +01:00
cputlb.c implementing victim TLB for QEMU system emulated TLB 2014-09-01 17:43:06 +01:00
device-hotplug.c
device_tree.c
disas.c
dma-helpers.c dma-helpers: Fix too long qiov 2014-07-14 12:03:21 +02:00
dump.c dump.c: Fix memory leak issue in cleanup processing for dump_init() 2014-08-18 14:39:10 -04:00
exec.c SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
gdbstub.c
hmp-commands.hx cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
hmp.c
hmp.h
iohandler.c
ioport.c memory: convert memory_region_destroy to object_unparent 2014-08-18 12:06:20 +02:00
iothread.c AioContext: do not rely on aio_poll(ctx, true) result to end a loop 2014-07-14 12:03:20 +02:00
kvm-all.c kvm: run cpu state synchronization on target vcpu thread 2014-08-20 15:21:00 +02:00
kvm-stub.c
main-loop.c
memory.c memory: Lazy init name from QOM name as needed 2014-08-28 16:09:44 +02:00
memory_mapping.c
migration-exec.c
migration-fd.c
migration-rdma.c
migration-tcp.c
migration-unix.c
migration.c
module-common.c
monitor.c monitor: fix use after free 2014-08-18 14:39:10 -04:00
nbd.c nbd: Follow the BDS' AIO context 2014-08-29 10:48:45 +01:00
numa.c numa: show hex number in error message for consistency and prefix them with 0x 2014-08-14 13:22:07 +02:00
os-posix.c
os-win32.c
page_cache.c
qapi-schema.json cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
qdev-monitor.c trivial patches for 2014-08-15 2014-08-15 18:44:48 +01:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c Block pull request 2014-08-18 11:59:27 +01:00
qemu-coroutine-io.c qemu-coroutine-io: fix for Win32 2014-08-29 10:46:58 +01:00
qemu-coroutine-lock.c
qemu-coroutine-sleep.c coroutine: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
qemu-coroutine.c coroutine: make pool size dynamic 2014-08-15 15:07:14 +02:00
qemu-doc.texi doc: slirp supports ICMP echo if enabled in Linux 2014-07-18 17:45:37 +04:00
qemu-file.c
qemu-img-cmds.hx qemu-img: Allow cache mode specification for amend 2014-08-22 14:54:48 +02:00
qemu-img.c qemu-img: always goto out in img_snapshot() error paths 2014-08-29 10:46:57 +01:00
qemu-img.texi qemu-img: Allow cache mode specification for amend 2014-08-22 14:54:48 +02:00
qemu-io-cmds.c qemu-io-cmds: g_renew() can't fail, bury dead error handling 2014-08-20 11:51:28 +02:00
qemu-io.c block: Use g_new() & friends where that makes obvious sense 2014-08-20 11:51:28 +02:00
qemu-log.c
qemu-nbd.c
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx s390x/kvm: Several updates/fixes/features 2014-09-01 13:57:46 +01:00
qemu-seccomp.c seccomp: add semctl() to the syscall whitelist 2014-08-21 10:29:16 +02:00
qemu-tech.texi
qemu-timer.c
qemu.nsi
qemu.sasl
qmp-commands.hx cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
qmp.c qmp: hide "hotplugged" device property from device-list-properties 2014-08-15 15:07:13 +02:00
qtest.c icount: Add QemuOpts for icount 2014-08-06 17:53:07 +02:00
rules.mak
savevm.c
softmmu_template.h implementing victim TLB for QEMU system emulated TLB 2014-09-01 17:43:06 +01:00
spice-qemu-char.c
tcg-runtime.c
tci.c
thread-pool.c thread-pool: avoid deadlock in nested aio_poll() calls 2014-08-15 15:07:14 +02:00
thunk.c
tpm.c
trace-events usb: add usb host adapters exit trace 2014-08-29 12:52:14 +02:00
translate-all.c trace: add some tcg tracing support 2014-08-12 14:26:12 +01:00
translate-all.h
user-exec.c
version.rc
vl.c vl: process -object after other backend options 2014-08-26 13:44:39 +02:00
vmstate.c
xbzrle.c
xen-common-stub.c
xen-common.c
xen-hvm-stub.c
xen-hvm.c xen: hvm: Abstract away memory region name ref 2014-08-28 16:09:44 +02:00
xen-mapcache.c

README

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

- QEMU team