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