Commit 34ee2edebb992b5d3f7c383a3d0c34f3e75880c8

Authored by ths
1 parent 3e736bf4

One more bit of mips CPU configuration, and support for early 4KEc

which implemented only MIPS32R1. Thanks to Stefan Weil to insist he's
right on that. :-)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2533 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 23 additions and 1 deletions
target-mips/translate_init.c
@@ -65,6 +65,8 @@ struct mips_def_t { @@ -65,6 +65,8 @@ struct mips_def_t {
65 int32_t CP0_Config1; 65 int32_t CP0_Config1;
66 int32_t CP0_Config2; 66 int32_t CP0_Config2;
67 int32_t CP0_Config3; 67 int32_t CP0_Config3;
  68 + int32_t CP0_Config6;
  69 + int32_t CP0_Config7;
68 int32_t CP1_fcr0; 70 int32_t CP1_fcr0;
69 }; 71 };
70 72
@@ -83,8 +85,26 @@ static mips_def_t mips_defs[] = @@ -83,8 +85,26 @@ static mips_def_t mips_defs[] =
83 .CP1_fcr0 = MIPS_FCR0, 85 .CP1_fcr0 = MIPS_FCR0,
84 }, 86 },
85 { 87 {
86 - .name = "4KEc", 88 + .name = "4KEcR1",
87 .CP0_PRid = 0x00018400, 89 .CP0_PRid = 0x00018400,
  90 + .CP0_Config0 = MIPS_CONFIG0,
  91 + .CP0_Config1 = MIPS_CONFIG1,
  92 + .CP0_Config2 = MIPS_CONFIG2,
  93 + .CP0_Config3 = MIPS_CONFIG3,
  94 + .CP1_fcr0 = MIPS_FCR0,
  95 + },
  96 + {
  97 + .name = "4KEc",
  98 + .CP0_PRid = 0x00019000,
  99 + .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR),
  100 + .CP0_Config1 = MIPS_CONFIG1,
  101 + .CP0_Config2 = MIPS_CONFIG2,
  102 + .CP0_Config3 = MIPS_CONFIG3,
  103 + .CP1_fcr0 = MIPS_FCR0,
  104 + },
  105 + {
  106 + .name = "24Kc",
  107 + .CP0_PRid = 0x00019300,
88 .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR), 108 .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR),
89 .CP0_Config1 = MIPS_CONFIG1, 109 .CP0_Config1 = MIPS_CONFIG1,
90 .CP0_Config2 = MIPS_CONFIG2, 110 .CP0_Config2 = MIPS_CONFIG2,
@@ -153,6 +173,8 @@ int cpu_mips_register (CPUMIPSState *env, mips_def_t *def) @@ -153,6 +173,8 @@ int cpu_mips_register (CPUMIPSState *env, mips_def_t *def)
153 env->CP0_Config1 = def->CP0_Config1; 173 env->CP0_Config1 = def->CP0_Config1;
154 env->CP0_Config2 = def->CP0_Config2; 174 env->CP0_Config2 = def->CP0_Config2;
155 env->CP0_Config3 = def->CP0_Config3; 175 env->CP0_Config3 = def->CP0_Config3;
  176 + env->CP0_Config6 = def->CP0_Config6;
  177 + env->CP0_Config7 = def->CP0_Config7;
156 env->fcr0 = def->CP1_fcr0; 178 env->fcr0 = def->CP1_fcr0;
157 return 0; 179 return 0;
158 } 180 }