summaryrefslogtreecommitdiff
path: root/common/inc/tx_initialize.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/inc/tx_initialize.h')
-rw-r--r--common/inc/tx_initialize.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/common/inc/tx_initialize.h b/common/inc/tx_initialize.h
new file mode 100644
index 00000000..f41eee48
--- /dev/null
+++ b/common/inc/tx_initialize.h
@@ -0,0 +1,111 @@
+/**************************************************************************/
+/* */
+/* Copyright (c) Microsoft Corporation. All rights reserved. */
+/* */
+/* This software is licensed under the Microsoft Software License */
+/* Terms for Microsoft Azure RTOS. Full text of the license can be */
+/* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
+/* and in the root directory of this software. */
+/* */
+/**************************************************************************/
+
+
+/**************************************************************************/
+/**************************************************************************/
+/** */
+/** ThreadX Component */
+/** */
+/** Initialize */
+/** */
+/**************************************************************************/
+/**************************************************************************/
+
+
+/**************************************************************************/
+/* */
+/* COMPONENT DEFINITION RELEASE */
+/* */
+/* tx_initialize.h PORTABLE C */
+/* 6.0 */
+/* AUTHOR */
+/* */
+/* William E. Lamie, Microsoft Corporation */
+/* */
+/* DESCRIPTION */
+/* */
+/* This file defines the ThreadX initialization component, including */
+/* data types and external references. It is assumed that tx_api.h */
+/* and tx_port.h have already been included. */
+/* */
+/* RELEASE HISTORY */
+/* */
+/* DATE NAME DESCRIPTION */
+/* */
+/* 05-19-2020 William E. Lamie Initial Version 6.0 */
+/* */
+/**************************************************************************/
+
+#ifndef TX_INITIALIZE_H
+#define TX_INITIALIZE_H
+
+
+/* Define constants that indicate initialization is in progress. */
+
+#define TX_INITIALIZE_IN_PROGRESS ((ULONG) 0xF0F0F0F0UL)
+#define TX_INITIALIZE_ALMOST_DONE ((ULONG) 0xF0F0F0F1UL)
+#define TX_INITIALIZE_IS_FINISHED ((ULONG) 0x00000000UL)
+
+
+/* Define internal initialization function prototypes. */
+
+VOID _tx_initialize_high_level(VOID);
+VOID _tx_initialize_kernel_setup(VOID);
+VOID _tx_initialize_low_level(VOID);
+
+
+/* Define the macro for adding additional port-specific global data. This macro is defined
+ as white space, unless defined by tx_port.h. */
+
+#ifndef TX_PORT_SPECIFIC_DATA
+#define TX_PORT_SPECIFIC_DATA
+#endif
+
+
+/* Define the macro for adding additional port-specific pre and post initialization processing.
+ These macros is defined as white space, unless defined by tx_port.h. */
+
+#ifndef TX_PORT_SPECIFIC_PRE_INITIALIZATION
+#define TX_PORT_SPECIFIC_PRE_INITIALIZATION
+#endif
+
+#ifndef TX_PORT_SPECIFIC_POST_INITIALIZATION
+#define TX_PORT_SPECIFIC_POST_INITIALIZATION
+#endif
+
+#ifndef TX_PORT_SPECIFIC_PRE_SCHEDULER_INITIALIZATION
+#define TX_PORT_SPECIFIC_PRE_SCHEDULER_INITIALIZATION
+#endif
+
+
+/* Initialization component data declarations follow. */
+
+/* Determine if the initialization function of this component is including
+ this file. If so, make the data definitions really happen. Otherwise,
+ make them extern so other functions in the component can access them. */
+
+#ifdef TX_INITIALIZE_INIT
+#define INITIALIZE_DECLARE
+#else
+#define INITIALIZE_DECLARE extern
+#endif
+
+
+/* Define the unused memory pointer. The value of the first available
+ memory address is placed in this variable in the low-level
+ initialization function. The content of this variable is passed
+ to the application's system definition function. */
+
+INITIALIZE_DECLARE VOID *_tx_initialize_unused_memory;
+
+
+#endif