interrupts.cc (5649:0e9c904551c1) interrupts.cc (5651:7f0c8006c3d7)
1/*
2 * Copyright (c) 2008 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

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

234 pkt->writeData(((uint8_t *)&val) + (offset & mask(3)));
235 DPRINTF(LocalApic,
236 "Writing Local APIC register %d at offset %#x as %#x.\n",
237 reg, offset, gtoh(val));
238 setReg(reg, gtoh(val));
239 return latency;
240}
241
1/*
2 * Copyright (c) 2008 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

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

234 pkt->writeData(((uint8_t *)&val) + (offset & mask(3)));
235 DPRINTF(LocalApic,
236 "Writing Local APIC register %d at offset %#x as %#x.\n",
237 reg, offset, gtoh(val));
238 setReg(reg, gtoh(val));
239 return latency;
240}
241
242Tick
243X86ISA::Interrupts::recvMessage(PacketPtr pkt)
244{
245 Addr offset = pkt->getAddr() - x86InterruptAddress(0, 0);
246 assert(pkt->cmd == MemCmd::MessageReq);
247 switch(offset)
248 {
249 case 0:
250 DPRINTF(LocalApic, "Got Trigger Interrupt message.\n");
251 break;
252 default:
253 panic("Local apic got unknown interrupt message at offset %#x.\n",
254 offset);
255 break;
256 }
257 delete pkt->req;
258 delete pkt;
259 return latency;
260}
261
262
242uint32_t
243X86ISA::Interrupts::readReg(ApicRegIndex reg)
244{
245 if (reg >= APIC_TRIGGER_MODE(0) &&
246 reg <= APIC_TRIGGER_MODE(15)) {
247 panic("Local APIC Trigger Mode registers are unimplemented.\n");
248 }
249 switch (reg) {

--- 151 unchanged lines hidden ---
263uint32_t
264X86ISA::Interrupts::readReg(ApicRegIndex reg)
265{
266 if (reg >= APIC_TRIGGER_MODE(0) &&
267 reg <= APIC_TRIGGER_MODE(15)) {
268 panic("Local APIC Trigger Mode registers are unimplemented.\n");
269 }
270 switch (reg) {

--- 151 unchanged lines hidden ---