diff options
author | Roman Kapl | 2018-09-21 08:59:07 +0200 |
---|---|---|
committer | David Gibson | 2018-11-08 02:04:40 +0100 |
commit | 50728199c549467b01609ddbb831237f72c8f3f6 (patch) | |
tree | b34cccca349829897bdc60c7251e801e3bb38962 /tests/libqtest.c | |
parent | Update version for v3.1.0-rc0 release (diff) | |
download | qemu-50728199c549467b01609ddbb831237f72c8f3f6.tar.gz qemu-50728199c549467b01609ddbb831237f72c8f3f6.tar.xz qemu-50728199c549467b01609ddbb831237f72c8f3f6.zip |
target/ppc: add external PID support
External PID is a mechanism present on BookE 2.06 that enables application to
store/load data from different address spaces. There are special version of some
instructions, which operate on alternate address space, which is specified in
the EPLC/EPSC regiser.
This implementation uses two additional MMU modes (mmu_idx) to provide the
address space for the load and store instructions. The QEMU TLB fill code was
modified to recognize these MMU modes and use the values in EPLC/EPSC to find
the proper entry in he PPC TLB. These two QEMU TLBs are also flushed on each
write to EPLC/EPSC.
Following instructions are implemented: dcbfep dcbstep dcbtep dcbtstep dcbzep
dcbzlep icbiep lbepx ldepx lfdepx lhepx lwepx stbepx stdepx stfdepx sthepx
stwepx.
Following vector instructions are not: evlddepx evstddepx lvepx lvepxl stvepx
stvepxl.
Signed-off-by: Roman Kapl <rka@sysgo.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'tests/libqtest.c')
0 files changed, 0 insertions, 0 deletions