[PTLsim-devel] PTLsim revision r228 released!

Matt T. Yourst
Sun Dec 30 01:20:45 EST 2007


PTLsim Users:

I've released the latest version of PTLsim, revision 228. As detailed below, 
this is mostly a bugfix release. Many issues related to the build process 
have finally been addressed (in particular, PTLsim now builds correctly on 
Ubuntu and certain other distros, and the 32-bit vs 64-bit detection is 
handled better). Thanks to everyone who reported these and other bugs.

There are also some new features, including a change to the microcode for the 
DIV and IDIV x86 instructions to make them faster than the previous assist 
based microcode.

Be advised that we removed the ability to run both 32-bit and 64-bit user 
programs with a single 64-bit PTLsim binary, mainly because this feature is 
impossible with newer linker versions and it was rarely used anyway. If this 
is important to you, compile PTLsim separately for both 32-bit and 64-bit. 
This limitation only applies to the userspace PTLsim version - the full 
system hypervisor version is unaffected and can still run all types of code.

We were going to include our new MESI-based cycle accurate cache coherence 
model in this version, but unfortunately development has proceeded slower 
than we hoped, so this is an intermediate release to close out the year. At 
some point in January (if all goes according to plan), we'll release the 
interface specs and the working and cleaned up parts of the code, with more 
to follow a month or two later. Thanks for your patience on this.

Enjoy the new version!

- Matt Yourst

------------------------------------------------------------------------
r228 | yourst | 2007-12-30 00:08:49 -0500 (Sun, 30 Dec 2007) | 65 lines

- makefile: compile correctly on 64-bit Ubuntu systems and others
  that don't define MACHTYPE

- makefile: compile correctly even without subversion or repository

- makefile: compile correctly on new versions of binutils that don't
  like mixing 32-bit and 64-bit .o files in a single program,
  as we previously did for non-code objects.

- config: -kill-after-run option forces simulator to exit after
  next -run instead of waiting (full system version only)

- config: bugfix: "ooo" core plugin should be used by default
  on both full system and userspace PTLsim

- ooocore: bugfix: Fix obscure atomic RMW operation deadlock
  - thanks to Stephan Diestelhorst <stephan.diestelhorst at amd.com>

- uops: add dedicated div, div.s, rem, rem.s uops to implement
  fast integer division and remainder

- microcode: directly decode DIV and IDIV into inline div/rem uops
  instead of flushing pipeline for assist

- microcode: properly support DivideOverflow exception

- microcode: eliminate redundant add uops from LEA microcode

- microcode: indicate RMW insns by setting field in ld and st uops

- microcode: replace "xor R,R" with "xor %zero,%zero" to break
  dependencies early in the pipline

- userspace: 64-bit build now only runs 64-bit user binaries; compile
  a separate 32-bit build for 32-bit code
  - This change was necessary because newer versions of binutils
    break with both 32-bit and 64-bit .o files in a single program,
    plus it was a rarely used feature.
  - NOTE: This only applies to userspace PTLsim. The full system
   version still runs everything regardless of 32/64 mode

- userspace: use sys_rt_sigaction with correct struct for 2.6 kernels

- ptlxen: restore error code if modified by trap handler

- seqcore: fix W64 type casting problems on 32-bit builds

- headers: add pseudo defs for various cond cond combos

- headers: clean up OPCLASS definitions

- superstl: new div_rem and div_rem_s functions return false if an
  exception would occur, in accordance with x86 semantics, rather
  than relying on host's DIV and IDIV instructions, which could crash
  PTLsim on some speculative code.

- superstl: add RandomNumberGenerator

- superstl: add shortptr<T> ++ and -- semantics

- superstl: add FixedValueHashtable

- docs: update all copyright dates to 2008

-- End of Changelog --

-------------------------------------------------------
 Matt T. Yourst                    yourst at peptidal.com
 Peptidal Research Inc., Co-Founder and Lead Architect
-------------------------------------------------------


More information about the PTLsim-devel mailing list