Sridatta Chegu wrote:
> Hello all
>
> I have a problem creating a checkpoint file. I have completely no idea
> on how to create. Recently i was struck with the following error when
> i load Ruby module in simics
>
>
> Error loading module 'ruby': Failed to load module 'ruby'
> ('/usr/local/src/gems-2.0/workspace/x86-linux/lib/ruby.so'):
> "undefined symbol: SIM_hap_register_callback"
SIM_hap_register_callback() is obsolete in Simics 2 and doesn't work in
Simics 3. Try changing SIM_hap_register_callback to SIM_hap_add_callback
in ruby.c and try again.
> Later, I removed (commented out) the SIM_hap_register_callback in the
> ruby.c file and recompiled ruby and now, the error is gone.. But, now,
> it displays a new error while loading ruby
>
> /***************************************************************************\
> > Physical Memory object cannot be found. If you are NOT compiling Ruby and
> <
> > you see this message, something is wrong.
>
> <
> > This message is part of the normal compilation process.
> <
>
> \***************************************************************************/
>
> If i load ruby once again, the error vanishes.. Now, the next step
> ruby0.setparam g_NUM_PROCESSORS 1
> is throwing this error
>
> "attribute param in object ruby0: not found"
> I got to know that it is because of not loading any checkpoint file
> before loading ruby.. If that is true.. please let me know how to
> create a checkpoint file.. I need a sample checkpoint file for my x86
> processor architecture..
>
>
> _______________________________________________
> 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.
>
diff -r 05bf26626cbe ruby/module/ruby.c
--- a/ruby/module/ruby.c Fri Nov 16 08:57:51 2007 +0100
+++ b/ruby/module/ruby.c Fri Nov 16 08:59:01 2007 +0100
@@ -367,12 +367,12 @@ void init_local() {
#ifdef SPARC
SIM_hap_add_callback("Core_Exception", (obj_hap_func_t) ctrl_exception_start, NULL);
SIM_hap_add_callback("Core_Exception_Return", (obj_hap_func_t) ctrl_exception_done, NULL);
- SIM_hap_register_callback("Core_Mode_Change", (cb_func_no_t) change_mode_callback, (void *) NULL);
+ SIM_hap_add_callback("Core_Mode_Change", (cb_func_no_t) change_mode_callback, (void *) NULL);
/// for MMU
- SIM_hap_register_callback("MMU_Data_TLB_Demap", (cb_func_no_t) dtlb_demap_callback, (void *) NULL);
- SIM_hap_register_callback("MMU_Data_TLB_Map", (cb_func_no_t) dtlb_map_callback, (void *) NULL);
- SIM_hap_register_callback("MMU_Data_TLB_Overwrite", (cb_func_no_t) dtlb_overwrite_callback, (void *) NULL);
- SIM_hap_register_callback("MMU_Data_TLB_Replace", (cb_func_no_t) dtlb_replace_callback, (void *) NULL);
+ SIM_hap_add_callback("MMU_Data_TLB_Demap", (cb_func_no_t) dtlb_demap_callback, (void *) NULL);
+ SIM_hap_add_callback("MMU_Data_TLB_Map", (cb_func_no_t) dtlb_map_callback, (void *) NULL);
+ SIM_hap_add_callback("MMU_Data_TLB_Overwrite", (cb_func_no_t) dtlb_overwrite_callback, (void *) NULL);
+ SIM_hap_add_callback("MMU_Data_TLB_Replace", (cb_func_no_t) dtlb_replace_callback, (void *) NULL);
#endif
// CM 2/2003:
|