@@ -131,6 +131,16 @@ $(BUILD_DIR)/test-multi-vcpu: $(BUILD_DIR)/test-multi-vcpu.o | $(BUILD_DIR)
131131$(BUILD_DIR ) /test-rwx : $(BUILD_DIR ) /test-rwx.o | $(BUILD_DIR )
132132 $(call link-and-sign,$@ ,$< )
133133
134+ # # Build the TLBI RVAE1IS operand encoder unit test (native macOS binary).
135+ # Pure C; no HVF entitlement needed. Verifies the architectural bit-layout
136+ # of tlbi_rvae1is_operand so a future regression that drops TG=01 (which
137+ # the Apple Silicon integration tests would silently tolerate) fails CI
138+ # immediately.
139+ $(BUILD_DIR ) /test-tlbi-encoder-host : $(BUILD_DIR ) /test-tlbi-encoder-host.o \
140+ | $(BUILD_DIR )
141+ @echo " LD $@ "
142+ $(Q )$(CC ) $(CFLAGS ) -o $@ $^
143+
134144# # Build the proctitle argv-tail regression test (native macOS binary)
135145# Links against the project-built proctitle.o so the exact in-tree code is
136146# exercised; no HVF entitlement is needed because the test only manipulates
@@ -167,6 +177,12 @@ $(BUILD_DIR)/test-shim-cred-race: tests/test-shim-cred-race.c | $(BUILD_DIR)
167177 @echo " CROSS $< (with -lpthread)"
168178 $(Q )$(CROSS_COMPILE ) gcc -D_GNU_SOURCE -static -O2 -o $@ $< -lpthread
169179
180+ # test-mprotect-mt stresses multi-vCPU mprotect under concurrent reader
181+ # threads to surface stale-TLB regressions.
182+ $(BUILD_DIR ) /test-mprotect-mt : tests/test-mprotect-mt.c | $(BUILD_DIR )
183+ @echo " CROSS $< (with -lpthread)"
184+ $(Q )$(CROSS_COMPILE ) gcc -D_GNU_SOURCE -static -O2 -o $@ $< -lpthread
185+
170186# test-shim-urandom-smp spawns N pthreads racing on a shared FD_URANDOM
171187# slot to exercise the shim's LDXR/STXR head-advance under contention.
172188$(BUILD_DIR ) /test-shim-urandom-smp : tests/test-shim-urandom-smp.c | $(BUILD_DIR )
0 commit comments