vgic.cc (10037:5cac77888310) vgic.cc (10565:23593fdaadcd)
1/*
2 * Copyright (c) 2013 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

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

87 else
88 panic("Write to unknown address %#x\n", pkt->getAddr());
89}
90
91Tick
92VGic::readVCpu(PacketPtr pkt)
93{
94 Addr daddr = pkt->getAddr() - vcpuAddr;
1/*
2 * Copyright (c) 2013 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

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

87 else
88 panic("Write to unknown address %#x\n", pkt->getAddr());
89}
90
91Tick
92VGic::readVCpu(PacketPtr pkt)
93{
94 Addr daddr = pkt->getAddr() - vcpuAddr;
95 pkt->allocate();
96
97 int ctx_id = pkt->req->contextId();
98 assert(ctx_id < VGIC_CPU_MAX);
99 struct vcpuIntData *vid = &vcpuData[ctx_id];
100
101 DPRINTF(VGIC, "VGIC VCPU read register %#x\n", daddr);
102
103 switch (daddr) {

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

132 pkt->makeAtomicResponse();
133 return pioDelay;
134}
135
136Tick
137VGic::readCtrl(PacketPtr pkt)
138{
139 Addr daddr = pkt->getAddr() - hvAddr;
95
96 int ctx_id = pkt->req->contextId();
97 assert(ctx_id < VGIC_CPU_MAX);
98 struct vcpuIntData *vid = &vcpuData[ctx_id];
99
100 DPRINTF(VGIC, "VGIC VCPU read register %#x\n", daddr);
101
102 switch (daddr) {

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

131 pkt->makeAtomicResponse();
132 return pioDelay;
133}
134
135Tick
136VGic::readCtrl(PacketPtr pkt)
137{
138 Addr daddr = pkt->getAddr() - hvAddr;
140 pkt->allocate();
141
142 int ctx_id = pkt->req->contextId();
143
144 DPRINTF(VGIC, "VGIC HVCtrl read register %#x\n", daddr);
145
146 /* Munge the address: 0-0xfff is the usual space banked by requester CPU.
147 * Anything > that is 0x200-sized slices of 'per CPU' regs.
148 */

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

227 pkt->makeAtomicResponse();
228 return pioDelay;
229}
230
231Tick
232VGic::writeVCpu(PacketPtr pkt)
233{
234 Addr daddr = pkt->getAddr() - vcpuAddr;
139
140 int ctx_id = pkt->req->contextId();
141
142 DPRINTF(VGIC, "VGIC HVCtrl read register %#x\n", daddr);
143
144 /* Munge the address: 0-0xfff is the usual space banked by requester CPU.
145 * Anything > that is 0x200-sized slices of 'per CPU' regs.
146 */

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

225 pkt->makeAtomicResponse();
226 return pioDelay;
227}
228
229Tick
230VGic::writeVCpu(PacketPtr pkt)
231{
232 Addr daddr = pkt->getAddr() - vcpuAddr;
235 pkt->allocate();
236
237 int ctx_id = pkt->req->contextId();
238 assert(ctx_id < VGIC_CPU_MAX);
239 struct vcpuIntData *vid = &vcpuData[ctx_id];
240
241 DPRINTF(VGIC, "VGIC VCPU write register %#x <= %#x\n", daddr, pkt->get<uint32_t>());
242
243 switch (daddr) {

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

275 pkt->makeAtomicResponse();
276 return pioDelay;
277}
278
279Tick
280VGic::writeCtrl(PacketPtr pkt)
281{
282 Addr daddr = pkt->getAddr() - hvAddr;
233
234 int ctx_id = pkt->req->contextId();
235 assert(ctx_id < VGIC_CPU_MAX);
236 struct vcpuIntData *vid = &vcpuData[ctx_id];
237
238 DPRINTF(VGIC, "VGIC VCPU write register %#x <= %#x\n", daddr, pkt->get<uint32_t>());
239
240 switch (daddr) {

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

272 pkt->makeAtomicResponse();
273 return pioDelay;
274}
275
276Tick
277VGic::writeCtrl(PacketPtr pkt)
278{
279 Addr daddr = pkt->getAddr() - hvAddr;
283 pkt->allocate();
284
285 int ctx_id = pkt->req->contextId();
286
287 DPRINTF(VGIC, "VGIC HVCtrl write register %#x <= %#x\n", daddr, pkt->get<uint32_t>());
288
289 /* Munge the address: 0-0xfff is the usual space banked by requester CPU.
290 * Anything > that is 0x200-sized slices of 'per CPU' regs.
291 */

--- 262 unchanged lines hidden ---
280
281 int ctx_id = pkt->req->contextId();
282
283 DPRINTF(VGIC, "VGIC HVCtrl write register %#x <= %#x\n", daddr, pkt->get<uint32_t>());
284
285 /* Munge the address: 0-0xfff is the usual space banked by requester CPU.
286 * Anything > that is 0x200-sized slices of 'per CPU' regs.
287 */

--- 262 unchanged lines hidden ---