TASTE bugtrack - Taste
View Issue Details
0000458Taste[All Projects] TASTE-IV/DVpublic2015-09-18 09:522020-08-31 18:24
maxime 
ellidiss 
normalmajorhave not tried
closedfixed 
0000458: Prevent mismatch of drivers vs processor
We need a mechanism to prevent the user from using a driver that is not compatible with the HW target platform in the deployment view. For example on Leon processors, it must not be possible to select he po_hi_c.generic_socket driver. The one that works is leon.ethernet_raw.
No tags attached.
png Boards.PNG (61,980) 2018-12-19 16:42
https://taste.tuxfamily.org/mantis/file_download.php?file_id=294&type=bug
png
Issue History
2015-09-18 09:52maximeNew Issue
2015-09-18 09:52maximeStatusnew => assigned
2015-09-18 09:52maximeAssigned To => ellidiss
2015-09-18 16:00huguesNote Added: 0002441
2015-09-18 16:42ellidissNote Added: 0002442
2016-10-17 13:55ellidissNote Added: 0002725
2016-10-19 07:45huguesNote Added: 0002728
2018-12-19 16:41ellidissNote Added: 0003554
2018-12-19 16:42ellidissFile Added: Boards.PNG
2019-07-02 14:42ellidissStatusassigned => resolved
2019-07-02 14:42ellidissResolutionopen => fixed
2020-08-31 18:24maximeStatusresolved => closed

Notes
(0002441)
hugues   
2015-09-18 16:00   
For this one, I think the best option would be to use the standard AADLv2 property Allowed_Processor_Binding_Class: inherit list of classifier (processor, virtual processor, system) applies to (thread, thread group, process, system, virtual processor, device); The Allowed_Processor_Binding_Class property specifies a set of virtual processor, processor and system classifiers. These component classifiers constrain the set of candidate virtual processors and processors for binding to the subset that satisfies the component classifier. The value may be inherited from the containing component. If this property has no associated value, then all processors specified in the Allowed_Processor_Binding are acceptable candidates. From that, one could say for each device the list of processor it can be bound to. A device bound to a processor is the way we associate (in Ocarina, thus at CV level) a device driver (in the device) to a processor (hence a node in the system) Then, a check using REAL or LMP and voila ! Pierre, what do you think ?
(0002442)
ellidiss   
2015-09-18 16:42   
Yes, if these properties can specified within the HW library, we can do this check a priori, while building the DV model. Yapluka.
(0002725)
ellidiss   
2016-10-17 13:55   
Where can i find the compatibility rules?
(0002728)
hugues   
2016-10-19 07:45   
It is not yet defined. A better option, discussed with Pierre is the following for the moment, the code generation uses the property Execution_Platform, attached to a processor, to configure the OS. An easy to implement solution is to attach the same property to a device driver. When you want to attach a driver to a processor, you'll have to check that their Execution_Platform property are equal. This requires an update on the component library, let me know first if this could work for you.
(0003554)
ellidiss   
2018-12-19 16:41   
Finally, it was decided to (re-)introduce the concept of "board" in the DV editor, as they are now supported by the Ocarina library: https://github.com/OpenAADL/AADLib/tree/master/src/aadl/boards [^] Version 2.2 of the TASTE editors (outcome of COO7) now supports: - import of the new HW components library (directories) - add boards into the browser - create a node with processor and devices in the diagram while drag&dropping a board Important upwards compatibility notes: 1. --aadl-library command line option accepts either an AADL filename (current Ocarina library) or a directory (future Ocarina library). There is also a new dedicated "load HW library directory" in the File menu. 2. library loading rules are defined in the file "config/plugins/library.sbp". The old version is still set by default. To activate the recognition of boards, replace it by library.sbp.new (also in config/plugins directory). The latter can also work with the current library, but some filtering rules had to be removed (the risk is only to get useless items in the lists)