[Polina- We should really have these conversations on the list so
everyone can benefit from them and to give others the chance to
respond]

Hi Nate,

I am trying to get SPARC_FS to run. I am trying to run two processors
and what I have so far is the following:


Processor 0 gets activated and runs. I found in utility.hh the
following comment: "Other CPUs will get activated by IPIs".

So, then several generateIpi calls are made but they are not doing
anything because the cpu number is out of range. Finally, the cpu
number is inside the range and it turns out that it is a halt
instruction for processor 1 which was never activated. So assertion
(status == Running) fails.

I am worried about how the cpu number for Iob write is generated;
specifically, I think it's troublesome that cpu can be out of range.

I think then a couple things could be happening:

1. This is a halt, but it should be for processor 0
2. This Iob is wrong altogether


Would you mind looking at the output? Thanks.

output:

command line: build/SPARC_FS/m5.debug --trace-flags=SimpleCPU
configs/example/fs.py -n 2
Global frequency set at 1000000000000 ticks per second
warn: No kernel set for full system simulation. Assuming you know what
you're doing...
Listening for t1000 connection on port 3456
      0: system.t1000.htod: Real-time clock set to Thu Jan  1 00:00:00 2009

      0: system.t1000.htod: Real-time clock set to 1230768000
Listening for t1000 connection on port 3457
      0: global: Started instantiating
      0: global: Done instantiating
      0: global: Started instantiating
      0: global: Done instantiating
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7001
0: system.remote_gdb.listener: listening for remote gdb #1 on port 7000
**** REAL SIMULATION ****
******SimStartup*******
starting up 0
      0: global: Activation record
      0: system.cpu0: ActivateContext 0 (0 cycles)
starting up 1
warn: Entering event queue @ 0.  Starting simulation...
      0: system.cpu0: Tick
    500: system.cpu0: Tick
   1000: system.cpu0: Tick
   1500: system.cpu0: Tick
   2000: system.cpu0: Tick
   2500: system.cpu0: Tick
   3000: system.cpu0: Tick
   3500: system.cpu0: Tick
   4000: system.cpu0: Tick
   4500: system.cpu0: Tick
   5000: system.cpu0: Tick
   5500: system.cpu0: Tick
   6000: system.cpu0: Tick
   6500: system.cpu0: Tick
   7000: system.cpu0: Tick
   7500: system.cpu0: Tick
   8000: system.cpu0: Tick
   8500: system.cpu0: Tick
   9000: system.cpu0: Tick
   9500: system.cpu0: Tick
  10000: system.cpu0: Tick
  10500: system.cpu0: Tick
  11000: system.cpu0: Tick
  11500: system.cpu0: Tick
  12000: system.cpu0: Tick
  12500: system.cpu0: Tick
  13000: system.cpu0: Tick
  13500: system.cpu0: Tick
  14000: system.cpu0: Tick
  14500: system.cpu0: Tick
  15000: system.cpu0: Tick
  15500: system.cpu0: Tick
  16000: system.cpu0: Tick
  16500: system.cpu0: Tick
  17000: system.cpu0: Tick
  17500: system.cpu0: Tick
  18000: system.cpu0: Tick
  18500: system.cpu0: Tick
  19000: system.cpu0: Tick
  19500: system.cpu0: Tick
  20000: system.cpu0: Tick
  20500: system.cpu0: Tick
  21000: system.cpu0: Tick
  21500: system.cpu0: Tick
  22000: system.cpu0: Tick
  22500: system.cpu0: Tick
  23000: system.cpu0: Tick
  23500: system.cpu0: Tick
generateIpi?
CPU number is out of range
  24000: system.cpu0: Tick
  24500: system.cpu0: Tick
  25000: system.cpu0: Tick
  25500: system.cpu0: Tick
  26000: system.cpu0: Tick
  26500: system.cpu0: Tick
  27000: system.cpu0: Tick
  27500: system.cpu0: Tick
  28000: system.cpu0: Tick
  28500: system.cpu0: Tick
  29000: system.cpu0: Tick
generateIpi?
CPU number is out of range
  29500: system.cpu0: Tick
  30000: system.cpu0: Tick
  30500: system.cpu0: Tick
  31000: system.cpu0: Tick
  31500: system.cpu0: Tick
  32000: system.cpu0: Tick
  32500: system.cpu0: Tick
  33000: system.cpu0: Tick
  33500: system.cpu0: Tick
  34000: system.cpu0: Tick
  34500: system.cpu0: Tick
