xref: /OK3568_Linux_fs/yocto/poky/meta/conf/machine/include/mips/feature-mips-mips16e.inc (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunTUNEVALID[mips16e] = "Build target packages with MIPS16e ASE instructions"
2*4882a593SmuzhiyunMIPS_MIPS16E_OPT = "${@['mno-mips16', 'mips16'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}"
3*4882a593SmuzhiyunTUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' -${MIPS_MIPS16E_OPT}', '', d)}"
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunMIPSPKGSFX_MIPS16E .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', '-m16', '', d) if d.getVar('MIPS_MIPS16E_OPT') == 'mips16' else ''}"
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun# Whether to compile with code to allow interworking between the two
8*4882a593Smuzhiyun# instruction sets. This allows mips16e code to be executed on a primarily
9*4882a593Smuzhiyun# mips32/64 system and vice versa. It is strongly recommended that DISTROs not
10*4882a593Smuzhiyun# turn this off - the actual cost is very small.
11*4882a593SmuzhiyunTUNEVALID[no-interlink-compressed] = "Disable mixing of standard and MIPS16e code"
12*4882a593SmuzhiyunMIPS16_TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-interlink-compressed', ' -mno-interlink-compressed', ' -minterlink-compressed', d)}"
13*4882a593SmuzhiyunTUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' ${MIPS16_TUNE_CCARGS}', '', d)}"
14*4882a593SmuzhiyunMACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', 'mips16e:', '', d)}"
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun# show status (if compiling in MIPS16e mode)
17*4882a593SmuzhiyunBUILDCFG_VARS += "${@['', 'MIPS_INSTRUCTION_SET'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}"
18