mirror of
https://git.yoctoproject.org/poky
synced 2026-02-28 04:19:40 +01:00
The core emulated by default by qemu-mips(el) just crashes with illegal instruction when encountering DSP and/or MIPS16e instructions - we have to specify a CPU that supports the extra instructions. This is an issue when generating a rootfs and e.g. running some of the package postinstall scriptlets. The patch to qemu to add 24KEc as a CPU has been accepted upstream, so let's use that CPU here as well as needed. (From OE-Core rev: 8af17075f56241dd8f3ea86c609adbd73f248218) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
52 lines
2.6 KiB
HTML
52 lines
2.6 KiB
HTML
DEFAULTTUNE ?= "mips32r2-24kc"
|
|
|
|
MIPSPKGSFX_MIPS16E ??= ""
|
|
|
|
require conf/machine/include/tune-mips32r2.inc
|
|
require conf/machine/include/mips/feature-mips-mips16e.inc
|
|
|
|
|
|
TUNEVALID[24kc] = "Enable MIPS 24Kc processor optimizations"
|
|
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "24kc", " -mtune=24kc", "", d)}"
|
|
TUNEVALID[24kec] = "Enable MIPS 24KEc processor optimizations, including DSP"
|
|
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "24kec", " -mtune=24kec -mdsp", "", d)}"
|
|
|
|
|
|
AVAILTUNES += "mips32r2-24kc mips32r2-24kec mips32r2-24kec-m16"
|
|
AVAILTUNES += "mips32r2el-24kc mips32r2el-24kec mips32r2el-24kec-m16"
|
|
|
|
# big endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16
|
|
TUNE_FEATURES_tune-mips32r2-24kc = "${TUNE_FEATURES_tune-mips32r2-nf} 24kc"
|
|
TUNE_FEATURES_tune-mips32r2-24kec = "${TUNE_FEATURES_tune-mips32r2-nf} 24kec"
|
|
TUNE_FEATURES_tune-mips32r2-24kec-m16 = "${TUNE_FEATURES_tune-mips32r2-24kec} mips16e"
|
|
|
|
MIPSPKGSFX_VARIANT_tune-mips32r2-24kc = "mips32r2-24kc"
|
|
PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-nf} mips32r2-24kc-nf"
|
|
QEMU_EXTRAOPTIONS_mips32r2-24kc-nf = " -cpu 24Kc"
|
|
|
|
MIPSPKGSFX_VARIANT_tune-mips32r2-24kec = "mips32r2-24kec"
|
|
PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kec = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kc} mips32r2-24kec-nf"
|
|
QEMU_EXTRAOPTIONS_mips32r2-24kec-nf = " -cpu 24KEc"
|
|
|
|
MIPSPKGSFX_VARIANT_tune-mips32r2-24kec-m16 = "mips32r2-24kec${MIPSPKGSFX_MIPS16E}"
|
|
PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kec-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2-24kec} mips32r2-24kec-m16-nf"
|
|
QEMU_EXTRAOPTIONS_mips32r2-24kec-m16-nf = " -cpu 24KEc"
|
|
|
|
|
|
# little endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16
|
|
TUNE_FEATURES_tune-mips32r2el-24kc = "${TUNE_FEATURES_tune-mips32r2el-nf} 24kc"
|
|
TUNE_FEATURES_tune-mips32r2el-24kec = "${TUNE_FEATURES_tune-mips32r2el-nf} 24kec"
|
|
TUNE_FEATURES_tune-mips32r2el-24kec-m16 = "${TUNE_FEATURES_tune-mips32r2el-24kec} mips16e"
|
|
|
|
MIPSPKGSFX_VARIANT_tune-mips32r2el-24kc = "mips32r2el-24kc"
|
|
PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kc = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-nf} mips32r2el-24kc-nf"
|
|
QEMU_EXTRAOPTIONS_mips32r2el-24kc-nf = " -cpu 24Kc"
|
|
|
|
MIPSPKGSFX_VARIANT_tune-mips32r2el-24kec = "mips32r2el-24kec"
|
|
PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kec = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kc} mips32r2el-24kec-nf"
|
|
QEMU_EXTRAOPTIONS_mips32r2el-24kec-nf = " -cpu 24KEc"
|
|
|
|
MIPSPKGSFX_VARIANT_tune-mips32r2el-24kec-m16 = "mips32r2el-24kec${MIPSPKGSFX_MIPS16E}"
|
|
PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kec-m16 = "${PACKAGE_EXTRA_ARCHS_tune-mips32r2el-24kec} mips32r2el-24kec-m16-nf"
|
|
QEMU_EXTRAOPTIONS_mips32r2el-24kec-m16-nf = " -cpu 24KEc"
|