gic.cc (12112:30b742d6e1e8) gic.cc (12184:3aabca509b7a)
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

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

179 }
180}
181
182MuxingKvmGic::~MuxingKvmGic()
183{
184}
185
186void
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

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

179 }
180}
181
182MuxingKvmGic::~MuxingKvmGic()
183{
184}
185
186void
187MuxingKvmGic::loadState(CheckpointIn &cp)
188{
189 Pl390::loadState(cp);
190}
191
192void
193MuxingKvmGic::startup()
194{
195 Pl390::startup();
196 usingKvm = (kernelGic != nullptr) && system.validKvmEnvironment();
197 if (usingKvm)
198 fromPl390ToKvm();
199}
200

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

216 if (use_kvm) // from simulation to KVM emulation
217 fromPl390ToKvm();
218 // otherwise, drain() already sync'd the state back to the Pl390
219
220 usingKvm = use_kvm;
221 }
222}
223
187MuxingKvmGic::startup()
188{
189 Pl390::startup();
190 usingKvm = (kernelGic != nullptr) && system.validKvmEnvironment();
191 if (usingKvm)
192 fromPl390ToKvm();
193}
194

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

210 if (use_kvm) // from simulation to KVM emulation
211 fromPl390ToKvm();
212 // otherwise, drain() already sync'd the state back to the Pl390
213
214 usingKvm = use_kvm;
215 }
216}
217
224void
225MuxingKvmGic::serialize(CheckpointOut &cp) const
226{
227 // drain() already ensured Pl390 updated with KvmGic state if necessary
228 Pl390::serialize(cp);
229}
230
231void
232MuxingKvmGic::unserialize(CheckpointIn &cp)
233{
234 Pl390::unserialize(cp);
235}
236
237Tick
238MuxingKvmGic::read(PacketPtr pkt)
239{
240 if (!usingKvm)
241 return Pl390::read(pkt);
242
243 panic("MuxingKvmGic: PIO from gem5 is currently unsupported\n");
244}

--- 211 unchanged lines hidden ---
218Tick
219MuxingKvmGic::read(PacketPtr pkt)
220{
221 if (!usingKvm)
222 return Pl390::read(pkt);
223
224 panic("MuxingKvmGic: PIO from gem5 is currently unsupported\n");
225}

--- 211 unchanged lines hidden ---