summaryrefslogtreecommitdiffstats
path: root/target/hppa/translate.c
Commit message (Collapse)AuthorAgeFilesLines
...
* target-hppa: Implement loads and storesRichard Henderson2017-01-231-0/+618
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-hppa: Implement shifts and depositsRichard Henderson2017-01-231-0/+309
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-hppa: Implement linux-user gateway pageRichard Henderson2017-01-231-4/+81
| | | | | | | | | | | | For linux, page 0 is mapped as an execute-only gateway. A gateway page is a special bit in the page table that allows a B,GATE insn within that page to raise processor permissions. This is how system calls are implemented for HPPA. Rather than actually map anything here, or handle permissions at all, implement the semantics of the actual linux syscall entry points. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-hppa: Implement branchesRichard Henderson2017-01-231-0/+477
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-hppa: Implement basic arithmeticRichard Henderson2017-01-231-0/+882
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-hppa: Add nullification frameworkRichard Henderson2017-01-231-4/+224
| | | | | | | | | | | | | | | The HPPA cpu has a unique form of predicated execution in which almost any instruction can set the PSW[N] (or "nullify") bit, which suppresses execution (and even decoding) of the following instruction. Execution of a nullified insn clears the PSW[N] bit. This adds a generic framework for branching over nullified insns, or for sufficiently simple insns, transforming the writeback of the result to a conditional move. In the process, we want to be able to represent PSW[N] as a TCG condition, which implies management of the related tcg temps. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-hppa: Add framework and enable compilationRichard Henderson2017-01-231-0/+429
This is just about the minimum required to enable compilation without actually executing any instructions. This contains the HPPACPU structure and the required callbacks, the gdbstub, the basic translation loop, and a translate_one function that always results in an illegal instruction. Signed-off-by: Richard Henderson <rth@twiddle.net>