Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
Ocarina
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
2
Issues
2
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
TASTE
Ocarina
Commits
9473e85d
Commit
9473e85d
authored
Apr 20, 2015
by
yoogx
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://github.com/OpenAADL/ocarina
parents
1427953c
3a46bcf5
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
270 additions
and
177 deletions
+270
-177
src/backends/ocarina-backends-c_common-types.adb
src/backends/ocarina-backends-c_common-types.adb
+13
-2
src/backends/ocarina-backends-po_hi_c-runtime.adb
src/backends/ocarina-backends-po_hi_c-runtime.adb
+11
-3
src/backends/ocarina-backends-pok_c-activity.adb
src/backends/ocarina-backends-pok_c-activity.adb
+150
-122
src/backends/ocarina-backends-pok_c-deployment.adb
src/backends/ocarina-backends-pok_c-deployment.adb
+36
-0
src/backends/ocarina-backends-pok_c-runtime.ads
src/backends/ocarina-backends-pok_c-runtime.ads
+6
-0
src/backends/ocarina-backends-vxworks653_conf-connections.adb
...backends/ocarina-backends-vxworks653_conf-connections.adb
+7
-13
src/backends/ocarina-backends-vxworks653_conf-hm.adb
src/backends/ocarina-backends-vxworks653_conf-hm.adb
+7
-12
src/backends/ocarina-backends-vxworks653_conf-mapping.adb
src/backends/ocarina-backends-vxworks653_conf-mapping.adb
+25
-13
src/backends/ocarina-backends-vxworks653_conf-mapping.ads
src/backends/ocarina-backends-vxworks653_conf-mapping.ads
+4
-0
src/backends/ocarina-backends-vxworks653_conf-naming.adb
src/backends/ocarina-backends-vxworks653_conf-naming.adb
+7
-5
src/backends/ocarina-backends-vxworks653_conf-payloads.adb
src/backends/ocarina-backends-vxworks653_conf-payloads.adb
+4
-7
No files found.
src/backends/ocarina-backends-c_common-types.adb
View file @
9473e85d
...
...
@@ -440,6 +440,19 @@ package body Ocarina.Backends.C_Common.Types is
Data_Size
:=
Get_Data_Size
(
E
);
Actual_Data_Size
:=
To_Bytes
(
Data_Size
);
Type_Source_Name
:=
Get_Type_Source_Name
(
E
);
--
-- If the user specifies Type_Source_Name property
-- on the data type, then, the generator takes
-- it over everything else. This is a way to
-- override some assumptions from the code generator.
--
if
Type_Source_Name
/=
No_Name
then
Data_Representation
:=
Data_None
;
end
if
;
case
Data_Representation
is
when
Data_Boolean
=>
N
:=
...
...
@@ -743,8 +756,6 @@ package body Ocarina.Backends.C_Common.Types is
Fatal
=>
True
);
when
Data_None
=>
Type_Source_Name
:=
Get_Type_Source_Name
(
E
);
if
Type_Source_Name
/=
No_Name
then
N
:=
Make_Full_Type_Declaration
...
...
src/backends/ocarina-backends-po_hi_c-runtime.adb
View file @
9473e85d
...
...
@@ -110,8 +110,9 @@ package body Ocarina.Backends.PO_HI_C.Runtime is
----------------
procedure
Initialize
is
Name
:
Name_Id
;
N
:
Node_Id
;
Name
:
Name_Id
;
N
:
Node_Id
;
Local
:
Boolean
;
begin
-- Initialize the runtime only once
...
...
@@ -120,6 +121,7 @@ package body Ocarina.Backends.PO_HI_C.Runtime is
end
if
;
Initialized
:=
True
;
Local
:=
False
;
Register_Casing_Rule
(
"AADL"
);
Register_Casing_Rule
(
"char_array"
);
...
...
@@ -157,7 +159,13 @@ package body Ocarina.Backends.PO_HI_C.Runtime is
N
:=
New_Node
(
K_Defining_Identifier
);
Set_Name
(
N
,
Name
);
RHD
(
E
)
:=
Make_Include_Clause
(
N
,
False
);
if
E
=
RH_Subprograms
then
Local
:=
True
;
else
Local
:=
False
;
end
if
;
RHD
(
E
)
:=
Make_Include_Clause
(
N
,
Local
);
end
loop
;
for
E
in
RC_Id
loop
...
...
src/backends/ocarina-backends-pok_c-activity.adb
View file @
9473e85d
...
...
@@ -1330,93 +1330,109 @@ package body Ocarina.Backends.POK_C.Activity is
(
Get_Port_By_Name
(
F
,
Current_Device
))
then
if
AIN
.
First_Node
(
AIN
.
Destinations
(
F
))
/=
No_Node
then
Map_Virtual_Bus_Calls
(
AIN
.
Item
(
AIN
.
First_Node
(
AIN
.
Destinations
(
F
))),
CTN
.
Declarations
(
Current_File
),
WStatements
,
Sending
,
Virtual_Bus_Data
,
Virtual_Bus_Size
,
Current_Device
);
end
if
;
Source_Port
:=
First_Node
(
Destinations
(
F
));
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
,
Current_Device
)),
Call_Parameters
);
while
Source_Port
/=
No_Node
loop
if
Virtual_Bus_Data
=
No_Node
then
if
Get_Data_Representation
(
Corresponding_Instance
(
F
))
=
Data_Array
Call_Parameters
:=
New_List
(
CTN
.
K_Parameter_List
);
if
AIN
.
First_Node
(
AIN
.
Destinations
(
F
))
/
=
No_Node
then
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
,
Current_Device
)),
Call_Parameters
);
else
Append_Node_To_List
(
Make_Variable_Address
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
,
Current_Device
)))
,
C
all_Parameters
);
Map_Virtual_Bus_Calls
(
AIN
.
Item
(
AIN
.
First_Node
(
AIN
.
Destinations
(
F
))),
CTN
.
Declarations
(
Current_File
),
WStatements
,
Sending
,
Virtual_Bus_Data
,
Virtual_Bus_Size
,
C
urrent_Device
);
end
if
;
else
Append_Node_To_List
(
Make_Variable_Address
(
Virtual_Bus_Data
),
(
Make_Defining_Identifier
(
Map_Port_Var
(
Item
(
Source_Port
),
Current_Device
)),
Call_Parameters
);
end
if
;
if
Virtual_Bus_Size
/=
No_Node
then
N
:=
Copy_Node
(
Virtual_Bus_Size
);
else
if
Current_Device
=
No_Node
then
N
:=
Get_Inter_Partition_Port_Size
(
F
);
else
N
:=
Get_Inter_Partition_Port_Size
(
Get_Port_By_Name
(
F
,
Current_Device
));
if
Is_Using_Virtual_Bus
(
Get_Port_By_Name
(
F
,
Current_Device
))
if
Virtual_Bus_Data
=
No_Node
then
if
Get_Data_Representation
(
Corresponding_Instance
(
F
))
=
Data_Array
then
Add_Include
(
RH
(
RH_Protocols
));
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
,
Current_Device
)),
Call_Parameters
);
else
Append_Node_To_List
(
Make_Variable_Address
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
,
Current_Device
))),
Call_Parameters
);
end
if
;
else
Append_Node_To_List
(
Make_Variable_Address
(
Virtual_Bus_Data
),
Call_Parameters
);
end
if
;
end
if
;
Append_Node_To_List
(
N
,
Call_Parameters
);
if
Use_ARINC653_API
then
Add_Return_Variable_In_Parameters
(
Call_Parameters
);
Called_Function
:=
RE
(
RE_Write_Sampling_Message
);
Type_Used
:=
RE
(
RE_Sampling_Port_Id_Type
);
else
Called_Function
:=
RE
(
RE_Pok_Port_Sampling_Write
);
Type_Used
:=
RE
(
RE_Uint8_T
);
end
if
;
N
:=
CTU
.
POK_Make_Function_Call_With_Assert
(
Called_Function
,
Call_Parameters
);
if
Virtual_Bus_Size
/=
No_Node
then
N
:=
Copy_Node
(
Virtual_Bus_Size
);
else
if
Current_Device
=
No_Node
then
N
:=
Get_Inter_Partition_Port_Size
(
F
);
else
N
:=
Get_Inter_Partition_Port_Size
(
Get_Port_By_Name
(
F
,
Current_Device
));
if
Is_Using_Virtual_Bus
(
Get_Port_By_Name
(
F
,
Current_Device
))
then
Add_Include
(
RH
(
RH_Protocols
));
end
if
;
end
if
;
end
if
;
Append_Node_To_List
(
Make_Extern_Entity_Declaration
(
Make_Variable_Declaration
(
Defining_Identifier
=>
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
,
Current_Device
))),
Used_Type
=>
Type_Used
)),
CTN
.
Declarations
(
Current_File
));
Append_Node_To_List
(
N
,
Call_Parameters
);
Append_Node_To_List
(
N
,
WStatements
);
if
Use_ARINC653_API
then
Add_Return_Variable_In_Parameters
(
Call_Parameters
);
Called_Function
:=
RE
(
RE_Write_Sampling_Message
);
Type_Used
:=
RE
(
RE_Sampling_Port_Id_Type
);
else
Called_Function
:=
RE
(
RE_Pok_Port_Sampling_Write
);
Type_Used
:=
RE
(
RE_Uint8_T
);
end
if
;
POK_Add_Return_Assertion
(
WStatements
);
N
:=
CTU
.
POK_Make_Function_Call_With_Assert
(
Called_Function
,
Call_Parameters
);
Append_Node_To_List
(
Make_Extern_Entity_Declaration
(
Make_Variable_Declaration
(
Defining_Identifier
=>
(
Make_Defining_Identifier
(
Map_Port_Var
(
Item
(
Source_Port
),
Current_Device
))),
Used_Type
=>
Type_Used
)),
CTN
.
Declarations
(
Current_File
));
Append_Node_To_List
(
N
,
WStatements
);
POK_Add_Return_Assertion
(
WStatements
);
Source_Port
:=
Next_Node
(
Source_Port
);
end
loop
;
elsif
Get_Connection_Pattern
(
F
)
=
Intra_Process
then
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
)),
...
...
@@ -1490,69 +1506,81 @@ package body Ocarina.Backends.POK_C.Activity is
Current_Device
);
end
if
;
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
)),
Call_Parameters
);
Source_Port
:=
AIN
.
First_Node
(
AIN
.
Destinations
(
F
));
while
(
Source_Port
/=
No_Node
)
loop
Call_Parameters
:=
New_List
(
CTN
.
K_Parameter_List
);
if
Get_Data_Representation
(
Corresponding_Instance
(
F
))
=
Data_Array
then
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
)),
Call_Parameters
);
else
Append_Node_To_List
(
Make_
Variable_Address
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
))),
(
Make_
Defining_Identifier
(
Map_Port_Var
(
Item
(
Source_Port
))),
Call_Parameters
);
end
if
;
N
:=
CTU
.
Get_Data_Size
(
Corresponding_Instance
(
F
));
Append_Node_To_List
(
N
,
Call_Parameters
);
if
Get_Timeout_Value
(
F
)
/=
Null_Time
then
if
Use_ARINC653_API
then
N
:=
Map_Time_To_Millisecond
(
Get_Timeout_Value
(
F
));
if
Get_Data_Representation
(
Corresponding_Instance
(
F
))
=
Data_Array
then
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
)),
Call_Parameters
);
else
N
:=
Map_Time
(
Get_Timeout_Value
(
F
));
Append_Node_To_List
(
Make_Variable_Address
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
))),
Call_Parameters
);
end
if
;
else
N
:=
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
0
,
1
,
10
));
end
if
;
Append_Node_To_List
(
N
,
Call_Parameters
);
if
Use_ARINC653_API
then
A
dd_Return_Variable_In_Parameters
(
Call_Parameters
);
N
:=
CTU
.
Get_Data_Size
(
Corresponding_Instance
(
F
));
A
ppend_Node_To_List
(
N
,
Call_Parameters
);
Called_Function
:=
RE
(
RE_Send_Queuing_Message
);
Type_Used
:=
RE
(
RE_Queuing_Port_Id_Type
);
else
Called_Function
:=
RE
(
RE_Pok_Port_Queueing_Send
);
Type_Used
:=
RE
(
RE_Uint8_T
);
end
if
;
if
Get_Timeout_Value
(
F
)
/=
Null_Time
then
if
Use_ARINC653_API
then
N
:=
Map_Time_To_Millisecond
(
Get_Timeout_Value
(
F
));
else
N
:=
Map_Time
(
Get_Timeout_Value
(
F
));
end
if
;
else
N
:=
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
0
,
1
,
10
));
end
if
;
N
:=
POK_Make_Function_Call_With_Assert
(
Called_Function
,
Call_Parameters
);
Append_Node_To_List
(
N
,
Call_Parameters
);
Append_Node_To_List
(
Make_Extern_Entity_Declaration
(
Make_Variable_Declaration
(
Defining_Identifier
=>
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
))),
Used_Type
=>
Type_Used
)),
CTN
.
Declarations
(
Current_File
));
if
Use_ARINC653_API
then
Add_Return_Variable_In_Parameters
(
Call_Parameters
);
Append_Node_To_List
(
N
,
WStatements
);
Called_Function
:=
RE
(
RE_Send_Queuing_Message
);
Type_Used
:=
RE
(
RE_Queuing_Port_Id_Type
);
else
Called_Function
:=
RE
(
RE_Pok_Port_Queueing_Send
);
Type_Used
:=
RE
(
RE_Uint8_T
);
end
if
;
POK_Add_Return_Assertion
(
WStatements
);
N
:=
POK_Make_Function_Call_With_Assert
(
Called_Function
,
Call_Parameters
);
Append_Node_To_List
(
Make_Extern_Entity_Declaration
(
Make_Variable_Declaration
(
Defining_Identifier
=>
(
Make_Defining_Identifier
(
Map_Port_Var
(
Item
(
Source_Port
)))),
Used_Type
=>
Type_Used
)),
CTN
.
Declarations
(
Current_File
));
Append_Node_To_List
(
N
,
WStatements
);
POK_Add_Return_Assertion
(
WStatements
);
Source_Port
:=
Next_Node
(
Source_Port
);
end
loop
;
elsif
Get_Connection_Pattern
(
F
)
=
Intra_Process
and
then
not
Is_Virtual
(
Get_Port_By_Name
(
F
,
Current_Device
))
...
...
src/backends/ocarina-backends-pok_c-deployment.adb
View file @
9473e85d
...
...
@@ -1154,6 +1154,42 @@ package body Ocarina.Backends.POK_C.Deployment is
Bound_Processor
:=
Get_Bound_Processor
(
Associated_Component
);
end
if
;
--
-- Add a maccro to specify on which platform we are deploying
-- the code. This can be used to make some adjustment in the
-- user code.
--
case
POK_Flavor
is
when
DEOS
=>
N
:=
CTU
.
Make_Define_Statement
(
Defining_Identifier
=>
RE
(
RE_Ocarina_Runtime_Deos
),
Value
=>
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
1
,
1
,
10
)));
CTU
.
Append_Node_To_List
(
N
,
CTN
.
Declarations
(
CTU
.
Current_File
));
when
Vxworks
=>
N
:=
CTU
.
Make_Define_Statement
(
Defining_Identifier
=>
RE
(
RE_Ocarina_Runtime_Vxworks653
),
Value
=>
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
1
,
1
,
10
)));
CTU
.
Append_Node_To_List
(
N
,
CTN
.
Declarations
(
CTU
.
Current_File
));
when
POK
|
Arinc653
=>
N
:=
CTU
.
Make_Define_Statement
(
Defining_Identifier
=>
RE
(
RE_Ocarina_Runtime_Pok
),
Value
=>
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
1
,
1
,
10
)));
CTU
.
Append_Node_To_List
(
N
,
CTN
.
Declarations
(
CTU
.
Current_File
));
end
case
;
N
:=
CTU
.
Make_Define_Statement
(
Defining_Identifier
=>
RE
(
RE_Pok_Generated_Code
),
...
...
src/backends/ocarina-backends-pok_c-runtime.ads
View file @
9473e85d
...
...
@@ -190,6 +190,9 @@ package Ocarina.Backends.POK_C.Runtime is
RE_Assert_Ret_With_Exception
,
-- ASSERT_RET_WITH_EXCEPTION
RE_Pok_Generated_Code
,
-- POK_GENERATED_CODE
RE_Pok_Needs_Time
,
-- POK_NEEDS_TIME
RE_Ocarina_Runtime_Deos
,
-- OCARINA_RUNTIME_DEOS
RE_Ocarina_Runtime_Pok
,
-- OCARINA_RUNTIME_DEOS
RE_Ocarina_Runtime_Vxworks653
,
-- OCARINA_RUNTIME_DEOS
RE_Pok_Needs_Events
,
-- POK_NEEDS_EVENTS
RE_Pok_Needs_Threads
,
-- POK_NEEDS_THREADS
RE_Pok_Needs_Debug
,
-- POK_NEEDS_DEBUG
...
...
@@ -732,6 +735,9 @@ package Ocarina.Backends.POK_C.Runtime is
RE_Pok_Needs_Time
=>
RH_Deployment
,
RE_Pok_Generated_Code
=>
RH_Deployment
,
RE_Pok_Needs_Events
=>
RH_Deployment
,
RE_Ocarina_Runtime_Deos
=>
RH_Deployment
,
RE_Ocarina_Runtime_Pok
=>
RH_Deployment
,
RE_Ocarina_Runtime_Vxworks653
=>
RH_Deployment
,
RE_Pok_Needs_Ports_Sampling
=>
RH_Deployment
,
RE_Pok_Needs_Ports_Virtual
=>
RH_Deployment
,
RE_Pok_Needs_Gettick
=>
RH_Null
,
...
...
src/backends/ocarina-backends-vxworks653_conf-connections.adb
View file @
9473e85d
...
...
@@ -9,7 +9,7 @@ with Ocarina.ME_AADL.AADL_Instances.Entities;
with
Ocarina
.
Backends
.
C_Common
.
Mapping
;
with
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
with
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
--
with Ocarina.Backends.Vxworks653_Conf.Mapping;
with
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
package
body
Ocarina
.
Backends
.
Vxworks653_Conf
.
Connections
is
...
...
@@ -21,9 +21,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
use
Ocarina
.
ME_AADL
.
AADL_Instances
.
Entities
;
use
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
--
use Ocarina.Backends.Vxworks653_Conf.Mapping;
use
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
package
AIN
renames
Ocarina
.
ME_AADL
.
AADL_Instances
.
Nodes
;
package
AINU
renames
Ocarina
.
ME_AADL
.
AADL_Instances
.
Nutils
;
package
XTN
renames
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
...
...
@@ -186,11 +185,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
Connection_Node
:=
Make_XML_Node
(
"Connection"
);
Source_Node
:=
Make_XML_Node
(
"Source"
);
Add_Attribute
(
"PartitionNameRef"
,
Get_Name_String
(
AIN
.
Name
(
AIN
.
Identifier
(
Parent_Subcomponent
(
E
)))),
Get_Name_String
(
Map_Partition_Name
(
E
)),
Source_Node
);
Add_Attribute
(
"PortNameRef"
,
...
...
@@ -211,11 +207,9 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
Add_Attribute
(
"PartitionNameRef"
,
Get_Name_String
(
AIN
.
Name
(
AIN
.
Identifier
(
Parent_Subcomponent
(
Get_Partition_Runtime
(
Partition_Destination
))))),
(
Map_Partition_Name
(
Get_Partition_Runtime
(
Partition_Destination
))),
Destination_Node
);
Append_Node_To_List
(
Destination_Node
,
...
...
src/backends/ocarina-backends-vxworks653_conf-hm.adb
View file @
9473e85d
...
...
@@ -10,7 +10,7 @@ with Ocarina.ME_AADL.AADL_Instances.Entities;
-- with Ocarina.Backends.Properties;
with
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
with
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
--
with Ocarina.Backends.Vxworks653_Conf.Mapping;
with
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
package
body
Ocarina
.
Backends
.
Vxworks653_Conf
.
Hm
is
...
...
@@ -20,9 +20,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
use
Ocarina
.
ME_AADL
.
AADL_Instances
.
Entities
;
use
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
-- use Ocarina.Backends.Properties;
--
use Ocarina.Backends.Vxworks653_Conf.Mapping;
use
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
package
AIN
renames
Ocarina
.
ME_AADL
.
AADL_Instances
.
Nodes
;
package
AINU
renames
Ocarina
.
ME_AADL
.
AADL_Instances
.
Nutils
;
package
XTN
renames
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
package
XTU
renames
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
...
...
@@ -384,10 +383,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Partition_HM_Table_Node
:=
Make_XML_Node
(
"PartitionHMTable"
);
XTU
.
Add_Attribute
(
"Name"
,
Get_Name_String
(
AIN
.
Name
(
Identifier
(
Parent_Subcomponent
(
Virtual_Processor
)))),
(
Map_Partition_Name
(
Virtual_Processor
))
&
"_hm"
,
Partition_HM_Table_Node
);
Settings_Node
:=
Make_XML_Node
(
"Settings"
);
...
...
@@ -408,11 +405,9 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Trusted_Partition_Node
:=
Make_XML_Node
(
"TrustedPartition"
);
XTU
.
Add_Attribute
(
"NameRef"
,
Get_Name_String
(
AIN
.
Name
(
Identifier
(
Parent_Subcomponent
(
Virtual_Processor
)))),
Settings_Node
);
(
Map_Partition_Name
(
Virtual_Processor
)),
Trusted_Partition_Node
);
Append_Node_To_List
(
Trusted_Partition_Node
,
XTN
.
Subitems
(
Settings_Node
));
...
...
src/backends/ocarina-backends-vxworks653_conf-mapping.adb
View file @
9473e85d
...
...
@@ -1106,10 +1106,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
XTU
.
Add_Attribute
(
"Name"
,
Get_Name_String
(
AIN
.
Name
(
Identifier
(
Parent_Subcomponent
(
Runtime
)))),
(
Map_Partition_Name
(
Runtime
)),
Partition_Node
);
--
-- Integer'Image adds a space in the beginning. To avoid that,
...
...
@@ -1124,7 +1121,9 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
Append_Node_To_List
(
Settings_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
XTU
.
Add_Attribute
(
"RequiredMemorySize"
,
"0x300000"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"PartitionHMTable"
,
"part1Hm"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"PartitionHMTable"
,
Get_Name_String
(
Map_Partition_Name
(
Runtime
))
&
"_hm"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"watchDogDuration"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"allocDisable"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"numWorkerTasks"
,
"0"
,
Settings_Node
);
...
...
@@ -1141,22 +1140,35 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
Settings_Node
);
Shared_Library_Region_Node
:=
Make_XML_Node
(
"SharedLibraryRegion"
);
XTU
.
Add_Attribute
(
"Name
d
Ref"
,
"vxSysLib"
,
Shared_Library_Region_Node
);
XTU
.
Add_Attribute
(
"NameRef"
,
"vxSysLib"
,
Shared_Library_Region_Node
);
Append_Node_To_List
(
Shared_Library_Region_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
Application_Node
:=
Make_XML_Node
(
"Application"
);
Append_Node_To_List
(
Application_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
XTU
.
Add_Attribute
(
"NameRef"
,
Get_Name_String
(
AIN
.
Name
(
Identifier
(
Parent_Subcomponent
(
Runtime
)))),
Partition_Node
);
(
Map_Partition_Name
(
Runtime
,
True
)),
Application_Node
);
Append_Node_To_List
(
Application_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
return
Partition_Node
;
end
Map_Partition
;
function
Map_Partition_Name
(
Runtime
:
Node_Id
;
Use_Source_Name
:
Boolean
:=
False
)
return
Name_Id
is
Result
:
Name_Id
;
begin
Result
:=
Get_Source_Name
(
Runtime
);
if
Result
/=
No_Name
and
then
Use_Source_Name
then
return
Result
;
end
if
;
Result
:=
AIN
.
Name
(
Identifier
(
Parent_Subcomponent
(
Runtime
)));
return
Result
;
end
Map_Partition_Name
;
end
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
src/backends/ocarina-backends-vxworks653_conf-mapping.ads
View file @
9473e85d
...
...
@@ -47,4 +47,8 @@ package Ocarina.Backends.Vxworks653_Conf.Mapping is
function
Map_Queuing_Port
(
Port
:
Node_Id
)
return
Node_Id
;
function
Map_Partition_Name
(
Runtime
:
Node_Id
;
Use_Source_Name
:
Boolean
:=
False
)
return
Name_Id
;
end
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
src/backends/ocarina-backends-vxworks653_conf-naming.adb
View file @
9473e85d
...
...
@@ -237,10 +237,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Naming is
Application_Node
:=
Make_XML_Node
(
"Application"
);
XTU
.
Add_Attribute
(
"Name"
,
G