Commit e56596cd authored by Maxime Perrotin's avatar Maxime Perrotin
parents 4c6a7248 ce271cd4
......@@ -12,27 +12,28 @@ AADL_V1_PROPERTIES = $(srcdir)/AADLv1/aadl_properties.aadl \
$(srcdir)/AADLv1/aadl_project.aadl \
$(srcdir)/AADLv1/base_types.aadl
AADL_V2_PROPERTIES = $(srcdir)/AADLv2/aadl_project.aadl \
$(srcdir)/AADLv2/arinc653.aadl \
$(srcdir)/AADLv2/assert_types.aadl \
$(srcdir)/AADLv2/assert_properties.aadl \
$(srcdir)/AADLv2/behavior_properties.aadl \
$(srcdir)/AADLv2/deployment_properties.aadl \
$(srcdir)/AADLv2/emv2.aadl \
$(srcdir)/AADLv2/Cheddar_Properties.aadl \
$(srcdir)/AADLv2/thread_properties.aadl \
$(srcdir)/AADLv2/communication_properties.aadl \
$(srcdir)/AADLv2/memory_properties.aadl \
$(srcdir)/AADLv2/modeling_properties.aadl \
$(srcdir)/AADLv2/timing_properties.aadl \
$(srcdir)/AADLv2/pok_properties.aadl \
$(srcdir)/AADLv2/programming_properties.aadl \
$(srcdir)/AADLv2/base_types.aadl \
$(srcdir)/AADLv2/replication_properties.aadl \
$(srcdir)/AADLv2/errorlibrary.aadl \
$(srcdir)/AADLv2/transformations.aadl \
$(srcdir)/AADLv2/ocarina_library.aadl \
$(srcdir)/AADLv2/fmi.aadl
AADL_V2_PROPERTIES = $(srcdir)/AADLv2/aadl_project.aadl \
$(srcdir)/AADLv2/arinc653.aadl \
$(srcdir)/AADLv2/assert_types.aadl \
$(srcdir)/AADLv2/assert_properties.aadl \
$(srcdir)/AADLv2/behavior_properties.aadl \
$(srcdir)/AADLv2/deployment_properties.aadl \
$(srcdir)/AADLv2/emv2.aadl \
$(srcdir)/AADLv2/Cheddar_Properties.aadl \
$(srcdir)/AADLv2/thread_properties.aadl \
$(srcdir)/AADLv2/communication_properties.aadl \
$(srcdir)/AADLv2/memory_properties.aadl \
$(srcdir)/AADLv2/modeling_properties.aadl \
$(srcdir)/AADLv2/timing_properties.aadl \
$(srcdir)/AADLv2/pok_properties.aadl \
$(srcdir)/AADLv2/programming_properties.aadl \
$(srcdir)/AADLv2/base_types.aadl \
$(srcdir)/AADLv2/replication_properties.aadl \
$(srcdir)/AADLv2/errorlibrary.aadl \
$(srcdir)/AADLv2/transformations.aadl \
$(srcdir)/AADLv2/ocarina_library.aadl \
$(srcdir)/AADLv2/fmi.aadl \
$(srcdir)/AADLv2/code_generation_properties.aadl
AADL_V2_COMPONENTS = $(srcdir)/AADLv2/components/*.aadl \
$(srcdir)/AADLv2/components/devices/*.aadl \
......
......@@ -2005,8 +2005,6 @@ package body Ocarina.Backends.Build_Utils is
---------------------
procedure Compile_C_Files (C_Sources : Name_Tables.Instance) is
pragma Unreferenced (C_Sources);
begin
-- Define VPATH, search path for All Prerequisites
......@@ -2014,6 +2012,15 @@ package body Ocarina.Backends.Build_Utils is
if Scenario_Dir /= null then
Write_Str (":" & Scenario_Dir.all);
end if;
if Length (C_Sources) > 0 then
for J in Name_Tables.First .. Name_Tables.Last (C_Sources) loop
Write_Str (":");
Write_Str
(Dir_Name (Get_Name_String (C_Sources.Table (J))));
exit when J = Name_Tables.Last (C_Sources);
end loop;
end if;
Write_Eol;
Write_Eol;
......
......@@ -3541,7 +3541,7 @@ package body Ocarina.Backends.C_Common.Mapping is
function Map_Queue_Size (Port : Node_Id) return Node_Id is
Queue_Size : Unsigned_Long_Long := 1;
begin
if Get_Queue_Size (Port) /= -1 then
if Is_Event (Port) and then Get_Queue_Size (Port) /= -1 then
Queue_Size := Unsigned_Long_Long (Get_Queue_Size (Port));
end if;
......
......@@ -1886,18 +1886,53 @@ package body Ocarina.Backends.PO_HI_C.Deployment is
CTN.Values (Global_Port_Data_Size));
end if;
if Is_Event (F) and then Get_Queue_Size (F) /= -1 then
Append_Node_To_List
(Make_Literal
(CV.New_Int_Value
(Unsigned_Long_Long (Get_Queue_Size (F)),
0,
10)),
CTN.Values (Global_Port_Queue_Size));
-- Map port queue size in Global_Port_Size We
-- consider process ports, and then thread port
-- when computing queue size. This is to be
-- consistent with process (or TSP partitions)
-- defining a queue size for inter-partition
-- communications.
if Is_Event (F) then
declare
F_L : constant List_Id :=
(if Is_In (F) then
AAN.Sources (F) else
AAN.Destinations (F));
F_N : constant Node_Id := AAN.First_Node (F_L);
begin
if Present (F_N) and then
Is_Event (Item (F_N)) and then
Get_Queue_Size (Item (F_N)) /= -1
then
Append_Node_To_List
(Make_Literal
(CV.New_Int_Value
(Unsigned_Long_Long
(Get_Queue_Size (Item (F_N))),
0,
10)),
CTN.Values (Global_Port_Queue_Size));
else
Append_Node_To_List
(Make_Literal (CV.New_Int_Value (1, 0, 10)),
CTN.Values (Global_Port_Queue_Size));
end if;
end;
else
Append_Node_To_List
(Make_Literal (CV.New_Int_Value (1, 0, 10)),
CTN.Values (Global_Port_Queue_Size));
if Is_Event (F) and then Get_Queue_Size (F) /= -1 then
Append_Node_To_List
(Make_Literal
(CV.New_Int_Value
(Unsigned_Long_Long (Get_Queue_Size (F)),
0,
10)),
CTN.Values (Global_Port_Queue_Size));
else
Append_Node_To_List
(Make_Literal (CV.New_Int_Value (1, 0, 10)),
CTN.Values (Global_Port_Queue_Size));
end if;
end if;
-- We associate a unique identifier to the port
......
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