Commit 34ee2edebb992b5d3f7c383a3d0c34f3e75880c8
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 | } |