Global

group Global_CILsysCalls

CILsysCalls globals.

lorem

Macros

group Macros_CILsysCalls_h

Variables

group Variables_CILsysCalls_h

API’s

group Apis_CILsysCalls_h

Getters

group Getters_CILsysCalls_h

Setters

group Setters_CILsysCalls_h

General

group General_CILsysCalls_h

Functions

void CILsysCalls_dispatcher(AddressType *sp)

Dispatcher of sysCall function. This function cannot be called from the unprivileged context directly.

The implementation contains retrieving of the program counter value based on the stack pointer address. Then the system call identifier is extracted out of the memory by decrementing the program counter. After this point the os variable is obtained by calling function os_getOsCfg and then used in function os_getOsRoutes to get route variable. From the route variable is extracted sysCall function pointer based on the R0 register value as it has argument 1 role in the procedure call standard by calling function route_getRoutesFunc and the entity identifier by calling the function route_getRoutesEntityId. Then sysCalls_dispatcher is called and returned result is saved into the R0 position on the stack.

Parameters

sp[in] pointer to the current stack address

Returns

none

void CILsysCalls_bitWidthType_ret_void(BitWidthType id)

System call for bitWidthType args and return none.

The implementation contains supervisor call instruction that causes the exception. The supervisor call number is later retrieved in the system call dispatcher that uses it to call the correct system call. In this case is this number is 0.

Parameters

id[in] is used during the system call dispatching

Returns

none

BitWidthType CILsysCalls_bitWidthType_ret_bitWidthType(BitWidthType id)

System call for bitWidthType args and ret bitWidthType.

The implementation contains supervisor call instruction that causes the exception. The supervisor call number is later retrieved in the system call dispatcher that uses it to call the correct system call. In this case is this number is 1. The R0 register as it has argument 1 role in the procedure call is used to extract the result of the system call and stored it to the returnValue which is then returned from the function.

Parameters

id[in] is used during the system call dispatching

Returns

BitWidthType

BitWidthType CILsysCalls_bitWidthType_bitWidthType_ret_bitWidthType(BitWidthType id, BitWidthType arg)

System call for bitWidthType args and ret bitWidthType.

The implementation contains supervisor call instruction that causes the exception. The supervisor call number is later retrieved in the system call dispatcher that uses it to call the correct system call. In this case is this number is 2. The R0 register as it has argument 1 role in the procedure call is used to extract the result of the system call and stored it to the returnValue which is then returned from the function.

Parameters
  • id[in] is used during the system call dispatching

  • arg[in] generic bitwidth type argument

Returns

BitWidthType

BitWidthType CILsysCalls_bitWidthType_voidPtr_bitWidthType_ret_bitWidthType(BitWidthType id, void *ptr, BitWidthType arg)

System call for voidPtr,bitWidthType args and ret bitWidthType.

The implementation contains supervisor call instruction that causes the exception. The supervisor call number is later retrieved in the system call dispatcher that uses it to call the correct system call. In this case is this number is 3. The R0 register as it has argument 1 role in the procedure call is used to extract the result of the system call and stored it to the returnValue which is then returned from the function.

Parameters
  • id[in] is used during the system call dispatching

  • ptr[in] void pointer to some address

  • arg[in] generic bitwidth type argument

Returns

BitWidthType

BitWidthType CILsysCalls_bitWidthType_voidPtr_ret_bitWidthType(BitWidthType id, void *ptr)

System call for voidPtr and ret bitWidthType.

The implementation contains supervisor call instruction that causes the exception. The supervisor call number is later retrieved in the system call dispatcher that uses it to call the correct system call. In this case is this number is 4. The R0 register as it has argument 1 role in the procedure call is used to extract the result of the system call and stored it to the returnValue which is then returned from the function.

Parameters
  • id[in] is used during the system call dispatching

  • ptr[in] void pointer to some address

Returns

BitWidthType

BitWidthType CILsysCalls_bitWidthType_voidPtr_voidPtr_bitWidthType_ret_bitWidthType(BitWidthType id, void *ptr, void *ptr1, BitWidthType arg)

System call for voidPtr,voidPtr,bitWidthType args and ret bitWidthType.

The implementation contains supervisor call instruction that causes the exception. The supervisor call number is later retrieved in the system call dispatcher that uses it to call the correct system call. In this case is this number is 5. The R0 register as it has argument 1 role in the procedure call is used to extract the result of the system call and stored it to the returnValue which is then returned from the function.

Parameters
  • id[in] is used during the system call dispatching

  • ptr[in] void pointer to some address

  • ptr1[in] void pointer to some address

  • arg[in] generic bitwidth type argument

Returns

BitWidthType

BitWidthType CILsysCalls_bitWidthType_voidPtr_bitWidthType_bitWidthType_ret_bitWidthType(BitWidthType id, void *ptr, BitWidthType arg, BitWidthType arg1)