cpuinfo.pas 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. {*****************************************************************************}
  2. { File : cpuinfo.pas }
  3. { Author : Mazen NEIFER }
  4. { Project : Free Pascal Compiler (FPC) }
  5. { Creation date : 2002\26\26 }
  6. { Last modification date : 2002\08\20 }
  7. { Licence : GPL }
  8. { Bug report : [email protected] }
  9. {*****************************************************************************}
  10. {
  11. $Id$
  12. Copyright (c) 1998-2000 by Florian Klaempfl
  13. Basic Processor information
  14. This program is free software; you can redistribute it and/or modify
  15. it under the terms of the GNU General Public License as published by
  16. the Free Software Foundation; either version 2 of the License, or
  17. (at your option) any later version.
  18. This program is distributed in the hope that it will be useful,
  19. but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  21. GNU General Public License for more details.
  22. You should have received a copy of the GNU General Public License
  23. along with this program; if not, write to the Free Software
  24. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  25. ****************************************************************************}
  26. UNIT cpuinfo;
  27. {$INCLUDE fpcdefs.inc}
  28. INTERFACE
  29. TYPE
  30. {# Natural integer register type and size for the target machine }
  31. AWord=Cardinal;
  32. PAWord=^AWord;
  33. { the ordinal type used when evaluating constant integer expressions }
  34. TConstExprInt=int64;
  35. { this must be an ordinal type with the same size as a pointer }
  36. { Note: must be unsigned!! Otherwise, ugly code like }
  37. { pointer(-1) will result in a pointer with the value }
  38. { $fffffffffffffff on a 32bit machine if the compiler uses }
  39. { int64 constants internally (JM) }
  40. TConstPtrUInt=cardinal;
  41. bestreal = extended;
  42. ts32real = single;
  43. ts64real = double;
  44. ts80real = extended;
  45. ts64comp = extended;
  46. pbestreal=^bestreal;
  47. { possible supported processors for this target }
  48. tprocessors=(no_processor,SPARC_V8,SPARC_V9);
  49. CONST
  50. {# Size of native extended floating point type }
  51. extended_size = 10;
  52. {# Size of a pointer }
  53. pointer_size = 4;
  54. {# Size of a multimedia register }
  55. mmreg_size = 8;
  56. { target cpu string (used by compiler options) }
  57. target_cpu_string = 'SPARC';
  58. { size of the buffer used for setjump/longjmp
  59. the size of this buffer is deduced from the
  60. jmp_buf structure in setjumph.inc file }
  61. jmp_buf_size = 24;
  62. IMPLEMENTATION
  63. END.