Deleted Added
sdiff udiff text old ( 13759:9941fca869a9 ) new ( 13999:a26c2e234a80 )
full compact
1/*
2 * Copyright (c) 2009-2014, 2016-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

--- 447 unchanged lines hidden (view full) ---

456
457Addr
458roundPage(Addr addr)
459{
460 return (addr + PageBytes - 1) & ~(PageBytes - 1);
461}
462
463bool
464mcrMrc15TrapToHyp(const MiscRegIndex miscReg, HCR hcr, CPSR cpsr, SCR scr,
465 HDCR hdcr, HSTR hstr, HCPTR hcptr, uint32_t iss)
466{
467 bool isRead;
468 uint32_t crm;
469 IntRegIndex rt;
470 uint32_t crn;
471 uint32_t opc1;
472 uint32_t opc2;
473 bool trapToHype = false;
474
475
476 if (!inSecureState(scr, cpsr) && (cpsr.mode != MODE_HYP)) {
477 mcrMrcIssExtract(iss, isRead, crm, rt, crn, opc1, opc2);
478 trapToHype = ((uint32_t) hstr) & (1 << crn);
479 trapToHype |= hdcr.tpm && (crn == 9) && (crm >= 12);
480 trapToHype |= hcr.tidcp && (
481 ((crn == 9) && ((crm <= 2) || ((crm >= 5) && (crm <= 8)))) ||
482 ((crn == 10) && ((crm <= 1) || (crm == 4) || (crm == 8))) ||

--- 385 unchanged lines hidden ---