diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/conf/machine')
26 files changed, 372 insertions, 17 deletions
diff --git a/import-layers/yocto-poky/meta/conf/machine/include/arm/arch-armv7ve.inc b/import-layers/yocto-poky/meta/conf/machine/include/arm/arch-armv7ve.inc index 79e1ef655..e13156c17 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/arm/arch-armv7ve.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/arm/arch-armv7ve.inc @@ -5,8 +5,7 @@ TUNECONFLICTS[armv7ve] = "armv4 armv5 armv6 armv7 armv7a" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 'armv7ve:', '' ,d)}" -require conf/machine/include/arm/arch-armv6.inc -require conf/machine/include/arm/feature-arm-neon.inc +require conf/machine/include/arm/arch-armv7a.inc # Little Endian base configs AVAILTUNES += "armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4" @@ -30,8 +29,8 @@ TUNE_FEATURES_tune-armv7ve-neon = "${TUNE_FEATURES_tune-armv7ve} neon" TUNE_FEATURES_tune-armv7vet-neon = "${TUNE_FEATURES_tune-armv7vet} neon" TUNE_FEATURES_tune-armv7ve-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon} vfpv4" TUNE_FEATURES_tune-armv7vet-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon} vfpv4" -PACKAGE_EXTRA_ARCHS_tune-armv7ve = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7ve armv7ve-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vet = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7ve armv7ve-vfp armv7vet2-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7ve = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7ve armv7ve-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7vet = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp" PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-vfpv3d16" PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16" PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16} armv7ve-vfpv3" @@ -63,8 +62,8 @@ TUNE_FEATURES_tune-armv7vehf-neon = "${TUNE_FEATURES_tune-armv7ve-neon} TUNE_FEATURES_tune-armv7vethf-neon = "${TUNE_FEATURES_tune-armv7vet-neon} callconvention-hard" TUNE_FEATURES_tune-armv7vehf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} callconvention-hard" TUNE_FEATURES_tune-armv7vethf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} callconvention-hard" -PACKAGE_EXTRA_ARCHS_tune-armv7vehf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7vehf-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vethf = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7vehf-vfp armv7vet2hf-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7vehf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7vehf-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7vethf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp" PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv3d16" PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16" PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3" @@ -96,8 +95,8 @@ TUNE_FEATURES_tune-armv7veb-neon = "${TUNE_FEATURES_tune-armv7ve-neon} TUNE_FEATURES_tune-armv7vetb-neon = "${TUNE_FEATURES_tune-armv7vet-neon} bigendian" TUNE_FEATURES_tune-armv7veb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} bigendian" TUNE_FEATURES_tune-armv7vetb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv7veb = "${PACKAGE_EXTRA_ARCHS_tune-armv6b} armv7veb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vetb = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb} armv7veb-vfp armv7vet2b-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7veb = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7veb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7vetb = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7veb-vfp armv7vet2b-vfp" PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv3d16" PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16" PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16} armv7veb-vfpv3" @@ -129,8 +128,8 @@ TUNE_FEATURES_tune-armv7vehfb-neon = "${TUNE_FEATURES_tune-armv7vehf-neon TUNE_FEATURES_tune-armv7vethfb-neon = "${TUNE_FEATURES_tune-armv7vethf-neon} bigendian" TUNE_FEATURES_tune-armv7vehfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} bigendian" TUNE_FEATURES_tune-armv7vethfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} bigendian" -PACKAGE_EXTRA_ARCHS_tune-armv7vehfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7vehfb-vfp" -PACKAGE_EXTRA_ARCHS_tune-armv7vethfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7vehfb-vfp armv7vet2hfb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7vehfb = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7vehfb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7vethfb = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp" PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv3d16" PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16" PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/arm/feature-arm-neon.inc b/import-layers/yocto-poky/meta/conf/machine/include/arm/feature-arm-neon.inc index 50d917522..b34af8e7c 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/arm/feature-arm-neon.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/arm/feature-arm-neon.inc @@ -8,7 +8,7 @@ TUNEVALID[neon] = "Enable Neon SIMD accelerator unit." TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'neon', ' neon', '', d)}" TUNEVALID[vfpv3d16] = "Enable Vector Floating Point Version 3 with 16 registers (vfpv3-d16) unit." -TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', ' vfpv3d16', '', d)}" +TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', ' vfpv3-d16', '', d)}" TUNEVALID[vfpv3] = "Enable Vector Floating Point Version 3 with 32 registers (vfpv3) unit." TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv3', ' vfpv3', '' , d)}" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc b/import-layers/yocto-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc index 4247255c5..9ef31e70e 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc @@ -6,7 +6,7 @@ TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit." TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}" TUNE_CCARGS .= "${@ (' -mfpu=%s ' % d.getVar('TUNE_CCARGS_MFPU', True).split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU', True) != '') else ''}" -ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU', True).split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU', True) != '') else ''}" +ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU', True).split()[-1].replace('vfpv3-d16', 'vfpv3d16')) if (d.getVar('TUNE_CCARGS_MFPU', True) != '') else ''}" TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP." TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU', True) != '') else '' }" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/mips/README b/import-layers/yocto-poky/meta/conf/machine/include/mips/README index c375f316d..62fa1561b 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/mips/README +++ b/import-layers/yocto-poky/meta/conf/machine/include/mips/README @@ -1,3 +1,6 @@ +2016/09/30 - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> + - Add Release 6 support + 2012/03/30 - Mark Hatle <mark.hatle@windriver.com> - Initial Version @@ -6,9 +9,14 @@ MIPS currently defines 12 ABIs. Combinations of: *) Hardware/Software Floating Point *) o32, n32, n64 ABI +Release 6 of the ISA is a major revision and doesn't build up on previous +releases of the ISA. + +For more details about tuples, check https://wiki.debian.org/Multiarch/Tuples + TUNE_ARCH, the GNU canonical arch, is defined as: -mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN} +"mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}" The package arch is defined in such a way to generated a standard naming scheme. The scheme is: <mips variant>[-nf][-n32] @@ -34,3 +42,12 @@ that the tune is using a non-floating point ABI. MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous values are not enough to distringuish the package. "-n32" is added when building for N32 ABI. + +MIPSPKGSFX_R6 - This is used to specify the presence of release 6. +"r6" is added in the tuple for release 6 of the isa. + +MIPSPKGSFX_64R6 - This is used to specify "isa" in the tuple. +Release 6 onwards we use "mipsisa64" instead of just "mips64". + +MIPSPKGSFX_32R6 - This is used to specify "isa32" in the tuple. +Release 6 onwards we use "mipsisa32" instead of just "mips". diff --git a/import-layers/yocto-poky/meta/conf/machine/include/mips/arch-mips.inc b/import-layers/yocto-poky/meta/conf/machine/include/mips/arch-mips.inc index 89d17e7c2..6069ca1ec 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/mips/arch-mips.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/mips/arch-mips.inc @@ -20,6 +20,9 @@ TUNECONFLICTS[n32] = "o32 n64" ABIEXTENSION .= "${@bb.utils.contains('TUNE_FEATURES', 'n32', 'n32', '' ,d)}" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n32', ' -mabi=n32', '', d)}" +# user mode qemu doesn't support mips64 n32: "Invalid ELF image for this architecture" +MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'n32', 'qemu-usermode', '', d)}" + TUNEVALID[n64] = "MIPS64 n64 ABI" TUNECONFLICTS[n64] = "o32 n32" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n64', ' -mabi=64', '', d)}" @@ -29,14 +32,22 @@ TUNEVALID[fpu-hard] = "Use hardware FPU" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard', ' -mhard-float', ' -msoft-float', d)}" TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard', '', 'soft', d)}" +# MIPS r6 ABI +TUNEVALID[r6] = "Use r6" +TUNEVALID[mipsisa64r6] = "Use 64r6" +TUNEVALID[mipsisa32r6] = "Use 32r6" + # Package naming MIPSPKGSFX_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'el', d)}" MIPSPKGSFX_BYTE = "${@bb.utils.contains('TUNE_FEATURES', 'n64' , '64', '', d)}" MIPSPKGSFX_BYTE .= "${@bb.utils.contains('TUNE_FEATURES', 'n32' , '64', '', d)}" MIPSPKGSFX_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard' , '', '-nf', d)}" MIPSPKGSFX_ABI = "${@bb.utils.contains('TUNE_FEATURES', 'n32', '-n32', '', d)}" +MIPSPKGSFX_R6 = "${@bb.utils.contains('TUNE_FEATURES', 'r6', 'r6', '', d)}" +MIPSPKGSFX_64R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', 'isa', '', d)}" +MIPSPKGSFX_32R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', 'isa32', '', d)}" -TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}" +TUNE_ARCH = "mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}" TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}" # Base tunes @@ -100,3 +111,29 @@ TUNE_FEATURES_tune-mips64el-nf = "n64" BASE_LIB_tune-mips64el-nf = "lib64" MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}" PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf" + +# MIPS 64 + o32 +AVAILTUNES += "mips64-o32 mips64el-o32" + +TUNE_FEATURES_tune-mips64-o32 = "o32 bigendian fpu-hard" +BASE_LIB_tune-mips64-o32 = "lib" +MIPSPKGSFX_VARIANT_tune-mips64-o32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64-o32 = "mips mips64-o32" + +TUNE_FEATURES_tune-mips64el-o32 = "o32 fpu-hard" +BASE_LIB_tune-mips64el-o32 = "lib" +MIPSPKGSFX_VARIANT_tune-mips64el-o32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64el-o32 = "mipsel mips64el-o32 mips64el-o32" + +# MIPS 64 o32 and Soft Float +AVAILTUNES += "mips64-nf-o32 mips64el-nf-o32" + +TUNE_FEATURES_tune-mips64-nf-o32 = "o32 bigendian" +BASE_LIB_tune-mips64-nf-o32 = "lib" +MIPSPKGSFX_VARIANT_tune-mips64-nf-o32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64-nf-o32 = "mips-nf mips64-nf-o32" + +TUNE_FEATURES_tune-mips64el-nf-o32 = "o32" +BASE_LIB_tune-mips64el-nf-o32 = "lib" +MIPSPKGSFX_VARIANT_tune-mips64el-nf-o32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-o32 = "mipsel-nf mips64el-nf-o32" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/mips/feature-mips-mips16e.inc b/import-layers/yocto-poky/meta/conf/machine/include/mips/feature-mips-mips16e.inc new file mode 100644 index 000000000..05011dec4 --- /dev/null +++ b/import-layers/yocto-poky/meta/conf/machine/include/mips/feature-mips-mips16e.inc @@ -0,0 +1,17 @@ +TUNEVALID[mips16e] = "Build target packages with MIPS16e ASE instructions" +MIPS_MIPS16E_OPT = "${@['mno-mips16', 'mips16'][d.getVar('MIPS_INSTRUCTION_SET', True) == 'mips16e']}" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' -${MIPS_MIPS16E_OPT}', '', d)}" + +MIPSPKGSFX_MIPS16E .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', '-m16', '', d) if d.getVar('MIPS_MIPS16E_OPT', True) == 'mips16' else ''}" + +# Whether to compile with code to allow interworking between the two +# instruction sets. This allows mips16e code to be executed on a primarily +# mips32/64 system and vice versa. It is strongly recommended that DISTROs not +# turn this off - the actual cost is very small. +TUNEVALID[no-interlink-compressed] = "Disable mixing of standard and MIPS16e code" +MIPS16_TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-interlink-compressed', ' -mno-interlink-compressed', ' -minterlink-compressed', d)}" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' ${MIPS16_TUNE_CCARGS}', '', d)}" +OVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ':mips16e', '', d)}" + +# show status (if compiling in MIPS16e mode) +BUILDCFG_VARS += "${@['', 'MIPS_INSTRUCTION_SET'][d.getVar('MIPS_INSTRUCTION_SET', True) == 'mips16e']}" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/mips/tune-mips-24k.inc b/import-layers/yocto-poky/meta/conf/machine/include/mips/tune-mips-24k.inc new file mode 100644 index 000000000..828acd42e --- /dev/null +++ b/import-layers/yocto-poky/meta/conf/machine/include/mips/tune-mips-24k.inc @@ -0,0 +1,51 @@ +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" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc index 49419b6e0..f751c6b76 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc @@ -7,6 +7,9 @@ TUNECONFLICTS[m64] = "m32 nf" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm64', ' -m64', '', d)}" TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', [ 'm64' ], 'powerpc64', '', d)}" +# user mode qemu doesn't support ppc64 +MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}" + AVAILTUNES += "powerpc64" TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard" BASE_LIB_tune-powerpc64 = "lib64" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/qemu.inc b/import-layers/yocto-poky/meta/conf/machine/include/qemu.inc index f44dbe658..2bc4dc2db 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/qemu.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/qemu.inc @@ -29,3 +29,5 @@ EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc" MACHINE_EXTRA_RRECOMMENDS += "rng-tools" + +IMAGE_CLASSES += "qemuboot" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/qemuboot-mips.inc b/import-layers/yocto-poky/meta/conf/machine/include/qemuboot-mips.inc new file mode 100644 index 000000000..0c60cf297 --- /dev/null +++ b/import-layers/yocto-poky/meta/conf/machine/include/qemuboot-mips.inc @@ -0,0 +1,8 @@ +# For runqemu +IMAGE_CLASSES += "qemuboot" +QB_MEM = "-m 256" +QB_MACHINE = "-machine malta" +QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty" +# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -usbdevice tablet -device virtio-rng-pci" +QB_SYSTEM_NAME = "qemu-system-${TUNE_ARCH}" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/qemuboot-x86.inc b/import-layers/yocto-poky/meta/conf/machine/include/qemuboot-x86.inc new file mode 100644 index 000000000..06ac983d4 --- /dev/null +++ b/import-layers/yocto-poky/meta/conf/machine/include/qemuboot-x86.inc @@ -0,0 +1,15 @@ +# For runqemu +IMAGE_CLASSES += "qemuboot" +QB_SYSTEM_NAME_x86 = "qemu-system-i386" +QB_CPU_x86 = "-cpu qemu32" +QB_CPU_KVM_x86 = "-cpu kvm32" + +QB_SYSTEM_NAME_x86-64 = "qemu-system-x86_64" +QB_CPU_x86-64 = "-cpu core2duo" +QB_CPU_KVM_x86-64 = "-cpu kvm64" + +QB_AUDIO_DRV = "alsa" +QB_AUDIO_OPT = "-soundhw ac97,es1370" +QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1" +# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/tune-mips32r2.inc b/import-layers/yocto-poky/meta/conf/machine/include/tune-mips32r2.inc index 0e95ec852..5e398cbe7 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/tune-mips32r2.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/tune-mips32r2.inc @@ -6,6 +6,7 @@ TUNEVALID[mips32r2] = "Enable mips32r2 specific processor optimizations" TUNECONFLICTS[mips32r2] = "n64 n32" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', ' -march=mips32r2', '', d)}" +# hard float AVAILTUNES += "mips32r2 mips32r2el" TUNE_FEATURES_tune-mips32r2 = "${TUNE_FEATURES_tune-mips} mips32r2" @@ -15,3 +16,14 @@ PACKAGE_EXTRA_ARCHS_tune-mips32r2 = "mips mips32 mips32r2" TUNE_FEATURES_tune-mips32r2el = "${TUNE_FEATURES_tune-mipsel} mips32r2" MIPSPKGSFX_VARIANT_tune-mips32r2el = "mips32r2el" PACKAGE_EXTRA_ARCHS_tune-mips32r2el = "mipsel mips32el mips32r2el" + +# soft float +AVAILTUNES += "mips32r2-nf mips32r2el-nf" + +TUNE_FEATURES_tune-mips32r2-nf = "${TUNE_FEATURES_tune-mips-nf} mips32r2" +MIPSPKGSFX_VARIANT_tune-mips32r2-nf = "mips32r2" +PACKAGE_EXTRA_ARCHS_tune-mips32r2-nf = "mips-nf mips32-nf mips32r2-nf" + +TUNE_FEATURES_tune-mips32r2el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32r2" +MIPSPKGSFX_VARIANT_tune-mips32r2el-nf = "mips32r2el" +PACKAGE_EXTRA_ARCHS_tune-mips32r2el-nf = "mipsel-nf mips32el-nf mips32r2el-nf" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/tune-mips32r6.inc b/import-layers/yocto-poky/meta/conf/machine/include/tune-mips32r6.inc new file mode 100644 index 000000000..47213198c --- /dev/null +++ b/import-layers/yocto-poky/meta/conf/machine/include/tune-mips32r6.inc @@ -0,0 +1,29 @@ +DEFAULTTUNE ?= "mipsisa32r6el" + +require conf/machine/include/mips/arch-mips.inc + +TUNEVALID[mipsisa32r6] = "Enable mipsisa32r6 specific processor optimizations" +TUNECONFLICTS[mipsisa32r6] = "n64 n32" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', ' -march=mips32r6', '', d)}" + +# Base Tunes +AVAILTUNES += "mipsisa32r6 mipsisa32r6el" + +TUNE_FEATURES_tune-mipsisa32r6 = "bigendian mipsisa32r6 fpu-hard r6" +MIPSPKGSFX_VARIANT_tune-mipsisa32r6 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6 = "mipsisa32r6" + +TUNE_FEATURES_tune-mipsisa32r6el = "fpu-hard mipsisa32r6 r6" +MIPSPKGSFX_VARIANT_tune-mipsisa32r6el = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6el = "mipsisa32r6el" + +# Soft Float +AVAILTUNES += "mipsisa32r6-nf mipsisa32r6el-nf" + +TUNE_FEATURES_tune-mipsisa32r6-nf = "bigendian mipsisa32r6 r6" +MIPSPKGSFX_VARIANT_tune-mipsisa32r6-nf = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6-nf = "mipsisa32r6-nf" + +TUNE_FEATURES_tune-mipsisa32r6el-nf = "mipsisa32r6 r6" +MIPSPKGSFX_VARIANT_tune-mipsisa32r6el-nf = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6el-nf = "mipsisa32r6el-nf" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/tune-mips64r2.inc b/import-layers/yocto-poky/meta/conf/machine/include/tune-mips64r2.inc new file mode 100644 index 000000000..75d7535ad --- /dev/null +++ b/import-layers/yocto-poky/meta/conf/machine/include/tune-mips64r2.inc @@ -0,0 +1,84 @@ +DEFAULTTUNE ?= "mips64r2" + +require conf/machine/include/tune-mips64.inc + +TUNEVALID[mips64r2] = "Enable mips64r2 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips64r2', ' -march=mips64r2', '', d)}" + +# Base tunes +AVAILTUNES += "mips64r2 mips64r2el" + +TUNE_FEATURES_tune-mips64r2 = "${TUNE_FEATURES_tune-mips64} mips64r2" +BASE_LIB_tune-mips64r2 = "lib64" +MIPSPKGSFX_VARIANT_tune-mips64r2 = "mips64r2" +PACKAGE_EXTRA_ARCHS_tune-mips64r2 = "mips64 mips64r2" + +TUNE_FEATURES_tune-mips64r2el = "${TUNE_FEATURES_tune-mips64el} mips64r2" +BASE_LIB_tune-mips64r2el = "lib64" +MIPSPKGSFX_VARIANT_tune-mips64r2el = "mips64r2el" +PACKAGE_EXTRA_ARCHS_tune-mips64r2el = "mips64el mips64r2el" + +# MIPS 64r2 Soft Float +AVAILTUNES += "mips64r2-nf mips64r2el-nf" + +TUNE_FEATURES_tune-mips64r2-nf = "${TUNE_FEATURES_tune-mips64-nf} mips64r2" +BASE_LIB_tune-mips64r2-nf = "lib64" +MIPSPKGSFX_VARIANT_tune-mips64r2-nf = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf = "mips64-nf mips64r2-nf" + +TUNE_FEATURES_tune-mips64r2el-nf = "${TUNE_FEATURES_tune-mips64el-nf} mips64r2" +BASE_LIB_tune-mips64r2el-nf = "lib64" +MIPSPKGSFX_VARIANT_tune-mips64r2el-nf = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf = "mips64el-nf mips64r2el-nf" + +# MIPS 64r2 n32 +AVAILTUNES += "mips64r2-n32 mips64r2el-n32" + +TUNE_FEATURES_tune-mips64r2-n32 = "${TUNE_FEATURES_tune-mips64-n32} mips64r2" +BASE_LIB_tune-mips64r2-n32 = "lib32" +MIPSPKGSFX_VARIANT_tune-mips64r2-n32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2-n32 = "mips64-n32 mips64r2-n32" + +TUNE_FEATURES_tune-mips64r2el-n32 = "${TUNE_FEATURES_tune-mips64el-n32} mips64r2" +BASE_LIB_tune-mips64r2el-n32 = "lib32" +MIPSPKGSFX_VARIANT_tune-mips64r2el-n32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-n32 = "mips64el-n32 mips64r2el-n32" + +# MIPS 64r2 n32 and Soft Float +AVAILTUNES += "mips64r2-nf-n32 mips64r2el-nf-n32" + +TUNE_FEATURES_tune-mips64r2-nf-n32 = "${TUNE_FEATURES_tune-mips64-nf-n32} mips64r2" +BASE_LIB_tune-mips64r2-nf-n32 = "lib32" +MIPSPKGSFX_VARIANT_tune-mips64r2-nf-n32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf-n32 = "mips64-nf-n32 mips64r2-nf-n32" + +TUNE_FEATURES_tune-mips64r2el-nf-n32 = "${TUNE_FEATURES_tune-mips64el-nf-n32} mips64r2" +BASE_LIB_tune-mips64r2el-nf-n32 = "lib32" +MIPSPKGSFX_VARIANT_tune-mips64r2el-nf-n32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf-n32 = "mips64el-nf-n32 mips64r2el-nf-n32" + +# MIPS 64r2 o32 +AVAILTUNES += "mips64r2-o32 mips64r2el-o32" + +TUNE_FEATURES_tune-mips64r2-o32 = "${TUNE_FEATURES_tune-mips64-o32} mips64r2" +BASE_LIB_tune-mips64r2-o32 = "lib" +MIPSPKGSFX_VARIANT_tune-mips64r2-o32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2-o32 = "mips mips64-o32 mips64r2-o32" + +TUNE_FEATURES_tune-mips64r2el-o32 = "${TUNE_FEATURES_tune-mips64el-o32} mips64r2" +BASE_LIB_tune-mips64r2el-o32 = "lib" +MIPSPKGSFX_VARIANT_tune-mips64r2el-o32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-o32 = "mipsel mips64el-o32 mips64r2el-o32" + +# MIPS 64r2 o32 and Soft Float +AVAILTUNES += "mips64r2-nf-o32 mips64r2el-nf-o32" + +TUNE_FEATURES_tune-mips64r2-nf-o32 = "${TUNE_FEATURES_tune-mips64-nf-o32} mips64r2" +BASE_LIB_tune-mips64r2-nf-o32 = "lib" +MIPSPKGSFX_VARIANT_tune-mips64r2-nf-o32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf-o32 = "mips-nf mips64r2-nf-o32" + +TUNE_FEATURES_tune-mips64r2el-nf-o32 = "${TUNE_FEATURES_tune-mips64el-nf-o32} mips64r2" +BASE_LIB_tune-mips64r2el-nf-o32 = "lib" +MIPSPKGSFX_VARIANT_tune-mips64r2el-nf-o32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf-o32 = "mipsel-nf mips64r2el-nf-o32" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/tune-mips64r6.inc b/import-layers/yocto-poky/meta/conf/machine/include/tune-mips64r6.inc new file mode 100644 index 000000000..f0ad56468 --- /dev/null +++ b/import-layers/yocto-poky/meta/conf/machine/include/tune-mips64r6.inc @@ -0,0 +1,32 @@ +DEFAULTTUNE ?= "mipsisa64r6el" + +require conf/machine/include/mips/arch-mips.inc + +TUNEVALID[mipsisa64r6] = "Enable mipsisa64r6 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', ' -march=mips64r6', '', d)}" + +# Base Tunes +AVAILTUNES += "mipsisa64r6 mipsisa64r6el" + +TUNE_FEATURES_tune-mipsisa64r6 = "bigendian fpu-hard n64 mipsisa64r6 r6" +MIPSPKGSFX_VARIANT_tune-mipsisa64r6 = "${TUNE_ARCH}" +BASE_LIB_tune-mipsisa64r6 = "lib64" +PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6 = "mipsisa64r6" + +TUNE_FEATURES_tune-mipsisa64r6el = "fpu-hard r6 n64 mipsisa64r6" +MIPSPKGSFX_VARIANT_tune-mipsisa64r6el = "${TUNE_ARCH}" +BASE_LIB_tune-mipsisa64r6el = "lib64" +PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el = "mipsisa64r6el" + +# Soft Float +AVAILTUNES += "mipsisa64r6-nf mipsisa64r6el-nf" + +TUNE_FEATURES_tune-mipsisa64r6-nf = "bigendian r6 n64 mipsisa64r6" +MIPSPKGSFX_VARIANT_tune-mipsisa64r6-nf = "${TUNE_ARCH}" +BASE_LIB_tune-mipsisa64r6-nf = "lib64" +PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-nf = "mipsisa64r6" + +TUNE_FEATURES_tune-mipsisa64r6el-nf = "r6 n64 mipsisa64r6" +MIPSPKGSFX_VARIANT_tune-mipsisa64r6el-nf = "${TUNE_ARCH}" +BASE_LIB_tune-mipsisa64r6el-nf = "lib64" +PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el-nf = "mipsisa64r6el-nf" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce500mc.inc b/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce500mc.inc index a1ca9be4f..bc26a0f87 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce500mc.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce500mc.inc @@ -12,3 +12,6 @@ PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce50 # glibc configure options to get e500mc specific library (for sqrt) GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', '-with-cpu=e500mc', '', d)}" + +# pass -mcpu=e500mc for ppce500mc kernel cross compile +TARGET_CC_KERNEL_ARCH = "-mcpu=e500mc" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce5500.inc b/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce5500.inc index ace26146a..cebb24406 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce5500.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce5500.inc @@ -18,3 +18,6 @@ PACKAGE_EXTRA_ARCHS_tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc # glibc configure options to get e5500 specific library (for sqrt) GLIBC_EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'e5500', '--with-cpu=e5500', '', d)}" + +# QEMU usermode fails with invalid instruction error (YOCTO: #10304) +MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' qemu-usermode', '', d)}" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce6500.inc b/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce6500.inc index da1e864e5..5db7e760c 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce6500.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/tune-ppce6500.inc @@ -19,3 +19,6 @@ PACKAGE_EXTRA_ARCHS_tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc # glibc configure options to get e6500 specific library GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'e6500', '--with-cpu=e6500', '', d)}" GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'e6500', '--with-cpu=e6500', '', d)}" + +# QEMU usermode fails with invalid instruction error (YOCTO: #10304) +MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' qemu-usermode', '', d)}" diff --git a/import-layers/yocto-poky/meta/conf/machine/include/x86-base.inc b/import-layers/yocto-poky/meta/conf/machine/include/x86-base.inc index 5663145be..479e89e54 100644 --- a/import-layers/yocto-poky/meta/conf/machine/include/x86-base.inc +++ b/import-layers/yocto-poky/meta/conf/machine/include/x86-base.inc @@ -20,7 +20,7 @@ SERIAL_CONSOLE ?= "115200 ttyS0" # kernel-related variables # PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto" -PREFERRED_VERSION_linux-yocto ??= "4.4%" +PREFERRED_VERSION_linux-yocto ??= "4.8%" # # XSERVER subcomponents, used to build the XSERVER variable diff --git a/import-layers/yocto-poky/meta/conf/machine/qemuarm.conf b/import-layers/yocto-poky/meta/conf/machine/qemuarm.conf index cdad03fc4..17402ef3b 100644 --- a/import-layers/yocto-poky/meta/conf/machine/qemuarm.conf +++ b/import-layers/yocto-poky/meta/conf/machine/qemuarm.conf @@ -10,3 +10,11 @@ KERNEL_IMAGETYPE = "zImage" SERIAL_CONSOLES = "115200;ttyAMA0 115200;ttyAMA1" +# For runqemu +QB_SYSTEM_NAME = "qemu-system-arm" +QB_MACHINE = "-machine versatilepb" +QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty" +# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +QB_OPT_APPEND = "-show-cursor -usb -usbdevice tablet -device virtio-rng-pci" +PREFERRED_VERSION_linux-yocto ??= "4.8%" +QB_DTB = "${@base_version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}" diff --git a/import-layers/yocto-poky/meta/conf/machine/qemuarm64.conf b/import-layers/yocto-poky/meta/conf/machine/qemuarm64.conf index f59fb15c5..d0750624a 100644 --- a/import-layers/yocto-poky/meta/conf/machine/qemuarm64.conf +++ b/import-layers/yocto-poky/meta/conf/machine/qemuarm64.conf @@ -8,3 +8,17 @@ require conf/machine/include/qemu.inc KERNEL_IMAGETYPE = "Image" SERIAL_CONSOLES = "38400;ttyAMA0 38400;hvc0" + +# For runqemu +QB_SYSTEM_NAME = "qemu-system-aarch64" +QB_MEM = "-m 512" +QB_MACHINE = "-machine virt" +QB_CPU = "-cpu cortex-a57" +QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,38400" +# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +QB_OPT_APPEND = "-show-cursor -device virtio-rng-pci" +QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-device,netdev=net0,mac=@MAC@" +QB_SLIRP_OPT = "-netdev user,id=net0 -device virtio-net-device,netdev=net0" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" +QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" +QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" diff --git a/import-layers/yocto-poky/meta/conf/machine/qemumips.conf b/import-layers/yocto-poky/meta/conf/machine/qemumips.conf index fbf813740..3182ea1b5 100644 --- a/import-layers/yocto-poky/meta/conf/machine/qemumips.conf +++ b/import-layers/yocto-poky/meta/conf/machine/qemumips.conf @@ -4,6 +4,7 @@ require conf/machine/include/qemu.inc require conf/machine/include/tune-mips32r2.inc +require conf/machine/include/qemuboot-mips.inc KERNEL_IMAGETYPE = "vmlinux" KERNEL_ALT_IMAGETYPE = "vmlinux.bin" diff --git a/import-layers/yocto-poky/meta/conf/machine/qemumips64.conf b/import-layers/yocto-poky/meta/conf/machine/qemumips64.conf index 8c3f1fe28..9529f4c4f 100644 --- a/import-layers/yocto-poky/meta/conf/machine/qemumips64.conf +++ b/import-layers/yocto-poky/meta/conf/machine/qemumips64.conf @@ -4,6 +4,7 @@ require conf/machine/include/qemu.inc require conf/machine/include/tune-mips64.inc +require conf/machine/include/qemuboot-mips.inc KERNEL_IMAGETYPE = "vmlinux" KERNEL_ALT_IMAGETYPE = "vmlinux.bin" diff --git a/import-layers/yocto-poky/meta/conf/machine/qemuppc.conf b/import-layers/yocto-poky/meta/conf/machine/qemuppc.conf index bf0038ddb..8703c2086 100644 --- a/import-layers/yocto-poky/meta/conf/machine/qemuppc.conf +++ b/import-layers/yocto-poky/meta/conf/machine/qemuppc.conf @@ -11,3 +11,11 @@ KERNEL_IMAGETYPE = "vmlinux" SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1" +# For runqemu +QB_SYSTEM_NAME = "qemu-system-ppc" +QB_MACHINE = "-machine mac99" +QB_CPU = "-cpu G4" +QB_KERNEL_CMDLINE_APPEND = "console=tty console=ttyS0" +# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +QB_OPT_APPEND = "-show-cursor -usb -usbdevice tablet -device virtio-rng-pci" +QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-pci,netdev=net0,mac=@MAC@" diff --git a/import-layers/yocto-poky/meta/conf/machine/qemux86-64.conf b/import-layers/yocto-poky/meta/conf/machine/qemux86-64.conf index 489194aa6..b191ddd3c 100644 --- a/import-layers/yocto-poky/meta/conf/machine/qemux86-64.conf +++ b/import-layers/yocto-poky/meta/conf/machine/qemux86-64.conf @@ -10,6 +10,7 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" require conf/machine/include/qemu.inc DEFAULTTUNE ?= "core2-64" require conf/machine/include/tune-core2.inc +require conf/machine/include/qemuboot-x86.inc KERNEL_IMAGETYPE = "bzImage" @@ -22,7 +23,10 @@ XSERVER = "xserver-xorg \ xf86-input-evdev \ xf86-video-cirrus \ xf86-video-fbdev \ - xf86-video-vmware" + xf86-video-vmware \ + xf86-video-modesetting \ + xserver-xorg-module-libint10 \ + " MACHINE_FEATURES += "x86" diff --git a/import-layers/yocto-poky/meta/conf/machine/qemux86.conf b/import-layers/yocto-poky/meta/conf/machine/qemux86.conf index 3cc809158..8555fd6bf 100644 --- a/import-layers/yocto-poky/meta/conf/machine/qemux86.conf +++ b/import-layers/yocto-poky/meta/conf/machine/qemux86.conf @@ -9,6 +9,7 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" require conf/machine/include/qemu.inc require conf/machine/include/tune-i586.inc +require conf/machine/include/qemuboot-x86.inc KERNEL_IMAGETYPE = "bzImage" @@ -21,7 +22,10 @@ XSERVER = "xserver-xorg \ xf86-input-evdev \ xf86-video-cirrus \ xf86-video-fbdev \ - xf86-video-vmware" + xf86-video-vmware \ + xf86-video-modesetting \ + xserver-xorg-module-libint10 \ + " MACHINE_FEATURES += "x86" |