We should use cpu_read_xer/cpu_write_xer to save/restore the complete
register since some of its bits are in other fields of CPUPPCState. A
test is added to prevent future regressions.
Fixes: da91a00f19
("target-ppc: Split out SO, OV, CA fields from XER")
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20211014223234.127012-2-matheus.ferst@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
29 lines
734 B
Makefile
29 lines
734 B
Makefile
# -*- Mode: makefile -*-
|
|
#
|
|
# ppc64 specific tweaks
|
|
|
|
VPATH += $(SRC_PATH)/tests/tcg/ppc64
|
|
VPATH += $(SRC_PATH)/tests/tcg/ppc64le
|
|
|
|
ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_POWER8_VECTOR),)
|
|
PPC64_TESTS=bcdsub
|
|
endif
|
|
bcdsub: CFLAGS += -mpower8-vector
|
|
|
|
PPC64_TESTS += byte_reverse
|
|
ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_POWER10),)
|
|
run-byte_reverse: QEMU_OPTS+=-cpu POWER10
|
|
run-plugin-byte_reverse-with-%: QEMU_OPTS+=-cpu POWER10
|
|
else
|
|
byte_reverse:
|
|
$(call skip-test, "BUILD of $@", "missing compiler support")
|
|
run-byte_reverse:
|
|
$(call skip-test, "RUN of byte_reverse", "not built")
|
|
run-plugin-byte_reverse-with-%:
|
|
$(call skip-test, "RUN of byte_reverse ($*)", "not built")
|
|
endif
|
|
|
|
PPC64_TESTS += signal_save_restore_xer
|
|
|
|
TESTS += $(PPC64_TESTS)
|