62 |
62 |
uint32_t fpu_version;
|
63 |
63 |
uint32_t mmu_version;
|
64 |
64 |
uint32_t mmu_bm;
|
|
65 |
uint32_t mmu_ctpr_mask;
|
|
66 |
uint32_t mmu_cxr_mask;
|
|
67 |
uint32_t mmu_sfsr_mask;
|
|
68 |
uint32_t mmu_trcr_mask;
|
65 |
69 |
};
|
66 |
70 |
|
67 |
71 |
static const sparc_def_t *cpu_sparc_find_by_name(const unsigned char *name);
|
... | ... | |
3758 |
3762 |
env->fsr = def->fpu_version;
|
3759 |
3763 |
#if !defined(TARGET_SPARC64)
|
3760 |
3764 |
env->mmu_bm = def->mmu_bm;
|
|
3765 |
env->mmu_ctpr_mask = def->mmu_ctpr_mask;
|
|
3766 |
env->mmu_cxr_mask = def->mmu_cxr_mask;
|
|
3767 |
env->mmu_sfsr_mask = def->mmu_sfsr_mask;
|
|
3768 |
env->mmu_trcr_mask = def->mmu_trcr_mask;
|
3761 |
3769 |
env->mmuregs[0] |= def->mmu_version;
|
3762 |
3770 |
cpu_sparc_set_id(env, 0);
|
3763 |
3771 |
#endif
|
... | ... | |
3887 |
3895 |
.fpu_version = 4 << 17, /* FPU version 4 (Meiko) */
|
3888 |
3896 |
.mmu_version = 0x00 << 24, /* Impl 0, ver 0 */
|
3889 |
3897 |
.mmu_bm = 0x00004000,
|
|
3898 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
3899 |
.mmu_cxr_mask = 0x0000003f,
|
|
3900 |
.mmu_sfsr_mask = 0xffffffff,
|
|
3901 |
.mmu_trcr_mask = 0xffffffff,
|
3890 |
3902 |
},
|
3891 |
3903 |
{
|
3892 |
3904 |
.name = "Fujitsu MB86904",
|
... | ... | |
3894 |
3906 |
.fpu_version = 4 << 17, /* FPU version 4 (Meiko) */
|
3895 |
3907 |
.mmu_version = 0x04 << 24, /* Impl 0, ver 4 */
|
3896 |
3908 |
.mmu_bm = 0x00004000,
|
|
3909 |
.mmu_ctpr_mask = 0x00ffffc0,
|
|
3910 |
.mmu_cxr_mask = 0x000000ff,
|
|
3911 |
.mmu_sfsr_mask = 0x00016fff,
|
|
3912 |
.mmu_trcr_mask = 0x00ffffff,
|
3897 |
3913 |
},
|
3898 |
3914 |
{
|
3899 |
3915 |
.name = "Fujitsu MB86907",
|
... | ... | |
3901 |
3917 |
.fpu_version = 4 << 17, /* FPU version 4 (Meiko) */
|
3902 |
3918 |
.mmu_version = 0x05 << 24, /* Impl 0, ver 5 */
|
3903 |
3919 |
.mmu_bm = 0x00004000,
|
|
3920 |
.mmu_ctpr_mask = 0xffffffc0,
|
|
3921 |
.mmu_cxr_mask = 0x000000ff,
|
|
3922 |
.mmu_sfsr_mask = 0x00016fff,
|
|
3923 |
.mmu_trcr_mask = 0xffffffff,
|
3904 |
3924 |
},
|
3905 |
3925 |
{
|
3906 |
3926 |
.name = "LSI L64811",
|
... | ... | |
3908 |
3928 |
.fpu_version = 1 << 17, /* FPU version 1 (LSI L64814) */
|
3909 |
3929 |
.mmu_version = 0x10 << 24,
|
3910 |
3930 |
.mmu_bm = 0x00004000,
|
|
3931 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
3932 |
.mmu_cxr_mask = 0x0000003f,
|
|
3933 |
.mmu_sfsr_mask = 0xffffffff,
|
|
3934 |
.mmu_trcr_mask = 0xffffffff,
|
3911 |
3935 |
},
|
3912 |
3936 |
{
|
3913 |
3937 |
.name = "Cypress CY7C601",
|
... | ... | |
3915 |
3939 |
.fpu_version = 3 << 17, /* FPU version 3 (Cypress CY7C602) */
|
3916 |
3940 |
.mmu_version = 0x10 << 24,
|
3917 |
3941 |
.mmu_bm = 0x00004000,
|
|
3942 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
3943 |
.mmu_cxr_mask = 0x0000003f,
|
|
3944 |
.mmu_sfsr_mask = 0xffffffff,
|
|
3945 |
.mmu_trcr_mask = 0xffffffff,
|
3918 |
3946 |
},
|
3919 |
3947 |
{
|
3920 |
3948 |
.name = "Cypress CY7C611",
|
... | ... | |
3922 |
3950 |
.fpu_version = 3 << 17, /* FPU version 3 (Cypress CY7C602) */
|
3923 |
3951 |
.mmu_version = 0x10 << 24,
|
3924 |
3952 |
.mmu_bm = 0x00004000,
|
|
3953 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
3954 |
.mmu_cxr_mask = 0x0000003f,
|
|
3955 |
.mmu_sfsr_mask = 0xffffffff,
|
|
3956 |
.mmu_trcr_mask = 0xffffffff,
|
3925 |
3957 |
},
|
3926 |
3958 |
{
|
3927 |
3959 |
.name = "TI SuperSparc II",
|
... | ... | |
3929 |
3961 |
.fpu_version = 0 << 17,
|
3930 |
3962 |
.mmu_version = 0x04000000,
|
3931 |
3963 |
.mmu_bm = 0x00002000,
|
|
3964 |
.mmu_ctpr_mask = 0xffffffc0,
|
|
3965 |
.mmu_cxr_mask = 0x0000ffff,
|
|
3966 |
.mmu_sfsr_mask = 0xffffffff,
|
|
3967 |
.mmu_trcr_mask = 0xffffffff,
|
3932 |
3968 |
},
|
3933 |
3969 |
{
|
3934 |
3970 |
.name = "TI MicroSparc I",
|
... | ... | |
3936 |
3972 |
.fpu_version = 4 << 17,
|
3937 |
3973 |
.mmu_version = 0x41000000,
|
3938 |
3974 |
.mmu_bm = 0x00004000,
|
|
3975 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
3976 |
.mmu_cxr_mask = 0x0000003f,
|
|
3977 |
.mmu_sfsr_mask = 0x00016fff,
|
|
3978 |
.mmu_trcr_mask = 0x0000003f,
|
3939 |
3979 |
},
|
3940 |
3980 |
{
|
3941 |
3981 |
.name = "TI MicroSparc II",
|
... | ... | |
3943 |
3983 |
.fpu_version = 4 << 17,
|
3944 |
3984 |
.mmu_version = 0x02000000,
|
3945 |
3985 |
.mmu_bm = 0x00004000,
|
|
3986 |
.mmu_ctpr_mask = 0x00ffffc0,
|
|
3987 |
.mmu_cxr_mask = 0x000000ff,
|
|
3988 |
.mmu_sfsr_mask = 0x00016bff,
|
|
3989 |
.mmu_trcr_mask = 0x00ffffff,
|
3946 |
3990 |
},
|
3947 |
3991 |
{
|
3948 |
3992 |
.name = "TI MicroSparc IIep",
|
... | ... | |
3950 |
3994 |
.fpu_version = 4 << 17,
|
3951 |
3995 |
.mmu_version = 0x04000000,
|
3952 |
3996 |
.mmu_bm = 0x00004000,
|
|
3997 |
.mmu_ctpr_mask = 0x00ffffc0,
|
|
3998 |
.mmu_cxr_mask = 0x000000ff,
|
|
3999 |
.mmu_sfsr_mask = 0x00016bff,
|
|
4000 |
.mmu_trcr_mask = 0x00ffffff,
|
3953 |
4001 |
},
|
3954 |
4002 |
{
|
3955 |
4003 |
.name = "TI SuperSparc 51",
|
... | ... | |
3957 |
4005 |
.fpu_version = 0 << 17,
|
3958 |
4006 |
.mmu_version = 0x04000000,
|
3959 |
4007 |
.mmu_bm = 0x00002000,
|
|
4008 |
.mmu_ctpr_mask = 0xffffffc0,
|
|
4009 |
.mmu_cxr_mask = 0x0000ffff,
|
|
4010 |
.mmu_sfsr_mask = 0xffffffff,
|
|
4011 |
.mmu_trcr_mask = 0xffffffff,
|
3960 |
4012 |
},
|
3961 |
4013 |
{
|
3962 |
4014 |
.name = "TI SuperSparc 61",
|
... | ... | |
3964 |
4016 |
.fpu_version = 0 << 17,
|
3965 |
4017 |
.mmu_version = 0x04000000,
|
3966 |
4018 |
.mmu_bm = 0x00002000,
|
|
4019 |
.mmu_ctpr_mask = 0xffffffc0,
|
|
4020 |
.mmu_cxr_mask = 0x0000ffff,
|
|
4021 |
.mmu_sfsr_mask = 0xffffffff,
|
|
4022 |
.mmu_trcr_mask = 0xffffffff,
|
3967 |
4023 |
},
|
3968 |
4024 |
{
|
3969 |
4025 |
.name = "Ross RT625",
|
... | ... | |
3971 |
4027 |
.fpu_version = 1 << 17,
|
3972 |
4028 |
.mmu_version = 0x1e000000,
|
3973 |
4029 |
.mmu_bm = 0x00004000,
|
|
4030 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
4031 |
.mmu_cxr_mask = 0x0000003f,
|
|
4032 |
.mmu_sfsr_mask = 0xffffffff,
|
|
4033 |
.mmu_trcr_mask = 0xffffffff,
|
3974 |
4034 |
},
|
3975 |
4035 |
{
|
3976 |
4036 |
.name = "Ross RT620",
|
... | ... | |
3978 |
4038 |
.fpu_version = 1 << 17,
|
3979 |
4039 |
.mmu_version = 0x1f000000,
|
3980 |
4040 |
.mmu_bm = 0x00004000,
|
|
4041 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
4042 |
.mmu_cxr_mask = 0x0000003f,
|
|
4043 |
.mmu_sfsr_mask = 0xffffffff,
|
|
4044 |
.mmu_trcr_mask = 0xffffffff,
|
3981 |
4045 |
},
|
3982 |
4046 |
{
|
3983 |
4047 |
.name = "BIT B5010",
|
... | ... | |
3985 |
4049 |
.fpu_version = 0 << 17, /* B5010/B5110/B5120/B5210 */
|
3986 |
4050 |
.mmu_version = 0x20000000,
|
3987 |
4051 |
.mmu_bm = 0x00004000,
|
|
4052 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
4053 |
.mmu_cxr_mask = 0x0000003f,
|
|
4054 |
.mmu_sfsr_mask = 0xffffffff,
|
|
4055 |
.mmu_trcr_mask = 0xffffffff,
|
3988 |
4056 |
},
|
3989 |
4057 |
{
|
3990 |
4058 |
.name = "Matsushita MN10501",
|
... | ... | |
3992 |
4060 |
.fpu_version = 0 << 17,
|
3993 |
4061 |
.mmu_version = 0x50000000,
|
3994 |
4062 |
.mmu_bm = 0x00004000,
|
|
4063 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
4064 |
.mmu_cxr_mask = 0x0000003f,
|
|
4065 |
.mmu_sfsr_mask = 0xffffffff,
|
|
4066 |
.mmu_trcr_mask = 0xffffffff,
|
3995 |
4067 |
},
|
3996 |
4068 |
{
|
3997 |
4069 |
.name = "Weitek W8601",
|
... | ... | |
3999 |
4071 |
.fpu_version = 3 << 17, /* FPU version 3 (Weitek WTL3170/2) */
|
4000 |
4072 |
.mmu_version = 0x10 << 24,
|
4001 |
4073 |
.mmu_bm = 0x00004000,
|
|
4074 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
4075 |
.mmu_cxr_mask = 0x0000003f,
|
|
4076 |
.mmu_sfsr_mask = 0xffffffff,
|
|
4077 |
.mmu_trcr_mask = 0xffffffff,
|
4002 |
4078 |
},
|
4003 |
4079 |
{
|
4004 |
4080 |
.name = "LEON2",
|
... | ... | |
4006 |
4082 |
.fpu_version = 4 << 17, /* FPU version 4 (Meiko) */
|
4007 |
4083 |
.mmu_version = 0xf2000000,
|
4008 |
4084 |
.mmu_bm = 0x00004000,
|
|
4085 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
4086 |
.mmu_cxr_mask = 0x0000003f,
|
|
4087 |
.mmu_sfsr_mask = 0xffffffff,
|
|
4088 |
.mmu_trcr_mask = 0xffffffff,
|
4009 |
4089 |
},
|
4010 |
4090 |
{
|
4011 |
4091 |
.name = "LEON3",
|
... | ... | |
4013 |
4093 |
.fpu_version = 4 << 17, /* FPU version 4 (Meiko) */
|
4014 |
4094 |
.mmu_version = 0xf3000000,
|
4015 |
4095 |
.mmu_bm = 0x00004000,
|
|
4096 |
.mmu_ctpr_mask = 0x007ffff0,
|
|
4097 |
.mmu_cxr_mask = 0x0000003f,
|
|
4098 |
.mmu_sfsr_mask = 0xffffffff,
|
|
4099 |
.mmu_trcr_mask = 0xffffffff,
|
4016 |
4100 |
},
|
4017 |
4101 |
#endif
|
4018 |
4102 |
};
|