summaryrefslogtreecommitdiffstats
path: root/target/linux/malta
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/malta')
-rw-r--r--target/linux/malta/Makefile7
-rw-r--r--target/linux/malta/be/config-default8
-rw-r--r--target/linux/malta/be/target.mk3
-rw-r--r--target/linux/malta/be64/config-default14
-rw-r--r--target/linux/malta/be64/target.mk11
-rw-r--r--target/linux/malta/config-3.8 (renamed from target/linux/malta/config-3.3)44
-rw-r--r--target/linux/malta/image/Makefile22
-rw-r--r--target/linux/malta/le/config-default10
-rw-r--r--target/linux/malta/le/target.mk3
-rw-r--r--target/linux/malta/le64/config-default14
-rw-r--r--target/linux/malta/le64/target.mk11
-rw-r--r--target/linux/malta/patches-3.3/001-remove_unused_perf_function.patch14
12 files changed, 116 insertions, 45 deletions
diff --git a/target/linux/malta/Makefile b/target/linux/malta/Makefile
index f74820e68..12a3c263b 100644
--- a/target/linux/malta/Makefile
+++ b/target/linux/malta/Makefile
@@ -8,12 +8,13 @@ include $(TOPDIR)/rules.mk
BOARD:=malta
BOARDNAME:=MIPS Malta CoreLV board (qemu)
-CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves
-SUBTARGETS:=le be
+SUBTARGETS:=le be le64 be64
INITRAMFS_EXTRA_FILES:=
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
-LINUX_VERSION:=3.3.8
+LINUX_VERSION:=3.8.12
+
+DEVICE_TYPE:=developerboard
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/malta/be/config-default b/target/linux/malta/be/config-default
index ccc0ba4eb..ed67d802a 100644
--- a/target/linux/malta/be/config-default
+++ b/target/linux/malta/be/config-default
@@ -1,2 +1,10 @@
+CONFIG_32BIT=y
+# CONFIG_64BIT is not set
CONFIG_CPU_BIG_ENDIAN=y
# CONFIG_CPU_LITTLE_ENDIAN is not set
+CONFIG_CPU_MIPS32=y
+# CONFIG_CPU_MIPS32_R1 is not set
+CONFIG_CPU_MIPS32_R2=y
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
diff --git a/target/linux/malta/be/target.mk b/target/linux/malta/be/target.mk
index 681bba881..90b655c8d 100644
--- a/target/linux/malta/be/target.mk
+++ b/target/linux/malta/be/target.mk
@@ -2,7 +2,8 @@ ARCH:=mips
ARCH_PACKAGES:=malta_mips
SUBTARGET:=be
BOARDNAME:=Big Endian
-FEATURES:=ramdisk
+FEATURES:=ramdisk mips16
+CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves
define Target/Description
Build BE firmware images for MIPS Malta CoreLV board running in
diff --git a/target/linux/malta/be64/config-default b/target/linux/malta/be64/config-default
new file mode 100644
index 000000000..373b33d24
--- /dev/null
+++ b/target/linux/malta/be64/config-default
@@ -0,0 +1,14 @@
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_LITTLE_ENDIAN is not set
+CONFIG_CPU_MIPS32=y
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+CONFIG_CPU_MIPS64_R1=y
+# CONFIG_CPU_MIPS64_R2 is not set
+CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
+# CONFIG_HUGETLBFS is not set
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_N32=y
+CONFIG_MIPS32_O32=y
diff --git a/target/linux/malta/be64/target.mk b/target/linux/malta/be64/target.mk
new file mode 100644
index 000000000..30804f4e1
--- /dev/null
+++ b/target/linux/malta/be64/target.mk
@@ -0,0 +1,11 @@
+ARCH:=mips64
+ARCH_PACKAGES:=malta_mips64
+SUBTARGET:=be64
+BOARDNAME:=Big Endian (64-bits)
+CFLAGS:=-Os -pipe -mips64 -mtune=mips64 -fno-caller-saves
+FEATURES:=ramdisk
+
+define Target/Description
+ Build BE firmware images for MIPS Malta CoreLV board running in
+ big-endian and 64-bits mode
+endef
diff --git a/target/linux/malta/config-3.3 b/target/linux/malta/config-3.8
index 701d5ca6c..edb4cac24 100644
--- a/target/linux/malta/config-3.3
+++ b/target/linux/malta/config-3.8
@@ -1,10 +1,12 @@
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
# CONFIG_ARPD is not set
CONFIG_AX88796=m
# CONFIG_AX88796_93CX6 is not set
-CONFIG_BCMA_POSSIBLE=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
# CONFIG_BLK_DEV_DM is not set
@@ -29,52 +31,36 @@ CONFIG_CLKSRC_I8253=y
# CONFIG_CLS_U32_PERF is not set
CONFIG_CONSOLE_TRANSLATIONS=y
# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_GENERIC_DUMP_TLB=y
CONFIG_CPU_HAS_PREFETCH=y
# CONFIG_CPU_HAS_SMARTMIPS is not set
CONFIG_CPU_HAS_SYNC=y
-CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPU_MIPS32=y
# CONFIG_CPU_MIPS32_R1 is not set
CONFIG_CPU_MIPS32_R2=y
# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
CONFIG_CPU_MIPSR2=y
CONFIG_CPU_MIPSR2_IRQ_EI=y
CONFIG_CPU_MIPSR2_IRQ_VI=y
# CONFIG_CPU_NEVADA is not set
+CONFIG_CPU_R4K_CACHE_TLB=y
+CONFIG_CPU_R4K_FPU=y
# CONFIG_CPU_RM7000 is not set
CONFIG_CPU_RMAP=y
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
CONFIG_CPU_SUPPORTS_HIGHMEM=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CSRC_R4K=y
CONFIG_CSRC_R4K_LIB=y
CONFIG_DAVICOM_PHY=m
# CONFIG_DEBUG_FS is not set
# CONFIG_DEBUG_ZBOOT is not set
-CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_DEVKMEM=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DNOTIFY=y
CONFIG_DUMMY=m
CONFIG_DUMMY_CONSOLE=y
CONFIG_EARLY_PRINTK=y
-CONFIG_ELF_CORE=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_EQUALIZER=m
CONFIG_FIRMWARE_IN_KERNEL=y
@@ -83,9 +69,11 @@ CONFIG_GENERIC_ATOMIC64=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_IO=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
# CONFIG_HAMRADIO is not set
CONFIG_HARDWARE_WATCHPOINTS=y
CONFIG_HAS_DMA=y
@@ -94,6 +82,7 @@ CONFIG_HAS_IOPORT=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
@@ -111,6 +100,7 @@ CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_HAVE_PERF_EVENTS=y
@@ -119,7 +109,6 @@ CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_HW_CONSOLE=y
CONFIG_HW_HAS_PCI=y
-CONFIG_HW_PERF_EVENTS=y
CONFIG_HW_RANDOM=m
CONFIG_I8253=y
CONFIG_I8253_LOCK=y
@@ -176,14 +165,16 @@ CONFIG_MIPS_MT=y
CONFIG_MIPS_MT_FPAFF=y
CONFIG_MIPS_MT_SMP=y
# CONFIG_MIPS_MT_SMTC is not set
+CONFIG_MIPS_PERF_SHARED_TC_COUNTERS=y
# CONFIG_MIPS_VPE_LOADER is not set
+CONFIG_MODULES_USE_ELF_REL=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MTD_CFI_STAA=y
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_DEBUG is not set
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
CONFIG_MTD_UBI_GLUEBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MUTEX_SPIN_ON_OWNER=y
@@ -259,6 +250,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
CONFIG_SYS_HAS_CPU_MIPS32_R2=y
CONFIG_SYS_HAS_CPU_MIPS64_R1=y
+CONFIG_SYS_HAS_CPU_MIPS64_R2=y
CONFIG_SYS_HAS_CPU_NEVADA=y
CONFIG_SYS_HAS_CPU_RM7000=y
CONFIG_SYS_HAS_EARLY_PRINTK=y
@@ -274,10 +266,11 @@ CONFIG_SYS_SUPPORTS_SMARTMIPS=y
CONFIG_SYS_SUPPORTS_SMP=y
CONFIG_SYS_SUPPORTS_ZBOOT=y
# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_TREE_RCU=y
CONFIG_TUN=m
# CONFIG_UBIFS_FS is not set
+CONFIG_UIDGID_CONVERTED=y
CONFIG_USB_ARCH_HAS_XHCI=y
CONFIG_USB_SUPPORT=y
# CONFIG_USER_NS is not set
@@ -293,4 +286,3 @@ CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_VXFS_FS=y
# CONFIG_WATCHDOG is not set
CONFIG_XPS=y
-CONFIG_XZ_DEC=y
diff --git a/target/linux/malta/image/Makefile b/target/linux/malta/image/Makefile
index b09bfa349..c0e520fbe 100644
--- a/target/linux/malta/image/Makefile
+++ b/target/linux/malta/image/Makefile
@@ -7,8 +7,30 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
+define get_kernel_entry
+0x$(shell $(TARGET_CROSS)nm $(1) 2>/dev/null | grep " kernel_entry" | cut -f1 -d ' ')
+endef
+
+define CompressLzma
+ $(STAGING_DIR_HOST)/bin/lzma e $(1) -lc1 -lp2 -pb2 $(2)
+endef
+
+define CompressGzip
+ gzip -9 -c $(1) > $(2)
+endef
+
+define MkuImage
+ mkimage -A mips -O linux -T kernel -a 0x80100000 -C $(1) $(2) \
+ -e $(call get_kernel_entry,$(LINUX_DIR)/vmlinux) -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
+ -d $(3) $(4)
+endef
+
define Image/BuildKernel
cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.elf
+ $(call CompressLzma,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.lzma)
+ $(call MkuImage,lzma,,$(KDIR)/vmlinux.bin.lzma,$(BIN_DIR)/$(IMG_PREFIX)-uImage-lzma)
+ $(call CompressGzip,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.gz)
+ $(call MkuImage,gzip,,$(KDIR)/vmlinux.bin.gz,$(BIN_DIR)/$(IMG_PREFIX)-uImage-gzip)
endef
define Image/Build/squashfs
diff --git a/target/linux/malta/le/config-default b/target/linux/malta/le/config-default
new file mode 100644
index 000000000..368eca098
--- /dev/null
+++ b/target/linux/malta/le/config-default
@@ -0,0 +1,10 @@
+CONFIG_32BIT=y
+# CONFIG_64BIT is not set
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_CPU_MIPS32=y
+# CONFIG_CPU_MIPS32_R1 is not set
+CONFIG_CPU_MIPS32_R2=y
+# CONFIG_CPU_MIPS64_R1 is not set
+# CONFIG_CPU_MIPS64_R2 is not set
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
diff --git a/target/linux/malta/le/target.mk b/target/linux/malta/le/target.mk
index 5b609980b..3b6e8953d 100644
--- a/target/linux/malta/le/target.mk
+++ b/target/linux/malta/le/target.mk
@@ -2,7 +2,8 @@ ARCH:=mipsel
ARCH_PACKAGES:=malta_mipsel
SUBTARGET:=le
BOARDNAME:=Little Endian
-FEATURES:=ramdisk
+FEATURES:=ramdisk mips16
+CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves
define Target/Description
Build LE firmware images for MIPS Malta CoreLV board running in
diff --git a/target/linux/malta/le64/config-default b/target/linux/malta/le64/config-default
new file mode 100644
index 000000000..2526b07ca
--- /dev/null
+++ b/target/linux/malta/le64/config-default
@@ -0,0 +1,14 @@
+# CONFIG_32BIT is not set
+CONFIG_64BIT=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+# CONFIG_CPU_MIPS32_R1 is not set
+# CONFIG_CPU_MIPS32_R2 is not set
+CONFIG_CPU_MIPS64=y
+CONFIG_CPU_MIPS64_R1=y
+# CONFIG_CPU_MIPS64_R2 is not set
+CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
+# CONFIG_HUGETLBFS is not set
+CONFIG_MIPS32_COMPAT=y
+CONFIG_MIPS32_N32=y
+CONFIG_MIPS32_O32=y
diff --git a/target/linux/malta/le64/target.mk b/target/linux/malta/le64/target.mk
new file mode 100644
index 000000000..bd5c63619
--- /dev/null
+++ b/target/linux/malta/le64/target.mk
@@ -0,0 +1,11 @@
+ARCH:=mips64el
+ARCH_PACKAGES:=malta_mipsel64
+SUBTARGET:=le64
+BOARDNAME:=Little Endian (64-bits)
+CFLAGS:=-Os -pipe -mips64 -mtune=mips64 -fno-caller-saves
+FEATURES:=ramdisk
+
+define Target/Description
+ Build LE firmware images for MIPS Malta CoreLV board running in
+ little-endian and 64-bits mode.
+endef
diff --git a/target/linux/malta/patches-3.3/001-remove_unused_perf_function.patch b/target/linux/malta/patches-3.3/001-remove_unused_perf_function.patch
deleted file mode 100644
index dd538343a..000000000
--- a/target/linux/malta/patches-3.3/001-remove_unused_perf_function.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/arch/mips/kernel/perf_event_mipsxx.c
-+++ b/arch/mips/kernel/perf_event_mipsxx.c
-@@ -162,11 +162,6 @@ static unsigned int counters_total_to_pe
- return counters >> vpe_shift();
- }
-
--static unsigned int counters_per_cpu_to_total(unsigned int counters)
--{
-- return counters << vpe_shift();
--}
--
- #else /* !CONFIG_MIPS_MT_SMP */
- #define vpe_id() 0
-