diff options
Diffstat (limited to 'target-sparc')
-rw-r--r-- | target-sparc/TODO | 4 | ||||
-rw-r--r-- | target-sparc/helper.c | 22 | ||||
-rw-r--r-- | target-sparc/machine.c | 1 |
3 files changed, 26 insertions, 1 deletions
diff --git a/target-sparc/TODO b/target-sparc/TODO index 0d39994b20..70bdeeca71 100644 --- a/target-sparc/TODO +++ b/target-sparc/TODO @@ -86,4 +86,6 @@ Sun4u: - A lot of real machine types Sun4v: -- To be added +- A lot of unimplemented features + - A lot of real machine types + diff --git a/target-sparc/helper.c b/target-sparc/helper.c index 06265dc6a4..85b9d5ca11 100644 --- a/target-sparc/helper.c +++ b/target-sparc/helper.c @@ -1116,6 +1116,28 @@ static const sparc_def_t sparc_defs[] = { .features = CPU_DEFAULT_FEATURES, }, { + .name = "Sun UltraSparc T1", + // defined in sparc_ifu_fdp.v and ctu.h + .iu_version = ((0x3eULL << 48) | (0x23ULL << 32) | (0x02ULL << 24) + | (MAXTL << 8)), + .fpu_version = 0x00000000, + .mmu_version = mmu_sun4v, + .nwindows = 8, + .features = CPU_DEFAULT_FEATURES | CPU_FEATURE_HYPV | CPU_FEATURE_CMT + | CPU_FEATURE_GL, + }, + { + .name = "Sun UltraSparc T2", + // defined in tlu_asi_ctl.v and n2_revid_cust.v + .iu_version = ((0x3eULL << 48) | (0x24ULL << 32) | (0x02ULL << 24) + | (MAXTL << 8)), + .fpu_version = 0x00000000, + .mmu_version = mmu_sun4v, + .nwindows = 8, + .features = CPU_DEFAULT_FEATURES | CPU_FEATURE_HYPV | CPU_FEATURE_CMT + | CPU_FEATURE_GL, + }, + { .name = "NEC UltraSparc I", .iu_version = ((0x22ULL << 48) | (0x10ULL << 32) | (0x40ULL << 24) | (MAXTL << 8)), diff --git a/target-sparc/machine.c b/target-sparc/machine.c index aaac30b1e8..04a59da741 100644 --- a/target-sparc/machine.c +++ b/target-sparc/machine.c @@ -7,6 +7,7 @@ void register_machines(void) { #ifdef TARGET_SPARC64 qemu_register_machine(&sun4u_machine); + qemu_register_machine(&sun4v_machine); #else qemu_register_machine(&ss5_machine); qemu_register_machine(&ss10_machine); |