source: rtems/cpukit/score/cpu/no_cpu/asm.h @ 3652ad35

4.104.114.84.95
Last change on this file since 3652ad35 was 3a4ae6c, checked in by Joel Sherrill <joel.sherrill@…>, on 09/11/95 at 19:35:39

The word "RTEMS" almost completely removed from the core.

Configuration Table Template file added and all tests
modified to use this. All gvar.h and conftbl.h files
removed from test directories.

Configuration parameter maximum_devices added.

Core semaphore and mutex handlers added and RTEMS API Semaphore
Manager updated to reflect this.

Initialization sequence changed to invoke API specific initialization
routines. Initialization tasks table now owned by RTEMS Tasks Manager.

Added user extension for post-switch.

Utilized user extensions to implement API specific functionality
like signal dispatching.

Added extensions to the System Initialization Thread so that an
API can register a function to be invoked while the system
is being initialized. These are largely equivalent to the
pre-driver and post-driver hooks.

Added the Modules file oar-go32_p5, modified oar-go32, and modified
the file make/custom/go32.cfg to look at an environment varable which
determines what CPU model is being used.

All BSPs updated to reflect named devices and clock driver's IOCTL
used by the Shared Memory Driver. Also merged clock isr into
main file and removed ckisr.c where possible.

Updated spsize to reflect new and moved variables.

Makefiles for the executive source and include files updated to show
break down of files into Core, RTEMS API, and Neither.

Header and inline files installed into subdirectory based on whether
logically in the Core or a part of the RTEMS API.

  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*  asm.h
2 *
3 *  This include file attempts to address the problems
4 *  caused by incompatible flavors of assemblers and
5 *  toolsets.  It primarily addresses variations in the
6 *  use of leading underscores on symbols and the requirement
7 *  that register names be preceded by a %.
8 *
9 *
10 *  NOTE: The spacing in the use of these macros
11 *        is critical to them working as advertised.
12 *
13 *  COPYRIGHT:
14 *
15 *  This file is based on similar code found in newlib available
16 *  from ftp.cygnus.com.  The file which was used had no copyright
17 *  notice.  This file is freely distributable as long as the source
18 *  of the file is noted.  This file is:
19 *
20 *  COPYRIGHT (c) 1994.
21 *  On-Line Applications Research Corporation (OAR).
22 *
23 *  $Id$
24 */
25
26#ifndef __NO_CPU_ASM_h
27#define __NO_CPU_ASM_h
28
29/*
30 *  Indicate we are in an assembly file and get the basic CPU definitions.
31 */
32
33#define ASM
34#include <rtems/core/no_cpu.h>
35
36/*
37 *  Recent versions of GNU cpp define variables which indicate the
38 *  need for underscores and percents.  If not using GNU cpp or
39 *  the version does not support this, then you will obviously
40 *  have to define these as appropriate.
41 */
42
43#ifndef __USER_LABEL_PREFIX__
44#define __USER_LABEL_PREFIX__ _
45#endif
46
47#ifndef __REGISTER_PREFIX__
48#define __REGISTER_PREFIX__
49#endif
50
51/* ANSI concatenation macros.  */
52
53#define CONCAT1(a, b) CONCAT2(a, b)
54#define CONCAT2(a, b) a ## b
55
56/* Use the right prefix for global labels.  */
57
58#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
59
60/* Use the right prefix for registers.  */
61
62#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)
63
64/*
65 *  define macros for all of the registers on this CPU
66 *
67 *  EXAMPLE:     #define d0 REG (d0)
68 */
69
70/*
71 *  Define macros to handle section beginning and ends.
72 */
73
74
75#define BEGIN_CODE_DCL .text
76#define END_CODE_DCL
77#define BEGIN_DATA_DCL .data
78#define END_DATA_DCL
79#define BEGIN_CODE .text
80#define END_CODE
81#define BEGIN_DATA
82#define END_DATA
83#define BEGIN_BSS
84#define END_BSS
85#define END
86
87/*
88 *  Following must be tailor for a particular flavor of the C compiler.
89 *  They may need to put underscores in front of the symbols.
90 */
91
92#define PUBLIC(sym) .globl SYM (sym)
93#define EXTERN(sym) .globl SYM (sym)
94
95#endif
96/* end of include file */
97
98
Note: See TracBrowser for help on using the repository browser.