Hi Ali,
Thank you for your response. I made some changes as per your suggestion in
platform.S and src/dev/alpha/(backdoor|tsunami_cchip).*. As I mentioned in my
last post that I compiled the vmlinux with NR_CPU set to 128 and BIG_TSUNAMI
set to yes. In platform.S, the changes I made are:
#if defined(BIG_TSUNAMI)
#define MAXPROC 0x7f
#define IPIQ_addr 0x800
#define IPIQ_shift 0
#define IPIR_addr 0x880
#define IPIR_shift 0
#define RTC_addr 0x8c0
#define RTC_shift 0
#define DIR_addr 0xa2
The changes made in access.h,backdoor.cc and tsunami_cchip.cc are:
access.h: 72: uint64_t cpuStack[128]; // 70:
backdoor.cc:182: if (cpunum >= 0 && cpunum < 128)
backdoor.cc:240: if (cpunum >= 0 && cpunum < 128)
backdoor.cc:270: SERIALIZE_ARRAY(cpuStack,128);
backdoor.cc:292: UNSERIALIZE_ARRAY(cpuStack, 128);
tsunami_cchip.cc:86: Addr regnum = (pkt->getAddr() - pioAddr) >> 7;
tsunami_cchip.cc:97: pkt->set(dim[(daddr >> 4) & 0x7F]);
tsunami_cchip.cc:103: pkt->set(dir[(daddr >> 4) & 0x7F]);
tsunami_cchip.cc:201: Addr regnum = (pkt->getAddr() - pioAddr) >> 7;
tsunami_cchip.cc:213: int number = (daddr >> 4) & 0x7F;
tsunami_cchip.cc:316: for(int x = 0; x < 128; x++)
And in tsunami.hh, the Max_CPUs is set to 128. However with the above changes,
the simulation is hitting an unimplemented regnum case (TSDEV_CC_MPR3, line no
362) in TsunamiCChip::write(PacketPtr pkt) function in tsunami_cchip.cc. The
regnum case is as follows:
case TSDEV_CC_MPR3:
panic("TSDEV_CC_MPRx write not implemented\n");
So in order to bypass this panic condition, I did add a break statement in the
above case so as not to hit the panic. But as a result, the m5term/simulation
output is stuck to the following point from the last one day:
......................................................................................
......................................................................................
Bootstraping CPU 95 with sp=0xFFFFFC0000132000
Bootstraping CPU 96 with sp=0xFFFFFC0000134000
Bootstraping CPU 97 with sp=0xFFFFFC0000136000
Bootstraping CPU 98 with sp=0xFFFFFC0000138000
Bootstraping CPU 99 with sp=0xFFFFFC000013A000
Bootstraping CPU 100 with sp=0xFFFFFC000013C000
Bootstraping CPU 101 with sp=0xFFFFFC000013E000
unix_boot_mem ends at FFFFFC0000140000
k_argc = 0
jumping to kernel at 0xFFFFFC0000310000, (PCBB 0xFFFFFC0000018180 pfn 1105)
CallbackFixup 0 18000, t7=FFFFFC0000814000
Entering slaveloop for cpu 88 my_rpb=FFFFFC0000025D80
EnEtenrteirningg sslalvaevleloooopp f ofro r ccpup u 9510 0my_rp
bmy=_rpb=FFFFFFFCF00FF0C00000206F00207B8
0
EnteErnitnering gsl avslealvoeloopo pfo rf ocr pcupu 9389 m
y_mrpy_brp=b=FFFFFFFFCF0F0C00000002600206A000
Entering slaveloop for cpu 90 my_rpb=FFFFFC0000026280
EEntnetreirningg sslalvaevleloooop pf ofror ccpup u 9994 m
ym_ryp_brpb==FFFFFFCF00F0F0FC0020709000026
80
C
EEntnteerriinEnngtg erisn lslagavv eeslllooaovpeo pl fofooorpr cfpocupru c
pu 929110 m1y_r pmb ym_yr=_prbpb==FFFFFFFCF0FF0FF0FCF00F00C0026007002806005
00
207E0
EnterEinnterEgin ntselrgaivn egsll oasovlpea lvfeoolorop o cpfp ourf o rc
pcupu 97969 m8y_r pmb
ym_yr=_prbpb==FFFFFFFFFFCFF0FF0FC0C0000000002700402027071688
0
Do you think that I need to write the regnum cases for the cchip/big_tsunami
registers in TsunamiCChip::write(PacketPtr pkt) and
TsunamiCChip::read(PacketPtr pkt) function in regunm variable range of 40-7f,
just like the existing cases (00-3f). What do you think, what might be the
other plausible reasons for this so long halt in execution/simulation?
Thanks!
Dibakar
PhD Student, UW-Madison
On 08/22/11, Ali Saidi wrote:
> Hi Dibakar,
>
> You'll need to just make something up that works and provides enough bits in
> each interrupt register to support 128 cores. There is no magic formula.
> You'll also need to make the complimentary changes to the kernel, palcode,
> and src/dev/alpha/(backdoor|tsunami_cchip).*.
>
> Ali
>
>
>
> On Aug 22, 2011, at 9:11 AM, Dibakar Gope wrote:
>
> > Hi,
> > I am trying to simulate more than 64 processors in M5 (ALPHA FS mode). As
> > of now, I could run the M5 simulations with upto 64 procs with necessary
> > changes in vmlinux kernel and updated BIG_TSUNAMI supported tsb_osfpal. In
> > order to obtain the updated tsb_osfpal, I used the changeset in Makefile
> > and platform.S (system/alpha/palcode, changeset given in
> > http://www.mail-archive.com/[email protected]/msg10402.html) and
> > cross-compiled them. However now I need to run simulations on more than 64
> > procs. I cross-compiled the vmlinux kernel (2.6.27) with NR_CPUs set to 128
> > and BIG_TSUNAMI set to yes. However, Soon after starting the simulation, a
> > continuous stream of "warn: clear IPI for CPU=#, but NO IPI" warning
> > messages are printed to the screen. From the prior post on that, it seems
> > an issue with the tsb_osfpal pal code (as it supports upto 64 procs). So I
> > was trying to change the config in Makefile and platform.S
> > (system/alpha/palcode) to make it compatible for 128, but in platfo
> rm
> > .S file, I could not figure out all the chnages I should make, for example
> > in system/alpha/palcode/platform_m5.S,
> > (changeset given in
> > http://www.mail-archive.com/[email protected]/msg10402.html)
> > @@ -71,6 +71,26 @@
> > #define osfpcb_q_Ksp pcb_q_ksp
> > #define pal_impure_common_size ((0x200 + 7) & 0xfff8)
> >
> > +#ifdef BIG_TSUNAMI
> > +#define MAXPROC 0x3f -------------> changed to 0x7f
> > +#define IPIQ_addr 0x800 -------------> what will be the new value
> > for 128 procs???
> > +#define IPIQ_shift 0
> > +#define IPIR_addr 0x840 -------------> new value for 128 procs???
> > +#define IPIR_shift 0
> > +#define RTC_addr 0x880 -------------> new value for 128 procs???
> > +#define RTC_shift 0
> > +#define DIR_addr 0xa2 -------------> new value for 128 procs???
> > What should be the new values for those IPIQ_addr, IPIR_addr and DIR_addr
> > in order to support 128 procs? Are their any additional chages I should
> > make in the remaining code of the platform_m5.S? Could you please provide
> > me with some information/detail in making those changes in platform.S? Ali
> > might give me some pointers, as he made the prior changes in palcode.
> > Thanks!
> > Dibakar Gope
> > Graduate Student, UW-Madison
> > _______________________________________________
> > gem5-users mailing list
> > [email protected]
> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> >
>
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users