[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 6/8] adds SFC, DFC, MMU TC, access control register,
From: |
Bryce Lanham |
Subject: |
[Qemu-devel] [PATCH 6/8] adds SFC, DFC, MMU TC, access control register, and user stack pointer acces to movec_to/from |
Date: |
Wed, 17 Aug 2011 17:09:10 -0500 |
Signed-off-by: Bryce Lanham <address@hidden>
---
target-m68k/helper.c | 44 ++++++++++++++++++++++++++++++++++++--------
1 files changed, 36 insertions(+), 8 deletions(-)
diff --git a/target-m68k/helper.c b/target-m68k/helper.c
index 71294c0..5fa5b06 100644
--- a/target-m68k/helper.c
+++ b/target-m68k/helper.c
@@ -480,9 +480,25 @@ void HELPER(movec_to)(CPUM68KState * env, uint32_t reg,
uint32_t val)
env->cacr = val;
m68k_switch_sp(env);
break;
- case 0x04: case 0x05: case 0x06: case 0x07: /* ACR[0-3] */
- /* TODO: Implement Access Control Registers. */
- break;
+ case 0x03: /* MMU Translation Control */
+ env->mmu.tc = val;
+ break;
+ /*Translation/Access Control Registers*/
+ case 0x04:
+ env->itt0 = val;
+ return;
+ case 0x05:
+ env->itt1 = val;
+ break;
+ case 0x06:
+ env->dtt0 = val;
+ break;
+ case 0x07:
+ env->dtt1 = val;
+ break;
+ case 0x800: /* USP */
+ env->sp[M68K_USP] = val;
+ break;
case 0x801: /* VBR */
env->vbr = val;
break;
@@ -496,14 +512,26 @@ void HELPER(movec_to)(CPUM68KState * env, uint32_t reg,
uint32_t val)
uint32_t HELPER(movec_from)(CPUM68KState * env, uint32_t reg)
{
switch (reg) {
+ case 0x00: /* SFC */
+ return env->sfc;
+ case 0x01: /* DFC */
+ return env->dfc;
case 0x02: /* CACR */
- return env->cacr;
- case 0x04: case 0x05: case 0x06: case 0x07: /* ACR[0-3] */
- /* TODO: Implement Access Control Registers. */
- return 0;
+ return env->cacr;
+ case 0x03: /*MMU TC*/
+ return env->mmu.tc;
+ case 0x04:
+ return env->itt0;
+ case 0x05:
+ return env->itt1;
+ case 0x06:
+ return env->dtt0;
+ case 0x07:
+ return env->dtt1;
+ case 0x800:/*USP*/
+ return env->sp[M68K_USP];
case 0x801: /* VBR */
return env->vbr;
- break;
/* TODO: Implement control registers. */
default:
cpu_abort(env, "Unimplemented control register read 0x%x\n",
--
1.7.2.3
- [Qemu-devel] [RFC][PATCH 0/8] NeXT black hardware support, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 0/8] *** SUBJECT HERE ***, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 1/8] added next source files to Makefile.target, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 3/8] next framebuffer driver, very basic, only supports running under 32 bit color at the moment, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 4/8] next keyboard driver, only supports a subset of modifier keys, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 2/8] main next driver, needs a bit of cleanup, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 5/8] partially working network driver, needs more comparison with real hardware before it can be made fully working, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 6/8] adds SFC, DFC, MMU TC, access control register, and user stack pointer acces to movec_to/from,
Bryce Lanham <=
- [Qemu-devel] [PATCH 7/8] added move16, cinva, pflush instructions, and disabled abort on execution of frestore/fsave, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 8/8] added mmu tc, sfc, dfc, and access control registers to the cpu header, Bryce Lanham, 2011/08/17