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 | ... | ... |