@@ -80,6 +80,11 @@ module Make
8080 if Cfg. variant Variant_litmus. ConstPacField && not (Cfg. variant Variant_litmus. Pac ) then
8181 Warn. user_error " \" const-pac-field\" variant require \" pac\" variant"
8282
83+ let () =
84+ if (Cfg. variant Variant_litmus. EIS || Cfg. variant Variant_litmus. EOS )
85+ && not (Cfg. variant Variant_litmus. ExS ) then
86+ Warn. user_error " \" eis\" /\" eos\" variants require \" exs\" variant"
87+
8388 module Insert =
8489 ObjUtil. Insert
8590 (struct
@@ -265,6 +270,9 @@ module Make
265270 if Cfg. variant Variant_litmus. MemTag then begin
266271 O. o " #include \" memtag.h\" "
267272 end ;
273+ if Cfg. variant Variant_litmus. ExS then begin
274+ O. o " #include \" exs.h\" "
275+ end ;
268276 if Cfg. variant Variant_litmus. Pac then begin
269277 O. o " #include \" auth.h\" "
270278 end ;
@@ -2161,6 +2169,14 @@ module Make
21612169 in
21622170 O. fi " mte_init(%s);" (pp_tag_check Cfg. tagcheck);
21632171 end ;
2172+ if Cfg. variant Variant_litmus. ExS then
2173+ begin
2174+ let eis_val =
2175+ if Cfg. variant Variant_litmus. EIS then 1 else 0 in
2176+ let eos_val =
2177+ if Cfg. variant Variant_litmus. EOS then 1 else 0 in
2178+ O. fi " init_exs(%d, %d);" eis_val eos_val;
2179+ end ;
21642180 if Cfg. variant Variant_litmus. Pac then
21652181 O. oi " init_pauth();" ;
21662182 O. oi " int id = smp_processor_id();" ;
@@ -2329,6 +2345,8 @@ module Make
23292345 end ;
23302346 if Cfg. variant Variant_litmus. ConstPacField then
23312347 O. fi " if (!check_const_pac_field_variant(%S)) return 0;" doc.Name. name;
2348+ if Cfg. is_kvm && Cfg. variant Variant_litmus. ExS then
2349+ O. fi " if (!check_exs(%S)) return 0;" doc.Name. name ;
23322350 if Cfg. is_kvm then begin
23332351 match db with
23342352 | None ->
0 commit comments