freebsd-dev/sys/conf/options.powerpc
Brandon Bergren 4efb1ca7d2 [PowerPC64LE] Work around qemu TCG bug in mtmsrd emulation.
The TCG implementation of mtmsrd in qemu blindly copies the entire register
to the MSR, instead of the specific bit positions listed in the ISA.

This means that qemu will prematurely switch endian out from under the
running code instead of waiting for the rfid, causing an immediate trap
as it attempts to interpret the next instruction in the wrong endianness.

To work around this, ensure PSL_LE is still set before doing the mtmsrd.

In the future, we may wish to just turn off translation and unconditionally
use rfid to switch to the ofmsr instead of quasi-switching to the ofmsr.

Add a new platform option so this can be disabled. (And so that we can
conditonalize additional QEMU-specific hacks in the platform code.)

Sponsored by:	Tag1 Consulting, Inc.
2020-09-23 00:09:29 +00:00

43 lines
667 B
Plaintext

# $FreeBSD$
# Options specific to the powerpc platform kernels
AIM opt_global.h
BOOKE opt_global.h
BOOKE_E500 opt_global.h
CELL
POWERPC
POWERPC64
POWERPC64LE
POWERPCSPE
FPU_EMU
COMPAT_FREEBSD32 opt_global.h
GFB_DEBUG opt_gfb.h
GFB_NO_FONT_LOADING opt_gfb.h
GFB_NO_MODE_CHANGE opt_gfb.h
MOEA64_STATS opt_pmap.h
AMIGAONE opt_platform.h
MIKROTIK opt_platform.h
MPC85XX opt_platform.h
POWERMAC opt_platform.h
PS3 opt_platform.h
MAMBO
POWERNV opt_platform.h
PSERIES
PSIM
QEMU opt_platform.h
SC_OFWFB opt_ofwfb.h
OFWCONS_POLL_HZ opt_ofw.h
# AGP debugging support
AGP_DEBUG opt_agp.h
# iWARP client interface support in ixl
IXL_IW opt_ixl.h