1/* 2 * Copyright (c) 2010 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 38 unchanged lines hidden (view full) --- 47 48namespace ArmISA 49{ 50 51void 52ISA::clear() 53{ 54 SCTLR sctlr_rst = miscRegs[MISCREG_SCTLR_RST]; |
55 uint32_t midr = miscRegs[MISCREG_MIDR]; |
56 memset(miscRegs, 0, sizeof(miscRegs)); 57 CPSR cpsr = 0; 58 cpsr.mode = MODE_USER; 59 miscRegs[MISCREG_CPSR] = cpsr; 60 updateRegMap(cpsr); 61 62 SCTLR sctlr = 0; 63 sctlr.te = (bool)sctlr_rst.te; 64 sctlr.nmfi = (bool)sctlr_rst.nmfi; 65 sctlr.v = (bool)sctlr_rst.v; 66 sctlr.u = 1; 67 sctlr.xp = 1; 68 sctlr.rao2 = 1; 69 sctlr.rao3 = 1; 70 sctlr.rao4 = 1; 71 miscRegs[MISCREG_SCTLR] = sctlr; 72 miscRegs[MISCREG_SCTLR_RST] = sctlr_rst; 73 |
74 // Preserve MIDR accross reset 75 miscRegs[MISCREG_MIDR] = midr; 76 |
77 /* Start with an event in the mailbox */ 78 miscRegs[MISCREG_SEV_MAILBOX] = 1; 79 |
80 // Separate Instruction and Data TLBs. 81 miscRegs[MISCREG_TLBTR] = 1; 82 83 MVFR0 mvfr0 = 0; 84 mvfr0.advSimdRegisters = 2; 85 mvfr0.singlePrecision = 2; 86 mvfr0.doublePrecision = 2; 87 mvfr0.vfpExceptionTrapping = 0; --- 107 unchanged lines hidden (view full) --- 195 case MISCREG_CCSIDR: 196 warn_once("The ccsidr register isn't implemented and " 197 "always reads as 0.\n"); 198 break; 199 case MISCREG_ID_PFR0: 200 warn("Returning thumbEE disabled for now since we don't support CP14" 201 "config registers and jumping to ThumbEE vectors\n"); 202 return 0x0031; // !ThumbEE | !Jazelle | Thumb | ARM |
203 case MISCREG_ID_PFR1: 204 warn("reading unimplmented register ID_PFR1"); 205 return 0; |
206 case MISCREG_ID_MMFR0: 207 return 0x03; //VMSAz7 208 case MISCREG_CTR: 209 return 0x86468006; // V7, 64 byte cache line, load/exclusive is exact 210 case MISCREG_ACTLR: 211 warn("Not doing anything for miscreg ACTLR\n"); 212 break; 213 case MISCREG_PMCR: 214 case MISCREG_PMCCNTR: 215 case MISCREG_PMSELR: |
216 warn("Not doing anything for read to miscreg %s\n", |
217 miscRegName[misc_reg]); 218 break; 219 case MISCREG_FPSCR_QC: 220 return readMiscRegNoEffect(MISCREG_FPSCR) & ~FpscrQcMask; 221 case MISCREG_FPSCR_EXC: 222 return readMiscRegNoEffect(MISCREG_FPSCR) & ~FpscrExcMask; 223 } 224 return readMiscRegNoEffect(misc_reg); --- 290 unchanged lines hidden --- |