generateIpi?
CPU number is out of range
  35000: system.cpu0: Tick
  35500: system.cpu0: Tick
  36000: system.cpu0: Tick
  36500: system.cpu0: Tick
  37000: system.cpu0: Tick
  37500: system.cpu0: Tick
  38000: system.cpu0: Tick
  38500: system.cpu0: Tick
  39000: system.cpu0: Tick
  39500: system.cpu0: Tick
  40000: system.cpu0: Tick
generateIpi?
CPU number is out of range
  40500: system.cpu0: Tick
  41000: system.cpu0: Tick
  41500: system.cpu0: Tick
  42000: system.cpu0: Tick
  42500: system.cpu0: Tick
  43000: system.cpu0: Tick
  43500: system.cpu0: Tick
  44000: system.cpu0: Tick
  44500: system.cpu0: Tick
  45000: system.cpu0: Tick
  45500: system.cpu0: Tick
generateIpi?
CPU number is out of range
  46000: system.cpu0: Tick
  46500: system.cpu0: Tick
  47000: system.cpu0: Tick
  47500: system.cpu0: Tick
  48000: system.cpu0: Tick
  48500: system.cpu0: Tick
  49000: system.cpu0: Tick
  49500: system.cpu0: Tick
  50000: system.cpu0: Tick
  50500: system.cpu0: Tick
  51000: system.cpu0: Tick
generateIpi?
CPU number is out of range
  51500: system.cpu0: Tick
  52000: system.cpu0: Tick
  52500: system.cpu0: Tick
  53000: system.cpu0: Tick
  53500: system.cpu0: Tick
  54000: system.cpu0: Tick
  54500: system.cpu0: Tick
  55000: system.cpu0: Tick
  55500: system.cpu0: Tick
  56000: system.cpu0: Tick
  56500: system.cpu0: Tick
generateIpi?
CPU number is out of range
  57000: system.cpu0: Tick
  57500: system.cpu0: Tick
  58000: system.cpu0: Tick
  58500: system.cpu0: Tick
  59000: system.cpu0: Tick
  59500: system.cpu0: Tick
  60000: system.cpu0: Tick
  60500: system.cpu0: Tick
  61000: system.cpu0: Tick
  61500: system.cpu0: Tick
  62000: system.cpu0: Tick
generateIpi?
CPU number is out of range
  62500: system.cpu0: Tick
  63000: system.cpu0: Tick
  63500: system.cpu0: Tick
  64000: system.cpu0: Tick
  64500: system.cpu0: Tick
  65000: system.cpu0: Tick
  65500: system.cpu0: Tick
  66000: system.cpu0: Tick
  66500: system.cpu0: Tick
  67000: system.cpu0: Tick
  67500: system.cpu0: Tick
generateIpi?
CPU number is out of range
  68000: system.cpu0: Tick
  68500: system.cpu0: Tick
  69000: system.cpu0: Tick
  69500: system.cpu0: Tick
  70000: system.cpu0: Tick
  70500: system.cpu0: Tick
  71000: system.cpu0: Tick
  71500: system.cpu0: Tick
  72000: system.cpu0: Tick
  72500: system.cpu0: Tick
  73000: system.cpu0: Tick
generateIpi?
CPU number is out of range
  73500: system.cpu0: Tick
  74000: system.cpu0: Tick
  74500: system.cpu0: Tick
  75000: system.cpu0: Tick
  75500: system.cpu0: Tick
  76000: system.cpu0: Tick
  76500: system.cpu0: Tick
  77000: system.cpu0: Tick
  77500: system.cpu0: Tick
  78000: system.cpu0: Tick
  78500: system.cpu0: Tick
generateIpi?
CPU number is out of range
  79000: system.cpu0: Tick
  79500: system.cpu0: Tick
  80000: system.cpu0: Tick
  80500: system.cpu0: Tick
  81000: system.cpu0: Tick
  81500: system.cpu0: Tick
  82000: system.cpu0: Tick
  82500: system.cpu0: Tick
  83000: system.cpu0: Tick
  83500: system.cpu0: Tick
  84000: system.cpu0: Tick
generateIpi?
CPU number is out of range
  84500: system.cpu0: Tick
  85000: system.cpu0: Tick
  85500: system.cpu0: Tick
  86000: system.cpu0: Tick
  86500: system.cpu0: Tick
  87000: system.cpu0: Tick
  87500: system.cpu0: Tick
  88000: system.cpu0: Tick
  88500: system.cpu0: Tick
  89000: system.cpu0: Tick
  89500: system.cpu0: Tick
