!460 fix: 中断向量表对齐大小支持可配置

Merge pull request !460 from kenneth/align
This commit is contained in:
openharmony_ci 2021-12-29 00:55:39 +00:00 committed by Gitee
commit ad6bdba415
11 changed files with 19 additions and 16 deletions

View File

@ -47,7 +47,7 @@ UINT32 g_intCount = 0;
#ifdef __ICCARM__ #ifdef __ICCARM__
#pragma location = ".data.vector" #pragma location = ".data.vector"
#elif defined(__CC_ARM) || defined(__GNUC__) #elif defined(__CC_ARM) || defined(__GNUC__)
#pragma data_alignment=0x100 #pragma data_alignment=LOSCFG_ARCH_HWI_VECTOR_ALIGN
LITE_OS_SEC_VEC LITE_OS_SEC_VEC
#endif #endif
/* * /* *

View File

@ -49,7 +49,7 @@ UINT32 g_intCount = 0;
* @ingroup los_hwi * @ingroup los_hwi
* Hardware interrupt form mapping handling function array. * Hardware interrupt form mapping handling function array.
*/ */
STATIC HWI_PROC_FUNC __attribute__((aligned(0x100))) g_hwiForm[OS_VECTOR_CNT] = {0}; STATIC HWI_PROC_FUNC __attribute__((aligned(LOSCFG_ARCH_HWI_VECTOR_ALIGN))) g_hwiForm[OS_VECTOR_CNT] = {0};
#if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1) #if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1)

View File

@ -49,7 +49,7 @@ UINT32 g_intCount = 0;
* @ingroup los_hwi * @ingroup los_hwi
* Hardware interrupt form mapping handling function array. * Hardware interrupt form mapping handling function array.
*/ */
STATIC HWI_PROC_FUNC __attribute__((aligned(0x100))) g_hwiForm[OS_VECTOR_CNT] = {0}; STATIC HWI_PROC_FUNC __attribute__((aligned(LOSCFG_ARCH_HWI_VECTOR_ALIGN))) g_hwiForm[OS_VECTOR_CNT] = {0};
#if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1) #if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1)

View File

@ -46,7 +46,7 @@ UINT32 g_intCount = 0;
/*lint -restore*/ /*lint -restore*/
#pragma location = ".data.vector" #pragma location = ".data.vector"
#pragma data_alignment=0x100 #pragma data_alignment=LOSCFG_ARCH_HWI_VECTOR_ALIGN
/* * /* *
* @ingroup los_hwi * @ingroup los_hwi
* hardware interrupt form mapping handling function array. * hardware interrupt form mapping handling function array.

View File

@ -46,7 +46,7 @@ UINT32 g_intCount = 0;
/*lint -restore*/ /*lint -restore*/
#pragma location = ".data.vector" #pragma location = ".data.vector"
#pragma data_alignment=0x100 #pragma data_alignment=LOSCFG_ARCH_HWI_VECTOR_ALIGN
/* * /* *
* @ingroup los_hwi * @ingroup los_hwi
* hardware interrupt form mapping handling function array. * hardware interrupt form mapping handling function array.

View File

@ -44,17 +44,12 @@
UINT32 g_intCount = 0; UINT32 g_intCount = 0;
/*lint -restore*/ /*lint -restore*/
#ifdef __ICCARM__
#pragma location = ".data.vector"
#pragma data_alignment=0x100
#elif defined(__CC_ARM) || defined(__GNUC__)
LITE_OS_SEC_VEC
#endif
/* * /* *
* @ingroup los_hwi * @ingroup los_hwi
* Hardware interrupt form mapping handling function array. * Hardware interrupt form mapping handling function array.
*/ */
STATIC HWI_PROC_FUNC __attribute__((aligned(0x100))) g_hwiForm[OS_VECTOR_CNT] = {0}; STATIC HWI_PROC_FUNC __attribute__((aligned(LOSCFG_ARCH_HWI_VECTOR_ALIGN))) g_hwiForm[OS_VECTOR_CNT] = {0};
#if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1) #if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1)

View File

@ -47,7 +47,7 @@ UINT32 g_intCount = 0;
/*lint -restore*/ /*lint -restore*/
#ifdef __ICCARM__ #ifdef __ICCARM__
#pragma location = ".data.vector" #pragma location = ".data.vector"
#pragma data_alignment=0x100 #pragma data_alignment=LOSCFG_ARCH_HWI_VECTOR_ALIGN
#elif defined(__CC_ARM) || defined(__GNUC__) #elif defined(__CC_ARM) || defined(__GNUC__)
LITE_OS_SEC_VEC LITE_OS_SEC_VEC
#endif #endif

View File

@ -49,7 +49,7 @@ UINT32 g_intCount = 0;
* @ingroup los_hwi * @ingroup los_hwi
* Hardware interrupt form mapping handling function array. * Hardware interrupt form mapping handling function array.
*/ */
STATIC HWI_PROC_FUNC __attribute__((aligned(0x100))) g_hwiForm[OS_VECTOR_CNT] = {0}; STATIC HWI_PROC_FUNC __attribute__((aligned(LOSCFG_ARCH_HWI_VECTOR_ALIGN))) g_hwiForm[OS_VECTOR_CNT] = {0};
#if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1) #if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1)

View File

@ -46,7 +46,7 @@ UINT32 g_intCount = 0;
/*lint -restore*/ /*lint -restore*/
#pragma location = ".data.vector" #pragma location = ".data.vector"
#pragma data_alignment=0x100 #pragma data_alignment=LOSCFG_ARCH_HWI_VECTOR_ALIGN
/* * /* *
* @ingroup los_hwi * @ingroup los_hwi
* Hardware interrupt form mapping handling function array. * Hardware interrupt form mapping handling function array.

View File

@ -48,7 +48,7 @@ UINT32 g_intCount = 0;
* @ingroup los_hwi * @ingroup los_hwi
* Hardware interrupt form mapping handling function array. * Hardware interrupt form mapping handling function array.
*/ */
STATIC HWI_PROC_FUNC __attribute__((aligned(0x100))) g_hwiForm[OS_VECTOR_CNT] = {0}; STATIC HWI_PROC_FUNC __attribute__((aligned(LOSCFG_ARCH_HWI_VECTOR_ALIGN))) g_hwiForm[OS_VECTOR_CNT] = {0};
#if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1) #if (LOSCFG_PLATFORM_HWI_WITH_ARG == 1)

View File

@ -631,6 +631,14 @@ extern UINT8 *m_aucSysMem0;
#define LOSCFG_PLATFORM_HWI_WITH_ARG 0 #define LOSCFG_PLATFORM_HWI_WITH_ARG 0
#endif #endif
/**
* @ingroup los_config
* Configuration item to set interrupt vector align size.
*/
#ifndef LOSCFG_ARCH_HWI_VECTOR_ALIGN
#define LOSCFG_ARCH_HWI_VECTOR_ALIGN 0x100
#endif
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }