fix smul and sdiv to sign extend, and handle overflow/underflow corretly
authorAli Saidi <saidi@eecs.umich.edu>
Thu, 25 Jan 2007 18:43:46 +0000 (13:43 -0500)
committerAli Saidi <saidi@eecs.umich.edu>
Thu, 25 Jan 2007 18:43:46 +0000 (13:43 -0500)
commit8561c8366c7c9afd7e6b52b6e2385b3c1dde95a9
tree1bdc9fe154849d32ad58beb882f465fd8c2a70bd
parent4301e4cd08018eb56b4f196afcce9a8311f390b4
fix smul and sdiv to sign extend, and handle overflow/underflow corretly
Only allow writing/reading of 32 bits of Y
Only allow writing/reading 32 bits of pc when pstate.am
Put any loaded data on the first half of a micro-op in uReg0 so it can't
overwrite the register we are using for address calculation
only erase a entry from the lookup table if it's valid
Put in a temporary check to make sure that lookup table and tlb array stay in sync
if we are interrupted in the middle of a mico-op, reset the micropc/nexpc
so we start  on the first part of it when we come back

src/arch/sparc/isa/decoder.isa:
    fix smul and sdiv to sign extend, and handle overflow/underflow corretly
    Only allow writing/reading of 32 bits of Y
    Only allow writing/reading 32 bits of pc when pstate.am
    Put any loaded data on the first half of a micro-op in uReg0 so it can't
    overwrite the register we are using for address calculation
src/arch/sparc/isa/formats/mem/blockmem.isa:
    Put any loaded data on the first half of a micro-op in uReg0 so it can't
    overwrite the register we are using for address calculation
src/arch/sparc/isa/includes.isa:
    Use limits for 32bit underflow/overflow detection
src/arch/sparc/tlb.cc:
    only erase a entry from the lookup table if it's valid
    Put in a temporary check to make sure that lookup table and tlb array stay in sync
src/arch/sparc/tlb_map.hh:
    add a print function to dump the tlb lookup table
src/cpu/simple/base.cc:
    if we are interrupted in the middle of a mico-op, reset the micropc/nexpc
    so we start  on the first part of it when we come back

--HG--
extra : convert_revision : 50a23837fd888393a5c2aa35cbd1abeebb7f55d4
src/arch/sparc/isa/decoder.isa
src/arch/sparc/isa/formats/mem/blockmem.isa
src/arch/sparc/isa/includes.isa
src/arch/sparc/tlb.cc
src/arch/sparc/tlb_map.hh
src/cpu/simple/base.cc