i8259.cc (5898:541097c69e22) i8259.cc (7903:7fcfb515d7bf)
1/*
2 * Copyright (c) 2004-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

298 if (slave && bits(cascadeBits, line)) {
299 DPRINTF(I8259, "Interrupt was from slave who will "
300 "provide the vector.\n");
301 return slave->getVector();
302 }
303 return line | vectorOffset;
304}
305
1/*
2 * Copyright (c) 2004-2005 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

298 if (slave && bits(cascadeBits, line)) {
299 DPRINTF(I8259, "Interrupt was from slave who will "
300 "provide the vector.\n");
301 return slave->getVector();
302 }
303 return line | vectorOffset;
304}
305
306void
307X86ISA::I8259::serialize(std::ostream &os)
308{
309 SERIALIZE_ARRAY(pinStates, NumLines);
310 SERIALIZE_ENUM(mode);
311 SERIALIZE_SCALAR(IRR);
312 SERIALIZE_SCALAR(ISR);
313 SERIALIZE_SCALAR(IMR);
314 SERIALIZE_SCALAR(vectorOffset);
315 SERIALIZE_SCALAR(cascadeMode);
316 SERIALIZE_SCALAR(cascadeBits);
317 SERIALIZE_SCALAR(edgeTriggered);
318 SERIALIZE_SCALAR(readIRR);
319 SERIALIZE_SCALAR(expectICW4);
320 SERIALIZE_SCALAR(initControlWord);
321 SERIALIZE_SCALAR(autoEOI);
322}
323
324void
325X86ISA::I8259::unserialize(Checkpoint *cp, const std::string &section)
326{
327 UNSERIALIZE_ARRAY(pinStates, NumLines);
328 UNSERIALIZE_ENUM(mode);
329 UNSERIALIZE_SCALAR(IRR);
330 UNSERIALIZE_SCALAR(ISR);
331 UNSERIALIZE_SCALAR(IMR);
332 UNSERIALIZE_SCALAR(vectorOffset);
333 UNSERIALIZE_SCALAR(cascadeMode);
334 UNSERIALIZE_SCALAR(cascadeBits);
335 UNSERIALIZE_SCALAR(edgeTriggered);
336 UNSERIALIZE_SCALAR(readIRR);
337 UNSERIALIZE_SCALAR(expectICW4);
338 UNSERIALIZE_SCALAR(initControlWord);
339 UNSERIALIZE_SCALAR(autoEOI);
340}
341
306X86ISA::I8259 *
307I8259Params::create()
308{
309 return new X86ISA::I8259(this);
310}
342X86ISA::I8259 *
343I8259Params::create()
344{
345 return new X86ISA::I8259(this);
346}