isa.cc (13393:659fdbcd5722) | isa.cc (13396:23277eaae855) |
---|---|
1/* 2 * Copyright (c) 2010-2018 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 --- 187 unchanged lines hidden (view full) --- 196} 197 198void 199ISA::clear32(const ArmISAParams *p, const SCTLR &sctlr_rst) 200{ 201 CPSR cpsr = 0; 202 cpsr.mode = MODE_USER; 203 | 1/* 2 * Copyright (c) 2010-2018 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 --- 187 unchanged lines hidden (view full) --- 196} 197 198void 199ISA::clear32(const ArmISAParams *p, const SCTLR &sctlr_rst) 200{ 201 CPSR cpsr = 0; 202 cpsr.mode = MODE_USER; 203 |
204 if (FullSystem) { 205 miscRegs[MISCREG_MVBAR] = system->resetAddr(); 206 } 207 |
|
204 miscRegs[MISCREG_CPSR] = cpsr; 205 updateRegMap(cpsr); 206 207 SCTLR sctlr = 0; 208 sctlr.te = (bool) sctlr_rst.te; 209 sctlr.nmfi = (bool) sctlr_rst.nmfi; 210 sctlr.v = (bool) sctlr_rst.v; 211 sctlr.u = 1; --- 30 unchanged lines hidden (view full) --- 242 243 //XXX We need to initialize the rest of the state. 244} 245 246void 247ISA::clear64(const ArmISAParams *p) 248{ 249 CPSR cpsr = 0; | 208 miscRegs[MISCREG_CPSR] = cpsr; 209 updateRegMap(cpsr); 210 211 SCTLR sctlr = 0; 212 sctlr.te = (bool) sctlr_rst.te; 213 sctlr.nmfi = (bool) sctlr_rst.nmfi; 214 sctlr.v = (bool) sctlr_rst.v; 215 sctlr.u = 1; --- 30 unchanged lines hidden (view full) --- 246 247 //XXX We need to initialize the rest of the state. 248} 249 250void 251ISA::clear64(const ArmISAParams *p) 252{ 253 CPSR cpsr = 0; |
250 Addr rvbar = system->resetAddr64(); | 254 Addr rvbar = system->resetAddr(); |
251 switch (system->highestEL()) { 252 // Set initial EL to highest implemented EL using associated stack 253 // pointer (SP_ELx); set RVBAR_ELx to implementation defined reset 254 // value 255 case EL3: 256 cpsr.mode = MODE_EL3H; 257 miscRegs[MISCREG_RVBAR_EL3] = rvbar; 258 break; --- 1741 unchanged lines hidden --- | 255 switch (system->highestEL()) { 256 // Set initial EL to highest implemented EL using associated stack 257 // pointer (SP_ELx); set RVBAR_ELx to implementation defined reset 258 // value 259 case EL3: 260 cpsr.mode = MODE_EL3H; 261 miscRegs[MISCREG_RVBAR_EL3] = rvbar; 262 break; --- 1741 unchanged lines hidden --- |