diff options
| author | Robert Norton | 2016-12-08 14:38:05 +0000 |
|---|---|---|
| committer | Robert Norton | 2016-12-08 14:38:05 +0000 |
| commit | 1495ba7749f9678c36e5fe130948d425d2a345ff (patch) | |
| tree | b9da505a115a43af95d5ca29e6c673e11ae67c6c | |
| parent | 1442648380a2c7bd2feb43bb05413ac028c0f919 (diff) | |
add target for building cheri_notlb.lem
| -rw-r--r-- | mips/mips_tlb.sail | 1 | ||||
| -rw-r--r-- | mips/mips_tlb_stub.sail | 2 | ||||
| -rw-r--r-- | src/Makefile | 6 |
3 files changed, 9 insertions, 0 deletions
diff --git a/mips/mips_tlb.sail b/mips/mips_tlb.sail index e2549dd6..98cabb4d 100644 --- a/mips/mips_tlb.sail +++ b/mips/mips_tlb.sail @@ -58,6 +58,7 @@ function (bit[64], bool) TLBTranslate2 ((bit[64]) vAddr, (MemAccessType) accessT } } +(* perform TLB translation. bool is CHERI specific TLB bits noStoreCap/suppressTag *) function (bit[64], bool) TLBTranslateC ((bit[64]) vAddr, (MemAccessType) accessType) = { let currentAccessLevel = getAccessLevel() in diff --git a/mips/mips_tlb_stub.sail b/mips/mips_tlb_stub.sail index b2ddfca8..6c4ea057 100644 --- a/mips/mips_tlb_stub.sail +++ b/mips/mips_tlb_stub.sail @@ -2,3 +2,5 @@ function option<TLBIndexT> tlbSearch((bit[64]) VAddr) = None function (bit[64]) TLBTranslate ((bit[64]) vAddr, (MemAccessType) accessType) = vAddr + +function (bit[64], bool) TLBTranslateC ((bit[64]) vAddr, (MemAccessType) accessType) = (vAddr, false) diff --git a/src/Makefile b/src/Makefile index 573bef36..3b12e7c3 100644 --- a/src/Makefile +++ b/src/Makefile @@ -39,6 +39,7 @@ MIPS_NOTLB_SAILS:=$(MIPS_NOTLB_SAILS_PRE) $(BITBUCKET_ROOT)/sail/etc/regfp.sail CHERI_SAIL_DIR:=$(BITBUCKET_ROOT)/sail/cheri +CHERI_NOTLB_SAILS:=$(MIPS_SAIL_DIR)/mips_prelude.sail $(MIPS_SAIL_DIR)/mips_tlb_stub.sail $(CHERI_SAIL_DIR)/cheri_prelude.sail $(MIPS_SAIL_DIR)/mips_insts.sail $(CHERI_SAIL_DIR)/cheri_insts.sail $(MIPS_SAIL_DIR)/mips_ri.sail $(MIPS_SAIL_DIR)/mips_epilogue.sail CHERI_SAILS:=$(MIPS_SAIL_DIR)/mips_prelude.sail $(MIPS_SAIL_DIR)/mips_tlb.sail $(CHERI_SAIL_DIR)/cheri_prelude.sail $(MIPS_SAIL_DIR)/mips_insts.sail $(CHERI_SAIL_DIR)/cheri_insts.sail $(MIPS_SAIL_DIR)/mips_ri.sail $(MIPS_SAIL_DIR)/mips_epilogue.sail elf: @@ -75,6 +76,11 @@ _build/cheri.lem: $(CHERI_SAILS) ./sail.native cd _build ;\ ../sail.native -lem_ast -o cheri $(CHERI_SAILS) +_build/cheri_notlb.lem: $(CHERI_NOTLB_SAILS) ./sail.native + mkdir -p _build + cd _build ;\ + ../sail.native -lem_ast -o cheri_notlb $(CHERI_NOTLB_SAILS) + _build/mips_all.sail: $(MIPS_SAILS) cat $(MIPS_SAILS) > $@ |
