tsunami_io.cc (10642:9d3b6e7dd205) | tsunami_io.cc (10905:a6ca6831e775) |
---|---|
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; --- 237 unchanged lines hidden (view full) --- 246 picr &= ~bitvector; 247 if (!(picr & mask1)) { 248 tsunami->cchip->clearDRIR(55); 249 DPRINTF(Tsunami, "clearing pic interrupt to cchip\n"); 250 } 251} 252 253void | 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; --- 237 unchanged lines hidden (view full) --- 246 picr &= ~bitvector; 247 if (!(picr & mask1)) { 248 tsunami->cchip->clearDRIR(55); 249 DPRINTF(Tsunami, "clearing pic interrupt to cchip\n"); 250 } 251} 252 253void |
254TsunamiIO::serialize(ostream &os) | 254TsunamiIO::serialize(CheckpointOut &cp) const |
255{ 256 SERIALIZE_SCALAR(rtcAddr); 257 SERIALIZE_SCALAR(timerData); 258 SERIALIZE_SCALAR(mask1); 259 SERIALIZE_SCALAR(mask2); 260 SERIALIZE_SCALAR(mode1); 261 SERIALIZE_SCALAR(mode2); 262 SERIALIZE_SCALAR(picr); 263 SERIALIZE_SCALAR(picInterrupting); 264 265 // Serialize the timers | 255{ 256 SERIALIZE_SCALAR(rtcAddr); 257 SERIALIZE_SCALAR(timerData); 258 SERIALIZE_SCALAR(mask1); 259 SERIALIZE_SCALAR(mask2); 260 SERIALIZE_SCALAR(mode1); 261 SERIALIZE_SCALAR(mode2); 262 SERIALIZE_SCALAR(picr); 263 SERIALIZE_SCALAR(picInterrupting); 264 265 // Serialize the timers |
266 pitimer.serialize("pitimer", os); 267 rtc.serialize("rtc", os); | 266 pitimer.serialize("pitimer", cp); 267 rtc.serialize("rtc", cp); |
268} 269 270void | 268} 269 270void |
271TsunamiIO::unserialize(Checkpoint *cp, const string §ion) | 271TsunamiIO::unserialize(CheckpointIn &cp) |
272{ 273 UNSERIALIZE_SCALAR(rtcAddr); 274 UNSERIALIZE_SCALAR(timerData); 275 UNSERIALIZE_SCALAR(mask1); 276 UNSERIALIZE_SCALAR(mask2); 277 UNSERIALIZE_SCALAR(mode1); 278 UNSERIALIZE_SCALAR(mode2); 279 UNSERIALIZE_SCALAR(picr); 280 UNSERIALIZE_SCALAR(picInterrupting); 281 282 // Unserialize the timers | 272{ 273 UNSERIALIZE_SCALAR(rtcAddr); 274 UNSERIALIZE_SCALAR(timerData); 275 UNSERIALIZE_SCALAR(mask1); 276 UNSERIALIZE_SCALAR(mask2); 277 UNSERIALIZE_SCALAR(mode1); 278 UNSERIALIZE_SCALAR(mode2); 279 UNSERIALIZE_SCALAR(picr); 280 UNSERIALIZE_SCALAR(picInterrupting); 281 282 // Unserialize the timers |
283 pitimer.unserialize("pitimer", cp, section); 284 rtc.unserialize("rtc", cp, section); | 283 pitimer.unserialize("pitimer", cp); 284 rtc.unserialize("rtc", cp); |
285} 286 287void 288TsunamiIO::startup() 289{ 290 rtc.startup(); 291 pitimer.startup(); 292} 293 294TsunamiIO * 295TsunamiIOParams::create() 296{ 297 return new TsunamiIO(this); 298} | 285} 286 287void 288TsunamiIO::startup() 289{ 290 rtc.startup(); 291 pitimer.startup(); 292} 293 294TsunamiIO * 295TsunamiIOParams::create() 296{ 297 return new TsunamiIO(this); 298} |