diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/exec/score/cpu/unix/Makefile.in | 90 | ||||
-rw-r--r-- | c/src/exec/score/cpu/unix/cpu.c | 4 | ||||
-rw-r--r-- | c/src/exec/score/cpu/unix/cpu.h | 6 | ||||
-rw-r--r-- | c/src/exec/score/cpu/unix/unix.h | 4 |
4 files changed, 99 insertions, 5 deletions
diff --git a/c/src/exec/score/cpu/unix/Makefile.in b/c/src/exec/score/cpu/unix/Makefile.in new file mode 100644 index 0000000000..371c246d50 --- /dev/null +++ b/c/src/exec/score/cpu/unix/Makefile.in @@ -0,0 +1,90 @@ +# +# $Id$ +# + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH=@srcdir@ + +RELS=$(ARCH)/rtems-cpu.rel + +# C source names, if any, go here -- minus the .c +C_PIECES=cpu +C_FILES=$(C_PIECES:%=%.c) +C_O_FILES=$(C_PIECES:%=${ARCH}/%.o) + +H_FILES=$(srcdir)/cpu.h $(srcdir)/unixtypes.h + +# Assembly source names, if any, go here -- minus the .S +S_PIECES= +S_FILES=$(S_PIECES:%=%.S) +S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o) + +SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) +OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES) + +include $(RTEMS_CUSTOM) +include $(PROJECT_ROOT)/make/leaf.cfg + +# +# (OPTIONAL) Add local stuff here using += +# + +DEFINES += +CPPFLAGS += +CFLAGS += $(CFLAGS_OS_V) + +LD_PATHS += +LD_LIBS += +LDFLAGS += + +# +# Add your list of files to delete here. The config files +# already know how to delete some stuff, so you may want +# to just run 'make clean' first to see what gets missed. +# 'make clobber' already includes 'make clean' +# + +CLEAN_ADDITIONS += +CLOBBER_ADDITIONS += + +$(ARCH)/unixsize.h: $(ARCH) cpu.h $(PROJECT_RELEASE)/bin/gensize + $(RM) $@ + $(PROJECT_RELEASE)/bin/gensize > $@ + $(CHMOD) -w $@ + +$(ARCH)/rtems-cpu.rel: $(OBJS) + $(make-rel) + +all: ${ARCH} $(SRCS) $(ARCH)/unixsize.h preinstall $(RELS) + +# Install the program(s), appending _g or _p as appropriate. +# for include files, just use $(INSTALL) +install: all + +# Real ports using the gnu tools will need to have bsp_specs!!! +# ${PROJECT_RELEASE}/lib/bsp_specs +preinstall: ${PROJECT_RELEASE}/include/rtems/score/unix.h $(ARCH)/unixsize.h \ + ${PROJECT_RELEASE}/include/rtems/score/targopts.h + $(INSTALL) -m 444 ${H_FILES} ${PROJECT_RELEASE}/include/rtems/score + $(INSTALL) -m 444 ${ARCH}/unixsize.h ${PROJECT_RELEASE}/include/rtems/score + +${PROJECT_RELEASE}/include/rtems/score/unix.h: unix.h + $(SED) -e 's?REPLACE_THIS_WITH_THE_CPU_MODEL?$(RTEMS_CPU_MODEL)?' \ + -e 's?REPLACE_THIS_WITH_THE_BSP?$(RTEMS_BSP)?' \ + -e 's?REPLACE_THIS_WITH_THE_CPU_FAMILY?$(RTEMS_CPU_FAMILY)?' \ + -e 's?REPLACE_THIS_WITH_THE_UNIX_FLAVOR?$(RTEMS_UNIX_FLAVOR)?' \ + <$(srcdir)/unix.h >$(ARCH)/unix.h.tmp + $(INSTALL) -m 444 $(ARCH)/unix.h.tmp $@ + +${PROJECT_RELEASE}/include/rtems/score/targopts.h: $(ARCH)/targopts.h-tmp + $(INSTALL) -m 444 $(ARCH)/targopts.h-tmp $@ + +# $(ARCH)/targopts.h-tmp rule is in leaf.cfg + +# Real ports using the gnu tools will need to have bsp_specs!!! +#${PROJECT_RELEASE}/lib/bsp_specs: $(ARCH)/bsp_specs.tmp +# $(INSTALL) -m 444 $(ARCH)/bsp_specs.tmp $@ +# +# $(ARCH)/bsp_specs.tmp rule is in leaf.cfg diff --git a/c/src/exec/score/cpu/unix/cpu.c b/c/src/exec/score/cpu/unix/cpu.c index 8b9c3154fb..7a52c1b78b 100644 --- a/c/src/exec/score/cpu/unix/cpu.c +++ b/c/src/exec/score/cpu/unix/cpu.c @@ -447,7 +447,7 @@ void _CPU_Context_Initialize( *(addr + SP_OFF) = (unsigned32)(_stack_high - CPU_FRAME_SIZE); *(addr + FP_OFF) = (unsigned32)(_stack_high); -#elif defined(i386) +#elif defined(i386) || defined(__i386__) /* * This information was gathered by disassembling setjmp(). @@ -817,7 +817,7 @@ void _CPU_SHM_Init( char *shm_addr; key_t shm_key; key_t sem_key; - int status = 0; + int status; int shm_size; if (getenv("RTEMS_SHM_KEY")) diff --git a/c/src/exec/score/cpu/unix/cpu.h b/c/src/exec/score/cpu/unix/cpu.h index 2e69d4af2e..9565bbca63 100644 --- a/c/src/exec/score/cpu/unix/cpu.h +++ b/c/src/exec/score/cpu/unix/cpu.h @@ -251,7 +251,7 @@ extern "C" { #if defined(hppa1_1) #define CPU_STACK_GROWS_UP TRUE -#elif defined(sparc) || defined(i386) +#elif defined(sparc) || defined(i386) || defined(__i386__) #define CPU_STACK_GROWS_UP FALSE #else #error "unknown CPU!!" @@ -353,7 +353,7 @@ extern "C" { #endif #endif -#if defined(i386) +#if defined(i386) || defined(__i386__) #ifdef RTEMS_NEWLIB #error "Newlib not installed" @@ -544,7 +544,7 @@ SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)(); #define CPU_FRAME_SIZE (32 * 4) #elif defined(sparc) #define CPU_FRAME_SIZE (112) /* based on disassembled test code */ -#elif defined(i386) +#elif defined(i386) || defined(__i386__) #define CPU_FRAME_SIZE (24) /* return address, sp, and bp pushed plus fudge */ #else #error "Unknown CPU!!!" diff --git a/c/src/exec/score/cpu/unix/unix.h b/c/src/exec/score/cpu/unix/unix.h index 318c21ca5e..5e0e346a18 100644 --- a/c/src/exec/score/cpu/unix/unix.h +++ b/c/src/exec/score/cpu/unix/unix.h @@ -38,6 +38,10 @@ extern "C" { #define CPU_MODEL_NAME "Solaris" +#elif defined(__linux__) + +#define CPU_MODEL_NAME "Linux" + #elif defined(linux) #define CPU_MODEL_NAME "Linux" |