generateIpi?
CPU number is out of range
  90000: system.cpu0: Tick
  90500: system.cpu0: Tick
  91000: system.cpu0: Tick
  91500: system.cpu0: Tick
  92000: system.cpu0: Tick
  92500: system.cpu0: Tick
  93000: system.cpu0: Tick
  93500: system.cpu0: Tick
  94000: system.cpu0: Tick
  94500: system.cpu0: Tick
  95000: system.cpu0: Tick
generateIpi?
CPU number is out of range
  95500: system.cpu0: Tick
  96000: system.cpu0: Tick
  96500: system.cpu0: Tick
  97000: system.cpu0: Tick
  97500: system.cpu0: Tick
  98000: system.cpu0: Tick
  98500: system.cpu0: Tick
  99000: system.cpu0: Tick
  99500: system.cpu0: Tick
 100000: system.cpu0: Tick
 100500: system.cpu0: Tick
generateIpi?
CPU number is out of range
 101000: system.cpu0: Tick
 101500: system.cpu0: Tick
 102000: system.cpu0: Tick
 102500: system.cpu0: Tick
 103000: system.cpu0: Tick
 103500: system.cpu0: Tick
 104000: system.cpu0: Tick
 104500: system.cpu0: Tick
 105000: system.cpu0: Tick
 105500: system.cpu0: Tick
 106000: system.cpu0: Tick
generateIpi?
CPU number is out of range
 106500: system.cpu0: Tick
 107000: system.cpu0: Tick
 107500: system.cpu0: Tick
 108000: system.cpu0: Tick
 108500: system.cpu0: Tick
 109000: system.cpu0: Tick
 109500: system.cpu0: Tick
 110000: system.cpu0: Tick
 110500: system.cpu0: Tick
 111000: system.cpu0: Tick
 111500: system.cpu0: Tick
generateIpi?
CPU number is out of range
 112000: system.cpu0: Tick
 112500: system.cpu0: Tick
 113000: system.cpu0: Tick
 113500: system.cpu0: Tick
 114000: system.cpu0: Tick
 114500: system.cpu0: Tick
 115000: system.cpu0: Tick
 115500: system.cpu0: Tick
 116000: system.cpu0: Tick
 116500: system.cpu0: Tick
 117000: system.cpu0: Tick
generateIpi?
CPU number is out of range
 117500: system.cpu0: Tick
 118000: system.cpu0: Tick
 118500: system.cpu0: Tick
 119000: system.cpu0: Tick
 119500: system.cpu0: Tick
 120000: system.cpu0: Tick
 120500: system.cpu0: Tick
 121000: system.cpu0: Tick
 121500: system.cpu0: Tick
 122000: system.cpu0: Tick
 122500: system.cpu0: Tick
generateIpi?
CPU number is out of range
 123000: system.cpu0: Tick
 123500: system.cpu0: Tick
 124000: system.cpu0: Tick
 124500: system.cpu0: Tick
 125000: system.cpu0: Tick
 125500: system.cpu0: Tick
 126000: system.cpu0: Tick
 126500: system.cpu0: Tick
 127000: system.cpu0: Tick
 127500: system.cpu0: Tick
 128000: system.cpu0: Tick
generateIpi?
CPU number is out of range
 128500: system.cpu0: Tick
 129000: system.cpu0: Tick
 129500: system.cpu0: Tick
 130000: system.cpu0: Tick
 130500: system.cpu0: Tick
 131000: system.cpu0: Tick
 131500: system.cpu0: Tick
 132000: system.cpu0: Tick
 132500: system.cpu0: Tick
 133000: system.cpu0: Tick
 133500: system.cpu0: Tick
generateIpi?
CPU number is out of range
 134000: system.cpu0: Tick
 134500: system.cpu0: Tick
 135000: system.cpu0: Tick
 135500: system.cpu0: Tick
 136000: system.cpu0: Tick
 136500: system.cpu0: Tick
 137000: system.cpu0: Tick
 137500: system.cpu0: Tick
 138000: system.cpu0: Tick
 138500: system.cpu0: Tick
 139000: system.cpu0: Tick
