Deleted Added
sdiff udiff text old ( 11289:ab19693da8c9 ) new ( 11290:1640dd68b0a4 )
full compact
1/*
2 * Copyright (c) 2010-2012, 2015 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

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

58#include "config/the_isa.hh"
59#include "cpu/base.hh"
60#include "cpu/quiesce_event.hh"
61#include "cpu/thread_context.hh"
62#include "debug/Loader.hh"
63#include "debug/PseudoInst.hh"
64#include "debug/Quiesce.hh"
65#include "debug/WorkItems.hh"
66#include "params/BaseCPU.hh"
67#include "sim/full_system.hh"
68#include "sim/process.hh"
69#include "sim/pseudo_inst.hh"
70#include "sim/serialize.hh"
71#include "sim/sim_events.hh"
72#include "sim/sim_exit.hh"
73#include "sim/stat_control.hh"
74#include "sim/stats.hh"
75#include "sim/system.hh"

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

352 if (other_tc->status() == ThreadContext::Suspended)
353 other_tc->activate();
354}
355
356void
357m5exit(ThreadContext *tc, Tick delay)
358{
359 DPRINTF(PseudoInst, "PseudoInst::m5exit(%i)\n", delay);
360 Tick when = curTick() + delay * SimClock::Int::ns;
361 exitSimLoop("m5_exit instruction encountered", 0, when, 0, true);
362}
363
364void
365m5fail(ThreadContext *tc, Tick delay, uint64_t code)
366{
367 DPRINTF(PseudoInst, "PseudoInst::m5fail(%i, %i)\n", delay, code);
368 Tick when = curTick() + delay * SimClock::Int::ns;
369 exitSimLoop("m5_fail instruction encountered", code, when, 0, true);

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

466 sizeof(uint64_t));
467 } else {
468 assert(key_str2 == 0);
469 }
470
471 // Compare the key parameter with the known values to select the return
472 // value
473 uint64_t val;
474 if (strlen(key_str) == 0) {
475 val = tc->getCpuPtr()->system->init_param;
476 } else {
477 panic("Unknown key for initparam pseudo instruction");
478 }
479 return val;
480}
481
482
483void
484resetstats(ThreadContext *tc, Tick delay, Tick period)
485{

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

524
525void
526m5checkpoint(ThreadContext *tc, Tick delay, Tick period)
527{
528 DPRINTF(PseudoInst, "PseudoInst::m5checkpoint(%i, %i)\n", delay, period);
529 if (!tc->getCpuPtr()->params()->do_checkpoint_insts)
530 return;
531
532 Tick when = curTick() + delay * SimClock::Int::ns;
533 Tick repeat = period * SimClock::Int::ns;
534
535 exitSimLoop("checkpoint", 0, when, repeat);
536}
537
538uint64_t
539readfile(ThreadContext *tc, Addr vaddr, uint64_t len, uint64_t offset)
540{
541 DPRINTF(PseudoInst, "PseudoInst::readfile(0x%x, 0x%x, 0x%x)\n",
542 vaddr, len, offset);
543 if (!FullSystem) {

--- 215 unchanged lines hidden ---