diff options
Diffstat (limited to 'compiler/arm/cpuinfo.pas')
-rw-r--r-- | compiler/arm/cpuinfo.pas | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/compiler/arm/cpuinfo.pas b/compiler/arm/cpuinfo.pas new file mode 100644 index 0000000000..c9aba464a9 --- /dev/null +++ b/compiler/arm/cpuinfo.pas @@ -0,0 +1,88 @@ +{ + Copyright (c) 1998-2002 by the Free Pascal development team + + Basic Processor information for the ARM + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +Unit CPUInfo; + +Interface + + uses + globtype; + +Type + bestreal = double; + ts32real = single; + ts64real = double; + ts80real = type extended; + ts128real = type extended; + ts64comp = comp; + + pbestreal=^bestreal; + + { possible supported processors for this target } + tprocessors = + (no_processor, + armv3, + armv4, + armv5 + ); + + tfputype = + (no_fpuprocessor, + fpu_soft, + fpu_libgcc, + fpu_fpa, + fpu_fpa10, + fpu_fpa11, + fpu_vfp + ); + +Const + {# Size of native extended floating point type } + extended_size = 12; + {# Size of a multimedia register } + mmreg_size = 16; + { target cpu string (used by compiler options) } + target_cpu_string = 'arm'; + + { calling conventions supported by the code generator } + supported_calling_conventions : tproccalloptions = [ + pocall_internproc, + pocall_stdcall, + { same as stdcall only different name mangling } + pocall_cdecl, + { same as stdcall only different name mangling } + pocall_cppdecl, + { same as stdcall but floating point numbers are handled like equal sized integers } + pocall_softfloat + ]; + + processorsstr : array[tprocessors] of string[5] = ('', + 'ARMV3', + 'ARMV4', + 'ARMV5' + ); + + fputypestr : array[tfputype] of string[6] = ('', + 'SOFT', + 'LIBGCC', + 'FPA', + 'FPA10', + 'FPA11', + 'VFP' + ); + + +Implementation + +end. |