generateIpi?
CPU number is out of range
 139500: system.cpu0: Tick
 140000: system.cpu0: Tick
 140500: system.cpu0: Tick
 141000: system.cpu0: Tick
 141500: system.cpu0: Tick
 142000: system.cpu0: Tick
 142500: system.cpu0: Tick
 143000: system.cpu0: Tick
 143500: system.cpu0: Tick
 144000: system.cpu0: Tick
 144500: system.cpu0: Tick
generateIpi?
CPU number is out of range
 145000: system.cpu0: Tick
 145500: system.cpu0: Tick
 146000: system.cpu0: Tick
 146500: system.cpu0: Tick
 147000: system.cpu0: Tick
 147500: system.cpu0: Tick
 148000: system.cpu0: Tick
 148500: system.cpu0: Tick
 149000: system.cpu0: Tick
 149500: system.cpu0: Tick
 150000: system.cpu0: Tick
generateIpi?
CPU number is out of range
 150500: system.cpu0: Tick
 151000: system.cpu0: Tick
 151500: system.cpu0: Tick
 152000: system.cpu0: Tick
 152500: system.cpu0: Tick
 153000: system.cpu0: Tick
 153500: system.cpu0: Tick
 154000: system.cpu0: Tick
 154500: system.cpu0: Tick
 155000: system.cpu0: Tick
 155500: system.cpu0: Tick
generateIpi?
CPU number is out of range
 156000: system.cpu0: Tick
 156500: system.cpu0: Tick
 157000: system.cpu0: Tick
 157500: system.cpu0: Tick
 158000: system.cpu0: Tick
 158500: system.cpu0: Tick
 159000: system.cpu0: Tick
 159500: system.cpu0: Tick
 160000: system.cpu0: Tick
 160500: system.cpu0: Tick
 161000: system.cpu0: Tick
generateIpi?
CPU number is out of range
 161500: system.cpu0: Tick
 162000: system.cpu0: Tick
 162500: system.cpu0: Tick
 163000: system.cpu0: Tick
 163500: system.cpu0: Tick
 164000: system.cpu0: Tick
 164500: system.cpu0: Tick
 165000: system.cpu0: Tick
 165500: system.cpu0: Tick
 166000: system.cpu0: Tick
 166500: system.cpu0: Tick
generateIpi?
CPU number is out of range
 167000: system.cpu0: Tick
 167500: system.cpu0: Tick
 168000: system.cpu0: Tick
 168500: system.cpu0: Tick
 169000: system.cpu0: Tick
 169500: system.cpu0: Tick
 170000: system.cpu0: Tick
 170500: system.cpu0: Tick
 171000: system.cpu0: Tick
 171500: system.cpu0: Tick
 172000: system.cpu0: Tick
generateIpi?
CPU number is out of range
 172500: system.cpu0: Tick
 173000: system.cpu0: Tick
 173500: system.cpu0: Tick
 174000: system.cpu0: Tick
 174500: system.cpu0: Tick
 175000: system.cpu0: Tick
 175500: system.cpu0: Tick
 176000: system.cpu0: Tick
 176500: system.cpu0: Tick
 177000: system.cpu0: Tick
 177500: system.cpu0: Tick
generateIpi?
CPU number is out of range
 178000: system.cpu0: Tick
 178500: system.cpu0: Tick
 179000: system.cpu0: Tick
 179500: system.cpu0: Tick
 180000: system.cpu0: Tick
 180500: system.cpu0: Tick
 181000: system.cpu0: Tick
 181500: system.cpu0: Tick
 182000: system.cpu0: Tick
 182500: system.cpu0: Tick
 183000: system.cpu0: Tick
generateIpi?
CPU number is out of range
 183500: system.cpu0: Tick
 184000: system.cpu0: Tick
 184500: system.cpu0: Tick
 185000: system.cpu0: Tick
 185500: system.cpu0: Tick
 186000: system.cpu0: Tick
 186500: system.cpu0: Tick
 187000: system.cpu0: Tick
 187500: system.cpu0: Tick
 188000: system.cpu0: Tick
 188500: system.cpu0: Tick
generateIpi?
 188500: global: Thread is Halting Context
 188500: system.cpu1: Halting Context
 188500: system.cpu1: SuspendContext 0
m5.debug: build/SPARC_FS/cpu/simple/atomic.cc:276: virtual void
AtomicSimpleCPU::suspendContext(int): Assertion `_status == Running'
failed.
Program aborted at cycle 188500
Abort
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to