Hi Dave,
You'd better add a defination "XXX(AbstractChip *chip_ptr, int version);" under "XXX(AbstractChip *chip_ptr)" and build your component constructor with version. The version indicate the number of different processor and it might be the cause of the violation 'm_size != 0' .
Regards,
Hongxia SUN
2007/3/15, Dave Z. <zhu_dave@xxxxxxxxx>:
Hi Hongxia, Yes, I defined the component's constructor as XXX(AbstractChip *chip_ptr). I got the error during run-time when I called the following:
XXX* x_ptr = g_system_ptr->getChip(SIMICS_current_processor_number())->getXXX(SIMICS_current_processor_number()); Thanks, Dave
----- Original Message ---- From: hongxia sun <
sunhx.seraph@xxxxxxxxx> To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Wednesday, March 14, 2007 6:40:41 PM Subject: Re: [Gems-users] adding a new component
Hi Dave,
How did you define your component? When did you get the error? Compiling time or running time?
You can try to define your component's constructor as following:
XXX(AbstractChip *chip_ptr);
XXX(AbstractChip *chip_ptr, int version);
In fact, this error also came up when I added a new component to Ruby. But I cannot remember exactly how to solve it. Please try the about method.
Good luck!
Hongxia SUN
2007/3/15, Dave Z. <zhu_dave@xxxxxxxxx>:
Hi Hongxia, I'd like to access the sequencer in the XXX component. But I think I don't have any problems with accessing the sequencer. Ruby is complaining that my vector size is not 0 (failed assertion 'm_size != 0' at fn const TYPE& Vector<TYPE>::ref(int) ... in ../common/Vector.h:156.
Thanks, Dave
----- Original Message ---- From: hongxia sun <
sunhx.seraph@xxxxxxxxx> To: Gems Users < gems-users@xxxxxxxxxxx> Sent: Wednesday, March 14, 2007 6:14:06 PM
Subject: Re: [Gems-users] adding a new component
Hi Dave,
I think it should be enough. And where would you like to access the sequencer? Maybe in SLICC files, it is much more easy to do this.
Good luck!
Hongxia SUN
2007/3/15, Dave Z. <zhu_dave@xxxxxxxxx>:
Hello,
I'm trying to add a new component to each chip in the system. I've created a C++ file in $GEMS/ruby/system/ and modified SLICC files as necessary. I've defined:
Vector < XXX * > m_L1Cache_XXX_vec in AbstractChip.h
to be able to do the following:
XXX* x_ptr = g_system_ptr->getChip(...)->getXXX();
Within this component I'd like to be able to access the sequencer as well (I don't know if this changes anything). I'm getting 'm_size != 0' assertion, even though the vector size is set to 0 just like the sequencer vector. I'm probably overlooking something. Could you please show me some pointers?
Thanks,
Dave
____________________________________________________________________________________ Food fight? Enjoy some healthy debate in the Yahoo! Answers Food & Drink Q&A.
http://answers.yahoo.com/dir/?link=list&sid=396545367
_______________________________________________ Gems-users mailing list Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users Use Google to search the GEMS Users mailing list by adding "site:
https://lists.cs.wisc.edu/archive/gems-users/" to your search.
TV dinner still cooling? Check out "Tonight's Picks"
on Yahoo! TV. _______________________________________________ Gems-users mailing list
Gems-users@xxxxxxxxxxx https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site: https://lists.cs.wisc.edu/archive/gems-users/
" to your search.
_______________________________________________ Gems-users mailing list
Gems-users@xxxxxxxxxxx https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/
" to your search.
|