Re: [Gems-users] GEMS1.3 ?


Date: Thu, 01 Jun 2006 09:55:07 -0500
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] GEMS1.3 ?
Here is a [brief] summary of the steps to port GEMS to a new version of Simics. Simics 3.0 had some significant changes to its directory structure, as well, which I will describe below.

In all likelihood, not much support will be available to assist your attempt to port, since it is a very complicated process.

Before attempting to port, I recommend the following:
* Download and instantiate a workspace of Simics 3.0.X, become familiar with Simics 3.
* Read the Simics installation guide for Simics 3.0 in its entirety
* Review the section of the Simics programming guide for Simics 3 describing back-compatibility and porting Simics 2.X modules to Simics 3.
* Read the Simics 3 release notes.

--Changes to the code:
* Several of the names of various Simics include files have changed. Notably confio.C, initvar.C, and others are affected. EX: "sparc_api.h" -> "sparc.h"

* Compilation with -DADD_ARCH_TO_API flag is needed to maintain some of the API features used by Ruby/Opal.

* Makefiles and Makefile.common will require modifications to accomidate the change in Simics' directory structure (see below).

* Simics 3.0 uses a "more type-safe" method for memory_transaction_t objects--either all such objects must be changed to v9_memory_transaction_t, or a typedef must be used to alias the types.

* Inclusion of "global.h" is no longer needed. hfatypes.h must not include this file for Simics 3.0.

* Several Simics API functions simply no longer exist in Simics 3.0. Many of these can be removed altogether from the codebase--some must be reconstructed artificially in Ruby/Opal's interface.[Ch]

* Simics will now load a module immediately after compilation to "sign" the module. Neither Opal nor Ruby expect to be loaded in this manner, and will cause a segmentation fault during compile time. ruby.c and opal.c need to be modified to detect this case.

* The names and type of some API functions have changed. The Simics release notes mention most of these.

* Types pa_t and la_t have disappeared. Either typdef them physical_address_t or change the variables themselves.

* Macros IS_DEV_MEM_OP and IS_OTH_MEM_OP have disappeared. They can be replaced with calls to the Simics API.

* Pseudo-exception Sim_PE_Continue no longer exists. We now use Sim_PE_No_Exception in its place.

--Changes to the directory structure:
* Simics 3.0 splits the executables from the user workspace. Thus, the include paths used in the Makefiles will need to be update appropriately.

* The Simics 3.0 workspace must reside at $GEMS/simics and "resemble" a Simics 2.2 installation. The way we have done this is to create symlinks in $GEMS/simics to the import directory, aliased the $GEMS/simics/targets directory as $GEMS/simics/home, and aliased $GEMS/simics/home/serengeti as $GEMS/simics/home/sarek. Within $GEMS/simics/home/sarek, a link must be made to the simics executable, which is found in $GEMS/simics under Simics 3.0. Finally, $GEMS/simics/modules should contain directories for Ruby and Opal, with symlinks to their build files as described in the WIKI.

* The compiler.mk and config.mk files in the Simics workspace may need modification, depending on your platform.

--Good luck.

Regards,
Dan Gibson

May Zhao wrote:
Hi ,

      For some reason, I just need to run Simics 3.x on GEMS. So I'd like to
port GEMS by myself if you can kindly tell me how to do that.
      Thanks a lot.


At 09:45 AM 26/05/2006 -0500, you wrote:
I'm not sure when we will have time to release GEMS 1.3.  I imagine
sometime this summer.

The Simics 3.x changes are pretty minor.  If you need Simics 3.x, you
might want to consider porting GEMS 1.2 yourself (and we can point out
the required changes)

--Mike


May Zhao wrote:

Hi,
     The document on web site shows GEMS 1.3 will support simics3.0. When
will it release?
Regards,
May

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users


_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
[← Prev in Thread] Current Thread [Next in Thread→]
  • Re: [Gems-users] GEMS1.3 ?, Dan Gibson <=