/*************************************************************************\ * Copyright (c) 2002 The University of Saskatchewan * EPICS BASE Versions 3.13.7 * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ /* * RTEMS configuration for EPICS * Author: W. Eric Norum * norume@aps.anl.gov * (630) 252-4793 */ #include /* *********************************************************************** * RTEMS CONFIGURATION * *********************************************************************** */ extern void *POSIX_Init(void *argument); #define CONFIGURE_POSIX_INIT_THREAD_TABLE #define CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT POSIX_Init #define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE (64*1024) #define CONFIGURE_MAXIMUM_PERIODS 5 #define CONFIGURE_MICROSECONDS_PER_TICK 10000 #define CONFIGURE_MALLOC_STATISTICS 1 /* MINIMUM_STACK_SIZE == 8K */ #define CONFIGURE_EXTRA_TASK_STACKS (4000 * RTEMS_MINIMUM_STACK_SIZE) #if __RTEMS_MAJOR__ > 4 #define CONFIGURE_FILESYSTEM_DEVFS #define CONFIGURE_FILESYSTEM_TFTPFS #endif #define CONFIGURE_FILESYSTEM_NFS #define CONFIGURE_FILESYSTEM_IMFS #ifndef RTEMS_LEGACY_STACK #define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM /* * Configure LibBSD. */ //#define RTEMS_BSD_CONFIG_NET_PF_UNIX //#define RTEMS_BSD_CONFIG_NET_IF_BRIDGE //#define RTEMS_BSD_CONFIG_NET_IF_LAGG //#define RTEMS_BSD_CONFIG_NET_IF_VLAN #define RTEMS_BSD_CONFIG_BSP_CONFIG #define RTEMS_BSD_CONFIG_INIT #include #endif // not LEGACY_STACK /* * Configure RTEMS. */ #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER #define CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER /* Max FDs cannot exceed FD_SETSIZE from newlib (64) */ #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 64 #define CONFIGURE_IMFS_ENABLE_MKFIFO 2 #define CONFIGURE_MAXIMUM_NFS_MOUNTS 3 #define CONFIGURE_MAXIMUM_USER_EXTENSIONS 5 #define CONFIGURE_UNLIMITED_ALLOCATION_SIZE 32 #define CONFIGURE_UNLIMITED_OBJECTS #define CONFIGURE_UNIFIED_WORK_AREAS #define CONFIGURE_STACK_CHECKER_ENABLED #define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK #define CONFIGURE_BDBUF_BUFFER_MAX_SIZE (64 * 1024) #define CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS 4 #define CONFIGURE_BDBUF_CACHE_MEMORY_SIZE (1 * 1024 * 1024) /* we are using POSIX_INIT needed by V4 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define CONFIGURE_INIT_TASK_STACK_SIZE (32 * 1024) #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES #define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT #endif */ //#define RTEMS_PCI_CONFIG_LIB //#define CONFIGURE_PCI_LIB PCI_LIB_AUTO #if __RTEMS_MAJOR__ > 4 #define CONFIGURE_SHELL_COMMANDS_INIT #include #ifndef RTEMS_LEGACY_STACK #include #define CONFIGURE_SHELL_USER_COMMANDS \ &bsp_interrupt_shell_command, \ &rtems_shell_HOSTNAME_Command, \ &rtems_shell_PING_Command, \ &rtems_shell_ROUTE_Command, \ &rtems_shell_NETSTAT_Command, \ &rtems_shell_IFCONFIG_Command, \ &rtems_shell_TCPDUMP_Command, \ &rtems_shell_PFCTL_Command, \ &rtems_shell_SYSCTL_Command #else // LEGACY_STACK: #define CONFIGURE_SHELL_USER_COMMANDS \ &bsp_interrupt_shell_command, \ &rtems_shell_PING_Command, \ &rtems_shell_ROUTE_Command, \ &rtems_shell_IFCONFIG_Command #endif #define CONFIGURE_SHELL_COMMAND_CPUUSE #define CONFIGURE_SHELL_COMMAND_PERIODUSE #define CONFIGURE_SHELL_COMMAND_STACKUSE #define CONFIGURE_SHELL_COMMAND_PROFREPORT #define CONFIGURE_SHELL_COMMAND_CP #define CONFIGURE_SHELL_COMMAND_PWD #define CONFIGURE_SHELL_COMMAND_LS #define CONFIGURE_SHELL_COMMAND_LN #define CONFIGURE_SHELL_COMMAND_LSOF #define CONFIGURE_SHELL_COMMAND_CHDIR #define CONFIGURE_SHELL_COMMAND_CD #define CONFIGURE_SHELL_COMMAND_MKDIR #define CONFIGURE_SHELL_COMMAND_RMDIR #define CONFIGURE_SHELL_COMMAND_CAT #define CONFIGURE_SHELL_COMMAND_MV #define CONFIGURE_SHELL_COMMAND_RM #define CONFIGURE_SHELL_COMMAND_MALLOC_INFO #define CONFIGURE_SHELL_COMMAND_SHUTDOWN #include #define RTEMS_BSD_CONFIG_BSP_CONFIG #define RTEMS_BSD_CONFIG_SERVICE_TELNETD #define RTEMS_BSD_CONFIG_TELNETD_STACK_SIZE (16 * 1024) #define RTEMS_BSD_CONFIG_SERVICE_FTPD #define RTEMS_BSD_CONFIG_FIREWALL_PF #else #include #endif // not LEGACY_STACK #if __RTEMS_MAJOR__ < 5 // still needed in Version 4? #define CONFIGURE_MAXIMUM_TASKS rtems_resource_unlimited(30) #endif #define CONFIGURE_MAXIMUM_DRIVERS 40 /* * This should be made BSP dependent, not CPU dependent but I know of no * appropriate conditionals to use. * The new general time support makes including the RTC driver less important. */ #if !defined(mpc604) && !defined(__mc68040__) && !defined(__mcf5200__) && \ !defined(mpc7455) && !defined(__arm__) && !defined(__nios2__) /* don't have RTC code */ #define CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER #endif #if defined(BSP_pc386) || defined(BSP_pc686) #define RTEMS_BSD_CONFIG_DOMAIN_PAGE_MBUFS_SIZE (64 * 1024 * 1024) #elif defined(BSP_qoriq_e500) #define RTEMS_BSD_CONFIG_DOMAIN_PAGE_MBUFS_SIZE (32 * 1024 * 1024) #endif #define CONFIGURE_INIT #include