⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 translate_init.c.svn-base

📁 我们自己开发的一个OSEK操作系统!不知道可不可以?
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
    case 3:        /* XXX : not implemented */        spr_register(env, SPR_BOOKE_TLB2CFG, "TLB2CFG",                     SPR_NOACCESS, SPR_NOACCESS,                     &spr_read_generic, SPR_NOACCESS,                     0x00000000); /* TOFIX */        /* Fallthru */    case 2:        /* XXX : not implemented */        spr_register(env, SPR_BOOKE_TLB1CFG, "TLB1CFG",                     SPR_NOACCESS, SPR_NOACCESS,                     &spr_read_generic, SPR_NOACCESS,                     0x00000000); /* TOFIX */        /* Fallthru */    case 1:        /* XXX : not implemented */        spr_register(env, SPR_BOOKE_TLB0CFG, "TLB0CFG",                     SPR_NOACCESS, SPR_NOACCESS,                     &spr_read_generic, SPR_NOACCESS,                     0x00000000); /* TOFIX */        /* Fallthru */    case 0:    default:        break;    }#endif}/* SPR specific to PowerPC 440 implementation */static void gen_spr_440 (CPUPPCState *env){    /* Cache control */    /* XXX : not implemented */    spr_register(env, SPR_440_DNV0, "DNV0",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_DNV1, "DNV1",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_DNV2, "DNV2",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_DNV3, "DNV3",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_DTV0, "DTV0",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_DTV1, "DTV1",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_DTV2, "DTV2",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_DTV3, "DTV3",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_DVLIM, "DVLIM",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_INV0, "INV0",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_INV1, "INV1",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_INV2, "INV2",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_INV3, "INV3",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_ITV0, "ITV0",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_ITV1, "ITV1",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_ITV2, "ITV2",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_ITV3, "ITV3",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_IVLIM, "IVLIM",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* Cache debug */    /* XXX : not implemented */    spr_register(env, SPR_BOOKE_DCDBTRH, "DCDBTRH",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, SPR_NOACCESS,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_BOOKE_DCDBTRL, "DCDBTRL",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, SPR_NOACCESS,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_BOOKE_ICDBDR, "ICDBDR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, SPR_NOACCESS,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_BOOKE_ICDBTRH, "ICDBTRH",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, SPR_NOACCESS,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_BOOKE_ICDBTRL, "ICDBTRL",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, SPR_NOACCESS,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_440_DBDR, "DBDR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* Processor control */    spr_register(env, SPR_4xx_CCR0, "CCR0",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_440_RSTCFG, "RSTCFG",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, SPR_NOACCESS,                 0x00000000);    /* Storage control */    spr_register(env, SPR_440_MMUCR, "MMUCR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);}/* SPR shared between PowerPC 40x implementations */static void gen_spr_40x (CPUPPCState *env){    /* Cache */    /* not emulated, as Qemu do not emulate caches */	spr_register(env, SPR_DSISR, "DSISR",					 SPR_NOACCESS, SPR_NOACCESS,					 &spr_read_generic, &spr_write_generic,					 0x00000000);//ddubgger ,ppc601 have    spr_register(env, SPR_DAR, "DAR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);	//ppc601	have	    spr_register(env, SPR_DECR, "DECR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_decr, &spr_write_decr,                 0x00000000);//debugger ,ppc601 have    //mpc EIE,EID,NRI debugger    spr_register(env, SPR_MPC_EIE, "EIE",					 SPR_NOACCESS, SPR_NOACCESS,					 &spr_mpc_read, &spr_mpc_write,					 0x00000000);		/* XXX : not implemented */	spr_register(env, SPR_MPC_EID, "EID",					 SPR_NOACCESS, SPR_NOACCESS,					 &spr_mpc_read, &spr_mpc_write,					 0x00000000);		/* XXX : not implemented */   spr_register(env, SPR_MPC_NRI, "NRI",					 SPR_NOACCESS, SPR_NOACCESS,					 &spr_mpc_read, &spr_mpc_write,					 0x00000000);//debugger   spr_register(env, SPR_RPCU_BBCMCR, "L2U_BBCMCR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);//debugger not implement   	    spr_register(env, SPR_40x_DCCR, "DCCR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* not emulated, as Qemu do not emulate caches */    spr_register(env, SPR_40x_ICCR, "ICCR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* not emulated, as Qemu do not emulate caches */    spr_register(env, SPR_BOOKE_ICDBDR, "ICDBDR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, SPR_NOACCESS,                 0x00000000);    /* Exception */    spr_register(env, SPR_40x_DEAR, "DEAR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_40x_ESR, "ESR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_40x_EVPR, "EVPR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_excp_prefix,                 0x00000000);    spr_register(env, SPR_40x_SRR2, "SRR2",                 &spr_read_generic, &spr_write_generic,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_40x_SRR3, "SRR3",                 &spr_read_generic, &spr_write_generic,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* Timers */    spr_register(env, SPR_40x_PIT, "PIT",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_40x_pit, &spr_write_40x_pit,                 0x00000000);    spr_register(env, SPR_40x_TCR, "TCR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_booke_tcr,                 0x00000000);    spr_register(env, SPR_40x_TSR, "TSR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_booke_tsr,                 0x00000000);}/* SPR specific to PowerPC 405 implementation */static void gen_spr_405 (CPUPPCState *env){    /* MMU */    spr_register(env, SPR_40x_PID, "PID",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_4xx_CCR0, "CCR0",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00700000);    /* Debug interface */    /* XXX : not implemented */    spr_register(env, SPR_40x_DBCR0, "DBCR0",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_40x_dbcr0,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_405_DBCR1, "DBCR1",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_40x_DBSR, "DBSR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_clear,                 /* Last reset was system reset */                 0x00000300);    /* XXX : not implemented */    spr_register(env, SPR_40x_DAC1, "DAC1",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_40x_DAC2, "DAC2",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_405_DVC1, "DVC1",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_405_DVC2, "DVC2",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_40x_IAC1, "IAC1",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_40x_IAC2, "IAC2",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_405_IAC3, "IAC3",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_405_IAC4, "IAC4",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* Storage control */    /* XXX: TODO: not implemented */    spr_register(env, SPR_405_SLER, "SLER",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_40x_sler,                 0x00000000);    spr_register(env, SPR_40x_ZPR, "ZPR",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* XXX : not implemented */    spr_register(env, SPR_405_SU0R, "SU0R",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    /* SPRG */    spr_register(env, SPR_USPRG0, "USPRG0",                 &spr_read_ureg, SPR_NOACCESS,                 &spr_read_ureg, SPR_NOACCESS,                 0x00000000);    spr_register(env, SPR_SPRG4, "SPRG4",                 SPR_NOACCESS, SPR_NOACCESS,                 &spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_SPRG5, "SPRG5",                 SPR_NOACCESS, SPR_NOACCESS,                 spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_SPRG6, "SPRG6",                 SPR_NOACCESS, SPR_NOACCESS,                 spr_read_generic, &spr_write_generic,                 0x00000000);    spr_register(env, SPR_SPRG7, "SPRG7",                 SPR_NOACCESS, SPR_NOACCESS,                 spr_read_generic, &spr_write_generic,                 0x00000000);    gen_spr_usprgh(env);}/* SPR shared between PowerPC 401 & 403 implementations */static void gen_spr_401_403 (CPUPPCState *env){    /* Time base */    spr_register(env, SPR_403_VTBL,  "TBL",                 &spr_read_tbl, SPR_NOACCESS,                 &spr_read_tbl, SPR_NOACCESS,                 0x00000000);    spr_register(env, SPR_403_TBL,   "TBL",                 SPR_NOACCESS, SPR_NOACCESS,                 SPR_NOACCESS, &spr_write_tbl,                 0x00000000);    spr_register(env, SPR_403_VTBU,  "TBU",                 &spr_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -