-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/1915/
-----------------------------------------------------------

Review request for Default and Gabe Black.


Description
-------

Changeset 9762:cfc4fa8529b3
---------------------------
x86: Add support for maintaining the x87 tag word

The current implementation of the x87 never updates the x87 tag
word. This is currently not a big issue since the simulated x87 never
checks for stack overflows, however this becomes an issue when
switching between a virtualized CPU and a simulated CPU. This
changeset adds support, which is enabled by default, for updating the
tag register to every floating point microop that updates the stack
top using the spm mechanism.

The new tag words is generated by the helper function
X86ISA::genX87Tags(). This function is currently limited to flagging a
stack position as valid or invalid and does not try to distinguish
between the valid, zero, and special states.


Diffs
-----

  src/arch/x86/faults.cc 9df73385c878 
  src/arch/x86/isa/microops/fpop.isa 9df73385c878 
  src/arch/x86/utility.hh 9df73385c878 
  src/arch/x86/utility.cc 9df73385c878 

Diff: http://reviews.gem5.org/r/1915/diff/


Testing
-------

Quick regressions pass. Tested with a handcoded assembly program that pushes 
and pops things on the x87 stack. Solves a SIGFPE problem when switching 
between simulated and virtualized CPUs (the FTW bits are used to determine if 
there is a stack overflow/underflow).


Thanks,

Andreas Sandberg

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to