add an example pagetable where executable permission is barred
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 8 Dec 2021 21:29:51 +0000 (21:29 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 8 Dec 2021 21:30:19 +0000 (21:30 +0000)
src/soc/experiment/test/pagetables.py

index 53bc03912470c98935b4800ac93c6186cc5b763f..46b4f8336861fb15a16e1c2817074c14800d53be 100644 (file)
@@ -13,7 +13,7 @@ test1 = {
 
            0x40000:     # RADIX_SECOND_LEVEL
                         # V = 1 L = 1 SW = 0 RPN = 0
-                        # R = 1 C = 1 ATT = 0 EAA 0x7
+                        # R = 1 C = 1 ATT = 0 EAA 0x3
            b(0xc000000000000183),
 
            0x1000000:   # PROCESS_TABLE_3
@@ -23,3 +23,26 @@ test1 = {
            #0x10004: 0
 
 }
+
+# executable permission is barred here (EAA=0x2)
+test2 = {
+           0x10000:    # PARTITION_TABLE_2
+                       # PATB_GR=1 PRTB=0x1000 PRTS=0xb
+           b(0x800000000100000b),
+
+           0x30000:     # RADIX_ROOT_PTE
+                        # V = 1 L = 0 NLB = 0x400 NLS = 9
+           b(0x8000000000040009),
+
+           0x40000:     # RADIX_SECOND_LEVEL
+                        # V = 1 L = 1 SW = 0 RPN = 0
+                        # R = 1 C = 1 ATT = 0 EAA 0x2
+           b(0xc000000000000182),
+
+           0x1000000:   # PROCESS_TABLE_3
+                        # RTS1 = 0x2 RPDB = 0x300 RTS2 = 0x5 RPDS = 13
+           b(0x40000000000300ad),
+
+           #0x10004: 0
+
+}