174 lines
5.3 KiB
C
174 lines
5.3 KiB
C
/*************************************************************************\
|
|
* 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.h>
|
|
|
|
/*
|
|
***********************************************************************
|
|
* 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 <machine/rtems-bsd-config.h>
|
|
#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 <bsp/irq-info.h>
|
|
|
|
#ifndef RTEMS_LEGACY_STACK
|
|
#include <rtems/netcmds-config.h>
|
|
|
|
#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 <rtems/shellconfig.h>
|
|
#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 <rtems/shellconfig.h>
|
|
#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 <rtems/confdefs.h>
|