--- ./source/private_module/SRC/mpa_mml_app.c	2020-11-10 04:01:37.682501375 +0000
+++ ./source/private_module/SRC/mpa_mml_app.c.hotpatch	2021-01-27 13:58:03.002501375 +0000
@@ -32,11 +32,11 @@
 /*----------------------------------------------*
 * ⲿ˵                                 *
 *----------------------------------------------*/
-
+extern MML_MPA_CMD_S g_MmlCmdTableForPatch[];
 /*----------------------------------------------*
 * ȫֱ                                     *
 *----------------------------------------------*/
-
+extern OSP_U16 g_MmlCmdTableLenForPatch;
  /******************************************************************************
  *     : MPA_MMLCmdSearch
  *   : MMLѯӿ
@@ -61,11 +61,11 @@
     (OSP_VOID)MpaAddr;
     (OSP_VOID)DriverId;
     
-    for (Cnt = 0; Cnt < g_MmlCmdTableLen; Cnt++)
+    for (Cnt = 0; Cnt < g_MmlCmdTableLenForPatch; Cnt++)
     {
         MML_Print("mpa bmc(sas) %-15s \t cmd paracnt:%d\n",
-                  g_MmlCmdTable[Cnt].HanderName,
-                  g_MmlCmdTable[Cnt].ParaCnt);
+                  g_MmlCmdTableForPatch[Cnt].HanderName,
+                  g_MmlCmdTableForPatch[Cnt].ParaCnt);
     }
 
     return DRV_RETURN_OK;
--- ./source/private_module/SRC/mpa_mml_core.c	2020-11-10 04:01:37.674501375 +0000
+++ ./source/private_module/SRC/mpa_mml_core.c.hotpatch	2021-01-27 13:58:03.002501375 +0000
@@ -60,8 +60,8 @@
 /*----------------------------------------------*
  *                                      *
  *----------------------------------------------*/
-
-
+MML_MPA_CMD_S g_MmlCmdTableForPatch[];
+OSP_U16 g_MmlCmdTableLenForPatch;
 
 
 /*----------------------------------------------*
@@ -438,7 +438,7 @@
 
     Index = MmlInfo->Index;
     /*õǰmml*/
-    ParaCnt = g_MmlCmdTable[Index].ParaCnt;
+    ParaCnt = g_MmlCmdTableForPatch[Index].ParaCnt;
 
     /*жϲǷȷ*/
     if (g_CurCmdNum != (ParaCnt + MML_PARA_START))
@@ -500,16 +500,16 @@
 
     Index = MmlInfo->Index;
     /*õǰmml*/
-    ParaCnt = g_MmlCmdTable[Index].ParaCnt;
+    ParaCnt = g_MmlCmdTableForPatch[Index].ParaCnt;
 
     /*õǰmml*/
     if (!strncmp("-f", g_MmlCmd[MML_PARA_START + 1], strlen("-f")))
     {
-        ParaCnt = g_MmlCmdTable[Index].ParaCnt + 1;
+        ParaCnt = g_MmlCmdTableForPatch[Index].ParaCnt + 1;
     }
     else
     {
-        ParaCnt = g_MmlCmdTable[Index].ParaCnt;
+        ParaCnt = g_MmlCmdTableForPatch[Index].ParaCnt;
     }
 
     /*жϲǷȷ*/
@@ -776,7 +776,7 @@
     }
     
     /*ִк*/
