From 8bd8d71e67d94a8884ff6a0d9c41fa5b12068f76 Mon Sep 17 00:00:00 2001 From: MacRsh Date: Wed, 30 Aug 2023 00:40:30 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E8=87=AA=E5=8A=A8=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E7=AD=89=E7=BA=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/mrdef.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/include/mrdef.h b/include/mrdef.h index 4f57140..a994f95 100644 --- a/include/mrdef.h +++ b/include/mrdef.h @@ -155,20 +155,25 @@ typedef int (*init_fn_t)(void); #define MR_INIT_EXPORT(fn, level) \ MR_USED const init_fn_t _mr_auto_init_##fn MR_SECTION(".auto_init."level) = fn +/** + * @def Driver auto-init export + */ +#define MR_INIT_DRIVER_EXPORT(fn) MR_INIT_EXPORT(fn, "1") + /** * @def Device auto-init export */ -#define MR_INIT_DEVICE_EXPORT(fn) MR_INIT_EXPORT(fn, "1") /* Device auto-init export */ +#define MR_INIT_DEVICE_EXPORT(fn) MR_INIT_EXPORT(fn, "2") /** * @def Module auto-init export */ -#define MR_INIT_MODULE_EXPORT(fn) MR_INIT_EXPORT(fn, "2") /* Module auto-init export */ +#define MR_INIT_MODULE_EXPORT(fn) MR_INIT_EXPORT(fn, "3") /** * @def App auto-init export */ -#define MR_INIT_APP_EXPORT(fn) MR_INIT_EXPORT(fn, "3") /* App auto-init export */ +#define MR_INIT_APP_EXPORT(fn) MR_INIT_EXPORT(fn, "4") #else #define MR_INIT_DEVICE_EXPORT(fn) @@ -281,8 +286,8 @@ typedef struct mr_object *mr_object_t; /* Type for */ struct mr_mutex { - mr_size_t hold; /* Mutex hold count */ - void *owner; /* Mutex owner */ + volatile mr_size_t hold; /* Mutex hold count */ + volatile void *owner; /* Mutex owner */ }; typedef struct mr_mutex *mr_mutex_t; /* Type for mutex */