From f444872e662aa097ad705a54e47f2ed8f77e3743 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Mon, 29 Mar 2021 20:05:11 +0100 Subject: [PATCH] correct segment check (off by one in LE/BE convert --- src/soc/decoder/isa/radixmmu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/soc/decoder/isa/radixmmu.py b/src/soc/decoder/isa/radixmmu.py index 9bd6d53f..6f4aeae7 100644 --- a/src/soc/decoder/isa/radixmmu.py +++ b/src/soc/decoder/isa/radixmmu.py @@ -495,7 +495,7 @@ class RADIX: # below *directly* match the spec, unlike microwatt which # has to turn them around (to LE) mask = genmask(shift, 44) - nonzero = addr[1:32] & mask[13:44] # mask 31 LSBs (BE numbered 13:44) + nonzero = addr[2:33] & mask[13:44] # mask 31 LSBs (BE numbered 13:44) print ("RADIX _segment_check nonzero", bin(nonzero.value)) print ("RADIX _segment_check addr[0-1]", addr[0].value, addr[1].value) if addr[0] != addr[1] or nonzero != 0: -- 2.30.2