X86: Fix address size handling so real mode works properly.
authorGabe Black <gblack@eecs.umich.edu>
Sat, 31 Mar 2012 19:27:33 +0000 (12:27 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Sat, 31 Mar 2012 19:27:33 +0000 (12:27 -0700)
commita7859f7e4541f2750df52ec725563d378ab7ddbb
tree3ae67d8844327f87e14b839ea24fdf4db9137159
parent74043c4f5c6f4b4d43c518f47da4cd1bd68b9e08
X86: Fix address size handling so real mode works properly.

Virtual (pre-segmentation) addresses are truncated based on address size, and
any non-64 bit linear address is truncated to 32 bits. This means that real
mode addresses aren't truncated down to 16 bits after their segment bases are
added in.
src/arch/x86/isa/microops/ldstop.isa
src/arch/x86/tlb.cc