summaryrefslogtreecommitdiff
path: root/common_modules/module_manager/src/txm_module_manager_kernel_dispatch.c
diff options
context:
space:
mode:
Diffstat (limited to 'common_modules/module_manager/src/txm_module_manager_kernel_dispatch.c')
-rw-r--r--common_modules/module_manager/src/txm_module_manager_kernel_dispatch.c92
1 files changed, 52 insertions, 40 deletions
diff --git a/common_modules/module_manager/src/txm_module_manager_kernel_dispatch.c b/common_modules/module_manager/src/txm_module_manager_kernel_dispatch.c
index 63c1acc5..355de996 100644
--- a/common_modules/module_manager/src/txm_module_manager_kernel_dispatch.c
+++ b/common_modules/module_manager/src/txm_module_manager_kernel_dispatch.c
@@ -12,8 +12,8 @@
/**************************************************************************/
/**************************************************************************/
-/** */
-/** ThreadX Component */
+/** */
+/** ThreadX Component */
/** */
/** Module Manager */
/** */
@@ -36,50 +36,53 @@
#include "txm_module_manager_util.h"
#include "txm_module_manager_dispatch.h"
-/**************************************************************************/
-/* */
-/* FUNCTION RELEASE */
-/* */
-/* _txm_module_kernel_dispatch PORTABLE C */
-/* 6.1 */
+/**************************************************************************/
+/* */
+/* FUNCTION RELEASE */
+/* */
+/* _txm_module_manager_kernel_dispatch PORTABLE C */
+/* 6.1.3 */
/* AUTHOR */
/* */
/* Scott Larson, Microsoft Corporation */
/* */
-/* DESCRIPTION */
-/* */
-/* This function dispatches the module's kernel request based upon the */
-/* ID and parameters specified in the request. */
-/* */
-/* INPUT */
-/* */
-/* kernel_request Module's kernel request */
-/* param_1 First parameter */
-/* param_2 Second parameter */
-/* param_3 Third parameter */
-/* */
-/* OUTPUT */
-/* */
-/* status Completion status */
-/* */
-/* CALLS */
-/* */
-/* _txm_module_manager_application_request Application-specific req */
-/* _txm_module_manager_object_pointer_get Find object pointer */
-/* _txm_module_manager_thread_create Module thread create */
-/* [_txm_module_manager_*_dispatch] Optional external */
-/* component dispatch */
-/* ThreadX API Calls */
-/* */
-/* CALLED BY */
-/* */
-/* Application code */
-/* */
-/* RELEASE HISTORY */
-/* */
+/* DESCRIPTION */
+/* */
+/* This function dispatches the module's kernel request based upon the */
+/* ID and parameters specified in the request. */
+/* */
+/* INPUT */
+/* */
+/* kernel_request Module's kernel request */
+/* param_1 First parameter */
+/* param_2 Second parameter */
+/* param_3 Third parameter */
+/* */
+/* OUTPUT */
+/* */
+/* status Completion status */
+/* */
+/* CALLS */
+/* */
+/* _txm_module_manager_application_request Application-specific req */
+/* _txm_module_manager_object_pointer_get Find object pointer */
+/* _txm_module_manager_thread_create Module thread create */
+/* [_txm_module_manager_*_dispatch] Optional external */
+/* component dispatch */
+/* ThreadX API Calls */
+/* */
+/* CALLED BY */
+/* */
+/* Application code */
+/* */
+/* RELEASE HISTORY */
+/* */
/* DATE NAME DESCRIPTION */
/* */
-/* 09-30-2020 Scott Larson Initial Version 6.1 */
+/* 09-30-2020 Scott Larson Initial Version 6.1 */
+/* 12-31-2020 Scott Larson Modified comment(s), added */
+/* port-specific dispatch, */
+/* resulting in version 6.1.3 */
/* */
/**************************************************************************/
ALIGN_TYPE _txm_module_manager_kernel_dispatch(ULONG kernel_request, ALIGN_TYPE param_0, ALIGN_TYPE param_1, ALIGN_TYPE param_2)
@@ -679,6 +682,15 @@ TXM_MODULE_INSTANCE *module_instance;
default:
{
+#ifdef TXM_MODULE_PORT_DISPATCH
+ /* Is this a port-specific request? */
+ if ((kernel_request >= TXM_MODULE_PORT_EXTENSION_API_ID_START) && (kernel_request <= TXM_MODULE_PORT_EXTENSION_API_ID_END))
+ {
+ /* Yes, call the port-specific dispatcher. */
+ return_value = (ALIGN_TYPE) _txm_module_manager_port_dispatch(module_instance, kernel_request, param_0, param_1, param_2);
+ }
+#endif
+
/* Determine if an application request is present. */
if (kernel_request >= TXM_APPLICATION_REQUEST_ID_BASE)
{