diff options
author | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-07-22 07:07:34 +0000 |
---|---|---|
committer | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-07-22 07:07:34 +0000 |
commit | c7ba218da1639a054b5ca1c259530305562fa571 (patch) | |
tree | caf7b557b77356b875bd46dfb42efa7e328b1de6 /target-sparc | |
parent | d406647966365b4ea505ef290825b257c678e764 (diff) |
Add T1 and T2 CPUs, add a Sun4v machine
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4923 c046a42c-6fe2-441c-8c8c-71466251a162
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); |