[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