Re: [Gems-users] Sample Checkpoint file


Date: Fri, 16 Nov 2007 09:02:04 +0100
From: Javier Merino <jmerino@xxxxxxxxxxxxx>
Subject: Re: [Gems-users] Sample Checkpoint file
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:
[← Prev in Thread] Current Thread [Next in Thread→]