Add executive work item stubs
This commit is contained in:
@@ -19,6 +19,7 @@ list(APPEND XTOSKRNL_SOURCE
|
||||
${XTOSKRNL_SOURCE_DIR}/ex/laslist.cc
|
||||
${XTOSKRNL_SOURCE_DIR}/ex/resource.cc
|
||||
${XTOSKRNL_SOURCE_DIR}/ex/rundown.cc
|
||||
${XTOSKRNL_SOURCE_DIR}/ex/workitem.cc
|
||||
${XTOSKRNL_SOURCE_DIR}/hl/${ARCH}/cpu.cc
|
||||
${XTOSKRNL_SOURCE_DIR}/hl/${ARCH}/firmware.cc
|
||||
${XTOSKRNL_SOURCE_DIR}/hl/${ARCH}/ioport.cc
|
||||
|
||||
62
xtoskrnl/ex/workitem.cc
Normal file
62
xtoskrnl/ex/workitem.cc
Normal file
@@ -0,0 +1,62 @@
|
||||
/**
|
||||
* PROJECT: ExectOS
|
||||
* COPYRIGHT: See COPYING.md in the top level directory
|
||||
* FILE: xtoskrnl/ex/workitem.cc
|
||||
* DESCRIPTION: Asynchronous Work Queue Items and System Worker Thread Management
|
||||
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
|
||||
*/
|
||||
|
||||
#include <xtos.hh>
|
||||
|
||||
|
||||
/**
|
||||
* Initializes a work queue item.
|
||||
*
|
||||
* @param Item
|
||||
* Supplies a pointer to the work queue item to be initialized.
|
||||
*
|
||||
* @param Routine
|
||||
* Supplies the worker routine to be executed.
|
||||
*
|
||||
* @param Context
|
||||
* Supplies the context parameter to pass to the worker routine.
|
||||
*
|
||||
* @return This routine does not return any value.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTAPI
|
||||
VOID
|
||||
EX::WorkItem::InitializeWorkItem(IN PWORK_QUEUE_ITEM Item,
|
||||
IN PWORKER_THREAD_ROUTINE Routine,
|
||||
IN PVOID Context)
|
||||
{
|
||||
/* Initialize the work item fields */
|
||||
Item->WorkerRoutine = Routine;
|
||||
Item->Parameter = Context;
|
||||
|
||||
/* Initialize the list entry links */
|
||||
Item->List.Flink = NULLPTR;
|
||||
}
|
||||
|
||||
/**
|
||||
* Queues a work item to be executed by a system worker thread.
|
||||
*
|
||||
* @param WorkItem
|
||||
* Supplies a pointer to the initialized work queue item.
|
||||
*
|
||||
* @param QueueType
|
||||
* Supplies the type of work queue to insert the item into.
|
||||
*
|
||||
* @return This routine does not return any value.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTAPI
|
||||
VOID
|
||||
EX::WorkItem::QueueWorkItem(IN PWORK_QUEUE_ITEM WorkItem,
|
||||
IN WORK_QUEUE_TYPE QueueType)
|
||||
{
|
||||
/* Not implemented */
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
@@ -14,5 +14,6 @@
|
||||
#include <ex/laslist.hh>
|
||||
#include <ex/resource.hh>
|
||||
#include <ex/rundown.hh>
|
||||
#include <ex/workitem.hh>
|
||||
|
||||
#endif /* __XTOSKRNL_EX_HH */
|
||||
|
||||
29
xtoskrnl/includes/ex/workitem.hh
Normal file
29
xtoskrnl/includes/ex/workitem.hh
Normal file
@@ -0,0 +1,29 @@
|
||||
/**
|
||||
* PROJECT: ExectOS
|
||||
* COPYRIGHT: See COPYING.md in the top level directory
|
||||
* FILE: xtoskrnl/includes/ex/workitem.hh
|
||||
* DESCRIPTION: Asynchronous Work Queue Items and System Worker Thread Management
|
||||
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef __XTOSKRNL_EX_WORKITEM_HH
|
||||
#define __XTOSKRNL_EX_WORKITEM_HH
|
||||
|
||||
#include <xtos.hh>
|
||||
|
||||
|
||||
/* Kernel Executive */
|
||||
namespace EX
|
||||
{
|
||||
class WorkItem
|
||||
{
|
||||
public:
|
||||
STATIC XTAPI VOID InitializeWorkItem(IN PWORK_QUEUE_ITEM Item,
|
||||
IN PWORKER_THREAD_ROUTINE Routine,
|
||||
IN PVOID Context);
|
||||
STATIC XTAPI VOID QueueWorkItem(IN PWORK_QUEUE_ITEM WorkItem,
|
||||
IN WORK_QUEUE_TYPE QueueType);
|
||||
};
|
||||
}
|
||||
|
||||
#endif /* __XTOSKRNL_EX_WORKITEM_HH */
|
||||
Reference in New Issue
Block a user