timer_cpulocal.cc (8512:a508c2d92d63) | timer_cpulocal.cc (8993:d5f9445010da) |
---|---|
1/* 2 * Copyright (c) 2010-2011 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 --- 277 unchanged lines hidden (view full) --- 286 return; 287 288 DPRINTF(Timer, "Timer Counter reached zero\n"); 289 290 rawIntTimer = true; 291 bool old_pending = pendingIntTimer; 292 if (timerControl.intEnable) 293 pendingIntTimer = true; | 1/* 2 * Copyright (c) 2010-2011 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 --- 277 unchanged lines hidden (view full) --- 286 return; 287 288 DPRINTF(Timer, "Timer Counter reached zero\n"); 289 290 rawIntTimer = true; 291 bool old_pending = pendingIntTimer; 292 if (timerControl.intEnable) 293 pendingIntTimer = true; |
294 if (pendingIntTimer && ~old_pending) { | 294 if (pendingIntTimer && !old_pending) { |
295 DPRINTF(Timer, "-- Causing interrupt\n"); 296 parent->gic->sendPPInt(intNumTimer, cpuNum); 297 } 298 299 if (!timerControl.autoReload) 300 return; 301 else 302 restartTimerCounter(timerLoadValue); --- 14 unchanged lines hidden (view full) --- 317 if (watchdogControl.intEnable && !watchdogControl.watchdogMode) 318 pendingIntWatchdog = true; 319 else if (watchdogControl.watchdogMode) { 320 rawResetWatchdog = true; 321 fatal("gem5 ARM Model does not support true watchdog operation!\n"); 322 //XXX: Should we ever support a true watchdog reset? 323 } 324 | 295 DPRINTF(Timer, "-- Causing interrupt\n"); 296 parent->gic->sendPPInt(intNumTimer, cpuNum); 297 } 298 299 if (!timerControl.autoReload) 300 return; 301 else 302 restartTimerCounter(timerLoadValue); --- 14 unchanged lines hidden (view full) --- 317 if (watchdogControl.intEnable && !watchdogControl.watchdogMode) 318 pendingIntWatchdog = true; 319 else if (watchdogControl.watchdogMode) { 320 rawResetWatchdog = true; 321 fatal("gem5 ARM Model does not support true watchdog operation!\n"); 322 //XXX: Should we ever support a true watchdog reset? 323 } 324 |
325 if (pendingIntWatchdog && ~old_pending) { | 325 if (pendingIntWatchdog && !old_pending) { |
326 DPRINTF(Timer, "-- Causing interrupt\n"); 327 parent->gic->sendPPInt(intNumWatchdog, cpuNum); 328 } 329 330 if (watchdogControl.watchdogMode) 331 return; 332 else if (watchdogControl.autoReload) 333 restartWatchdogCounter(watchdogLoadValue); --- 107 unchanged lines hidden --- | 326 DPRINTF(Timer, "-- Causing interrupt\n"); 327 parent->gic->sendPPInt(intNumWatchdog, cpuNum); 328 } 329 330 if (watchdogControl.watchdogMode) 331 return; 332 else if (watchdogControl.autoReload) 333 restartWatchdogCounter(watchdogLoadValue); --- 107 unchanged lines hidden --- |