📄 config.h
字号:
#define INCLUDE_DOSFS /* include dosFs file system */
#define INCLUDE_FD /* include floppy disk driver */
#define INCLUDE_ATA /* include IDE/EIDE(ATA) hard disk driver */
#undef INCLUDE_LPT /* include parallel port driver */
#undef INCLUDE_TIMESTAMP /* include TIMESTAMP timer for Wind View */
#undef INCLUDE_TFFS /* include TrueFFS driver for Flash */
#undef INCLUDE_PCMCIA /* include PCMCIA driver */
/* TFFS driver options */
#ifdef INCLUDE_TFFS
# define INCLUDE_SHOW_ROUTINES
#endif /* INCLUDE_TFFS */
/* SCSI driver options */
#undef INCLUDE_SCSI /* include SCSI driver */
#undef INCLUDE_AIC_7880 /* include AIC 7880 SCSI driver */
#undef INCLUDE_SCSI_BOOT /* include ability to boot from SCSI */
#undef INCLUDE_CDROMFS /* file system to be used */
#undef INCLUDE_TAPEFS /* file system to be used */
#undef INCLUDE_SCSI2 /* select SCSI2 not SCSI1 */
/* Network driver options */
#define INCLUDE_END /* Enhanced Network Driver Support */
#undef INCLUDE_DEC21X40_END /* (END) DEC 21x4x PCI interface */
#undef INCLUDE_EL_3C90X_END /* (END) 3Com Fast EtherLink XL PCI */
#undef INCLUDE_ELT_3C509_END /* (END) 3Com EtherLink III interface */
#undef INCLUDE_ENE_END /* (END) Eagle/Novell NE2000 interface */
#define INCLUDE_EEV
#define INCLUDE_SLIP /* include serial line interface */
#undef INCLUDE_FEI_END /* (END) Intel 8255[7/8/9] PCI interface */
#undef INCLUDE_GEI8254X_END /* (END) Intel 82543/82544 PCI interface */
#undef INCLUDE_LN_97X_END /* (END) AMD 79C97x PCI interface */
#undef INCLUDE_ULTRA_END /* (END) SMC Elite16 Ultra interface */
#undef INCLUDE_BSD /* BSD / Netif Driver Support (Deprecated) */
#undef INCLUDE_EEX /* (BSD) Intel EtherExpress interface */
#undef INCLUDE_EEX32 /* (BSD) Intel EtherExpress flash 32 */
#undef INCLUDE_ELC /* (BSD) SMC Elite16 interface */
#undef INCLUDE_ESMC /* (BSD) SMC 91c9x Ethernet interface */
/* PCMCIA driver options */
#ifdef INCLUDE_PCMCIA
# define INCLUDE_ATA /* include ATA driver */
# define INCLUDE_SRAM /* include SRAM driver */
# undef INCLUDE_TFFS /* include TFFS driver */
# ifdef INCLUDE_NETWORK
# define INCLUDE_BSD /* include BSD / Netif Driver Support */
# define INCLUDE_ELT /* (BSD) 3Com EtherLink III interface */
# endif /* INCLUDE_NETWORK */
#endif /* INCLUDE_PCMCIA */
/* Include PCI support for drivers & libraries that require it. */
#if defined (INCLUDE_LN_97X_END) || defined (INCLUDE_EL_3C90X_END) || \
defined (INCLUDE_FEI_END) || defined (INCLUDE_DEC21X40_END) || \
defined (INCLUDE_GEI8254X_END) || defined (INCLUDE_AIC_7880) || \
defined (INCLUDE_WINDML) || defined (INCLUDE_USB)
# define INCLUDE_PCI
#endif
/* default MMU options and PHYS_MEM_DESC type state constants */
#define INCLUDE_MMU_BASIC /* bundled MMU support */
#undef VM_PAGE_SIZE /* page size */
#define VM_PAGE_SIZE PAGE_SIZE_4KB /* default page size */
#define VM_STATE_MASK_FOR_ALL \
VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE
#define VM_STATE_FOR_IO \
VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
#define VM_STATE_FOR_MEM_OS \
VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE
#define VM_STATE_FOR_MEM_APPLICATION \
VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE
#define VM_STATE_FOR_PCI \
VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
/* default system and auxiliary clock constants
*
* Among other things, SYS_CLK_RATE_MAX depends upon the CPU and application
* work load. The default value, chosen in order to pass the internal test
* suite, could go up to PIT_CLOCK.
*/
#define SYS_CLK_RATE_MIN (19) /* minimum system clock rate */
#define AUX_CLK_RATE_MIN (2) /* minimum auxiliary clock rate */
#define AUX_CLK_RATE_MAX (8192) /* maximum auxiliary clock rate */
/* CPU family/type-specific macros and options */
#if (CPU == I80386) || (CPU == I80486) /* [34]86 specific macros */
/*
* software floating point emulation support. DO NOT undefine hardware fp
* support in configAll.h as it is required for software fp emulation.
*/
#define INCLUDE_SW_FP /* enable emulator if there is no FPU */
#define SYS_CLK_RATE_MAX (PIT_CLOCK/32) /* max system clock rate */
#ifdef INCLUDE_TIMESTAMP
# define INCLUDE_TIMESTAMP_PIT2 /* include PIT2 for timestamp */
#endif /* INCLUDE_TIMESTAMP */
#elif (CPU == PENTIUM) /* P5 specific macros */
#undef INCLUDE_SW_FP /* Pentium has hardware FPP */
#undef USER_D_CACHE_MODE /* Pentium write-back data cache support */
#define USER_D_CACHE_MODE (CACHE_COPYBACK | CACHE_SNOOP_ENABLE)
#undef INCLUDE_PMC /* include PMC */
#define SYS_CLK_RATE_MAX (PIT_CLOCK/32) /* max system clock rate */
#ifdef INCLUDE_TIMESTAMP /* select TSC(default) or PIT2 */
# undef INCLUDE_TIMESTAMP_PIT2 /* include PIT2 for timestamp */
# define INCLUDE_TIMESTAMP_TSC /* include TSC for timestamp */
# define PENTIUMPRO_TSC_FREQ 0 /* TSC freq, 0 for auto detect */
#endif /* INCLUDE_TIMESTAMP */
#elif (CPU == PENTIUM2) || (CPU == PENTIUM3) || (CPU == PENTIUM4) /* P6,P7 */
#undef INCLUDE_SW_FP /* Pentium[234] has hardware FPP */
#undef USER_D_CACHE_MODE /* Pentium[234] write-back data cache support */
#define USER_D_CACHE_MODE (CACHE_COPYBACK | CACHE_SNOOP_ENABLE)
#define INCLUDE_MTRR_GET /* get MTRR to sysMtrr[] */
#define INCLUDE_PMC /* include PMC */
#undef VIRTUAL_WIRE_MODE /* Interrupt Mode: Virtual Wire Mode */
#undef SYMMETRIC_IO_MODE /* Interrupt Mode: Symmetric IO Mode */
#define SYS_CLK_RATE_MAX (PIT_CLOCK/16) /* max system clock rate */
#ifdef INCLUDE_TIMESTAMP /* select TSC(default) or PIT2 */
# undef INCLUDE_TIMESTAMP_PIT2 /* include PIT2 for timestamp */
# define INCLUDE_TIMESTAMP_TSC /* include TSC for timestamp */
# define PENTIUMPRO_TSC_FREQ 0 /* TSC freq, 0 for auto detect */
#endif /* INCLUDE_TIMESTAMP */
#define INCLUDE_MMU_P6_32BIT /* include 32bit MMU for Pentium[234] */
#ifdef INCLUDE_MMU_P6_32BIT
# undef VM_PAGE_SIZE /* page size could be 4KB, 4MB */
# define VM_PAGE_SIZE PAGE_SIZE_4KB /* PAGE_SIZE_4MB */
#endif /* INCLUDE_MMU_P6_32BIT */
#ifdef INCLUDE_MMU_P6_36BIT
# undef VM_PAGE_SIZE /* page size could be 4KB, 2MB */
# define VM_PAGE_SIZE PAGE_SIZE_4KB /* PAGE_SIZE_2MB */
#endif /* INCLUDE_MMU_P6_32BIT */
#if defined (INCLUDE_MMU_P6_32BIT) || defined (INCLUDE_MMU_P6_36BIT)
# undef VM_STATE_MASK_FOR_ALL
# undef VM_STATE_FOR_IO
# undef VM_STATE_FOR_MEM_OS
# undef VM_STATE_FOR_MEM_APPLICATION
# undef VM_STATE_FOR_PCI
# define VM_STATE_MASK_FOR_ALL \
VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | \
VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_WBACK | VM_STATE_MASK_GLOBAL
# define VM_STATE_FOR_IO \
VM_STATE_VALID | VM_STATE_WRITABLE | \
VM_STATE_CACHEABLE_NOT | VM_STATE_WBACK_NOT | VM_STATE_GLOBAL_NOT
# define VM_STATE_FOR_MEM_OS \
VM_STATE_VALID | VM_STATE_WRITABLE | \
VM_STATE_CACHEABLE | VM_STATE_WBACK | VM_STATE_GLOBAL_NOT
# define VM_STATE_FOR_MEM_APPLICATION \
VM_STATE_VALID | VM_STATE_WRITABLE | \
VM_STATE_CACHEABLE | VM_STATE_WBACK | VM_STATE_GLOBAL_NOT
# define VM_STATE_FOR_PCI \
VM_STATE_VALID | VM_STATE_WRITABLE | \
VM_STATE_CACHEABLE_NOT | VM_STATE_WBACK_NOT | VM_STATE_GLOBAL_NOT
#endif /* defined (INCLUDE_MMU_P6_32BIT) || defined (INCLUDE_MMU_P6_36BIT) */
/*
* To enable the IOAPIC, define the mother board from the following list.
* If the IOAPIC is already enabled, defining the mother board is not
* needed. Related code locates in pciCfgIntStub.c.
* D815EEA = Pentium3 + i815e + ICH2(i82801BA)
* D850GB = Pentium4 + i850 + ICH2(i82801BA)
* The PIRQ[n] is directly handled by IOAPIC in the SYMMETRIC_IO_MODE.
*/
#undef INCLUDE_D815EEA /* Pentium3 + i815e + ICH2 */
#undef INCLUDE_D850GB /* Pentium4 + i850 + ICH2 */
#if defined (INCLUDE_D815EEA) || defined (INCLUDE_D850GB)
# define INCLUDE_ICH2 /* ICH2 IO controller hub */
#else
# if (CPU == PENTIUM4)
# define INCLUDE_ICH3 /* set ICH3 as default */
# endif /* (CPU == PENTIUM4) */
#endif /* defined (INCLUDE_D815EEA) || defined (INCLUDE_D850GB) */
#if (CPU == PENTIUM4) && \
(defined (VIRTUAL_WIRE_MODE) || defined (SYMMETRIC_IO_MODE))
# define INCLUDE_THERM_MONITOR /* Thermal Monitor and GV 3 */
# ifdef INCLUDE_THERM_MONITOR
# define TM_MODE GV3_AUTO /* automatic Thermal Management */
# define TM_AC_CHK_RTN NULL /* AC power check routine */
# endif /* INCLUDE_THERM_MONITOR */
# undef INCLUDE_DEBUG_STORE /* Debug Store (BTS/PEBS) */
# ifdef INCLUDE_DEBUG_STORE
# define DS_SYS_MODE FALSE /* TRUE system mode, FALSE task mode */
# define BTS_ENABLED TRUE /* BTS TRUE enable, FALSE disable */
# define BTS_INT_MODE TRUE /* BTS TRUE int mode, FALSE circular */
# define BTS_BUF_MODE TRUE /* BTS TRUE buffer mode, FALSE bus */
# define PEBS_ENABLED TRUE /* PEBS TRUE enable, FALSE disable */
# define PEBS_EVENT PEBS_REPLAY /* PEBS event */
# define PEBS_METRIC PEBS_2NDL_CACHE_LOAD_MISS /* PEBS metric */
# define PEBS_OS TRUE /* PEBS TRUE supervisor, FALSE usr */
# define PEBS_RESET -1LL /* PEBS default reset counter value */
# endif /* INCLUDE_DEBUG_STORE */
#endif /* (CPU == PENTIUM4) */
#endif /* (CPU == I80386) || (CPU == I80486) */
#define IO_ADRS_ELC 0x240
#define INT_LVL_ELC 0x0b
#define MEM_ADRS_ELC 0xc8000
#define MEM_SIZE_ELC 0x4000
#define CONFIG_ELC 0 /* 0=EEPROM 1=RJ45+AUI 2=RJ45+BNC */
#define IO_ADRS_ULTRA 0x240
#define INT_LVL_ULTRA 0x0b
#define MEM_ADRS_ULTRA 0xc8000
#define MEM_SIZE_ULTRA 0x4000
#define CONFIG_ULTRA 0 /* 0=EEPROM 1=RJ45+AUI 2=RJ45+BNC */
#define IO_ADRS_EEX 0x240
#define INT_LVL_EEX 0x0b
#define NTFDS_EEX 0x00
#define CONFIG_EEX 0 /* 0=EEPROM 1=AUI 2=BNC 3=RJ45 */
/* Auto-detect is not supported, so choose */
/* the right one you're going to use */
#define IO_ADRS_ELT 0x240
#define INT_LVL_ELT 0x0b
#define NRF_ELT 0x00
#define CONFIG_ELT 0 /* 0=EEPROM 1=AUI 2=BNC 3=RJ45 */
#define IO_ADRS_ENE 0x300
#define INT_LVL_ENE 0x05
/* Hardware jumper is used to set */
/* RJ45(Twisted Pair) AUI(Thick) BNC(Thin) */
#define IO_ADRS_ESMC 0x300
#define INT_LVL_ESMC 0x0b
#define CONFIG_ESMC 0 /* 0=EEPROM 1=AUI 2=BNC 3=RJ45 */
#define RX_MODE_ESMC 0 /* 0=interrupt level 1=task level */
#ifdef INCLUDE_EEX32
# define INCLUDE_EI /* include 82596 driver */
# define INT_LVL_EI 0x0b
# define EI_SYSBUS 0x44 /* 82596 SYSBUS value */
# define EI_POOL_ADRS NONE /* memory allocated from system memory */
#endif /* INCLUDE_EEX32 */
/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -