source: rtems/make/custom/mcp750.cfg @ 399432fa

4.104.114.84.95
Last change on this file since 399432fa was 399432fa, checked in by Joel Sherrill <joel.sherrill@…>, on Feb 2, 2000 at 3:26:41 PM

Patch rtems-rc-20000118-6.diff from Ralf Corsepius <corsepiu@…>
that contains:

The workarounds related to the issues with
ppc/helas403 (triggers a nasty bug in automake-2.14) and mcp750.cfg
(Which is basically broken)

To apply:

patch -p1 < rtems-rc-20000118-6.diff
./bootstrap

Note:

  • Though this patch is small, ./bootstrap is absolutely necessary.
  • Now your CVS source tree is identical to my local CVS.
  • Property mode set to 100644
File size: 4.5 KB
Line 
1#
2#  Config file for Motorola MCP750 -- a MPC750 CompactPCI board
3#
4#  $Id$
5#
6
7include $(RTEMS_ROOT)/make/custom/default.cfg
8
9RTEMS_CPU=powerpc
10RTEMS_CPU_MODEL=mpc750
11RTEMS_PPC_EXCEPTION_PROCESSING_MODEL=new
12
13# This is the actual bsp directory used during the build process.
14RTEMS_BSP_FAMILY=motorola_powerpc
15
16#  This section makes the target dependent options file.
17
18#  NDEBUG (C library)
19#     if defined asserts do not generate code.  This is commonly used
20#     as a command line option.
21#
22#  RTEMS_TEST_NO_PAUSE (RTEMS tests)
23#     do not pause between screens of output in the rtems tests
24#
25#  RTEMS_DEBUG (RTEMS)
26#     If defined, debug checks in RTEMS and support library code are enabled.
27#
28#  PPC_VECTOR_FILE_BASE (ppc)
29#     This defines the base address of the exception table.
30#     NOTE: Vectors are actually at 0xFFF00000 but file starts at offset 0x0100
31#
32#  PPC_ABI (ppc)
33#     This defines the calling convention (Application Binary Interface)
34#     used in this configuration.  EABI is the only one supported.
35#
36#  PPC_ASM (ppc)
37#     This defines the assembly language format used in this configuration.
38#     ELF is the only one supported.
39#
40#  PPC_USE_SPRG (RTEMS PowerPC port)
41#     If defined, then the PowerPC specific code in RTEMS will use some
42#     of the special purpose registers to slightly optimize interrupt
43#     response time.  The use of these registers can conflict with
44#     other tools like debuggers.
45#
46#  PPC_USE_DATA_CACHE (RTEMS PowerPC port)
47#     If defined, then the PowerPC specific code in RTEMS will use
48#     data cache instructions to optimize the context switch code.
49#     This code can conflict with debuggers or emulators.
50#
51
52define make-target-options
53        @echo "/* #define NDEBUG 1 */ "                        >>$@
54        @echo "#define RTEMS_TEST_NO_PAUSE 1"                  >>$@
55        @echo "/* #define RTEMS_DEBUG  1 */"                   >>$@
56        @echo "#define PPCN_60X_USE_DINK 0"                   >>$@
57        @echo "#define PPCN_60X_USE_NONE 1"                   >>$@
58        @echo "#define PPC_USE_DATA_CACHE 1"                   >>$@
59        @echo "#define PPC_VECTOR_FILE_BASE 0x0100"            >>$@
60        @echo "#define PPC_ABI PPC_ABI_EABI"                   >>$@
61        @echo "#define PPC_ASM PPC_ASM_ELF"                    >>$@
62        @echo "#define PPC_USE_SPRG  1"                        >>$@
63endef
64
65#  This contains the compiler options necessary to select the CPU model
66#  and (hopefully) optimize for it.
67#
68# NOTE : cheking egcc 1.1.1 source code shows that the last know processor
69# is the 604 model and that this is the default generation option.
70#
71# CPU_CFLAGS = -mcpu=750
72
73# optimize flag: typically -0, could use -O4 or -fast
74# -O4 is ok for RTEMS
75# NOTE2: some level of -O may be actually required by inline assembler (at least
76# -O2 so far.
77# NOTE2 Apparently nobody really knows the status or r2 and r13.
78# As far as I know, small data are pointer impose a very specific compliation
79# model => not used.
80# Currently the sdata2 and sbss2 sections are empty => r2 is not used...
81CFLAGS_OPTIMIZE_V=-O4 -mmultiple -mstring -mstrict-align  -mcpu=750
82#CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions -fvolatile-global -fvolatile -mstrict-align -mcpu=750
83
84# The following is a ld command file which works without using the
85# -specs system in gcc 2.8.  IT HAS NEVER BEEN TESTED WITH THIS BSP!!!
86#       $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
87#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
88#       $(LD) $(XLDFLAGS) -Ttext 0x20000 \
89#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
90
91#       $(CC) -mmvme -mrtems -nostartfiles -mcpu=603 \
92#           -o $(basename $@).exe -L $(PROJECT_RELEASE)/lib \
93#            $(START_FILE) $(LINK_OBJS) \
94#            $(LD_LIBS) \
95#           -Wl,-\( -Wl,-lc -Wl,-lrtemsall -Wl,-lgcc -Wl,-\)
96define make-exe
97        $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $(LINK_OBJS) $(LINK_LIBS)
98        $(NM) -g -n $@ > $(basename $@).num
99        $(SIZE) $@
100        $(CP) $@ $(PROJECT_ROOT)/powerpc-rtems/c/mcp750/lib/libbsp/powerpc/$(RTEMS_BSP_FAMILY)/bootloader/$(ARCH); \
101        cd $(PROJECT_ROOT)/powerpc-rtems/c/mcp750/lib/libbsp/powerpc/$(RTEMS_BSP_FAMILY)/bootloader; \
102        $(MAKE) bootloader BINARY_LOADED=$(basename $@).exe; \
103        COMPLETE_FILE_NAME=$(basename $@).exe ;\
104        echo $${COMPLETE_FILE_NAME} ;\
105        FILE_NAME=`basename $${COMPLETE_FILE_NAME}` ;\
106        echo $${FILE_NAME} ;\
107        mkdir -p $(PROJECT_ROOT)/mcp750/bin ;\
108        $(CP) bootloader $(PROJECT_ROOT)/mcp750/bin/$${FILE_NAME}
109endef
110
111# Miscellaneous additions go here
112
113# Let the HWAPI know which set of drivers to build
114DRIVER_ARCHITECTURE=compactpci
Note: See TracBrowser for help on using the repository browser.