mirror of https://github.com/hak5/openwrt.git
ramips: lzma-loader: make FLASH_START configurable
FLASH_START is supposed to point at the memory area where NOR flash are mapped. We currently have an incorrect FLASH_START copied from ar71xx back then and the loader doesn't work under OKLI mode. On ramips, mt7621 has it's flash mapped to 0x1fc00000 and other SoCs uses 0x1c000000. This commit makes FLASH_START a configurable value to handle both cases. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>master
parent
7a5e4f5f00
commit
cac9e3e2cb
|
@ -13,6 +13,7 @@ LOADER := loader.bin
|
|||
LOADER_NAME := $(basename $(notdir $(LOADER)))
|
||||
LOADER_DATA :=
|
||||
TARGET_DIR :=
|
||||
FLASH_START :=
|
||||
FLASH_OFFS :=
|
||||
FLASH_MAX :=
|
||||
BOARD :=
|
||||
|
@ -40,6 +41,7 @@ loader-compile: $(PKG_BUILD_DIR)/.prepared
|
|||
$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
LZMA_TEXT_START=$(LZMA_TEXT_START) \
|
||||
LOADER_DATA=$(LOADER_DATA) \
|
||||
FLASH_START=$(FLASH_START) \
|
||||
FLASH_OFFS=$(FLASH_OFFS) \
|
||||
FLASH_MAX=$(FLASH_MAX) \
|
||||
BOARD="$(BOARD)" \
|
||||
|
|
|
@ -19,6 +19,7 @@ LOADADDR :=
|
|||
LZMA_TEXT_START := 0x80a00000
|
||||
LOADER_DATA :=
|
||||
BOARD :=
|
||||
FLASH_START :=
|
||||
FLASH_OFFS :=
|
||||
FLASH_MAX :=
|
||||
PLATFORM :=
|
||||
|
@ -64,6 +65,10 @@ ifneq ($(strip $(KERNEL_CMDLINE)),)
|
|||
CFLAGS += -DCONFIG_KERNEL_CMDLINE='"$(KERNEL_CMDLINE)"'
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(FLASH_START)),)
|
||||
CFLAGS += -DCONFIG_FLASH_START=$(FLASH_START)
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(FLASH_OFFS)),)
|
||||
CFLAGS += -DCONFIG_FLASH_OFFS=$(FLASH_OFFS)
|
||||
endif
|
||||
|
|
|
@ -28,9 +28,6 @@
|
|||
#include "printf.h"
|
||||
#include "LzmaDecode.h"
|
||||
|
||||
#define AR71XX_FLASH_START 0x1f000000
|
||||
#define AR71XX_FLASH_END 0x1fe00000
|
||||
|
||||
#define KSEG0 0x80000000
|
||||
#define KSEG1 0xa0000000
|
||||
|
||||
|
@ -178,7 +175,7 @@ static void lzma_init_data(void)
|
|||
unsigned long kernel_ofs;
|
||||
unsigned long kernel_size;
|
||||
|
||||
flash_base = (unsigned char *) KSEG1ADDR(AR71XX_FLASH_START);
|
||||
flash_base = (unsigned char *) KSEG1ADDR(CONFIG_FLASH_START);
|
||||
|
||||
printf("Looking for OpenWrt image... ");
|
||||
|
||||
|
|
Loading…
Reference in New Issue