gic_v3_cpu_interface.cc (14258:c75d22c32dec) | gic_v3_cpu_interface.cc (14259:ff00277dc5e2) |
---|---|
1/* 2 * Copyright (c) 2019 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 --- 56 unchanged lines hidden (view full) --- 65void 66Gicv3CPUInterface::init() 67{ 68 redistributor = gic->getRedistributor(cpuId); 69 distributor = gic->getDistributor(); 70} 71 72void | 1/* 2 * Copyright (c) 2019 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 --- 56 unchanged lines hidden (view full) --- 65void 66Gicv3CPUInterface::init() 67{ 68 redistributor = gic->getRedistributor(cpuId); 69 distributor = gic->getDistributor(); 70} 71 72void |
73Gicv3CPUInterface::resetHppi(uint32_t intid) 74{ 75 if (intid == hppi.intid) 76 hppi.prio = 0xff; 77} 78 79void |
|
73Gicv3CPUInterface::setThreadContext(ThreadContext *tc) 74{ 75 maintenanceInterrupt = gic->params()->maint_int->get(tc); 76} 77 78bool 79Gicv3CPUInterface::getHCREL2FMO() const 80{ --- 1757 unchanged lines hidden (view full) --- 1838 } else if (int_id >= Gicv3Redistributor::SMALLEST_LPI_ID) { 1839 // LPI, Redistributor 1840 redistributor->setClrLPI(int_id, false); 1841 } 1842 1843 // By setting the priority to 0xff we are effectively 1844 // making the int_id not pending anymore at the cpu 1845 // interface. | 80Gicv3CPUInterface::setThreadContext(ThreadContext *tc) 81{ 82 maintenanceInterrupt = gic->params()->maint_int->get(tc); 83} 84 85bool 86Gicv3CPUInterface::getHCREL2FMO() const 87{ --- 1757 unchanged lines hidden (view full) --- 1845 } else if (int_id >= Gicv3Redistributor::SMALLEST_LPI_ID) { 1846 // LPI, Redistributor 1847 redistributor->setClrLPI(int_id, false); 1848 } 1849 1850 // By setting the priority to 0xff we are effectively 1851 // making the int_id not pending anymore at the cpu 1852 // interface. |
1846 hppi.prio = 0xff; | 1853 resetHppi(int_id); |
1847 updateDistributor(); 1848} 1849 1850void 1851Gicv3CPUInterface::virtualActivateIRQ(uint32_t lr_idx) 1852{ 1853 // Update active priority registers. 1854 ICH_LR_EL2 ich_lr_el = isa->readMiscRegNoEffect(MISCREG_ICH_LR0_EL2 + --- 728 unchanged lines hidden --- | 1854 updateDistributor(); 1855} 1856 1857void 1858Gicv3CPUInterface::virtualActivateIRQ(uint32_t lr_idx) 1859{ 1860 // Update active priority registers. 1861 ICH_LR_EL2 ich_lr_el = isa->readMiscRegNoEffect(MISCREG_ICH_LR0_EL2 + --- 728 unchanged lines hidden --- |