cpuinfo.pas 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. {
  2. $Id$
  3. Copyright (c) 1998-2002 by the Free Pascal development team
  4. Basic Processor information for the PowerPC
  5. See the file COPYING.FPC, included in this distribution,
  6. for details about the copyright.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. **********************************************************************}
  11. Unit CPUInfo;
  12. Interface
  13. uses
  14. globtype;
  15. Type
  16. bestreal = double;
  17. ts32real = single;
  18. ts64real = double;
  19. ts80real = extended;
  20. ts128real = extended;
  21. ts64comp = comp;
  22. pbestreal=^bestreal;
  23. { possible supported processors for this target }
  24. tprocessors =
  25. (no_processor,
  26. ppc601,
  27. ppc604
  28. );
  29. tfputype =
  30. (no_fpuprocessor,
  31. fpu_soft,
  32. fpu_standard
  33. );
  34. Const
  35. {# Size of native extended floating point type }
  36. extended_size = 8;
  37. {# Size of a multimedia register }
  38. mmreg_size = 16;
  39. { target cpu string (used by compiler options) }
  40. target_cpu_string = 'powerpc';
  41. { size of the buffer used for setjump/longjmp
  42. the size of this buffer is deduced from the
  43. jmp_buf structure in setjumph.inc file
  44. }
  45. { for linux: }
  46. jmp_buf_size = 232;
  47. { calling conventions supported by the code generator }
  48. supported_calling_conventions : tproccalloptions = [
  49. pocall_internproc,
  50. pocall_compilerproc,
  51. pocall_inline,
  52. pocall_stdcall,
  53. { the difference to stdcall is only the name mangling }
  54. pocall_cdecl,
  55. { the difference to stdcall is only the name mangling }
  56. pocall_cppdecl
  57. ];
  58. processorsstr : array[tprocessors] of string[10] = ('',
  59. '603',
  60. '604'
  61. );
  62. fputypestr : array[tfputype] of string[6] = ('',
  63. 'SOFT',
  64. 'STANDARD'
  65. );
  66. Implementation
  67. end.
  68. {
  69. $Log$
  70. Revision 1.20 2004-06-20 08:55:32 florian
  71. * logs truncated
  72. Revision 1.19 2004/06/16 20:07:10 florian
  73. * dwarf branch merged
  74. Revision 1.17.2.1 2004/05/01 16:02:10 peter
  75. * POINTER_SIZE replaced with sizeof(aint)
  76. * aint,aword,tconst*int moved to globtype
  77. Revision 1.17 2004/02/27 10:21:05 florian
  78. * top_symbol killed
  79. + refaddr to treference added
  80. + refsymbol to treference added
  81. * top_local stuff moved to an extra record to save memory
  82. + aint introduced
  83. * tppufile.get/putint64/aint implemented
  84. }