Commit 5c8a47c8 authored by yoogx's avatar yoogx
Browse files

* Address AIR case in connection management: communication

          between partitions are to be handled directly by
          PolyORB-HI/C gqueue

          For openaadl/ocarina#160
parent fe5b01e6
......@@ -2329,30 +2329,42 @@ package body Ocarina.Backends.Properties is
if not Is_System (Parent_Component (C)) then
return No_Node;
elsif Is_System (Parent_Component (C))
and then Is_Process
(Parent_Component (Get_Referenced_Entity (AIN.Source (C))))
and then Is_Process
(Parent_Component (Get_Referenced_Entity (AIN.Destination (C))))
and then
Get_Execution_Platform
((Get_Execution_Platform
(Get_Bound_Processor
(Parent_Component (Get_Referenced_Entity (AIN.Source (C))))) =
Platform_LEON3_XM3
and then
Get_Execution_Platform
(Get_Bound_Processor
(Parent_Component
(Get_Referenced_Entity (AIN.Destination (C))))) =
Platform_LEON3_XM3
Platform_LEON3_XM3
and then
Get_Execution_Platform
(Get_Bound_Processor
(Parent_Component
(Get_Referenced_Entity (AIN.Destination (C))))) =
Platform_LEON3_XM3)
or else
(Get_Execution_Platform
(Get_Bound_Processor
(Parent_Component (Get_Referenced_Entity (AIN.Source (C))))) =
Platform_AIR
and then
Get_Execution_Platform
(Get_Bound_Processor
(Parent_Component
(Get_Referenced_Entity (AIN.Destination (C))))) =
Platform_AIR))
and then
Parent_Component
(Parent_Subcomponent
(Parent_Component
(Get_Referenced_Entity (AIN.Destination (C))))) =
Parent_Component
(Parent_Subcomponent
(Parent_Component (Get_Referenced_Entity (AIN.Source (C)))))
Parent_Component
(Parent_Subcomponent
(Parent_Component
(Get_Referenced_Entity (AIN.Destination (C))))) =
Parent_Component
(Parent_Subcomponent
(Parent_Component (Get_Referenced_Entity (AIN.Source (C)))))
then
return No_Node;
......@@ -2362,6 +2374,7 @@ package body Ocarina.Backends.Properties is
(AIN.Loc (C),
"This connection has to be bound to a bus",
Fatal => True);
else
-- We do not enforce connection binding for the remaining
-- generators.
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2008-2009 Telecom ParisTech, 2010-2016 ESA & ISAE. --
-- Copyright (C) 2008-2009 Telecom ParisTech, 2010-2018 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- --
......@@ -410,7 +410,7 @@ package body Ocarina.Backends.PO_HI_C.Naming is
C := Extra_Item (C_End);
if No (C) then
-- There hasbeen definitly a bug while
-- There has been definitly a bug while
-- expanding connections.
raise Program_Error
......@@ -418,23 +418,30 @@ package body Ocarina.Backends.PO_HI_C.Naming is
end if;
-- Get the bus of the connection
if Get_Execution_Platform
(Get_Bound_Processor (E)) =
Platform_LEON3_XM3
and then
Get_Execution_Platform
(Get_Bound_Processor (Parent)) =
Platform_LEON3_XM3
if ((Get_Execution_Platform
(Get_Bound_Processor (Parent)) =
Platform_Air)
or else
(Get_Execution_Platform
(Get_Bound_Processor (E)) =
Platform_LEON3_XM3
and then
Get_Execution_Platform
(Get_Bound_Processor (Parent)) =
Platform_LEON3_XM3))
and then
Parent_Component
(Parent_Subcomponent
(Get_Bound_Processor (E))) =
Parent_Component
(Parent_Subcomponent
(Get_Bound_Processor (Parent)))
Parent_Component
(Parent_Subcomponent
(Get_Bound_Processor (E))) =
Parent_Component
(Parent_Subcomponent
(Get_Bound_Processor (Parent)))
then
B := No_Node;
Transport_API := Transport_None;
else
B := Get_Bound_Bus (C);
end if;
......
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