Commit b67d02e7 authored by Jerome Hugues's avatar Jerome Hugues

Merge branch 'master' of https://github.com/OpenAADL/ocarina

parents 76c9ab56 b4839600
......@@ -42,7 +42,8 @@ property set Deployment is
WIN32, -- WIN32
VXWORKS, -- VXWORKS
FREERTOS, -- FREERTOS
AIR -- AIR Hypervisor, by GMV
AIR, -- AIR Hypervisor, by GMV
AIR_IOP -- AIR IOP partition
);
-- Supported platforms
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2018-2019 ESA & ISAE. --
-- Copyright (C) 2018-2020 ESA & ISAE. --
-- --
-- Ocarina is free software; you can redistribute it and/or modify under --
-- terms of the GNU General Public License as published by the Free Soft- --
......@@ -160,11 +160,13 @@ package body Ocarina.Backends.AIR_Conf.Partitions is
P : Node_Id;
Q : Node_Id;
F : Node_Id;
Personnality : Supported_Execution_Platform;
begin
Associated_Processor := Get_Bound_Processor (E);
Associated_Memory := Get_Bound_Memory (E);
Associated_Module :=
Parent_Component (Parent_Subcomponent (Associated_Processor));
Personnality := Get_Execution_Platform (Associated_Processor);
-- Some checks on the model in order to make sure that
-- everything is correctly defined.
......@@ -368,8 +370,16 @@ package body Ocarina.Backends.AIR_Conf.Partitions is
PartitionConfiguration := Make_XML_Node ("PartitionConfiguration");
XTU.Add_Attribute ("Personality", "RTEMS5",
PartitionConfiguration); -- XXX hardcoded
if Personnality = Platform_AIR then
XTU.Add_Attribute ("Personality", "RTEMS5",
PartitionConfiguration);
elsif Personnality = Platform_AIR_IOP then
XTU.Add_Attribute ("Personality", "Bare",
PartitionConfiguration);
else
raise Program_Error with "Unsupported platform " & Personnality'Img;
end if;
XTU.Add_Attribute ("Cores", "1",
PartitionConfiguration); -- XXX hardcoded
......@@ -381,10 +391,17 @@ package body Ocarina.Backends.AIR_Conf.Partitions is
Libs_Node := Make_XML_Node ("Libs");
Append_Node_To_List (Libs_Node, XTN.Subitems (Partitionconfiguration));
Append_Node_To_List
(Make_Defining_Identifier
(Get_String_Name ("LIBAIR; IMASPEX; LIBPRINTF")),
XTN.Subitems (Libs_Node));
if Personnality = Platform_AIR then
Append_Node_To_List
(Make_Defining_Identifier
(Get_String_Name ("LIBAIR; IMASPEX; LIBPRINTF")),
XTN.Subitems (Libs_Node));
elsif Personnality = Platform_AIR_IOP then
Append_Node_To_List
(Make_Defining_Identifier
(Get_String_Name ("LIBIOP")),
XTN.Subitems (Libs_Node));
end if;
-- Devices node, child of PartitionConfiguration
......@@ -423,12 +440,18 @@ package body Ocarina.Backends.AIR_Conf.Partitions is
Permissions_Node := Make_XML_Node ("Permissions");
Append_Node_To_List
(Make_Defining_Identifier
(Get_String_Name
("FPU_CONTROL; GLOBAL_TIME; CACHE_CONTROL;"
& "SET_TOD; SET_PARTITION_MODE;")), -- XXX hardcoded
XTN.Subitems (Permissions_Node));
if Personnality = Platform_AIR then
Append_Node_To_List
(Make_Defining_Identifier
(Get_String_Name
("FPU_CONTROL; GLOBAL_TIME; CACHE_CONTROL;"
& "SET_TOD; SET_PARTITION_MODE;")), -- XXX hardcoded
XTN.Subitems (Permissions_Node));
elsif Personnality = Platform_AIR_IOP then
Append_Node_To_List
(Make_Defining_Identifier (Get_String_Name ("SUPERVISOR;")),
XTN.Subitems (Permissions_Node));
end if;
Append_Node_To_List (Permissions_Node,
XTN.Subitems (Partitionconfiguration));
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2008-2009 Telecom ParisTech, 2010-2019 ESA & ISAE. --
-- Copyright (C) 2008-2009 Telecom ParisTech, 2010-2020 ESA & ISAE. --
-- --
-- Ocarina is free software; you can redistribute it and/or modify under --
-- terms of the GNU General Public License as published by the Free Soft- --
......@@ -331,6 +331,7 @@ package body Ocarina.Backends.Properties is
Platform_Vxworks_Name : Name_Id;
Platform_GNAT_Runtime_Name : Name_Id;
Platform_AIR_Name : Name_Id;
Platform_Air_IOP_Name : Name_Id;
Transport_BSD_Sockets_Name : Name_Id;
Transport_SpaceWire_Name : Name_Id;
......@@ -2502,6 +2503,8 @@ package body Ocarina.Backends.Properties is
return Platform_GNAT_Runtime;
elsif P_Name = Platform_AIR_Name then
return Platform_AIR;
elsif P_Name = Platform_AIR_IOP_Name then
return Platform_AIR_IOP;
else
return Platform_None;
end if;
......@@ -3066,6 +3069,7 @@ package body Ocarina.Backends.Properties is
Platform_Vxworks_Name := Get_String_Name ("vxworks");
Platform_GNAT_Runtime_Name := Get_String_Name ("gnat_runtime");
Platform_AIR_Name := Get_String_Name ("air");
Platform_AIR_IOP_Name := Get_String_Name ("air_iop");
Transport_BSD_Sockets_Name := Get_String_Name ("bsd_sockets");
Transport_SpaceWire_Name := Get_String_Name ("spacewire");
......
......@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2008-2009 Telecom ParisTech, 2010-2019 ESA & ISAE. --
-- Copyright (C) 2008-2009 Telecom ParisTech, 2010-2020 ESA & ISAE. --
-- --
-- Ocarina is free software; you can redistribute it and/or modify under --
-- terms of the GNU General Public License as published by the Free Soft- --
......@@ -565,6 +565,7 @@ package Ocarina.Backends.Properties is
Platform_VxWorks,
Platform_GNAT_Runtime,
Platform_AIR,
Platform_AIR_IOP,
Platform_None); -- Unspecified
function Get_Execution_Platform
......
......@@ -81,11 +81,10 @@ package body Ocarina.Backends.PO_HI_Ada.Job is
(S : Name_Id) return Node_Id
is
P : constant Node_Id :=
-- Make_Defining_Identifier (Map_Interrogators_Name (E));
RU (RU_PolyORB_HI_Generated_Activity);
N : constant Node_Id := Make_Defining_Identifier (S);
begin
Set_Homogeneous_Parent_Unit_Name (N, P);
Set_Homogeneous_Parent_Unit_Name (N, P);
return N;
end Get_Fully_Qualified_Subprogram;
......@@ -585,7 +584,8 @@ package body Ocarina.Backends.PO_HI_Ada.Job is
(Selector_Name =>
Make_Defining_Identifier (SN (S_Wait_For_Incoming_Events)),
Actual_Parameter =>
Make_Defining_Identifier (SN (S_Wait_For_Incoming_Events)));
Get_Fully_Qualified_Subprogram
(SN (S_Wait_For_Incoming_Events)));
Append_Node_To_List (N, Parameter_List);
-- Build the package instantiation
......
......@@ -74,7 +74,7 @@ property set Deployment is
Protocol : Deployment::Protocol_Type
applies to (system);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR, AIR_IOP);
Execution_Platform : Deployment::Allowed_Execution_Platform
applies to ( all);
......
......@@ -74,7 +74,7 @@ property set Deployment is
Protocol : Deployment::Protocol_Type
applies to (system);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR, AIR_IOP);
Execution_Platform : Deployment::Allowed_Execution_Platform
applies to ( all);
......
......@@ -74,7 +74,7 @@ property set Deployment is
Protocol : Deployment::Protocol_Type
applies to (system);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR, AIR_IOP);
Execution_Platform : Deployment::Allowed_Execution_Platform
applies to ( all);
......
......@@ -78,7 +78,7 @@ property set Deployment is
Protocol : Deployment::Protocol_Type
applies to (system);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR, AIR_IOP);
Execution_Platform : Deployment::Allowed_Execution_Platform
applies to ( all);
......
......@@ -78,7 +78,7 @@ property set Deployment is
Protocol : Deployment::Protocol_Type
applies to (system);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR, AIR_IOP);
Execution_Platform : Deployment::Allowed_Execution_Platform
applies to ( all);
......
......@@ -78,7 +78,7 @@ property set Deployment is
Protocol : Deployment::Protocol_Type
applies to (system);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR, AIR_IOP);
Execution_Platform : Deployment::Allowed_Execution_Platform
applies to ( all);
......
......@@ -78,7 +78,7 @@ property set Deployment is
Protocol : Deployment::Protocol_Type
applies to (system);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR, AIR_IOP);
Execution_Platform : Deployment::Allowed_Execution_Platform
applies to ( all);
......
......@@ -78,7 +78,7 @@ property set Deployment is
Protocol : Deployment::Protocol_Type
applies to (system);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR);
Allowed_Execution_Platform : type enumeration (Native, Native_Compcert, bench, GNAT_Runtime, LEON_ORK, LEON_RTEMS, LEON_RTEMS_POSIX, LEON3_SCOC3, LEON3_XTRATUM, LEON3_XM3, LEON_GNAT, LINUX32, LINUX_DLL, LINUX32_XENOMAI_NATIVE, LINUX32_XENOMAI_POSIX, LINUX64, ERC32_ORK, X86_RTEMS_POSIX, X86_LINUXTASTE, MARTE_OS, WIN32, VXWORKS, FREERTOS, AIR, AIR_IOP);
Execution_Platform : Deployment::Allowed_Execution_Platform
applies to ( all);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment