📄 flcustom.c
字号:
#include "flcustom.h"#include "tffsdrv.h"#include "stdcomp.h"#include "blockdev.h"#ifdef ENVIRONMENT_VARSunsigned char flUse8Bit=FL_DOC_8BIT_ACCESS_DEF;unsigned char flUseNFTLCache;#if TFFS_SVER<60000unsigned char flUseisRAM;#endif /* TFFS_SVER<60000 */extern short fl_nftl_cache;extern short fl_8bit_access;extern unsigned long fl_sectors_verified_per_folding;extern unsigned long fl_mtd_bus_access_type;#if TFFS_SVER<60000extern short fl_is_ram_check;#endif /* TFFS_SVER<60000 *//*-----------------------------------------------------------------------*//* f l s e t E n v V a r *//* Sets the value of all environment variables *//* Parameters : None *//*-----------------------------------------------------------------------*/void flSetEnvVar(void){ unsigned long prevValue; flSetEnvAll(FL_MTD_BUS_ACCESS_TYPE,fl_mtd_bus_access_type,&prevValue);#if defined(VERIFY_WRITE) || defined(VERIFY_ERASED_SECTOR) flSetEnvAll(FL_SECTORS_VERIFIED_PER_FOLDING,fl_sectors_verified_per_folding,&prevValue);#endif flSetEnvAll(FL_DOC_8BIT_ACCESS,fl_8bit_access,&prevValue); flSetEnvAll(FL_TL_CACHE_ENABLED,fl_nftl_cache,&prevValue);#if TFFS_SVER>=60000 flSetEnvAll(FL_SUSPEND_MODE,FL_SUSPEND_MODE_DEF,&prevValue); flSetEnvAll(FL_DO_NOT_WAIT_FOR_READY,FL_DO_NOT_WAIT_FOR_READY_DEF,&prevValue);#else flSetEnvAll(FL_IS_RAM_CHECK_ENABLED,fl_is_ram_check,&prevValue);#endif /* TFFS_SVER<60000 */}#endif /* ENVIRONMENT_VARS *//*----------------------------------------------------------------------*//* f l R e g i s t e r C o m p o n e n t s *//* *//* Register socket, MTD and Translation Layer components for usage *//* *//* This function is called by FLite once only, at initialization of the *//* FLite system. *//* *//* Parameters: *//* None *//* *//*----------------------------------------------------------------------*/#ifdef TFFS_USE_CACHE_TLextern FLStatus flRegisterCACHETL(void);#endifFLStatus flRegisterComponents(void){ FLStatus stat; unsigned long dwL,dwH; unsigned char fFound=FALSE;#ifdef TFFS_USE_AMD_ISA unsigned long dwIsaReg=0;#endif LnxGetMappedRange(&dwL,&dwH#ifdef TFFS_USE_AMD_ISA ,&dwIsaReg#endif );#ifdef TFFS_USE_AMD_ISA if(dwIsaReg==0) return flAdapterNotFound; if((stat=flRegisterAMDISASOC(dwL,TFFS_IOMEM_WINDOW_SIZE,dwIsaReg))==flOK)#endif /* FL_AMD_ISA_SOCKET */#ifdef TFFS_USE_AMD_PCI if((stat=flRegisterAMDSOC(dwL,TFFS_IOMEM_WINDOW_SIZE))==flOK)#endif /* TFFS_USE_AMD_PCI */#if defined(TFFS_USE_AMD_PCI) || defined(TFFS_USE_AMD_ISA) { stat=flRegisterAMDMTD(); /* Register amdmtd.c MTD */ if(stat==flOK) fFound=TRUE; }#endif#ifdef TFFS_USE_MDOCP stat=flRegisterDOCPLUSSOC(dwL,dwH); if(stat==flOK) { stat=flRegisterDOCPLUS(); /* Register DiskOnChip Millennium Plus MTD */ PrintkDebug("flRegisterComponents:flRegisterDOCPLUS returns %d",stat); if(stat==flOK) fFound=TRUE; }#endif /* TFFS_USE_MDOCP */#ifdef TFFS_USE_MDOC stat=flRegisterDOCSOC(dwL,dwH); if(stat==flOK) { stat=flRegisterDOC2000(); /* Register DiskOnChip 2000, Alon based DiskOnChips and DiskOnChip Millennium MTD */ PrintkDebug("flRegisterComponents:flRegisterDOC2000 returns %d",stat); if(stat==flOK) fFound=TRUE; } #endif /* TFFS_USE_MDOC */#ifdef TFFS_USE_M512 stat=flRegisterDOCM512SOC(dwL,dwH); /* Register OREN socket controller */ PrintkDebug("flRegisterComponents:flRegisterDOCM512SOC returns %d",stat); if(stat==flOK) { stat=flRegisterDOCM512(); PrintkDebug("flRegisterComponents:flRegisterDOCM512 returns %d",stat); if(stat==flOK) fFound=TRUE; }#endif /* TFFS_USE_M512 */#ifdef TFFS_USE_OREN stat=flRegisterDOCORENSOC(dwL,dwH); /* Register OREN socket controller */ PrintkDebug("flRegisterComponents:flRegisterDOCORENSOC returns %d",stat); if(stat==flOK) { stat=flRegisterDOCOREN(); /* Register Oren based DiskOnChip MTD */ PrintkDebug("flRegisterComponents:flRegisterDOCOREN returns %d",stat); if(stat==flOK) fFound=TRUE; }#endif /* TFFS_USE_OREN */ if(fFound) { fFound=FALSE;#ifdef TFFS_USE_FTL stat=flRegisterFTL(); PrintkDebug("flRegisterComponents:flRegisterFTL returns %d",stat); fFound+=(stat==flOK);#endif /* TFFS_USE_FTL */#ifdef TFFS_USE_NFTL stat=flRegisterNFTL(); PrintkDebug("flRegisterComponents:flRegisterNFTL returns %d",stat); fFound+=(stat==flOK);#endif /* TFFS_USE_NFTL */#ifdef TFFS_USE_INFTL stat=flRegisterINFTL(); PrintkDebug("flRegisterComponents:flRegisterINFTL returns %d",stat); fFound+=(stat==flOK);#endif /* TFFS_USE_INFTL */#ifdef TFFS_USE_SAFTL stat=flRegisterSAFTL(); PrintkDebug("flRegisterComponents:flRegisterSAFTL returns %d",stat); fFound+=(stat==flOK);#endif /* TFFS_USE_SAFTL */ }#ifdef TFFS_USE_CACHE_TL stat=flRegisterCACHETL(); PrintkDebug("flRegisterComponents:flRegisterCACHETL returns %d",stat);#endif return fFound?flOK:flAdapterNotFound;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -