This is an automated email from the ASF dual-hosted git repository.
ligd pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 313d6df787 include/nuttx.h: replace all the align macros to nuttx
version
313d6df787 is described below
commit 313d6df787ca1ceb84322f0d575dbcefdd025258
Author: Bowen Wang <[email protected]>
AuthorDate: Fri Aug 2 23:13:02 2024 +0800
include/nuttx.h: replace all the align macros to nuttx version
1. add IS_ALIGNED() definitions for NuttX;
2. replace all the ALIGN_UP() and ALIGN_DOWN() to use common
align implementation;
Signed-off-by: Bowen Wang <[email protected]>
---
arch/arm/src/cxd56xx/cxd56_udmac.c | 13 +++----------
arch/arm/src/efm32/efm32_dma.c | 13 +++----------
arch/arm/src/nrf52/nrf52_qspi.c | 12 ++++--------
arch/arm/src/nrf53/nrf53_qspi.c | 12 ++++--------
arch/arm/src/s32k3xx/s32k3xx_qspi.c | 11 +++--------
arch/arm/src/sam34/sam_cmcc.c | 9 ++++-----
arch/arm/src/sama5/sam_qspi.c | 20 ++++++++------------
arch/arm/src/samd5e5/sam_cmcc.c | 9 ++++-----
arch/arm/src/samv7/sam_qspi.c | 19 +++++++------------
arch/arm/src/stm32f7/stm32_qspi.c | 26 +++++++++++---------------
arch/arm/src/stm32h7/stm32_qspi.c | 26 +++++++++++---------------
arch/arm/src/stm32l4/stm32l4_qspi.c | 26 +++++++++++---------------
arch/arm64/src/imx9/imx9_flexspi_nor.c | 9 ++++-----
arch/risc-v/src/common/espressif/esp_dma.c | 5 +----
arch/risc-v/src/esp32c3-legacy/esp32c3_dma.c | 5 +----
arch/xtensa/include/irq.h | 12 ++++++------
arch/xtensa/src/esp32/esp32_dma.c | 10 ++--------
arch/xtensa/src/esp32/esp32_i2s.c | 5 +----
arch/xtensa/src/esp32s2/esp32s2_dma.c | 10 ++--------
arch/xtensa/src/esp32s2/esp32s2_i2s.c | 5 +----
arch/xtensa/src/esp32s3/esp32s3_allocateheap.c | 5 +----
arch/xtensa/src/esp32s3/esp32s3_dma.c | 5 +----
arch/xtensa/src/esp32s3/esp32s3_i2s.c | 5 +----
arch/xtensa/src/esp32s3/esp32s3_userspace.c | 9 +--------
drivers/pci/pci_ecam.c | 2 --
drivers/rpmsg/rpmsg_virtio.c | 5 +----
drivers/rptun/rptun.c | 5 +----
include/nuttx/mm/mempool.h | 1 +
include/nuttx/nuttx.h | 8 +++++++-
mm/mempool/mempool.c | 4 +---
mm/mempool/mempool_multiple.c | 17 ++++-------------
mm/ubsan/ubsan.c | 8 ++------
32 files changed, 112 insertions(+), 219 deletions(-)
diff --git a/arch/arm/src/cxd56xx/cxd56_udmac.c
b/arch/arm/src/cxd56xx/cxd56_udmac.c
index a072e29a52..92c19728fe 100644
--- a/arch/arm/src/cxd56xx/cxd56_udmac.c
+++ b/arch/arm/src/cxd56xx/cxd56_udmac.c
@@ -34,6 +34,7 @@
#include <nuttx/irq.h>
#include <nuttx/arch.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/semaphore.h>
#include "arm_internal.h"
@@ -41,14 +42,6 @@
#include "hardware/cxd56_udmac.h"
#include "cxd56_udmac.h"
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#define ALIGN_MASK(s) ((1 << s) - 1)
-#define ALIGN_DOWN(v, m) ((v) & ~m)
-#define ALIGN_UP(v, m) (((v) + (m)) & ~m)
-
/****************************************************************************
* Private Types
****************************************************************************/
@@ -434,7 +427,7 @@ void cxd56_rxudmasetup(DMA_HANDLE handle, uintptr_t paddr,
uintptr_t maddr,
*/
xfersize = (1 << shift);
- nbytes = ALIGN_DOWN(nbytes, mask);
+ nbytes = ALIGN_DOWN_MASK(nbytes, mask);
DEBUGASSERT(nbytes > 0);
/* Save the configuration (for cxd56_udmastart()). */
@@ -531,7 +524,7 @@ void cxd56_txudmasetup(DMA_HANDLE handle, uintptr_t paddr,
uintptr_t maddr,
*/
xfersize = (1 << shift);
- nbytes = ALIGN_DOWN(nbytes, mask);
+ nbytes = ALIGN_DOWN_MASK(nbytes, mask);
DEBUGASSERT(nbytes > 0);
/* Save the configuration (for cxd56_udmastart()). */
diff --git a/arch/arm/src/efm32/efm32_dma.c b/arch/arm/src/efm32/efm32_dma.c
index b6ce2db879..7aff5049fb 100644
--- a/arch/arm/src/efm32/efm32_dma.c
+++ b/arch/arm/src/efm32/efm32_dma.c
@@ -34,6 +34,7 @@
#include <nuttx/irq.h>
#include <nuttx/arch.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/semaphore.h>
#include "arm_internal.h"
@@ -41,14 +42,6 @@
#include "hardware/efm32_dma.h"
#include "efm32_dma.h"
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#define ALIGN_MASK(s) ((1 << s) - 1)
-#define ALIGN_DOWN(v,m) ((v) & ~m)
-#define ALIGN_UP(v,m) (((v) + (m)) & ~m)
-
/****************************************************************************
* Private Types
****************************************************************************/
@@ -466,7 +459,7 @@ void efm32_rxdmasetup(DMA_HANDLE handle, uintptr_t paddr,
uintptr_t maddr,
*/
xfersize = (1 << shift);
- nbytes = ALIGN_DOWN(nbytes, mask);
+ nbytes = ALIGN_DOWN_MASK(nbytes, mask);
DEBUGASSERT(nbytes > 0);
/* Save the configuration (for efm32_dmastart()). */
@@ -563,7 +556,7 @@ void efm32_txdmasetup(DMA_HANDLE handle, uintptr_t paddr,
uintptr_t maddr,
*/
xfersize = (1 << shift);
- nbytes = ALIGN_DOWN(nbytes, mask);
+ nbytes = ALIGN_DOWN_MASK(nbytes, mask);
DEBUGASSERT(nbytes > 0);
/* Save the configuration (for efm32_dmastart()). */
diff --git a/arch/arm/src/nrf52/nrf52_qspi.c b/arch/arm/src/nrf52/nrf52_qspi.c
index 3a4af11374..d2b6d5e95c 100644
--- a/arch/arm/src/nrf52/nrf52_qspi.c
+++ b/arch/arm/src/nrf52/nrf52_qspi.c
@@ -29,6 +29,7 @@
#include <nuttx/arch.h>
#include <nuttx/kmalloc.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/semaphore.h>
#include <arch/board/board.h>
@@ -53,13 +54,6 @@
#define MEMORY_SYNC() do { ARM_DSB(); ARM_ISB(); } while (0)
-/* Ensure that the DMA buffers are word-aligned. */
-
-#define ALIGN_SHIFT 2
-#define ALIGN_MASK 3
-#define ALIGN_UP(n) (((n)+ALIGN_MASK) & ~ALIGN_MASK)
-#define IS_ALIGNED(n) (((uint32_t)(n) & ALIGN_MASK) == 0)
-
/****************************************************************************
* Private Types
****************************************************************************/
@@ -692,7 +686,9 @@ static int nrf52_qspi_memory(struct qspi_dev_s *dev,
static void *nrf52_qspi_alloc(struct qspi_dev_s *dev, size_t buflen)
{
- return kmm_malloc(ALIGN_UP(buflen));
+ /* Ensure that the DMA buffers are word-aligned. */
+
+ return kmm_malloc(ALIGN_UP(buflen, 4));
}
/****************************************************************************
diff --git a/arch/arm/src/nrf53/nrf53_qspi.c b/arch/arm/src/nrf53/nrf53_qspi.c
index 573d508160..3746002560 100644
--- a/arch/arm/src/nrf53/nrf53_qspi.c
+++ b/arch/arm/src/nrf53/nrf53_qspi.c
@@ -29,6 +29,7 @@
#include <nuttx/arch.h>
#include <nuttx/kmalloc.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/semaphore.h>
#include <arch/board/board.h>
@@ -63,13 +64,6 @@
#define MEMORY_SYNC() do { ARM_DSB(); ARM_ISB(); } while (0)
-/* Ensure that the DMA buffers are word-aligned. */
-
-#define ALIGN_SHIFT 2
-#define ALIGN_MASK 3
-#define ALIGN_UP(n) (((n)+ALIGN_MASK) & ~ALIGN_MASK)
-#define IS_ALIGNED(n) (((uint32_t)(n) & ALIGN_MASK) == 0)
-
/****************************************************************************
* Private Types
****************************************************************************/
@@ -702,7 +696,9 @@ static int nrf53_qspi_memory(struct qspi_dev_s *dev,
static void *nrf53_qspi_alloc(struct qspi_dev_s *dev, size_t buflen)
{
- return kmm_malloc(ALIGN_UP(buflen));
+ /* Ensure that the DMA buffers are word-aligned. */
+
+ return kmm_malloc(ALIGN_UP(buflen, 4));
}
/****************************************************************************
diff --git a/arch/arm/src/s32k3xx/s32k3xx_qspi.c
b/arch/arm/src/s32k3xx/s32k3xx_qspi.c
index e17166171a..7fe9b79e96 100644
--- a/arch/arm/src/s32k3xx/s32k3xx_qspi.c
+++ b/arch/arm/src/s32k3xx/s32k3xx_qspi.c
@@ -46,6 +46,7 @@
#include <nuttx/cache.h>
#include <nuttx/kmalloc.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/spi/qspi.h>
#include "arm_internal.h"
@@ -69,13 +70,6 @@
#define MEMORY_SYNC() do { ARM_DSB(); ARM_ISB(); } while (0)
-/* Ensure that the DMA buffers are word-aligned. */
-
-#define ALIGN_SHIFT 2
-#define ALIGN_MASK 3
-#define ALIGN_UP(n) (((n)+ALIGN_MASK) & ~ALIGN_MASK)
-#define IS_ALIGNED(n) (((uint32_t)(n) & ALIGN_MASK) == 0)
-
/* LUT entries used for various command sequences */
#define QSPI_LUT_READ 0U /* Quad Output read */
#define QSPI_LUT_WRITE 1U /* Quad write */
@@ -1402,9 +1396,10 @@ static void *qspi_alloc(struct qspi_dev_s *dev, size_t
buflen)
/* Here we exploit the carnal knowledge the kmm_malloc() will return memory
* aligned to 64-bit addresses. The buffer length must be large enough to
* hold the rested buflen in units a 32-bits.
+ * Ensure that the DMA buffers are word-aligned.
*/
- return kmm_malloc(ALIGN_UP(buflen));
+ return kmm_malloc(ALIGN_UP(buflen, 4));
}
/****************************************************************************
diff --git a/arch/arm/src/sam34/sam_cmcc.c b/arch/arm/src/sam34/sam_cmcc.c
index 269bbd958b..3ca4715f9c 100644
--- a/arch/arm/src/sam34/sam_cmcc.c
+++ b/arch/arm/src/sam34/sam_cmcc.c
@@ -28,6 +28,8 @@
#include <stdint.h>
#include <assert.h>
+#include <nuttx/nuttx.h>
+
#include "arm_internal.h"
#include "hardware/sam_cmcc.h"
#include "sam_cmcc.h"
@@ -52,9 +54,6 @@
# error Unknown cache line size
#endif
-#define ALIGN_UP(a) (((a)+CMCC_MASK) & ~CMCC_MASK)
-#define ALIGN_DOWN(a) ((a) & ~CMCC_MASK)
-
/****************************************************************************
* Private Data
****************************************************************************/
@@ -138,8 +137,8 @@ void sam_cmcc_invalidate(uintptr_t start, uintptr_t end)
* to be invalidated.
*/
- start = ALIGN_DOWN(start);
- end = ALIGN_UP(end);
+ start = ALIGN_DOWN_MASK(start, CMCC_MASK);
+ end = ALIGN_UP_MASK(end, CMCC_MASK);
size = end - start + 1;
/* If this is a large region (as big as the cache), then just invalidate
diff --git a/arch/arm/src/sama5/sam_qspi.c b/arch/arm/src/sama5/sam_qspi.c
index 8fb6c7871e..caaef8c8d9 100644
--- a/arch/arm/src/sama5/sam_qspi.c
+++ b/arch/arm/src/sama5/sam_qspi.c
@@ -40,6 +40,7 @@
#include <nuttx/clock.h>
#include <nuttx/kmalloc.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/semaphore.h>
#include <nuttx/spi/qspi.h>
@@ -119,15 +120,6 @@
#define MEMORY_SYNC() do { ARM_DSB(); ARM_ISB(); } while (0)
-/* The SAMA5x QSPI driver insists that transfers be performed in multiples
- * of 32-bits. The alignment requirement only applies to RX DMA data.
- */
-
-#define ALIGN_SHIFT 2
-#define ALIGN_MASK 3
-#define ALIGN_UP(n) (((n)+ALIGN_MASK) & ~ALIGN_MASK)
-#define IS_ALIGNED(n) (((uint32_t)(n) & ALIGN_MASK) == 0)
-
/* Debug ********************************************************************/
/* Check if QSPI debug is enabled */
@@ -1613,8 +1605,8 @@ static int qspi_memory(struct qspi_dev_s *dev,
if (priv->candma &&
meminfo->buflen > CONFIG_SAMA5_QSPI_DMATHRESHOLD &&
- IS_ALIGNED((uintptr_t)meminfo->buffer) &&
- IS_ALIGNED(meminfo->buflen))
+ IS_ALIGNED((uintptr_t)meminfo->buffer, 4) &&
+ IS_ALIGNED(meminfo->buflen, 4))
{
return qspi_memory_dma(priv, meminfo);
}
@@ -1648,7 +1640,11 @@ static void *qspi_alloc(struct qspi_dev_s *dev, size_t
buflen)
* enough to hold the rested buflen in units a 32-bits.
*/
- return kmm_malloc(ALIGN_UP(buflen));
+ /* The SAMA5x QSPI driver insists that transfers be performed in multiples
+ * of 32-bits. The alignment requirement only applies to RX DMA data.
+ */
+
+ return kmm_malloc(ALIGN_UP(buflen, 4));
}
/****************************************************************************
diff --git a/arch/arm/src/samd5e5/sam_cmcc.c b/arch/arm/src/samd5e5/sam_cmcc.c
index 6543aa5b91..46fdf19990 100644
--- a/arch/arm/src/samd5e5/sam_cmcc.c
+++ b/arch/arm/src/samd5e5/sam_cmcc.c
@@ -28,6 +28,8 @@
#include <stdint.h>
#include <assert.h>
+#include <nuttx/nuttx.h>
+
#include "arm_internal.h"
#include "hardware/sam_cmcc.h"
#include "sam_cmcc.h"
@@ -52,9 +54,6 @@
# error Unknown cache line size
#endif
-#define ALIGN_UP(a) (((a)+CMCC_MASK) & ~CMCC_MASK)
-#define ALIGN_DOWN(a) ((a) & ~CMCC_MASK)
-
/****************************************************************************
* Private Data
****************************************************************************/
@@ -138,8 +137,8 @@ void sam_cmcc_invalidate(uintptr_t start, uintptr_t end)
* to be invalidated.
*/
- start = ALIGN_DOWN(start);
- end = ALIGN_UP(end);
+ start = ALIGN_DOWN_MASK(start, CMCC_MASK);
+ end = ALIGN_UP_MASK(end, CMCC_MASK);
size = end - start + 1;
/* If this is a large region (as big as the cache), then just invalidate
diff --git a/arch/arm/src/samv7/sam_qspi.c b/arch/arm/src/samv7/sam_qspi.c
index 5b666d2287..85ce6075a7 100644
--- a/arch/arm/src/samv7/sam_qspi.c
+++ b/arch/arm/src/samv7/sam_qspi.c
@@ -119,15 +119,6 @@
#define MEMORY_SYNC() do { ARM_DSB(); ARM_ISB(); } while (0)
-/* The SAMV7x QSPI driver insists that transfers be performed in multiples
- * of 32-bits. The alignment requirement only applies to RX DMA data.
- */
-
-#define ALIGN_SHIFT 2
-#define ALIGN_MASK 3
-#define ALIGN_UP(n) (((n)+ALIGN_MASK) & ~ALIGN_MASK)
-#define IS_ALIGNED(n) (((uint32_t)(n) & ALIGN_MASK) == 0)
-
/* Debug ********************************************************************/
/* Check if QSPI debug is enabled */
@@ -1558,8 +1549,8 @@ static int qspi_memory(struct qspi_dev_s *dev,
if (priv->candma &&
meminfo->buflen > CONFIG_SAMV7_QSPI_DMATHRESHOLD &&
- IS_ALIGNED((uintptr_t)meminfo->buffer) &&
- IS_ALIGNED(meminfo->buflen))
+ IS_ALIGNED((uintptr_t)meminfo->buffer, 4) &&
+ IS_ALIGNED(meminfo->buflen, 4))
{
return qspi_memory_dma(priv, meminfo);
}
@@ -1593,7 +1584,11 @@ static void *qspi_alloc(struct qspi_dev_s *dev, size_t
buflen)
* enough to hold the rested buflen in units a 32-bits.
*/
- return kmm_malloc(ALIGN_UP(buflen));
+ /* The SAMV7x QSPI driver insists that transfers be performed in multiples
+ * of 32-bits. The alignment requirement only applies to RX DMA data.
+ */
+
+ return kmm_malloc(ALIGN_UP(buflen, 4));
}
/****************************************************************************
diff --git a/arch/arm/src/stm32f7/stm32_qspi.c
b/arch/arm/src/stm32f7/stm32_qspi.c
index ffe5bbd01e..a024f6351c 100644
--- a/arch/arm/src/stm32f7/stm32_qspi.c
+++ b/arch/arm/src/stm32f7/stm32_qspi.c
@@ -43,6 +43,7 @@
#include <nuttx/cache.h>
#include <nuttx/kmalloc.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/spi/qspi.h>
#include "arm_internal.h"
@@ -63,13 +64,6 @@
#define MEMORY_SYNC() do { ARM_DSB(); ARM_ISB(); } while (0)
-/* Ensure that the DMA buffers are word-aligned. */
-
-#define ALIGN_SHIFT 2
-#define ALIGN_MASK 3
-#define ALIGN_UP(n) (((n)+ALIGN_MASK) & ~ALIGN_MASK)
-#define IS_ALIGNED(n) (((uint32_t)(n) & ALIGN_MASK) == 0)
-
/* Debug ********************************************************************/
/* Check if QSPI debug is enabled */
@@ -2025,7 +2019,7 @@ static int qspi_command(struct qspi_dev_s *dev,
if (QSPICMD_ISDATA(cmdinfo->flags))
{
DEBUGASSERT(cmdinfo->buffer != NULL && cmdinfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(cmdinfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)cmdinfo->buffer, 4));
if (QSPICMD_ISWRITE(cmdinfo->flags))
{
@@ -2117,7 +2111,7 @@ static int qspi_command(struct qspi_dev_s *dev,
if (QSPICMD_ISDATA(cmdinfo->flags))
{
DEBUGASSERT(cmdinfo->buffer != NULL && cmdinfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(cmdinfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)cmdinfo->buffer, 4));
if (QSPICMD_ISWRITE(cmdinfo->flags))
{
@@ -2204,7 +2198,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
priv->xctn = &xctn;
DEBUGASSERT(meminfo->buffer != NULL && meminfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(meminfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)meminfo->buffer, 4));
if (QSPIMEM_ISWRITE(meminfo->flags))
{
@@ -2264,8 +2258,8 @@ static int qspi_memory(struct qspi_dev_s *dev,
if (priv->candma &&
meminfo->buflen > CONFIG_STM32F7_QSPI_DMATHRESHOLD &&
- IS_ALIGNED((uintptr_t)meminfo->buffer) &&
- IS_ALIGNED(meminfo->buflen))
+ IS_ALIGNED((uintptr_t)meminfo->buffer, 4) &&
+ IS_ALIGNED(meminfo->buflen, 4))
{
ret = qspi_memory_dma(priv, meminfo, &xctn);
}
@@ -2284,7 +2278,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
/* Transfer data */
DEBUGASSERT(meminfo->buffer != NULL && meminfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(meminfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)meminfo->buffer, 4));
if (QSPIMEM_ISWRITE(meminfo->flags))
{
@@ -2315,7 +2309,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
/* Transfer data */
DEBUGASSERT(meminfo->buffer != NULL && meminfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(meminfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)meminfo->buffer, 4));
if (QSPIMEM_ISWRITE(meminfo->flags))
{
@@ -2361,7 +2355,9 @@ static void *qspi_alloc(struct qspi_dev_s *dev, size_t
buflen)
* hold the rested buflen in units a 32-bits.
*/
- return kmm_malloc(ALIGN_UP(buflen));
+ /* Ensure that the DMA buffers are word-aligned. */
+
+ return kmm_malloc(ALIGN_UP(buflen, 4));
}
/****************************************************************************
diff --git a/arch/arm/src/stm32h7/stm32_qspi.c
b/arch/arm/src/stm32h7/stm32_qspi.c
index d8f105dcbb..da9c983083 100644
--- a/arch/arm/src/stm32h7/stm32_qspi.c
+++ b/arch/arm/src/stm32h7/stm32_qspi.c
@@ -43,6 +43,7 @@
#include <nuttx/cache.h>
#include <nuttx/kmalloc.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/semaphore.h>
#include <nuttx/spi/qspi.h>
@@ -64,13 +65,6 @@
#define MEMORY_SYNC() do { ARM_DSB(); ARM_ISB(); } while (0)
-/* Ensure that the DMA buffers are word-aligned. */
-
-#define ALIGN_SHIFT 2
-#define ALIGN_MASK 3
-#define ALIGN_UP(n) (((n)+ALIGN_MASK) & ~ALIGN_MASK)
-#define IS_ALIGNED(n) (((uint32_t)(n) & ALIGN_MASK) == 0)
-
/* Debug ********************************************************************/
/* Check if QSPI debug is enabled */
@@ -2079,7 +2073,7 @@ static int qspi_command(struct qspi_dev_s *dev,
if (QSPICMD_ISDATA(cmdinfo->flags))
{
DEBUGASSERT(cmdinfo->buffer != NULL && cmdinfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(cmdinfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)cmdinfo->buffer, 4));
if (QSPICMD_ISWRITE(cmdinfo->flags))
{
@@ -2171,7 +2165,7 @@ static int qspi_command(struct qspi_dev_s *dev,
if (QSPICMD_ISDATA(cmdinfo->flags))
{
DEBUGASSERT(cmdinfo->buffer != NULL && cmdinfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(cmdinfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)cmdinfo->buffer, 4));
if (QSPICMD_ISWRITE(cmdinfo->flags))
{
@@ -2258,7 +2252,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
priv->xctn = &xctn;
DEBUGASSERT(meminfo->buffer != NULL && meminfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(meminfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)meminfo->buffer, 4));
if (QSPIMEM_ISWRITE(meminfo->flags))
{
@@ -2318,8 +2312,8 @@ static int qspi_memory(struct qspi_dev_s *dev,
if (priv->candma &&
meminfo->buflen > CONFIG_STM32H7_QSPI_DMATHRESHOLD &&
- IS_ALIGNED((uintptr_t)meminfo->buffer) &&
- IS_ALIGNED(meminfo->buflen))
+ IS_ALIGNED((uintptr_t)meminfo->buffer, 4) &&
+ IS_ALIGNED(meminfo->buflen, 4))
{
ret = qspi_memory_dma(priv, meminfo, &xctn);
}
@@ -2338,7 +2332,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
/* Transfer data */
DEBUGASSERT(meminfo->buffer != NULL && meminfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(meminfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)meminfo->buffer, 4));
if (QSPIMEM_ISWRITE(meminfo->flags))
{
@@ -2369,7 +2363,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
/* Transfer data */
DEBUGASSERT(meminfo->buffer != NULL && meminfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(meminfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)meminfo->buffer, 4));
if (QSPIMEM_ISWRITE(meminfo->flags))
{
@@ -2415,7 +2409,9 @@ static void *qspi_alloc(struct qspi_dev_s *dev, size_t
buflen)
* hold the rested buflen in units a 32-bits.
*/
- return kmm_malloc(ALIGN_UP(buflen));
+ /* Ensure that the DMA buffers are word-aligned. */
+
+ return kmm_malloc(ALIGN_UP(buflen, 4));
}
/****************************************************************************
diff --git a/arch/arm/src/stm32l4/stm32l4_qspi.c
b/arch/arm/src/stm32l4/stm32l4_qspi.c
index a6e228ccbc..7c8148dc30 100644
--- a/arch/arm/src/stm32l4/stm32l4_qspi.c
+++ b/arch/arm/src/stm32l4/stm32l4_qspi.c
@@ -41,6 +41,7 @@
#include <nuttx/clock.h>
#include <nuttx/kmalloc.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/spi/qspi.h>
#include "arm_internal.h"
@@ -63,13 +64,6 @@
#define MEMORY_SYNC() do { ARM_DSB(); ARM_ISB(); } while (0)
-/* Ensure that the DMA buffers are word-aligned. */
-
-#define ALIGN_SHIFT 2
-#define ALIGN_MASK 3
-#define ALIGN_UP(n) (((n)+ALIGN_MASK) & ~ALIGN_MASK)
-#define IS_ALIGNED(n) (((uint32_t)(n) & ALIGN_MASK) == 0)
-
/* Debug ********************************************************************/
/* Check if QSPI debug is enabled */
@@ -1973,7 +1967,7 @@ static int qspi_command(struct qspi_dev_s *dev,
if (QSPICMD_ISDATA(cmdinfo->flags))
{
DEBUGASSERT(cmdinfo->buffer != NULL && cmdinfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(cmdinfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)cmdinfo->buffer, 4));
if (QSPICMD_ISWRITE(cmdinfo->flags))
{
@@ -2066,7 +2060,7 @@ static int qspi_command(struct qspi_dev_s *dev,
if (QSPICMD_ISDATA(cmdinfo->flags))
{
DEBUGASSERT(cmdinfo->buffer != NULL && cmdinfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(cmdinfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)cmdinfo->buffer, 4));
if (QSPICMD_ISWRITE(cmdinfo->flags))
{
@@ -2153,7 +2147,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
priv->xctn = &xctn;
DEBUGASSERT(meminfo->buffer != NULL && meminfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(meminfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)meminfo->buffer, 4));
if (QSPIMEM_ISWRITE(meminfo->flags))
{
@@ -2213,8 +2207,8 @@ static int qspi_memory(struct qspi_dev_s *dev,
if (priv->candma &&
meminfo->buflen > CONFIG_STM32L4_QSPI_DMATHRESHOLD &&
- IS_ALIGNED((uintptr_t)meminfo->buffer) &&
- IS_ALIGNED(meminfo->buflen))
+ IS_ALIGNED((uintptr_t)meminfo->buffer, 4) &&
+ IS_ALIGNED(meminfo->buflen, 4))
{
ret = qspi_memory_dma(priv, meminfo, &xctn);
}
@@ -2233,7 +2227,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
/* Transfer data */
DEBUGASSERT(meminfo->buffer != NULL && meminfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(meminfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)meminfo->buffer, 4));
if (QSPIMEM_ISWRITE(meminfo->flags))
{
@@ -2264,7 +2258,7 @@ static int qspi_memory(struct qspi_dev_s *dev,
/* Transfer data */
DEBUGASSERT(meminfo->buffer != NULL && meminfo->buflen > 0);
- DEBUGASSERT(IS_ALIGNED(meminfo->buffer));
+ DEBUGASSERT(IS_ALIGNED((uintptr_t)meminfo->buffer, 4));
if (QSPIMEM_ISWRITE(meminfo->flags))
{
@@ -2310,7 +2304,9 @@ static void *qspi_alloc(struct qspi_dev_s *dev, size_t
buflen)
* hold the rested buflen in units a 32-bits.
*/
- return kmm_malloc(ALIGN_UP(buflen));
+ /* Ensure that the DMA buffers are word-aligned. */
+
+ return kmm_malloc(ALIGN_UP(buflen, 4));
}
/****************************************************************************
diff --git a/arch/arm64/src/imx9/imx9_flexspi_nor.c
b/arch/arm64/src/imx9/imx9_flexspi_nor.c
index 4bf471c197..693f5a20ad 100644
--- a/arch/arm64/src/imx9/imx9_flexspi_nor.c
+++ b/arch/arm64/src/imx9/imx9_flexspi_nor.c
@@ -37,6 +37,7 @@
#include <nuttx/signal.h>
#include <nuttx/fs/fs.h>
#include <nuttx/mtd/mtd.h>
+#include <nuttx/nuttx.h>
#include <nuttx/fs/ioctl.h>
#include <nuttx/drivers/drivers.h>
#include <arch/board/board.h>
@@ -62,9 +63,6 @@
# define ARMV8A_DCACHE_LINESIZE 64
# endif
-#define ALIGN_MASK (ARMV8A_DCACHE_LINESIZE - 1)
-#define ALIGN_UP(n) (((n)+ALIGN_MASK) & ~ALIGN_MASK)
-
/* Configuration ************************************************************/
/* Per the data sheet, M25P10 parts can be driven with either SPI mode 0
@@ -835,10 +833,11 @@ static ssize_t imx9_flexspi_nor_read(struct mtd_dev_s
*dev,
}
src = priv->ahb_base + offset;
- DEBUGASSERT(((uintptr_t)src & ALIGN_MASK) == 0);
+ DEBUGASSERT(((uintptr_t)src & (ARMV8A_DCACHE_LINESIZE - 1)) == 0);
up_invalidate_dcache((uintptr_t)src,
- (uintptr_t)src + ALIGN_UP(nbytes));
+ (uintptr_t)src +
+ ALIGN_UP(nbytes, ARMV8A_DCACHE_LINESIZE));
memcpy(buffer, src, nbytes);
diff --git a/arch/risc-v/src/common/espressif/esp_dma.c
b/arch/risc-v/src/common/espressif/esp_dma.c
index c4ad053792..542c8042ec 100644
--- a/arch/risc-v/src/common/espressif/esp_dma.c
+++ b/arch/risc-v/src/common/espressif/esp_dma.c
@@ -34,6 +34,7 @@
#include <nuttx/arch.h>
#include <nuttx/irq.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/kmalloc.h>
#include <arch/irq.h>
@@ -51,10 +52,6 @@
* Pre-processor Macros
****************************************************************************/
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
/* DMA channel number */
#define ESPRESSIF_DMA_CHAN_MAX (SOC_GDMA_PAIRS_PER_GROUP)
diff --git a/arch/risc-v/src/esp32c3-legacy/esp32c3_dma.c
b/arch/risc-v/src/esp32c3-legacy/esp32c3_dma.c
index 198328e82d..90472717c6 100644
--- a/arch/risc-v/src/esp32c3-legacy/esp32c3_dma.c
+++ b/arch/risc-v/src/esp32c3-legacy/esp32c3_dma.c
@@ -34,6 +34,7 @@
#include <nuttx/arch.h>
#include <nuttx/irq.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/kmalloc.h>
#include <arch/irq.h>
@@ -56,10 +57,6 @@
#define SET_BITS(_r, _ch, _b) modifyreg32((_r) + (_ch) * REG_OFF, 0, (_b))
#define CLR_BITS(_r, _ch, _b) modifyreg32((_r) + (_ch) * REG_OFF, (_b), 0)
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
/****************************************************************************
* Private Data
****************************************************************************/
diff --git a/arch/xtensa/include/irq.h b/arch/xtensa/include/irq.h
index fe93f6dbc6..f680b3dec0 100644
--- a/arch/xtensa/include/irq.h
+++ b/arch/xtensa/include/irq.h
@@ -68,10 +68,6 @@
* Pre-processor Definitions
****************************************************************************/
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
/* IRQ Stack Frame Format. Each value is a uint32_t register index */
#define REG_PC (0) /* Return PC */
@@ -142,9 +138,13 @@
#endif
#if XCHAL_CP_NUM > 0
- /* FPU first address must align to CP align size. */
+ /* FPU first address must align to CP align size.
+ * ESP32 3rd party redefine the ALIGN_UP, so define a new macro XALIGN_UP()
+ * instead use ALGIN_UP() in nuttx/nuttx.h
+ */
-# define COMMON_CTX_REGS ALIGN_UP(_REG_CP_START, XCHAL_TOTAL_SA_ALIGN / 4)
+# define XALIGN_UP(x,a) (((x) + ((a) - 1)) & ~((a) - 1))
+# define COMMON_CTX_REGS XALIGN_UP(_REG_CP_START, XCHAL_TOTAL_SA_ALIGN / 4)
# define COPROC_CTX_REGS (XTENSA_CP_SA_SIZE / 4)
# define RESERVE_REGS 8
# define XCPTCONTEXT_REGS (COMMON_CTX_REGS + COPROC_CTX_REGS + RESERVE_REGS)
diff --git a/arch/xtensa/src/esp32/esp32_dma.c
b/arch/xtensa/src/esp32/esp32_dma.c
index e5d8a39d95..bbd352a728 100644
--- a/arch/xtensa/src/esp32/esp32_dma.c
+++ b/arch/xtensa/src/esp32/esp32_dma.c
@@ -28,17 +28,11 @@
#include <sys/param.h>
#include <sys/types.h>
+#include <nuttx/nuttx.h>
+
#include "hardware/esp32_dma.h"
#include "esp32_dma.h"
-/****************************************************************************
- * Preprocessor Definitions
- ****************************************************************************/
-
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
/****************************************************************************
* Public Functions
****************************************************************************/
diff --git a/arch/xtensa/src/esp32/esp32_i2s.c
b/arch/xtensa/src/esp32/esp32_i2s.c
index e3e7d6a5b6..31cd1c9d22 100644
--- a/arch/xtensa/src/esp32/esp32_i2s.c
+++ b/arch/xtensa/src/esp32/esp32_i2s.c
@@ -45,6 +45,7 @@
#include <nuttx/spinlock.h>
#include <nuttx/mqueue.h>
#include <nuttx/circbuf.h>
+#include <nuttx/nuttx.h>
#include <nuttx/audio/audio.h>
#include <nuttx/audio/i2s.h>
@@ -110,10 +111,6 @@
# define I2S1_RX_ENABLED 0
#endif
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
/* Debug ********************************************************************/
#ifdef CONFIG_DEBUG_I2S_INFO
diff --git a/arch/xtensa/src/esp32s2/esp32s2_dma.c
b/arch/xtensa/src/esp32s2/esp32s2_dma.c
index 5748b61e54..9394eab2bb 100644
--- a/arch/xtensa/src/esp32s2/esp32s2_dma.c
+++ b/arch/xtensa/src/esp32s2/esp32s2_dma.c
@@ -28,17 +28,11 @@
#include <sys/param.h>
#include <sys/types.h>
+#include <nuttx/nuttx.h>
+
#include "hardware/esp32s2_dma.h"
#include "esp32s2_dma.h"
-/****************************************************************************
- * Preprocessor Definitions
- ****************************************************************************/
-
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
/****************************************************************************
* Public Functions
****************************************************************************/
diff --git a/arch/xtensa/src/esp32s2/esp32s2_i2s.c
b/arch/xtensa/src/esp32s2/esp32s2_i2s.c
index 923384bb45..e46a631661 100644
--- a/arch/xtensa/src/esp32s2/esp32s2_i2s.c
+++ b/arch/xtensa/src/esp32s2/esp32s2_i2s.c
@@ -43,6 +43,7 @@
#include <nuttx/semaphore.h>
#include <nuttx/mqueue.h>
#include <nuttx/circbuf.h>
+#include <nuttx/nuttx.h>
#include <nuttx/audio/audio.h>
#include <nuttx/audio/i2s.h>
@@ -94,10 +95,6 @@
# define I2S_RX_ENABLED 0
#endif
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
/* Debug ********************************************************************/
#ifdef CONFIG_DEBUG_I2S_INFO
diff --git a/arch/xtensa/src/esp32s3/esp32s3_allocateheap.c
b/arch/xtensa/src/esp32s3/esp32s3_allocateheap.c
index 2de7f36f5c..2b5e534a90 100644
--- a/arch/xtensa/src/esp32s3/esp32s3_allocateheap.c
+++ b/arch/xtensa/src/esp32s3/esp32s3_allocateheap.c
@@ -30,6 +30,7 @@
#include <nuttx/arch.h>
#include <nuttx/board.h>
#include <nuttx/mm/mm.h>
+#include <nuttx/nuttx.h>
#include <nuttx/userspace.h>
#include <arch/board/board.h>
#ifdef CONFIG_MM_KERNEL_HEAP
@@ -60,10 +61,6 @@
# define MM_ADDREGION umm_addregion
#endif
-#ifndef ALIGN_DOWN
-# define ALIGN_DOWN(num, align) ((num) & ~((align) - 1))
-#endif
-
/****************************************************************************
* Public Functions
****************************************************************************/
diff --git a/arch/xtensa/src/esp32s3/esp32s3_dma.c
b/arch/xtensa/src/esp32s3/esp32s3_dma.c
index 0f77803ad9..af988665fc 100644
--- a/arch/xtensa/src/esp32s3/esp32s3_dma.c
+++ b/arch/xtensa/src/esp32s3/esp32s3_dma.c
@@ -35,6 +35,7 @@
#include <nuttx/irq.h>
#include <nuttx/kmalloc.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <arch/irq.h>
#include "xtensa.h"
@@ -48,10 +49,6 @@
* Pre-processor Macros
****************************************************************************/
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
#define DMA_INVALID_PERIPH_ID (0x3F)
#define GDMA_CH_REG_ADDR(_r, _ch) ((_r) + (_ch) * GDMA_REG_OFFSET)
diff --git a/arch/xtensa/src/esp32s3/esp32s3_i2s.c
b/arch/xtensa/src/esp32s3/esp32s3_i2s.c
index 6434bb22cc..e7b56ec004 100644
--- a/arch/xtensa/src/esp32s3/esp32s3_i2s.c
+++ b/arch/xtensa/src/esp32s3/esp32s3_i2s.c
@@ -46,6 +46,7 @@
#include <nuttx/spinlock.h>
#include <nuttx/mqueue.h>
#include <nuttx/circbuf.h>
+#include <nuttx/nuttx.h>
#include <nuttx/audio/audio.h>
#include <nuttx/audio/i2s.h>
@@ -111,10 +112,6 @@
# define I2S1_RX_ENABLED 0
#endif
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
/* Debug ********************************************************************/
#ifdef CONFIG_DEBUG_I2S_INFO
diff --git a/arch/xtensa/src/esp32s3/esp32s3_userspace.c
b/arch/xtensa/src/esp32s3/esp32s3_userspace.c
index 29edf861f0..a3bc179f20 100644
--- a/arch/xtensa/src/esp32s3/esp32s3_userspace.c
+++ b/arch/xtensa/src/esp32s3/esp32s3_userspace.c
@@ -29,6 +29,7 @@
#include <stdint.h>
#include <stdlib.h>
+#include <nuttx/nuttx.h>
#include <nuttx/userspace.h>
#include <arch/board/board_memorymap.h>
@@ -110,14 +111,6 @@
#define PIF_PMS_MAX_REG_ENTRY 16
#define PIF_PMS_V 3
-#ifndef ALIGN_UP
-# define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
-#endif
-
-#ifndef ALIGN_DOWN
-# define ALIGN_DOWN(num, align) ((num) & ~((align) - 1))
-#endif
-
/****************************************************************************
* Private Types
****************************************************************************/
diff --git a/drivers/pci/pci_ecam.c b/drivers/pci/pci_ecam.c
index 1b76e71b94..132a3fd144 100644
--- a/drivers/pci/pci_ecam.c
+++ b/drivers/pci/pci_ecam.c
@@ -42,8 +42,6 @@
#define readl(a) (*(FAR volatile uint32_t *)(a))
#define writel(v,a) (*(FAR volatile uint32_t *)(a) = (v))
-#define IS_ALIGNED(x, a) (((x) & ((a) - 1)) == 0)
-
/****************************************************************************
* Private Function Prototypes
****************************************************************************/
diff --git a/drivers/rpmsg/rpmsg_virtio.c b/drivers/rpmsg/rpmsg_virtio.c
index 0de34a501f..be3c7feb6e 100644
--- a/drivers/rpmsg/rpmsg_virtio.c
+++ b/drivers/rpmsg/rpmsg_virtio.c
@@ -30,6 +30,7 @@
#include <nuttx/kmalloc.h>
#include <nuttx/kthread.h>
+#include <nuttx/nuttx.h>
#include <nuttx/semaphore.h>
#include <nuttx/rpmsg/rpmsg_virtio.h>
#include <rpmsg/rpmsg_internal.h>
@@ -38,10 +39,6 @@
* Pre-processor Definitions
****************************************************************************/
-#ifndef ALIGN_UP
-# define ALIGN_UP(s, a) (((s) + (a) - 1) & ~((a) - 1))
-#endif
-
#define RPMSG_VIRTIO_TIMEOUT_MS 20
#define RPMSG_VIRTIO_NOTIFYID 0
diff --git a/drivers/rptun/rptun.c b/drivers/rptun/rptun.c
index 8ae7ce02b2..6e6990cc9a 100644
--- a/drivers/rptun/rptun.c
+++ b/drivers/rptun/rptun.c
@@ -35,6 +35,7 @@
#include <nuttx/kmalloc.h>
#include <nuttx/kthread.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/power/pm.h>
#include <nuttx/rptun/rptun.h>
#include <nuttx/semaphore.h>
@@ -48,10 +49,6 @@
* Pre-processor Definitions
****************************************************************************/
-#ifndef ALIGN_UP
-# define ALIGN_UP(s, a) (((s) + (a) - 1) & ~((a) - 1))
-#endif
-
#define RPTUN_TIMEOUT_MS 20
/****************************************************************************
diff --git a/include/nuttx/mm/mempool.h b/include/nuttx/mm/mempool.h
index 898ec72ee9..640c8a6726 100644
--- a/include/nuttx/mm/mempool.h
+++ b/include/nuttx/mm/mempool.h
@@ -32,6 +32,7 @@
#include <nuttx/list.h>
#include <nuttx/queue.h>
#include <nuttx/mm/mm.h>
+#include <nuttx/nuttx.h>
#include <nuttx/fs/procfs.h>
#include <nuttx/spinlock.h>
#include <nuttx/semaphore.h>
diff --git a/include/nuttx/nuttx.h b/include/nuttx/nuttx.h
index e832bc0a2e..8efc09723b 100644
--- a/include/nuttx/nuttx.h
+++ b/include/nuttx/nuttx.h
@@ -29,7 +29,9 @@
#include <nuttx/config.h>
-#include <stddef.h>
+#ifndef __ASSEMBLY__
+# include <stddef.h>
+#endif
/****************************************************************************
* Pre-processor Definitions
@@ -37,6 +39,10 @@
/* Align definitions */
+#ifndef IS_ALIGNED
+# define IS_ALIGNED(x,a) (((x) & ((a) - 1)) == 0)
+#endif
+
#ifndef ALIGN_MASK
# define ALIGN_MASK(s) ((1 << (s)) - 1)
#endif
diff --git a/mm/mempool/mempool.c b/mm/mempool/mempool.c
index aeb719f2be..e0d566ad53 100644
--- a/mm/mempool/mempool.c
+++ b/mm/mempool/mempool.c
@@ -33,15 +33,13 @@
#include <nuttx/kmalloc.h>
#include <nuttx/mm/kasan.h>
#include <nuttx/mm/mempool.h>
+#include <nuttx/nuttx.h>
#include <nuttx/sched.h>
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
-#undef ALIGN_UP
-#define ALIGN_UP(x, a) (((x) + ((a) - 1)) & (~((a) - 1)))
-
#if CONFIG_MM_BACKTRACE >= 0
#define MEMPOOL_MAGIC_FREE 0xAAAAAAAA
#define MEMPOOL_MAGIC_ALLOC 0x55555555
diff --git a/mm/mempool/mempool_multiple.c b/mm/mempool/mempool_multiple.c
index cd5a60c48f..d165c665aa 100644
--- a/mm/mempool/mempool_multiple.c
+++ b/mm/mempool/mempool_multiple.c
@@ -24,26 +24,17 @@
* Included Files
****************************************************************************/
+#include <assert.h>
#include <strings.h>
#include <syslog.h>
#include <sys/param.h>
#include <nuttx/mutex.h>
+#include <nuttx/nuttx.h>
#include <nuttx/kmalloc.h>
#include <nuttx/mm/mempool.h>
#include <nuttx/mm/kasan.h>
-#include <assert.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#undef ALIGN_UP
-#define ALIGN_UP(x, a) ((((size_t)x) + ((a) - 1)) & (~((a) - 1)))
-#undef ALIGN_DOWN
-#define ALIGN_DOWN(x, a) ((size_t)(x) & (~((a) - 1)))
-
/****************************************************************************
* Private Types
****************************************************************************/
@@ -195,7 +186,7 @@ retry:
sq_addfirst(&chunk->entry, &mpool->chunk_queue);
}
- ret = (FAR void *)ALIGN_UP(chunk->next, align);
+ ret = (FAR void *)ALIGN_UP((uintptr_t)chunk->next, align);
if ((uintptr_t)chunk->end - (uintptr_t)ret < size)
{
goto retry;
@@ -725,7 +716,7 @@ FAR void *mempool_multiple_memalign(FAR struct
mempool_multiple_s *mpool,
FAR char *blk = mempool_allocate(pool);
if (blk != NULL)
{
- return (FAR void *)ALIGN_UP(blk, alignment);
+ return (FAR void *)ALIGN_UP((uintptr_t)blk, alignment);
}
}
while (++pool < end);
diff --git a/mm/ubsan/ubsan.c b/mm/ubsan/ubsan.c
index 27eea0df52..73592ed555 100644
--- a/mm/ubsan/ubsan.c
+++ b/mm/ubsan/ubsan.c
@@ -29,16 +29,12 @@
#include <debug.h>
#include <stdio.h>
+#include <nuttx/nuttx.h>
+
#include "ubsan.h"
#ifndef CONFIG_MM_UBSAN_DUMMY
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#define IS_ALIGNED(x, a) (((x) & ((a) - 1)) == 0)
-
/****************************************************************************
* Private Data
****************************************************************************/