From f948e576d996c69b2acbaed876715d35ac7c06a2 Mon Sep 17 00:00:00 2001 From: Ivan Ribeiro Date: Thu, 18 Jul 2019 14:52:05 +0100 Subject: [PATCH 1/2] Default to CAP64 and RISCV architecture --- Makefile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a72152f..21a4334 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,15 @@ - -CAP ?= 128 +CAP ?= 64 ifeq ($(CAP), 128) BSCFLAGS = -D CAP128 else BSCFLAGS = -D CAP64 endif +ARCH ?= RISCV +ifeq ($(ARCH), RISCV) +BSCFLAGS += -D RISCV +endif + verilog-wrappers: CHERICapWrap.bsv CHERICap.bsv CHERICC_Fat.bsv bsc $(BSCFLAGS) -verilog -u $< From ff28e6fa95a1c74f27dccdb907ea0dade03ed198 Mon Sep 17 00:00:00 2001 From: Ivan Ribeiro Date: Fri, 2 Aug 2019 15:53:50 +0100 Subject: [PATCH 2/2] Fix typo, acces_sys_regs -> access_sys_regs --- CHERICC_Fat.bsv | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHERICC_Fat.bsv b/CHERICC_Fat.bsv index e97a501..4263d33 100644 --- a/CHERICC_Fat.bsv +++ b/CHERICC_Fat.bsv @@ -103,7 +103,7 @@ typedef Bit#(CapAddressW) CapAddress; // The Hardware permissions type typedef struct { Bool permit_set_CID; - Bool acces_sys_regs; + Bool access_sys_regs; Bool permit_unseal; Bool permit_ccall; Bool permit_seal; @@ -342,7 +342,7 @@ function Bit#(31) getPerms(CapFat cap); return zeroExtend({softPerms,hardPerms}); endfunction function TempFields getTempFields(CapFat cap) = getMetaInfo(cap); -function Bool privileged(CapFat cap) = cap.perms.hard.acces_sys_regs; +function Bool privileged(CapFat cap) = cap.perms.hard.access_sys_regs; function Bool capInBounds(CapFat cap, TempFields tf, Bool inclusive); // Check that the pointer of a capability is currently within the bounds // of the capability @@ -932,7 +932,7 @@ instance CHERICap #(CapPipe, OTypeW, FlagsW, CapAddressW, CapW); function HardPerms getHardPerms (CapPipe cap); return HardPerms { permitSetCID: cap.capFat.perms.hard.permit_set_CID, - accessSysRegs: cap.capFat.perms.hard.acces_sys_regs, + accessSysRegs: cap.capFat.perms.hard.access_sys_regs, permitUnseal: cap.capFat.perms.hard.permit_unseal, permitCCall: cap.capFat.perms.hard.permit_ccall, permitSeal: cap.capFat.perms.hard.permit_seal, @@ -949,7 +949,7 @@ instance CHERICap #(CapPipe, OTypeW, FlagsW, CapAddressW, CapW); function CapPipe setHardPerms (CapPipe cap, HardPerms perms); cap.capFat.perms.hard = HPerms { permit_set_CID: perms.permitSetCID, - acces_sys_regs: perms.accessSysRegs, + access_sys_regs: perms.accessSysRegs, permit_unseal: perms.permitUnseal, permit_ccall: perms.permitCCall, permit_seal: perms.permitSeal,