gic.cc (12111:ec02ad5ff091) gic.cc (12112:30b742d6e1e8)
1/*
2 * Copyright (c) 2015-2017 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

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

287 if (!usingKvm)
288 return Pl390::clearPPInt(num, cpu);
289
290 DPRINTF(Interrupt, "Clear PPI %d:%d\n", cpu, num);
291 kernelGic->clearPPI(cpu, num);
292}
293
294void
1/*
2 * Copyright (c) 2015-2017 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

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

287 if (!usingKvm)
288 return Pl390::clearPPInt(num, cpu);
289
290 DPRINTF(Interrupt, "Clear PPI %d:%d\n", cpu, num);
291 kernelGic->clearPPI(cpu, num);
292}
293
294void
295MuxingKvmGic::updateIntState(int hint)
296{
297 // During Kvm->Pl390 state transfer, writes to the Pl390 will call
298 // updateIntState() which can post an interrupt. Since we're only
299 // using the Pl390 model for holding state in this circumstance, we
300 // short-circuit this behavior, as the Pl390 is not actually active.
301 if (!usingKvm)
302 return Pl390::updateIntState(hint);
303}
304
305void
295MuxingKvmGic::copyDistRegister(BaseGicRegisters* from, BaseGicRegisters* to,
296 ContextID ctx, Addr daddr)
297{
298 auto val = from->readDistributor(ctx, daddr);
299 DPRINTF(GIC, "copy dist 0x%x 0x%08x\n", daddr, val);
300 to->writeDistributor(ctx, daddr, val);
301}
302

--- 142 unchanged lines hidden ---
306MuxingKvmGic::copyDistRegister(BaseGicRegisters* from, BaseGicRegisters* to,
307 ContextID ctx, Addr daddr)
308{
309 auto val = from->readDistributor(ctx, daddr);
310 DPRINTF(GIC, "copy dist 0x%x 0x%08x\n", daddr, val);
311 to->writeDistributor(ctx, daddr, val);
312}
313

--- 142 unchanged lines hidden ---