-    MPA_MML_ExecuteIn(McuType, g_MmlCmdTable, g_MmlCmdTableLen);
+    MPA_MML_ExecuteIn(McuType, g_MmlCmdTableForPatch, g_MmlCmdTableLenForPatch);
 }
 
  /******************************************************************************
@@ -881,3 +881,698 @@
     MML_UnRegister(PID_DDEV);
 }
 
+/*mml*/
+/*mml*/
+MML_MPA_CMD_S g_MmlCmdTableForPatch[] =
+{
+    /* BEGIN: Added by liwei 90003951, 2015/6/16  ⵥ:DTS2015061607020, 
+    ޸ԭ:PANGEA V200R002C00B022 + MPA + SAS󿨡γһռ־ҪʹõMML */
+    #ifdef DRV_DBG
+    /*ַ          cmd     ucIdCnt   inlen paracnt   pfun             */
+    {"?",                      0,      MPA_MMLCmdSearch                 },/**/
+/*¶*/    
+    {"gettemp",                0,      MPA_MMLGetTemperature            },
+    {"settemp",                1,      MPA_MMLSetTemprature             },
+    {"gettemptype",            0,      MPA_MMLGetTemperatureSubtype     },
+    {"gettempstate",           0,      MPA_MMLGetTemperatureState     },
+    {"gettempname",            0,      MPA_MMLGetTemperatureName        },
+    {"gettemplimit",           0,      MPA_MMLGetTemperatureLimit       },
+    {"settemplimit",           24,     MPA_MMLSetTemperatureLimit       },  
+    {"restoretemplimit",       0,      MPA_MMLRestoreTemperatureThres       },
+
+    {"getfrualltemp",          1,      MPA_MMLGetFruAllTemperature      },
+    {"getfrualltemptype",      1,      MPA_MMLGetFruAllTemperatureType      },
+    {"getfrualltempstate",     1,      MPA_MMLGetFruAllTemperatureState      },
+    {"settemperr",           1,      MPA_MMLSetSensorErr},
+    
+/*ѹ*/
+    {"getvoltage",             0,      MPA_MMLGetVoltage                },
+    {"setvoltage",             2,      MPA_MMLSetVoltage                },
+    {"getvoltagelimit",        0,      MPA_MMLGetVoltageLimit           },
+    {"setvoltagelimit",        24,      MPA_MMLSetVoltageLimit           },
+    {"getvolsubtype",          0,      MPA_MMLGetVoltageSubtype         },
+    {"getvolname",             0,      MPA_MMLGetVoltageName            },
+    {"getvolstate",            0,      MPA_MMLGetVoltState              },
+
+    {"getfruallvolt",          1,      MPA_MMLGetFruAllVoltage      },
+    {"getfruallvolttype",      1,      MPA_MMLGetFruAllVoltageType      },
+    {"getfruallvoltstate",     1,      MPA_MMLGetFruAllVoltageState      },
+
+/*MCUģʽ*/
+    {"getmcumode",             0,      MPA_MMLGetMcuMode                },    
+    {"setmcumode",             1,      MPA_MMLSetMcuMode                },
+
+/*λ*/
+    {"getpresent",             0,      MPA_MMLGetPresent                },
+    {"getpeerpresent",         0,      MPA_MMLGetPeerPresent            },
+
+/*Ϣ*/
+    {"getfrulist",             0,      MPA_MMLGetFruList                },
+    {"getfrutype",             0,      MPA_MMLGetFruType                },
+    {"getexpboardspeed",       0,      MPA_MMLGetExpBoardSpeed          },
+    {"getfruslotname",         0,      MPA_MMLGetFruSilkScreen          },
+    {"getfruvisiblemap",       0,      MPA_MMLGetFruVisibleMap          },
+
+    {"getdevicefrutype",       0,      MPA_MMLGetDeviceFruType          },
+    {"getframemode",           0,      MPA_MMLGetFrameModel             },
+    
+/*Ϣbegin*/
+    {"getmac",                 0,      MPA_MMLGetMac                    },
+    {"setmac",                 6,      MPA_MMLSetMac                    },
+    {"getsmmmac",              0,      MPA_MMLGetSmmMac                    },
+    {"setsmmmac",              6,      MPA_MMLSetSmmMac                    },       
+    {"getsn",                  0,      MPA_MMLGetSN                     },
+    {"setsn",                  1,      MPA_MMLSetSN                     },
+    {"getlicense",             0,      MPA_MMLGetLicense                },
+    {"setlicense",             1,      MPA_MMLSetLicense                },
+    {"getbrand",               0,      MPA_MMLGetBrand                  },
+    {"setbrand",               1,      MPA_MMLSetBrand                  },
+    {"getmodel",               0,      MPA_MMLGetModel                  },
+    {"setmodel",               1,      MPA_MMLSetModel                  },
+    {"getoemmodel",            0,      MPA_MMLGetOemModel                  },
+    {"setoemmodel",            1,      MPA_MMLSetOemModel                  },
+    {"getvendor",              0,      MPA_MMLGetVendor                 },
+    {"setvendor",              1,      MPA_MMLSetVendor                 },
+    {"getlogo",                0,      MPA_MMLGetLogo                   },
+    {"setlogo",                1,      MPA_MMLSetLogo                   },
+    {"getesn",                 0,      MPA_MMLGetESN                    },
+    {"setesn",                 1,      MPA_MMLSetESN                    },
+    {"getspec",                0,      MPA_MMLGetSpec                   },
+    {"setspec",                1,      MPA_MMLSetSpec                   },
+    {"getframeinfo",           0,      MPA_MMLGetFrameInfo              },
+    {"setframeinfo",           1,      MPA_MMLSetFrameInfo              },
+    {"getpowercfg",            0,      MPA_MMLGetPowerConfig     },
+    {"setpowercfg",            1,      MPA_MMLSetPowerConfig     },
+    {"setpassword",            1,      MPA_MMLSetPassword               },
+    /* BEGIN: Added by jiangfanlu 00101148, 2014/12/5  ⵥ:CR-01602318, ޸ԭ:CR-01592961-OceanStor 5800 V3 V300R002C00-ϵͳĬûadminƳȲ) */
+    {"setuserandpassword",     1,      MPA_MMLSetUserAndPassword        },
+    /* END:   Added by jiangfanlu 00101148, 2014/12/5 ⵥ:CR-01602318 */
+    {"clearpassword",          0,      MPA_MMLClearPassword             },
+    {"getjbodflag",            0,      MPA_MMLGetJbodFlag               },
+    {"setjbodflag",            1,      MPA_MMLSetJbodFlag               },
+/* Begin: add by c00217527 2016.04.19 ⵥ: AR_0000247774-001-005 reason: ֵ֧װʱ־־û */
+    {"setbackboardmaxrate",    1,      MPA_MMLSetMaxRateFlag            },
+/* End: add by c00217527 */
+    {"getnebs",                0,      MPA_MMLGetNebs                   },
+    {"setnebs",                1,      MPA_MMLSetNebs                   },
+    {"getelable",              0,      MPA_MMLGetElable                 },
+    {"getpeerelable",          0,      MPA_MMLGetPeerElable             },
+    {"geteepromelable",        0,      MPA_MMLGetEepromElable           },
+    {"setelable",              1,      MPA_MMLSetElable                 },
+
+    {"setctrlelable",              1,      MPA_MMLSetCtrlBoardElable                 },
+    {"getctrlelable",              0,      MPA_MMLGetCtrlBoardMemoryElable                 },
+    {"getctrle2elable",              0,      MPA_MMLGetCtrlBoardEepromElable                 },
+
+    {"getethconfig",           0,      MPA_MMLGetBackBoardEthConfig     },
+    {"setethconfig",           4,      MPA_MMLSetBackBoardEthConfig     },
+    
+/*Ϣend*/
+/* дϻ*/
+    {"writekbox",           1,      MPA_MMLWriteKBox     },
+    {"readkbox",           0,       MPA_MMLReadKBox     },
+
+/**/    
+    {"upgrademgmtprepare",         0,      MPA_MMLUpdateMgmtPrepare   },
+    {"upgrademgmtsendfile",        1,      MPA_MMLUpdateMgmtSendFile   },
+    {"upgrademgmtstart",           0,      MPA_MMLUpdateMgmtStart   },
+    {"upgraderollback",            0,      MPA_MMLUpdateRollBack   },
+    {"upgradecpldprepare",         0,      MPA_MMLUpdateCpldPrepare   },
+    {"upgradecpldsendfile",        1,      MPA_MMLUpdateCpldSendFile   },
+
+    {"upgradesmmcpldsendfile",     1,      MPA_MMLUpdateSmmCpldSendFile   },
+
+    {"upgradecpldstart",           0,      MPA_MMLUpdateCpldStart   },
+
+    {"upgradechipsendfile",        1,      MPA_MMLUpdateChipSendFile   },
+    {"upgradechipstart",           0,      MPA_MMLUpdateChipStart   },
+
+/*汾*/
+    {"getmgmtversion",         0,      MPA_MMLGetMgmtVersion            },
+    {"getmgmtcputype",         0,      MPA_MMLGetMgmtCpuType            },
+    {"getcpldversion",         0,      MPA_MMLGetCpldVersion            },
+    {"getpeercpldversion",     0,      MPA_MMLGetPeerCpldVersion            },
+    {"gethardwareversion",     0,      MPA_MMLGetHardwareVersion        },
+    {"getpeerhwver",           0,      MPA_MMLGetPeerHwVer              },
+    {"getdevicehardwareversion",     0,      MPA_MMLGetDeviceHardwareVersion        },
+    {"get8796version",         0,      MPA_MMLGetPCIE8796Version            },
+    {"get72463version",        0,      MPA_MMLGetSATA72463Version            },
+    {"get8717version",         0,      MPA_MMLGetPCIE8717Version            },
+    {"getdmaretimerversion",   0,      MPA_MMLGetDmaRetimerVersion            },
+    {"getchipversion",         0,      MPA_MMLGetChipFwVer            },
+
+
+/**/
+    {"getchipmasterslave",     0,      MPA_MMLGetMgmtMasterSlave        },
+    {"changechipdegree",       0,      MPA_MMLSetMgmtDegreeChange        },
+    {"setchipreset",           0,      MPA_MMLSetMgmtReset        },
+    {"getsyskillflag",         0,      MPA_MMLGetSysKillFlag        },
+    {"setsyskillflag",         1,      MPA_MMLSetSysKillFlag        },
+    
+/**/    
+    {"getframenum",            0,      MPA_MMLGetFrameNumber            },
+    {"setframenum",            2,      MPA_MMLSetFrameNumber            },
+/*ÿ˿ģʽ(/˫)*/    
+    {"getframeportmode",    0,      MPA_MMLGetFramePortMode},
+    {"setframeportmode",    4,      MPA_MMLSetFramePortMode},
+    {"getframeslotpwrctrlcfg",      0,      MPA_MMLGetFrameSlotPwrCtrlCfg},
+
+/*µ*/
+    {"getframepower",         0,      MPA_MMLGetFramePower     },
+    {"setframepower",         1,      MPA_MMLSetFramePower     },
+    
+    {"getbbubackupflag",      0,      MPA_MMLGetBbuBackUpFlag     },
+    {"setproductconfig",      7,      MPA_MMLSetProductConfig     },
+
+/*˿*/
+    {"getattachedwwn",         0,      MPA_MMLGetAttachedWwn},
+    {"getportwidth",           0,      MPA_MMLGetPortWidth},
+    {"getportmaxwidth",        0,      MPA_MMLGetPortMaxWidth},
+    {"getportphysrate",        0,      MPA_MMLGetPortPhysRate},
+    {"getportlinkrate",        0,      MPA_MMLGetPortLinkRate},
+    {"getportstatus",          0,      MPA_MMLGetPortLinkStatus},
+    {"getpeerportstatus",      0,      MPA_MMLGetPeerPortLinkStatus},
+
+    {"setportinout",           1,      MPA_MMLSetPortInOut},
+    {"getportupdowntype",      0,      MPA_MMLGetPortUpDownType},
+    {"getportfirstphyid",      0,      MPA_MMLGetLocalPortFirstPhyId},
+    {"getattportfirstphyid",   0,      MPA_MMLGetAttPortFirstPhyId},
+    {"getportwwn",             0,      MPA_MMLGetPortWwn},
+    {"getattportinitorexp",    0,      MPA_MMLGetAttPortInitOrExp},
+
+    {"getportphyerr",          1,      MPA_MMLGetPortPhyErr},
+    {"getportphyswitch",       1,      MPA_MMLGetPortPhySwitch},
+    {"getportswitch",          0,      MPA_MMLGetPortSwitch},
+    {"setphyerr",              28,     MPA_MMLSetPhyErr},
+
+    {"clearphyerr",            0,      MPA_MMLClearAllPhyErr},
+    {"setbufferingswitch",     1,      MPA_MMLSetBufferingSwitch},
+    {"getbufferingswitch",     0,      MPA_MMLGetBufferingSwitch},
+    {"getphyisopara",          0,      MPA_MMLGetIsoPara},
+    {"setphyisopara",          2,      MPA_MMLSetIsoPara},
+    {"setpeerpresent",         2,      MPA_MMLSetIsoPara},
+    {"set6gphyinfo",           3,      MPA_MMLSet6GPhyInfo},
+    {"set3gphyinfo",           3,      MPA_MMLSet3GPhyInfo},
+    {"setphytxpara",           5,      MPA_MMLSetPhyTxPara},
+    {"getphytxpara",           1,      MPA_MMLGetPhyTxPara},
+    {"getphyrxpara",           0,      MPA_MMLGetPhyRxPara},
+    {"setphyrate",             1,      MPA_MMLSetPhyRate},
+
+/*Ӳ*/
+    {"getdiskpowerstatus",     0,       MPA_MMLGetDiskPowerStatus                          },
+    {"setdiskpowerstatus",     1,       MPA_MMLSetDiskPowerStatus                          },
+    {"getdiskledstatus",       1,       MPA_MMLGetDiskLedStatus                            },
+    {"setdiskledstatus",       2,       MPA_MMLSetDiskLedStatus                            },
+    {"setdiskswitchstatus",    1,       MPA_MMLSetDiskSwitchStatus                         },
+    {"getdiskswitchstatus",    0,       MPA_MMLGetDiskSwitchStatus                         },
+    {"getdiskinloopstatus",    0,       MPA_MMLGetDiskInLoopStatus                         },
+    {"getdiskphyerr",          0,       MPA_MMLGetDiskPhyErr                               },
+    {"setdisktemperature",     2,       MPA_MMLSetDiskTemperature                          },
+    {"getencldiskledstatus",   0,       MPA_MMLGetEnclAllDiskLedStatus                     },
+    {"getencldiskinloopstatus",0,       MPA_MMLGetEnclAllDiskInLoopStatus                  },
+
+/*led*/
+    {"getledstatus",           1,      MPA_MMLGetLedStatus},
+    {"setledstatus",           2,      MPA_MMLSetLedStatus},
+
+    {"settime",                7,      MPA_MMLSetTime},
+    {"gettime",                0,      MPA_MMLGetTime},
+
+    {"setrtctime",                7,      MPA_MMLSetRtcTime},
+    {"getrtctime",                0,      MPA_MMLGetRtcTime},
+    
+/*Źʹܱ־*/
+    {"getwdgflag",             0,      MPA_MMLGetWatchDogEnableFlag     },
+    {"setwdgflag",             2,      MPA_MMLSetWatchDogEnableFlag     },
+    {"setboardwdt",            1,      MPA_MMLSetBoardWdtSignal   },
+     
+/*BIOSر־*/
+    {"getbiosflag",            0,      MPA_MMLGetBiosSwitchFlag         },
+    {"setbiosflag",            2,      MPA_MMLSetBiosSwitchFlag         },
+
+/*Դťµ־*/
+    {"getpwrbtnflag",          0,      MPA_MMLGetPowerButtomMod         },
+    {"setpwrbtnflag",          2,      MPA_MMLSetPowerButtomMod         },
+    
+/*ư/λ*/
+    {"getslotid",              0,      MPA_MMLGetBoardSlotId            },
+
+    {"upgradefpgaprepare",         0,      MPA_MMLUpdateFpgaPrepare   },
+    {"upgradefpgasendfile",        1,      MPA_MMLUpdateFpgaSendFile   },
+    {"upgradefpgastart",           0,      MPA_MMLUpdateFpgaStart   },
+    {"upgradebbuprepare",          0,      MPA_MMLUpdateBbuPrepare   },
+    {"upgradebbusendfile",         1,      MPA_MMLUpdateBbuSendFile   },
+    {"upgradebbustart",            0,      MPA_MMLUpdateBbuStart   },
+        
+    {"upgradecfgchipprepare",      0,      MPA_MMLUpdateConfigChipPrepare   },
+    {"upgradecfgchipsendfile",     1,      MPA_MMLUpdateConfigChipSendFile   },
+    {"upgradecfgchipstart",        0,      MPA_MMLUpdateConfigChipStart   },
+        
+    {"upgrade72463prepare",        0,      MPA_MMLUpdateSATA72463Prepare   },
+    {"upgrade72463sendfile",       1,      MPA_MMLUpdateSATA72463SendFile   },
+    {"upgrade72463start",          0,      MPA_MMLUpdateSATA72463Start   },
+        
+    {"upgrade8717prepare",         0,      MPA_MMLUpdatePCIE8717Prepare   },
+    {"upgrade8717sendfile",        1,      MPA_MMLUpdatePCIE8717SendFile   },
+    {"upgrade8717start",           0,      MPA_MMLUpdatePCIE8717Start   },
+        
+    {"upgradedmaprepare",          0,      MPA_MMLUpdateDmaRetimerPrepare   },
+    {"upgradedmasendfile",         1,      MPA_MMLUpdateDmaRetimerSendFile   },
+    {"upgradedmastart",            0,      MPA_MMLUpdateDmaRetimerStart   },
+
+/*ѯ״̬*/
+    {"getmgmtupgradestate",    0,      MPA_MMLGetMgmtUpgradeState            },
+    {"getcpldupgradestate",    0,      MPA_MMLGetCpldUpgradeState            },
+    {"getfpgaupgradestate",    0,      MPA_MMLGetFpgaUpgradeState            },
+    {"getbbuupgradestate",     0,      MPA_MMLGetBbuUpgradeState            },
+    {"getchipupgradestate",    0,      MPA_MMLGetChipUpgradeState            },
+    {"getchipsupportupgrade",  0,      MPA_MMLGetChipSupportUpgrade},
+    {"getchipupgraderestcnt",  0,      MPA_MMLGetChipUpgradeRestCnt},
+
+    {"getfpgaversion",         0,      MPA_MMLGetFpgaVersion                 },
+    
+    {"getfanname",             0,      MPA_MMLGetFanName                 },
+    {"getpowername",           0,      MPA_MMLGetPowerName                 },
+    {"getwdgname",             0,      MPA_MMLGetWatchDogName                 },
+    {"getdiskname",            0,      MPA_MMLGetDiskName                 },
+    {"getbbuname",             0,      MPA_MMLGetBbuName                 },
+    {"getmgmtcpuname",         0,      MPA_MMLGetMgmtCpuName                 },
+    {"getfpganame",            0,      MPA_MMLGetFpgaName                 },
+    {"getcpldname",            0,      MPA_MMLGetCpldName                 },
+    {"getportname",            0,      MPA_MMLGetPortName                 },
+    {"getuartname",            0,      MPA_MMLGetUartName                 },
+    {"getiocardname",          0,      MPA_MMLGetIocardName                 },
+        
+
+/**/    
+    {"getfanmode",             0,      MPA_MMLGetFanMode                 },
+    {"setfanmode",             1,      MPA_MMLSetFanMode                 },
+    {"setupgradestate",        1,      MPA_MMLSetUpgradeState            },
+    {"getfanlevel",            0,      MPA_MMLGetFanLevel                 },
+    {"setfanlevel",            1,      MPA_MMLSetFanLevel                 },
+    {"getfanusrlevel",         0,      MPA_MMLGetFanUsrLevel                 },
+    {"getfanspeed",            0,      MPA_MMLGetFanSpeed                 },
+    {"getfanworkstate",        0,      MPA_MMLGetFanWorkState                 },
+    {"setfanonoff",            1,      MPA_MMLSetFanOnOff                },
+    {"getfanhuaweicode",       0,      MPA_MMLGetFanHuaweiCode                },
+    {"getfansn",               0,      MPA_MMLGetFanSn                },
+
+/**/    
+    {"setuartswitch",          1,      MPA_MMLSetUartSwitch                 },
+    {"getuartswitch",          0,      MPA_MMLGetUartSwitch                 },
+    {"setuartlooptest",        1,      MPA_MMLSetUartLoopTest                 },
+       
+/*Դ*/    
+    {"getpoweroutput",         0,      MPA_MMLGetPowerOutput                },
+    {"getpowerinput",          0,      MPA_MMLGetPowerInput                },
+    {"getpowerratedoutput",    0,      MPA_MMLGetPowerRatedOutput                },
+    {"getpowerstate",          0,      MPA_MMLGetPowerState                },
+    {"getpoweralarm",          0,      MPA_MMLGetPowerAlertInfo                },
+    {"getpowerdate",           0,      MPA_MMLGetPowerManufactureDate                },
+    {"getpowerhuaweicode",     0,      MPA_MMLGetPowerHuaweiCode                },
+    {"getpowerversion",        0,      MPA_MMLGetPowerSoftwareVersion                },
+    {"getpowertype",           0,      MPA_MMLGetPowerAcDcType                },
+    {"getpowercurrent",        0,      MPA_MMLGetPowerOutputCurrent                },
+    {"getpowervoltage",        0,      MPA_MMLGetPowerOutputVoltage                },
+    {"getpowervendor",         0,      MPA_MMLGetPowerVendor                },
+    {"getpowersn",             0,      MPA_MMLGetPowerSn                },
+    {"getpowerproductname",    0,      MPA_MMLGetPowerProductName                },
+    {"setpowerfruonoff",       1,      MPA_MMLSetPowerFruOnOff               },
+    {"setlocalpowerfruonoff",  1,      MPA_MMLSetPowerFruOnOffSingle    },
+    {"getpsok",                0,      MPA_MMLGetPowerPsOKState              },
+    {"getpsalert",             0,      MPA_MMLGetPowerPsAlertState                },
+    {"getpowertemp",           0,      MPA_MMLGetPowerTemperature                },
+    {"getconsumelimit",        0,      MPA_MMLGetAllPowerConsumeAndThreshold                },
+    {"setconsumelimitratio",   8,      MPA_MMLSetThresholdRatio                },
+    {"getconsumelimitratio",   0,      MPA_MMLGetThresholdRatio                },
+    /* BEGIN: Added by qintianyi, 2016/9/19  ⵥ:NA, ޸ԭ:xֵ㶨ƻԴ± */
+    {"setpowerprotectflag",       1,      MPA_MMLSetPowerTempProtect               },
+    {"getpowerprotectflag",       0,      MPA_MMLGetPowerTempProtect               },
+    {"getpowersupportprotectset", 0,      MPA_MMLGetPowerSupportSetTempProtect     },
+    /* END: Added by qintianyi, 2016/9/21 */
+
+/*BBU*/    
+    {"getbbustate",            0,      MPA_MMLGetBbuState                },
+    {"getbbuworkstatus",       0,      MPA_MMLGetBbuWorkState                },
+    {"getbbuworkhour",         0,      MPA_MMLGetBbuWorkHour                },
+    {"getbbuallversion",       0,      MPA_MMLGetBbuHardSoftCompileVersion                },
+    {"getbbudischargetime",    0,      MPA_MMLGetBbuLastDischargeTime                },
+    {"getbbudischargepara",    0,      MPA_MMLGetBbuLastDischargeParameter                },
+    {"getbbudischargecnt",     0,      MPA_MMLGetBbuDischargeCount                },
+    {"getbburemaincap",        0,      MPA_MMLGetBbuRemainingCapacity                },
+    {"getbburemaincapmah",        0,      MPA_MMLGetBbuRemainCapacityMah                },
+    {"getbbuchargecurrent",    0,      MPA_MMLGetBbuChargeCurrent                },
+    {"getbbudischargecurrent", 0,      MPA_MMLGetBbuDisChargeCurrent                },
+    {"getbbuchargeflag",       0,      MPA_MMLGetBbuChargeFlag                },
+    {"getbbugpio",             0,      MPA_MMLGetBbuGpioInfo                },
+    {"setbbugpio",             2,      MPA_MMLSetBbuGpioInfo                },
+    {"setbbuonlinetest",       1,      MPA_MMLSetBbuOnlineTest                },
+    {"setbbumixedplug",        1,      MPA_MMLSetBbuMixedPlugError                },
+    {"getbbucomfault",         0,      MPA_MMLGetBbuCommunicationFault                },
+    {"getbbutemperature",      0,      MPA_MMLGetBbuTemperature                },
+    {"getbbuoutputvolt",       0,      MPA_MMLGetBbuOutputVoltage               },
+    {"getbbubuckvolt",         0,      MPA_MMLGetBbuBuckVoltage               },
+    {"getbbucellvolt",         0,      MPA_MMLGetBbuCellVoltAB               },
+    {"getbbufaultbit",         0,      MPA_MMLGetBbuFaultBit               },
+    {"setbbufaultbit",         9,      MPA_MMLSetBbuFaultBit               },
+    {"getbbuswversion",        0,      MPA_MMLGetBbuSoftwareVersion                },
+    {"getbbuonlinetestswitch",        0,      MPA_MMLGetBbuOnlinetTestSwitch},
+    {"setbbuonlinetestswitch",        1,      MPA_MMLSetBbuOnlinetTestSwitch},
+    //{"getbbuvendor",           0,      MPA_MMLGetBbuVendor               },
+    {"getbbumodel",            0,      MPA_MMLGetBbuModel               },
+    {"getbbumanudate",         0,      MPA_MMLGetBbuManuDate            },
+    {"getbbuvendor",           0,      MPA_MMLGetBbuVendorName            },
+    {"getbbucellvoltage",      0,      MPA_MMLGetBbuCellVoltage               },
+    {"getbbusn",               0,      MPA_MMLGetBbuSn        },
+    {"setbbuprelife",          1,      MPA_MMLSetBbuPreLife        },
+    {"getbbuprelife",          0,      MPA_MMLGetBbuPreLife        },
+    {"setbbulife",             1,      MPA_MMLSetBbuLife        },
+    {"getbbulife",             0,      MPA_MMLGetBbuLife        },
+    {"getbbuprelifealarm",     0,      MPA_MMLGetBbuPreLifeAlarm        },
+    {"getbbulifealarm",        0,      MPA_MMLGetBbuLifeAlarm        },
+    {"getbbucapacityprealarm",               0,      MPA_MMLGetBbuCapacityPreAlarm        },
+    {"setbbucapacityprealarm",               2,      MPA_MMLSetBbuCapacityPreAlarm        },
+    {"getbbucapacityalarm",               0,      MPA_MMLGetBbuCapacityAlarm        },
+    {"setbbucapacityalarm",               2,      MPA_MMLSetBbuCapacityAlarm        },
+    {"setbbustopdischarge",       1,      MPA_MMLSetBbuStopDischarge                },
+    {"setbbuworkhour",           4,      MPA_MMLSetBbuWorkHour                },
+    {"setbbutemperature",       3,      MPA_MMLSetBbuTemprature                },
+    {"getcbuesr",              0,      MPA_MMLGetCbuESR               },
+    /* BEGIN: Added by gouzhengxu 00289460, 2015/9/22  ⵥ:NA, ޸ԭ:CBU̬ѹ */
+    {"setcbuvolt",              1,     MPA_MMLSetCbuVolt               },
+    {"getadjustvoltflag",       0,     MPA_MMLGetAdjustVoltFlag              },
+    /* END:   Added by gouzhengxu 00289460, 2015/9/22 ⵥ:NA */
+    /* BEGIN: Added by gouzhengxu 00289460, 2016/1/4  ⵥ:NA, ޸ԭ:ģBBU CBU״̬ */
+    {"simulatebbualarm",        2,     MPA_MMLSimulateBbuAlarm               },
+    /* END:   Added by gouzhengxu 00289460, 2016/1/4 ⵥ:NA */
+
+    {"syssettemp",             3,      MPA_MMLSystemSetTemprature                },
+ 
+/*switch*/
+    {"getswitchspeed",         0,      MPA_MMLGetSwitchChipSpeed               },
+    {"getswitchlostdata",      0,      MPA_MMLGetSwitchChipLostData               },
+
+/*־*/
+    {"getlog",                 0,      MPA_MMLGetMgmtCpuLog                },
+    {"geteepromlog",           0,      MPA_MMLGetMgmtCpuEepromLog                },
+    {"getshakelog",            0,      MPA_MMLGetShakeLog               },
+    {"getsensorinfo",          0,      MPA_MMLGetShakeInfo              },
+    {"setsmmstatus",           1,      MPA_MMLSetSmmMasterSlave                 },
+    {"getcardpowerstatus",     0,      MPA_MMLGetIoCardPowerStatus                 },
+
+    {"getcardpowerconsume",     0,      MPA_MMLGetIoCardPowerConsume                 },
+    {"setcardsleepstatus",     1,      MPA_MMLSetIoCardSfpSleepStatus                 },
+    {"getcardsleepstatus",     0,      MPA_MMLGetIoCardSfpSleepStatus                 },
+    /* BEGIN: Added by jiangfanlu 00101148, 2014/8/8  ⵥ:AR-0000787332, ޸ԭ:úͻȡӿڿƬѡmml */
+    {"setcardimgcs",           1,      MPA_MMLSetIoCardImgCs                 },
+    {"getcardimgcs",           0,      MPA_MMLGetIoCardImgCs                 },
+    /* END:   Added by jiangfanlu 00101148, 2014/8/8 ⵥ:AR-0000787332 */
+
+    {"geteccinfo",             0,      MPA_MMLGetEccInfo                 },
+    {"getdevicealarm",         0,      MPA_MMLGetDeviceAlarm                 },
+    {"getallalarm",            0,      MPA_MMLGetAllAlarm                 },
+    {"getalarmsource",         0,      MPA_MMLGetAlarmSource                 },
+    {"setdevicealarm",         1,      MPA_MMLSetDeviceAlarm                 },
+    {"getfrudevicealarmtype",  1,      MPA_MMLGetFruAllAlarmType                 },
+    {"getfrudevicealarminfo",  1,      MPA_MMLGetFruAllAlarmInfo                 },
+
+    {"setcustomrules",         7,      MPA_MMLSetCustomRules                },
+    {"getcustomrules",         0,      MPA_MMLGetCustomRules                },
+    
+/*MCEϢѯ*/    
+    {"getmcevalid",            0,      MPA_MMLGetMceValid                 },
+    {"getmceinfo",             0,      MPA_MMLGetV2BmcMceInfo                 },
+    
+    {"getcpldregister",        0,      MPA_MMLGetCpldRegister                 },
+
+/*usb hub*/
+    {"resetusbhub",            0,      MPA_MMLResetUsbHub},
+    {"setusbhubchannel",       1,      MPA_MMLSetUsbHubChannel},
+    {"getusbhubchannel",       0,      MPA_MMLGetUsbHubChannel},
+    {"setearpowerenable",      1,      MPA_MMLSetEarPowerEnable},
+    {"getearpowerstatus",      0,      MPA_MMLGetEarPowerState                  },
+    {"setusbhubenable",        1,      MPA_MMLSetUsbHubEnable},
+    {"getearbutton",           0,      MPA_MMLGetEarButtonState},
+    {"getearusbhub",           0,      MPA_MMLGetEarUsbHubState},
+    {"getearinfo",             0,      MPA_MMLGetEarInfo},
+    {"getdftearinfo",          0,      MPA_MMLGetDftEarInfo},
+    {"setdftearinfo",          1,      MPA_MMLSetDftEarInfo},
+    {"getdftiocardinfo",       0,      MPA_MMLGetDftIocardInfo},
+    {"setdftiocardinfo",       2,      MPA_MMLSetDftIocardInfo},
+    {"clearearbutton",         0,      MPA_MMLClearEarButtonState},    
+    {"getusbinfo",             0,      MPA_MMLGetUsbInfo                  },
+
+    {"getspi",                 0,      MPA_MMLGetSpiTestResult                 },
+
+    {"getqsfpinfo",            0,       MPA_MMLGetQsfpInfo                  },
+    {"setqsfpinfo",            3,       MPA_MMLSetQsfpInfo                  },
+    {"getsfpinfo",             0,      MPA_MMLGetSfpInfo                    },
+    {"getsfppresent",          0,      MPA_MMLGetSfpPresent                 },
+    {"getsfpsupport",          0,      MPA_MMLGetSfpSupport                 },
+    {"getsfpstate",            0,      MPA_MMLGetSfpState             },
+    {"getdeviceselftest",      0,      MPA_MMLGetStorageDeviceSelftest                 },     
+    {"setdeviceselftest",      0,      MPA_MMLSetStorageDeviceSelftest      },     
+    
+    {"getsmmheartbeat",        0,      MPA_MMLGetSmmGeHeartBeatResult                  },
+    {"getsmmswitchreg",        2,      MPA_MMLGetSmmSwitchRegister                  },
+    {"setsmmswitchreg",        4,      MPA_MMLSetSmmSwitchRegister                  },
+    {"getsmmctrlheartbeat",    0,      MPA_MMLGetSmmCtrlHeartBeatResult                  },
+
+    {"getiocardslotid",        0,      MPA_MMLGetIocardSlotId                  },
+
+    {"setpoweren",        1,      MPA_MMLSetPowerEnState                  },
+    {"getpoweren",        0,      MPA_MMLGetPowerEnState                  },
+
+    /**/
+    {"setethswitchmac",        6,      MPA_MMLSetEthSwitchMac           },
+    {"getethswitchmac",        0,      MPA_MMLGetEthSwitchMac           },
+
+    {"setethipaddr",        1,      MPA_MMLSetEthSwitchIpAddr           },
+    {"getethipaddr",        0,      MPA_MMLGetEthSwitchIpAddr           },
+
+    {"setethnetmask",        1,      MPA_MMLSetEthSwitchNetMask           },
+    {"getethnetmask",        0,      MPA_MMLGetEthSwitchNetMask           },
+
+    {"setethgateway",        1,      MPA_MMLSetEthSwitchGateWay           },
+    {"getethgateway",        0,      MPA_MMLGetEthSwitchGateWay           },
+
+    {"setethswitchonoff",      1,      MPA_MMLSetEthSwitchOnoff           },
+    {"resetethswitchport",     0,      MPA_MMLResetEthSwitchPort           },
+    {"getethswitchstatus",     0,      MPA_MMLGetEthSwitchStatus           },
+    {"getethswitchspeed",      0,      MPA_MMLGetEthSwitchSpeed           },
+/* BEGIN: Added by qintianyi 90005776, 2014/8/22  ⵥ:DTS2014081808235, ޸ԭ:vlan switch */
+    {"setvlanonoff",           1,      MPA_MMLSetVlanSwitch                 },
+    {"getvlanonoff",           0,      MPA_MMLGetVlanSwitch                 },
+/* END: Added by qintianyi 90005776, 2014/8/22  ⵥ:DTS2014081808235 */
+    {"setethstaticmac",        6,      MPA_MMLSetEthStaticMac           },
+    {"getethstaticmacvalid",   0,      MPA_MMLGetEthStaticMacValid           },
+    
+    /*λfru (iocardmgmt board)*/
+    {"setfrupower",            1,      MPA_MMLSetFruPowerCtrl                },
+
+    {"getresetreason",         0,      MPA_MMLGetBmcResetReason           },
+    {"setwdgtime",             1,      MPA_MMLSetWatchDogTime             },
+    {"getpowerinterrupt",      0,      MPA_MMLGetPowerInterruptSignal           },
+    {"setpowerinterrupt",      0,      MPA_MMLSetPowerInterruptSignal             },
+    {"setpoweralarm",          1,      MPA_MMLSetPowerAlarmSignal             },
+    {"getethlooptest",         0,      MPA_MMLGetSmmServiceEthLoopTest           },
+    {"setosresetcount",        1,      MPA_MMLSetOsResetCount             },
+    {"getfrualarm",            0,      MPA_MMLGetFruAlarm           },
+    {"gettdmregister",         0,      MPA_MMLGetTDMBusRegister           },
+    {"cleartdmerrcode",        1,      MPA_MMLClearTdmErrCode             },
+    {"gettdmerrcode",         0,      MPA_MMLGetTdmErrCode           },
+    {"getbmcbackboardtype",    0,      MPA_MMLGetPowerSingalBackboardType           },
+    {"setrmiitest",            0,      MPA_MMLSetRmiiTest},
+    {"getoopsinfo",            0,      MPA_MMLGetOopsInfo           },
+    {"clearoopsinfo",          0,      MPA_MMLClearOopsInfo           },
+
+/* ӡMPA-ipmi źϢ*/
+    {"getipmisemainfo",          0,      MPA_MMLGetIpmiSemaInfo           },
+
+    /* ȡi2c״̬ */
+    {"geti2cstatus",          0,      MPA_MMLGetI2cStatusInfo           },
+        
+    {"getg2singlealarm",      0,      MPA_MMLGetG2AlarmInfo             },
+    {"getg2allalarm",         0,      MPA_MMLGetG2AllAlarmInfo          },
+
+    {"getmgmtipinfo",           0,      MPA_MML_GetMgmtIpInfo           },
+    {"setmgmtipinfo",           1,      MPA_MML_SetMgmtIpInfo           },
+    /* Begin: added by liuzhiqiang 00192096 for DTS2015082608808 @2015-9-7 */
+    {"getmgmtipowner",          0,      MPA_MML_GetMgmtIpOwner           },
+    /* End: added by liuzhiqiang 00192096 for DTS2015082608808 @2015-9-7 */
+    {"getbucklehardwareversion",0,     MPA_MMLGetBuckleBoardHardWareVersion   },
+    {"getbucklepresent",       0,      MPA_MMLGetBuckleBoardPresent           },
+    {"getbucklepowerstate",    0,      MPA_MMLGetBuckleBoardPowerState        },
+    {"getbuckletype",          0,      MPA_MMLGetBuckleBoardType              },
+
+    {"getlpcstate",             0,      MPA_MMLGetBmcConnectionState           },
+    {"setlpcinfo",             2,      MPA_MMLSetTestLpcAddrData           },
+    {"setdellogflag",             1,      MPA_MMLSetDelBmcLogFlag           },
+    {"getdellogflag",             0,      MPA_MMLGetDelBmcLogFlag           },
+    {"setosstate",             2,      MPA_MMLSetOsState           },
+
+    {"getbay",             0,      MPA_MMLGetBayconfig           },
+    {"getbaylen",             0,      MPA_MMLGetbayconfiglen           },
+    {"setbay",             1,      MPA_MMLSetBayconfig           },
+    {"clearbay",             1,      MPA_MMLClearBayconfig           },
+    /* SESϢӡSES־ */
+    {"setseshostinfotolog"   ,0,     MPA_MMLSetSesHostBufInfoToLog},
+    /* SASװ*/
+    {"setportled",              1,     MPA_MMLSetLinkLedStatus},
+    {"setloopmode",             1,     MPA_MMLExpLoopTestModeSet},
+    {"getloopmode",             0,     MPA_MMLExpLoopTestModeGet},
+    {"setbitstream",            1,     MPA_MMLExpBitSteamTest},
+    {"getmainpowerstatus",       0,    MPA_MMLGetMainPowerStatus},
+    {"getfreemem",             0,      MPA_MMLGetFreeMem},
+
+    {"getconnectorstatus",     0,      MPA_MMLGetConnectorStatus},
+    {"testheartbeat",          0,      MPA_MMLTestHeartBeat},
+    
+    {"get5vpg",                0,      MPA_MMLGetPower5vPgState},
+    {"set5vpg",                1,      MPA_MMLSetPower5vPgState},
+    
+    {"getcpldbit",             3,      MPA_MMLGetCpldBitValue},
+    {"setcpldbit",             4,      MPA_MMLSetCpldBitValue},
+
+    {"setfanstatus",           3,      MPA_MMLSetFanStatus},
+
+    {"getboarddelay",          1,      MPA_MMLGetIntfBoardDelay},
+    {"setboarddelay",          2,      MPA_MMLSetIntfBoardDelay},
+
+    {"setframedmatype",        1,      MPA_MMLSetFrameDmaType},
+    {"getframedmatype",        0,      MPA_MMLGetFrameDmaType},
+ 
+    {"portloopbackstart",        5,      MPA_MMLPortLoopBackStart},
+    {"portloopbackstop",         0,      MPA_MMLPortLoopBackStop},
+    {"portloopbackcheck",        0,      MPA_MMLPortLoopBackCheck},
+    {"portloopbackpeerstart",    5,      MPA_MMLPortLoopBackPeerStart},
+    {"portloopbackpeerstop",     0,      MPA_MMLPortLoopBackPeerStop},
+    {"portloopbackpeercheck",    0,      MPA_MMLPortLoopBackPeerCheck},
+    {"diskloopbackstart",        5,      MPA_MMLDiskLoopBackStart},
+    {"diskloopbackstop",         0,      MPA_MMLDiskLoopBackStop},
+    {"diskloopbackcheck",        0,      MPA_MMLDiskLoopBackCheck},
+        
+    {"getexpboardtype",        0,      MPA_MMLGetExpBoardType},
+    {"getbackboardtype",       0,      MPA_MMLGetBackBoardRate},
+    /* BEGIN: Added by gaoyalong 00325181, 2016/4/1  ⵥ:DTS2016032509661, ޸ԭ:ӽӿڻȡ̵֧ */
+    {"getsupportdiskmaxspeed",  0,      MPA_MMLGetSupportDiskMaxSpeed},
+    /* END: Added by gaoyalong 00325181, 2016/4/1  ⵥ:DTS2016032509661 */
+
+  {"getframepowertype",      0,      MPA_MMLGetFramePowerType},
+  /*Add by yanajianqiang 00310577 for DTS2015091807980 on 2105.10.10 :ȥ8717MMLѯλͽӿ*/
+    {"getsubcardstate",        0,      MPA_MMLGetSubCardState},
+    {"getfrusubtype",         0,      MPA_MMLGetFruSubType},
+    {"getsubcardtype",         0,      MPA_MMLGetSubCardType},
+  {"setctrlreset",          3,      MPA_MMLSetCtrlReset},
+  {"setotherboardreset",     1,      MPA_MMLSetOtherBoardReset},
+  {"setnumaflag",     1,          MPA_MMLSetNumaFlag},
+  {"getnumaflag",     0,          MPA_MMLGetNumaFlag},
+    {"simupdatefail",     2,        MPA_MMLSimUpdateFail},
+    {"setck420config",    13,       MPA_MMLSetCK420Config},
+    {"getck420config",    2,       MPA_MMLGetCK420Config},
+    {"seti2cconfig",    12,       MPA_MMLI2CRwConfig},
+    /*BMC*/
+    {"setbmcroutineperiod",      2,      MPA_MMLSetSensorRoutinePeriod},
+    /*ȡBMC*/
+    {"getbmcroutineperiod",      0,      MPA_MMLGetSensorRoutinePeriod},
+    
+    {"kboxtest",     0,          MPA_MMLKboxTest},
+    {"kboxnull",     1,          MPA_MMLKboxNull},
+
+    {"getcpldbitvalue",             3,      MPA_MMLGetCpldBit                 },
+    {"setcpldbitvalue",             4,      MPA_MMLSetCpldBit                 }
+    #else
+    
+    /* һռ־õbegin*/
+    {"?",                      0,      MPA_MMLCmdSearch                 },/**/
+
+    {"getelable",              0,      MPA_MMLGetElable                 },
+    #ifdef MML_PRODUCT_NUMA
+    {"setnumaflag",     1,          MPA_MMLSetNumaFlag},
+    {"getnumaflag",     0,          MPA_MMLGetNumaFlag},
+    #endif
+    {"getmac",                 0,      MPA_MMLGetMac                    },
+    {"getcpldregister",        0,      MPA_MMLGetCpldRegister                 },
+    {"getframenum",            0,      MPA_MMLGetFrameNumber            }, 
+    {"getframemode",           0,      MPA_MMLGetFrameModel             },
+    {"getsn",                  0,      MPA_MMLGetSN                     },
+    {"getmodel",               0,      MPA_MMLGetModel                  },
+    {"getchipmasterslave",     0,      MPA_MMLGetMgmtMasterSlave        },
+    {"getattachedwwn",         0,      MPA_MMLGetAttachedWwn},
+    {"getslotid",              0,      MPA_MMLGetBoardSlotId            },
+    {"getcustomrules",         0,      MPA_MMLGetCustomRules                },
+    {"getmgmtcputype",         0,      MPA_MMLGetMgmtCpuType            },
+    {"getmgmtversion",         0,      MPA_MMLGetMgmtVersion            },
+    {"getjbodflag",            0,      MPA_MMLGetJbodFlag               },
+    {"getframepower",         0,      MPA_MMLGetFramePower     },
+    {"getbufferingswitch",     0,      MPA_MMLGetBufferingSwitch},
+    {"getfrualltemp",          1,      MPA_MMLGetFruAllTemperature      },
+    {"gettemp",                0,      MPA_MMLGetTemperature            },
+    {"getfruallvolt",          1,      MPA_MMLGetFruAllVoltage      },
+    {"getvoltage",             0,      MPA_MMLGetVoltage                },
+    {"getfrualltempstate",     1,      MPA_MMLGetFruAllTemperatureState      },
+    {"getfruallvoltstate",     1,      MPA_MMLGetFruAllVoltageState      },
+    {"getpresent",             0,      MPA_MMLGetPresent                },
+    {"getpeerpresent",         0,      MPA_MMLGetPeerPresent            },
+    {"getfanworkstate",        0,      MPA_MMLGetFanWorkState                 },
+    {"getcpldversion",         0,      MPA_MMLGetCpldVersion            },
+    {"getchipversion",         0,      MPA_MMLGetChipFwVer            },
+    {"getpeercpldversion",     0,      MPA_MMLGetPeerCpldVersion            },
+    {"getbuckletype",          0,      MPA_MMLGetBuckleBoardType              },
+    {"getfrutype",             0,      MPA_MMLGetFruType                },  
+    {"getfanmode",             0,      MPA_MMLGetFanMode                 },
+    {"getfanspeed",            0,      MPA_MMLGetFanSpeed                 },
+    {"getfanlevel",            0,      MPA_MMLGetFanLevel                 },
+    {"getfanusrlevel",         0,      MPA_MMLGetFanUsrLevel                 },
+    {"getbbustate",            0,      MPA_MMLGetBbuState                },
+    {"getbbuworkstatus",       0,      MPA_MMLGetBbuWorkState                },
+    {"getbbufaultbit",         0,      MPA_MMLGetBbuFaultBit               },
+    {"getbbuswversion",        0,      MPA_MMLGetBbuSoftwareVersion                },
+    {"getbbumanudate",         0,      MPA_MMLGetBbuManuDate            },
+    {"getbbuallversion",       0,      MPA_MMLGetBbuHardSoftCompileVersion                },
+    {"getbburemaincap",        0,      MPA_MMLGetBbuRemainingCapacity                },
+    {"getbbuchargecurrent",    0,      MPA_MMLGetBbuChargeCurrent                },
+    {"getbbudischargecurrent", 0,      MPA_MMLGetBbuDisChargeCurrent                },
+    {"getbbuworkhour",         0,      MPA_MMLGetBbuWorkHour                },
+    {"getbbugpio",             0,      MPA_MMLGetBbuGpioInfo                },
+    {"getbbuoutputvolt",       0,      MPA_MMLGetBbuOutputVoltage               },
+    {"getbbucellvoltage",      0,      MPA_MMLGetBbuCellVoltage               }, 
+    {"getencldiskinloopstatus",0,       MPA_MMLGetEnclAllDiskInLoopStatus                  },
+    {"getdiskinloopstatus",    0,       MPA_MMLGetDiskInLoopStatus                         },
+    {"getdiskswitchstatus",    0,       MPA_MMLGetDiskSwitchStatus                         },
+    {"getdiskpowerstatus",     0,       MPA_MMLGetDiskPowerStatus                          },
+    {"getpowerstate",          0,      MPA_MMLGetPowerState                },
+    {"getpoweralarm",          0,      MPA_MMLGetPowerAlertInfo                },
+    {"getpowersn",             0,      MPA_MMLGetPowerSn                },
+    {"getfansn",               0,      MPA_MMLGetFanSn                },
+    {"getpoweroutput",         0,      MPA_MMLGetPowerOutput                }, 
+    {"getportstatus",          0,      MPA_MMLGetPortLinkStatus},
+    {"getportwidth",           0,      MPA_MMLGetPortWidth},
+    {"getpeerportstatus",      0,      MPA_MMLGetPeerPortLinkStatus},   
+    {"getportphysrate",        0,      MPA_MMLGetPortPhysRate},
+    {"getportlinkrate",        0,      MPA_MMLGetPortLinkRate},
+    {"getattportinitorexp",    0,      MPA_MMLGetAttPortInitOrExp},
+    {"getportphyswitch",       1,      MPA_MMLGetPortPhySwitch}, 
+    {"getfrudevicealarminfo",  1,      MPA_MMLGetFruAllAlarmInfo                 },
+    {"getdevicealarm",         0,      MPA_MMLGetDeviceAlarm                 },
+    {"getallalarm",            0,      MPA_MMLGetAllAlarm                 },
+    {"getalarmsource",         0,      MPA_MMLGetAlarmSource                 },
+    {"getg2allalarm",         0,      MPA_MMLGetG2AllAlarmInfo          },
+    {"getg2singlealarm",      0,      MPA_MMLGetG2AlarmInfo             },
+    {"geti2cstatus",          0,      MPA_MMLGetI2cStatusInfo           },
+    {"getledstatus",           1,      MPA_MMLGetLedStatus},
+    {"getencldiskledstatus",   0,       MPA_MMLGetEnclAllDiskLedStatus                     },
+    {"gettime",                0,      MPA_MMLGetTime},
+	{"upgradecpldprepare",     0, MPA_MMLUpdateCpldPrepare },
+    {"upgradecpldsendfile",    1, MPA_MMLUpdateCpldSendFile },
+    {"upgradecpldstart",       0, MPA_MMLUpdateCpldStart },
+    {"getcpldupgradestate",    0, MPA_MMLGetCpldUpgradeState},
+    {"getcpldversion",         0, MPA_MMLGetCpldVersion }
+
+    
+    /* һռ־õend*/
+    #endif
+    /* END: Added by liwei 90003951, 2015/6/16  ⵥ:DTS2015061607020, 
+    ޸ԭ:PANGEA V200R002C00B022 + MPA + SAS󿨡γһռ־ҪʹõMML */
+};
+OSP_U16 g_MmlCmdTableLenForPatch = sizeof(g_MmlCmdTableForPatch)/sizeof(MML_MPA_CMD_S);
