CPU api { /* * STM-HRT Protocol */ APICONFIG stm { ID_PREFIX = OS; DIRECTORY = "os"; FILE = "tpl_os_stm_kernel"; HEADER = "tpl_os_stm"; SYSCALL ScreenDisplay { KERNEL = tpl_screen_display_service; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n"; ARGUMENT msg { KIND = P2CONST; TYPE = char ; } : "Message to display" ; } : "Displays on screen the message given as an argument"; SYSCALL STMBeginReadTx { KERNEL = tpl_stm_begin_read_tx_service; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n"; } : "Initializes a read-set transaction"; SYSCALL STMBeginWriteTx { KERNEL = tpl_stm_begin_write_tx_service; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n"; } : "Initializes a write-set transaction"; SYSCALL STMEndReadTx { KERNEL = tpl_stm_end_read_tx_service; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n"; } : "Ends a read-set transaction "; SYSCALL STMEndWriteTx { KERNEL = tpl_stm_end_write_tx_service; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n"; } : "Ends a write-set transaction"; SYSCALL STMOpenReadObject { KERNEL = tpl_stm_open_read_object_service; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n"; ARGUMENT object_id { KIND = CONST; TYPE = ObjectType;} : "Object identifier" ; ARGUMENT data { KIND = P2VAR; TYPE = tpl_stm_data ;} : "Data" ; } : "A read-set transaction opens for reading a given object"; SYSCALL STMOpenWriteObject { KERNEL = tpl_stm_open_write_object_service; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n"; ARGUMENT object_id { KIND = CONST; TYPE = ObjectType;} : "Object identifier" ; ARGUMENT data { KIND = P2VAR; TYPE = tpl_stm_data ;} : "Data" ; } : "A write-set transaction opens for writing a given object"; SYSCALL STMCommitReadTx { KERNEL = tpl_stm_commit_read_tx_service; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n"; } : "A read-set transaction tries to commit on a given core"; SYSCALL STMCommitWriteTx { KERNEL = tpl_stm_commit_write_tx_service; RETURN_TYPE = StatusType : "E_OK: No error (Standard & Extended)\n"; } : "A write-set transaction tries to commit on a given core"; }; };