From 19a026fb51378c727d6f2da70bc828b796ab514d Mon Sep 17 00:00:00 2001 From: Robert Norton Date: Thu, 12 May 2016 12:02:01 +0100 Subject: remove redundant wrapper function 'TranslateOrExit' and rename uses. --- mips/mips_insts.sail | 20 ++++++++++---------- mips/mips_prelude.sail | 3 --- 2 files changed, 10 insertions(+), 13 deletions(-) (limited to 'mips') diff --git a/mips/mips_insts.sail b/mips/mips_insts.sail index 04bfc48d..722e3d00 100644 --- a/mips/mips_insts.sail +++ b/mips/mips_insts.sail @@ -1033,7 +1033,7 @@ function clause execute (Load(width, signed, linked, base, rt, offset)) = if ~ (isAddressAligned(vAddr, width)) then exit (SignalExceptionBadAddr(AdEL, vAddr)) (* unaligned access *) else - let pAddr = (TranslateOrExit(vAddr, LoadData)) in + let pAddr = (TLBTranslate(vAddr, LoadData)) in { memResult := if (linked) then { @@ -1068,7 +1068,7 @@ function clause execute (Store(width, conditional, base, rt, offset)) = if ~ (isAddressAligned(vAddr, width)) then exit (SignalExceptionBadAddr(AdES, vAddr)) (* unaligned access *) else - let pAddr = (TranslateOrExit(vAddr, StoreData)) in + let pAddr = (TLBTranslate(vAddr, StoreData)) in { if (conditional) then { @@ -1101,7 +1101,7 @@ function clause execute(LWL(base, rt, offset)) = { (* XXX length check not quite right, but conservative *) (bit[64]) vAddr := addrWrapper(EXTS(offset) + rGPR(base), LoadData, W); - let pAddr = (TranslateOrExit(vAddr, LoadData)) in + let pAddr = (TLBTranslate(vAddr, LoadData)) in { mem_val := MEMr (pAddr[63..2] : 0b00, 4); (* read word of interest *) reg_val := rGPR(rt); @@ -1121,7 +1121,7 @@ function clause execute(LWR(base, rt, offset)) = { (* XXX length check not quite right, but conservative *) (bit[64]) vAddr := addrWrapper(EXTS(offset) + rGPR(base), LoadData, W); - let pAddr = (TranslateOrExit(vAddr, LoadData)) in + let pAddr = (TLBTranslate(vAddr, LoadData)) in { mem_val := MEMr (pAddr[63..2] : 0b00, 4); (* read word of interest *) reg_val := rGPR(rt); @@ -1143,7 +1143,7 @@ function clause execute(SWL(base, rt, offset)) = { (* XXX length check not quite right, but conservative *) (bit[64]) vAddr := addrWrapper(EXTS(offset) + rGPR(base), StoreData, W); - let pAddr = (TranslateOrExit(vAddr, StoreData)) in + let pAddr = (TLBTranslate(vAddr, StoreData)) in { reg_val := rGPR(rt); switch (vAddr[1..0]) @@ -1163,7 +1163,7 @@ function clause execute(SWR(base, rt, offset)) = { (* XXX length check not quite right, but conservative *) (bit[64]) vAddr := addrWrapper(EXTS(offset) + rGPR(base), StoreData, W); - let (pAddr) = (TranslateOrExit(vAddr, StoreData)) in + let (pAddr) = (TLBTranslate(vAddr, StoreData)) in { wordAddr := pAddr[63..2] : 0b00; reg_val := rGPR(rt); @@ -1185,7 +1185,7 @@ function clause execute(LDL(base, rt, offset)) = { (* XXX length check not quite right, but conservative *) (bit[64]) vAddr := addrWrapper(EXTS(offset) + rGPR(base), LoadData, D); - let pAddr = (TranslateOrExit(vAddr, StoreData)) in + let pAddr = (TLBTranslate(vAddr, StoreData)) in { mem_val := MEMr (pAddr[63..3] : 0b000, 8); (* read double of interest *) reg_val := rGPR(rt); @@ -1211,7 +1211,7 @@ function clause execute(LDR(base, rt, offset)) = { (* XXX length check not quite right, but conservative *) (bit[64]) vAddr := addrWrapper(EXTS(offset) + rGPR(base), LoadData, D); - let pAddr = (TranslateOrExit(vAddr, StoreData)) in + let pAddr = (TLBTranslate(vAddr, StoreData)) in { mem_val := MEMr (pAddr[63..3] : 0b000, 8); (* read double of interest *) reg_val := rGPR(rt); @@ -1237,7 +1237,7 @@ function clause execute(SDL(base, rt, offset)) = { (* XXX length check not quite right, but conservative *) (bit[64]) vAddr := addrWrapper(EXTS(offset) + rGPR(base), StoreData, D); - let pAddr = (TranslateOrExit(vAddr, StoreData)) in + let pAddr = (TLBTranslate(vAddr, StoreData)) in { reg_val := rGPR(rt); switch (vAddr[2..0]) @@ -1263,7 +1263,7 @@ function clause execute(SDR(base, rt, offset)) = { (* XXX length check not quite right, but conservative *) (bit[64]) vAddr := addrWrapper(EXTS(offset) + rGPR(base), StoreData, D); - let pAddr = (TranslateOrExit(vAddr, StoreData)) in + let pAddr = (TLBTranslate(vAddr, StoreData)) in { reg_val := rGPR(rt); wordAddr := pAddr[63..3] : 0b000; diff --git a/mips/mips_prelude.sail b/mips/mips_prelude.sail index e27a49d7..c338adf1 100644 --- a/mips/mips_prelude.sail +++ b/mips/mips_prelude.sail @@ -229,9 +229,6 @@ function (bit[64]) TLBTranslate ((bit[64]) vAddr, (MemAccessType) accessType) = addr } -function bit[64] TranslateOrExit((bit[64]) vAddr, (MemAccessType) accessType) = - TLBTranslate(vAddr, accessType) - typedef regno = bit[5] (* a register number *) typedef imm16 = bit[16] (* 16-bit immediate *) typedef regregreg = (regno, regno, regno) (* a commonly used instruction format with three register operands *) -- cgit v1.2.3