xtr.h 742 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include "software-modes.h"
  3. // Task routine type
  4. typedef void (* RoutineTaskType) (USER_MODE) ;
  5. // kernel_createTask
  6. void kernel_createTask (INIT_MODE_
  7. uint64_t * inStackBufferAddress,
  8. uint32_t inStackBufferSize,
  9. RoutineTaskType inTaskRoutine) ;
  10. struct TaskControlBlock ;
  11. TaskControlBlock * descriptorPointerForTaskIndex (const uint8_t inTaskIndex) ;
  12. uint8_t indexForDescriptorTask (const TaskControlBlock * inTaskPtr) ; // should be not nullptr
  13. // Task termination
  14. void taskSelfTerminates(USER_MODE) asm ("task.self.terminates");
  15. void service_taskSelfTerminates(KERNEL_MODE) asm ("service.task.self.terminates");
  16. //$service task.self.terminates