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.

Signed-off-by: André Draszik <g...@andred.net>
---
 meta/conf/machine/include/mips/tune-mips-24k.inc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta/conf/machine/include/mips/tune-mips-24k.inc 
b/meta/conf/machine/include/mips/tune-mips-24k.inc
index 154ab56..828acd4 100644
--- a/meta/conf/machine/include/mips/tune-mips-24k.inc
+++ b/meta/conf/machine/include/mips/tune-mips-24k.inc
@@ -22,12 +22,15 @@ TUNE_FEATURES_tune-mips32r2-24kec-m16 = 
"${TUNE_FEATURES_tune-mips32r2-24kec} mi
 
 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
@@ -37,9 +40,12 @@ TUNE_FEATURES_tune-mips32r2el-24kec-m16 = 
"${TUNE_FEATURES_tune-mips32r2el-24kec
 
 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"
-- 
2.8.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to