Commit d2123ead89bd2d337793dcd739352142ff69007c
1 parent
6276c767
Preliminary MIPS64R2 mode.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3479 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
21 additions
and
0 deletions
target-mips/translate_init.c
... | ... | @@ -276,6 +276,27 @@ static mips_def_t mips_defs[] = |
276 | 276 | .SEGBITS = 40, |
277 | 277 | .insn_flags = CPU_MIPS64 | ASE_MIPS3D, |
278 | 278 | }, |
279 | + { | |
280 | + /* A generic CPU providing MIPS64 Release 2 features. | |
281 | + FIXME: Eventually this should be replaced by a real CPU model. */ | |
282 | + .name = "MIPS64R2-generic", | |
283 | + .CP0_PRid = 0x00000000, | |
284 | + .CP0_Config0 = MIPS_CONFIG0 | (0x2 << CP0C0_AT) | (0x1 << CP0C0_AR), | |
285 | + .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (63 << CP0C1_MMU) | | |
286 | + (2 << CP0C1_IS) | (4 << CP0C1_IL) | (3 << CP0C1_IA) | | |
287 | + (2 << CP0C1_DS) | (4 << CP0C1_DL) | (3 << CP0C1_DA) | | |
288 | + (1 << CP0C1_PC) | (1 << CP0C1_WR) | (1 << CP0C1_EP), | |
289 | + .CP0_Config2 = MIPS_CONFIG2, | |
290 | + .CP0_Config3 = MIPS_CONFIG3, | |
291 | + .SYNCI_Step = 32, | |
292 | + .CCRes = 2, | |
293 | + .CP0_Status_rw_bitmask = 0x36FBFFFF, | |
294 | + .CP1_fcr0 = (1 << FCR0_3D) | (1 << FCR0_PS) | (1 << FCR0_L) | | |
295 | + (1 << FCR0_W) | (1 << FCR0_D) | (1 << FCR0_S) | | |
296 | + (0x00 << FCR0_PRID) | (0x0 << FCR0_REV), | |
297 | + .SEGBITS = 40, | |
298 | + .insn_flags = CPU_MIPS64R2 | ASE_MIPS3D, | |
299 | + }, | |
279 | 300 | #endif |
280 | 301 | }; |
281 | 302 | ... | ... |