------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- Cheddar is a GNU GPL real-time scheduling analysis tool. -- This program provides services to automatically check schedulability and -- other performance criteria of real-time architecture models. -- -- Copyright (C) 2002-2023, Frank Singhoff, Alain Plantec, Jerome Legrand, -- Hai Nam Tran, Stephane Rubini -- -- The Cheddar project was started in 2002 by -- Frank Singhoff, Lab-STICC UMR CNRS 6285, Universite de Bretagne Occidentale -- -- Cheddar has been published in the "Agence de Protection des Programmes/France" in 2008. -- Since 2008, Ellidiss technologies also contributes to the development of -- Cheddar and provides industrial support. -- -- The full list of contributors and sponsors can be found in README.md -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2 of the License, or -- (at your option) any later version. -- -- 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. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- -- -- Contact : cheddar@listes.univ-brest.fr -- ------------------------------------------------------------------------------ -- Last update : -- $Rev$ -- $Date$ -- $Author: singhoff $ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with Processors; use Processors; with Systems; use Systems; package Ellidiss_Tools is -- --function Get_Offline_Scheduling_Period (A_Processor : in Generic_Processor_Ptr) return Natural; -- --function Get_Cyclic_Scheduling_Period (My_Address_Spaces : in Address_Spaces_Set) return Natural; -- Get the system hyper period for 1 given processor function Get_Scheduling_Period (A_Sys : in system; A_Processor : generic_processor_ptr; Max_Scheduling_Period : in Natural := 0) return Natural; -- Get the system hyper period for 1 given processor function Get_Max_Scheduling_Period (Sys : in out System; Max_Scheduling_Period : in Natural := 0) return Natural; -- procedure Write_Xml_Event_Table (Sys : in out system; Result : in out Unbounded_String; Max_Scheduling_Period : in Natural := 0); -- assessors of default scheduling period procedure Set_Default_Scheduling_Period (Scheduling_Period : in Natural); function Get_Default_Scheduling_Period return Natural; function CheddarKernel_version return String; -- exeption use when there is no hyper period algo available Invalid_Scheduling_Period : exception; -- default hyper period use if no hyper period has been found Default_Scheduling_Period : Natural := 10000; private -- current cheddar kernel version CheddarKernel_Verion : constant String := "3 (19-12-2023)"; end Ellidiss_Tools;