|
@@ -141,6 +141,20 @@ extern unsigned long nand_env_oob_offset;
|
|
|
|
|
|
#define ENV_SIZE (CONFIG_ENV_SIZE - ENV_HEADER_SIZE)
|
|
|
|
|
|
+/*
|
|
|
+ * If the environment is in RAM, allocate extra space for it in the malloc
|
|
|
+ * region.
|
|
|
+ */
|
|
|
+#if defined(CONFIG_ENV_IS_EMBEDDED)
|
|
|
+#define TOTAL_MALLOC_LEN CONFIG_SYS_MALLOC_LEN
|
|
|
+#elif (CONFIG_ENV_ADDR + CONFIG_ENV_SIZE < CONFIG_SYS_MONITOR_BASE) || \
|
|
|
+ (CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) || \
|
|
|
+ defined(CONFIG_ENV_IS_IN_NVRAM)
|
|
|
+#define TOTAL_MALLOC_LEN (CONFIG_SYS_MALLOC_LEN + CONFIG_ENV_SIZE)
|
|
|
+#else
|
|
|
+#define TOTAL_MALLOC_LEN CONFIG_SYS_MALLOC_LEN
|
|
|
+#endif
|
|
|
+
|
|
|
typedef struct environment_s {
|
|
|
uint32_t crc; /* CRC32 over data bytes */
|
|
|
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|