1 |
30 |
unneback |
#
|
2 |
|
|
# Config file for the 7100 pa-risc simulator
|
3 |
|
|
#
|
4 |
|
|
# $Id: simhppa.cfg,v 1.2 2001-09-27 12:02:52 chris Exp $
|
5 |
|
|
#
|
6 |
|
|
|
7 |
|
|
include $(RTEMS_ROOT)/make/custom/default.cfg
|
8 |
|
|
|
9 |
|
|
RTEMS_CPU=hppa1.1
|
10 |
|
|
RTEMS_CPU_MODEL=hppa7200
|
11 |
|
|
|
12 |
|
|
# This is the actual bsp directory used during the build process.
|
13 |
|
|
RTEMS_BSP_FAMILY=simhppa
|
14 |
|
|
|
15 |
|
|
# This contains the compiler options necessary to select the CPU model
|
16 |
|
|
# and (hopefully) optimize for it.
|
17 |
|
|
#
|
18 |
|
|
# Possibles:
|
19 |
|
|
# -mpa-risc-1-1 -- HPPA 1.1 instead of 1.0
|
20 |
|
|
# -mportable-runtime
|
21 |
|
|
#
|
22 |
|
|
CPU_CFLAGS = -mpa-risc-1-1 -mportable-runtime
|
23 |
|
|
|
24 |
|
|
# Possibles:
|
25 |
|
|
# -Wall -- lots of warnings
|
26 |
|
|
# -pipe -- compiler uses pipes to talk to phases (usually faster)
|
27 |
|
|
# -ansi -- ANSI C compliance
|
28 |
|
|
# -fasm -- ANSI, but allow inline assembler
|
29 |
|
|
# -mgas -- we are using gas as assembler
|
30 |
|
|
# -fno-keep-inline-functions -- do not emit any inlines as static
|
31 |
|
|
CFLAGS_DEFAULT = $(CPU_CFLAGS) -Wall -ansi -fasm -mgas
|
32 |
|
|
|
33 |
|
|
# optimize flag: typically -0, could use -O4 or -fast
|
34 |
|
|
# -O4 is ok for RTEMS
|
35 |
|
|
# NOTE: some level of -O may be actually required by inline assembler
|
36 |
|
|
CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
|
37 |
|
|
|
38 |
|
|
# This makes the target dependent options file.
|
39 |
|
|
|
40 |
|
|
# NDEBUG (C library)
|
41 |
|
|
# if defined asserts do not generate code. This is commonly used
|
42 |
|
|
# as a command line option.
|
43 |
|
|
#
|
44 |
|
|
# RTEMS_TEST_NO_PAUSE (RTEMS tests)
|
45 |
|
|
# do not pause between screens of output in the rtems tests
|
46 |
|
|
#
|
47 |
|
|
# RTEMS_DEBUG (RTEMS)
|
48 |
|
|
# If defined, debug checks in RTEMS and support library code are enabled.
|
49 |
|
|
#
|
50 |
|
|
# SIMHPPA_FAST_IDLE (simhppa)
|
51 |
|
|
# If defined, speed up the clock ticks while the idle task is running so
|
52 |
|
|
# time spent in the idle task is minimized. This significantly reduces
|
53 |
|
|
# the wall time required to execute the RTEMS test suites.
|
54 |
|
|
#
|
55 |
|
|
|
56 |
|
|
define make-target-options
|
57 |
|
|
@echo "/* #define NDEBUG 1 */ " >>$@
|
58 |
|
|
@echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
|
59 |
|
|
@echo "/* #define RTEMS_DEBUG 1 */" >>$@
|
60 |
|
|
@echo "#define SIMHPPA_FAST_IDLE 1 " >>$@
|
61 |
|
|
endef
|
62 |
|
|
|
63 |
|
|
#
|
64 |
|
|
# GNU ld options
|
65 |
|
|
# `-Tbss ORG'
|
66 |
|
|
# `-Tdata ORG'
|
67 |
|
|
# `-Ttext ORG'
|
68 |
|
|
# Use ORG as the starting address for--respectively--the `bss',
|
69 |
|
|
# `data', or the `text' segment of the output file. ORG must be a
|
70 |
|
|
# single hexadecimal integer; for compatibility with other linkers,
|
71 |
|
|
# you may omit the leading `0x' usually associated with hexadecimal
|
72 |
|
|
# values.
|
73 |
|
|
|
74 |
|
|
# 'NODE' is set to 1 or 2 for multi cpu tests (ref: mptests/mp01/node1/Makefile)
|
75 |
|
|
# If NODE is set as an environment variable, don't trust it, zero it out.
|
76 |
|
|
# (NODE turns out to be a very common environment variable)
|
77 |
|
|
ifeq (,$(NODE))
|
78 |
|
|
NODE=0
|
79 |
|
|
else
|
80 |
|
|
ifeq "$(origin NODE)" "environment"
|
81 |
|
|
NODE=0
|
82 |
|
|
endif
|
83 |
|
|
endif
|
84 |
|
|
|
85 |
|
|
# XXX some/all of this should move into 'linkcmds'
|
86 |
|
|
# single processor
|
87 |
|
|
DATA_0_BASE=0x40001000
|
88 |
|
|
TEXT_0_BASE=0x00001000
|
89 |
|
|
|
90 |
|
|
# first node (mptests number them from 1)
|
91 |
|
|
DATA_1_BASE=$(DATA_0_BASE)
|
92 |
|
|
TEXT_1_BASE=$(TEXT_0_BASE)
|
93 |
|
|
|
94 |
|
|
# second node (mptests number them from 1)
|
95 |
|
|
DATA_2_BASE=0x48001000
|
96 |
|
|
TEXT_2_BASE=0x08001000
|
97 |
|
|
|
98 |
|
|
# for hpux ld
|
99 |
|
|
#LD_LOC_OPTIONS=-D $(DATA_$(NODE)_BASE) -R $(TEXT_$(NODE)_BASE)
|
100 |
|
|
# for gnu ld
|
101 |
|
|
LD_LOC_OPTIONS=-Tdata $(DATA_$(NODE)_BASE) -Ttext $(TEXT_$(NODE)_BASE)
|
102 |
|
|
GCC_LD_LOC_OPTIONS=-W,l-T -W,ldata -W,l$(DATA_$(NODE)_BASE) \
|
103 |
|
|
-W,l-T -W,ltext -W,l$(TEXT_$(NODE)_BASE)
|
104 |
|
|
|
105 |
|
|
|
106 |
|
|
# The following are definitions of make-exe which will work using ld as
|
107 |
|
|
# is currently required. It is expected that as of gcc 2.8, the end user
|
108 |
|
|
# will be able to override parts of the compilers specs and link using gcc.
|
109 |
|
|
|
110 |
|
|
ifeq ($(RTEMS_USE_GCC272),yes)
|
111 |
|
|
define make-exe
|
112 |
|
|
$(LDARGS) $(LD) $(LD_LOC_OPTIONS) $(XLDFLAGS) -a archive \
|
113 |
|
|
-o $@ -u atexit \
|
114 |
|
|
$(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
|
115 |
|
|
$(NM) -g -n $@ > $(basename $@).num
|
116 |
|
|
$(SIZE) $@
|
117 |
|
|
endef
|
118 |
|
|
else
|
119 |
|
|
define make-exe
|
120 |
|
|
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) $(GCC_LD_LOC_OPTIONS) \
|
121 |
|
|
-o $@ \
|
122 |
|
|
$(LINK_OBJS) $(LINK_LIBS)
|
123 |
|
|
$(NM) -g -n $@ > $(basename $@).num
|
124 |
|
|
$(SIZE) $@
|
125 |
|
|
endef
|
126 |
|
|
endif
|
127 |
|
|
|
128 |
|
|
# Miscellaneous additions go here
|
129 |
|
|
|
130 |
|
|
# BSP-specific tools
|
131 |
|
|
PRINTDUMP=$(PROJECT_TOOLS)/print_dump
|