File : s-bbpara-ppc.ads


   1 ------------------------------------------------------------------------------
   2 --                                                                          --
   3 --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
   4 --                                                                          --
   5 --                   S Y S T E M . B B . P A R A M E T E R S                --
   6 --                                                                          --
   7 --                                  S p e c                                 --
   8 --                                                                          --
   9 --        Copyright (C) 1999-2002 Universidad Politecnica de Madrid         --
  10 --             Copyright (C) 2003-2005 The European Space Agency            --
  11 --                     Copyright (C) 2003-2016, AdaCore                     --
  12 --                                                                          --
  13 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  14 -- terms of the  GNU General Public License as published  by the Free Soft- --
  15 -- ware  Foundation;  either version 3,  or (at your option) any later ver- --
  16 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
  17 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
  18 -- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
  19 --                                                                          --
  20 --                                                                          --
  21 --                                                                          --
  22 --                                                                          --
  23 --                                                                          --
  24 -- You should have received a copy of the GNU General Public License and    --
  25 -- a copy of the GCC Runtime Library Exception along with this program;     --
  26 -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
  27 -- <http://www.gnu.org/licenses/>.                                          --
  28 --                                                                          --
  29 -- GNAT was originally developed  by the GNAT team at  New York University. --
  30 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  31 --                                                                          --
  32 -- The port of GNARL to bare board targets was initially developed by the   --
  33 -- Real-Time Systems Group at the Technical University of Madrid.           --
  34 --                                                                          --
  35 ------------------------------------------------------------------------------
  36 
  37 --  This package defines basic parameters used by the low level tasking system
  38 
  39 with System.BB.Board_Parameters;
  40 
  41 package System.BB.Parameters is
  42    pragma Pure;
  43 
  44    --------------------
  45    -- Hardware clock --
  46    --------------------
  47 
  48    Ticks_Per_Second : constant := Board_Parameters.Clock_Frequency;
  49    --  Frequency of the system clock
  50 
  51    ----------------
  52    -- Interrupts --
  53    ----------------
  54 
  55    --  These definitions are in this package in order to isolate target
  56    --  dependencies.
  57 
  58    Number_Of_Interrupt_ID : constant := 128 + 8;
  59    --  Number of interrupts (for both the interrupt controller and core
  60    --  interrupts such as the decrementer). The runtime supports at most
  61    --  128 interrupts external interrupts and 8 non external. If you have
  62    --  more interrupts, you need to change the above constants. This static
  63    --  constant is used to declare a type, and the handler table.
  64 
  65    ------------
  66    -- Stacks --
  67    ------------
  68 
  69    Interrupt_Stack_Size : constant := 8 * 1024;
  70    --  Size of each of the interrupt stacks in bytes
  71 
  72    Interrupt_Sec_Stack_Size : constant := 1024;
  73    --  Size of the secondary stack for interrupt handlers
  74 
  75    ----------
  76    -- CPUS --
  77    ----------
  78 
  79    Max_Number_Of_CPUs : constant := 1;
  80    --  Maximum number of CPUs
  81 
  82    Multiprocessor : constant Boolean := Max_Number_Of_CPUs /= 1;
  83    --  Are we on a multiprocessor board?
  84 
  85 end System.BB.Parameters;