Merge Lean's source

This commit is contained in:
CN_SZTL 2019-11-23 01:12:30 +08:00
commit 852827fe36
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
15 changed files with 310 additions and 283 deletions

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mwlwifi
PKG_RELEASE=1
PKG_RELEASE=2
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=

View File

@ -0,0 +1,19 @@
mac80211 from kernel 5.3 and later checks the new policy attribute.
--- a/vendor_cmd.c
+++ b/vendor_cmd.c
@@ -92,12 +92,14 @@ static const struct wiphy_vendor_command
.subcmd = MWL_VENDOR_CMD_SET_BF_TYPE},
.flags = WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = mwl_vendor_cmd_set_bf_type,
+ .policy = mwl_vendor_attr_policy,
},
{
.info = { .vendor_id = MRVL_OUI,
.subcmd = MWL_VENDOR_CMD_GET_BF_TYPE},
.flags = WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = mwl_vendor_cmd_get_bf_type,
+ .policy = mwl_vendor_attr_policy,
}
};

View File

@ -1,137 +0,0 @@
From: Alexander Duyck <alexander.h.duyck@intel.com>
Date: Tue, 10 Jan 2017 16:58:06 -0800
Subject: [PATCH] mm: rename __alloc_page_frag to page_frag_alloc and
__free_page_frag to page_frag_free
Patch series "Page fragment updates", v4.
This patch series takes care of a few cleanups for the page fragments
API.
First we do some renames so that things are much more consistent. First
we move the page_frag_ portion of the name to the front of the functions
names. Secondly we split out the cache specific functions from the
other page fragment functions by adding the word "cache" to the name.
Finally I added a bit of documentation that will hopefully help to
explain some of this. I plan to revisit this later as we get things
more ironed out in the near future with the changes planned for the DMA
setup to support eXpress Data Path.
This patch (of 3):
This patch renames the page frag functions to be more consistent with
other APIs. Specifically we place the name page_frag first in the name
and then have either an alloc or free call name that we append as the
suffix. This makes it a bit clearer in terms of naming.
In addition we drop the leading double underscores since we are
technically no longer a backing interface and instead the front end that
is called from the networking APIs.
Link: http://lkml.kernel.org/r/20170104023854.13451.67390.stgit@localhost.localdomain
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -508,9 +508,9 @@ extern void free_hot_cold_page_list(stru
struct page_frag_cache;
extern void __page_frag_drain(struct page *page, unsigned int order,
unsigned int count);
-extern void *__alloc_page_frag(struct page_frag_cache *nc,
- unsigned int fragsz, gfp_t gfp_mask);
-extern void __free_page_frag(void *addr);
+extern void *page_frag_alloc(struct page_frag_cache *nc,
+ unsigned int fragsz, gfp_t gfp_mask);
+extern void page_frag_free(void *addr);
#define __free_page(page) __free_pages((page), 0)
#define free_page(addr) free_pages((addr), 0)
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -2476,7 +2476,7 @@ static inline struct sk_buff *netdev_all
static inline void skb_free_frag(void *addr)
{
- __free_page_frag(addr);
+ page_frag_free(addr);
}
void *napi_alloc_frag(unsigned int fragsz);
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3949,8 +3949,8 @@ void __page_frag_drain(struct page *page
}
EXPORT_SYMBOL(__page_frag_drain);
-void *__alloc_page_frag(struct page_frag_cache *nc,
- unsigned int fragsz, gfp_t gfp_mask)
+void *page_frag_alloc(struct page_frag_cache *nc,
+ unsigned int fragsz, gfp_t gfp_mask)
{
unsigned int size = PAGE_SIZE;
struct page *page;
@@ -4001,19 +4001,19 @@ refill:
return nc->va + offset;
}
-EXPORT_SYMBOL(__alloc_page_frag);
+EXPORT_SYMBOL(page_frag_alloc);
/*
* Frees a page fragment allocated out of either a compound or order 0 page.
*/
-void __free_page_frag(void *addr)
+void page_frag_free(void *addr)
{
struct page *page = virt_to_head_page(addr);
if (unlikely(put_page_testzero(page)))
__free_pages_ok(page, compound_order(page));
}
-EXPORT_SYMBOL(__free_page_frag);
+EXPORT_SYMBOL(page_frag_free);
static void *make_alloc_exact(unsigned long addr, unsigned int order,
size_t size)
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -369,7 +369,7 @@ static void *__netdev_alloc_frag(unsigne
local_irq_save(flags);
nc = this_cpu_ptr(&netdev_alloc_cache);
- data = __alloc_page_frag(nc, fragsz, gfp_mask);
+ data = page_frag_alloc(nc, fragsz, gfp_mask);
local_irq_restore(flags);
return data;
}
@@ -393,7 +393,7 @@ static void *__napi_alloc_frag(unsigned
{
struct napi_alloc_cache *nc = this_cpu_ptr(&napi_alloc_cache);
- return __alloc_page_frag(&nc->page, fragsz, gfp_mask);
+ return page_frag_alloc(&nc->page, fragsz, gfp_mask);
}
void *napi_alloc_frag(unsigned int fragsz)
@@ -445,7 +445,7 @@ struct sk_buff *__netdev_alloc_skb(struc
local_irq_save(flags);
nc = this_cpu_ptr(&netdev_alloc_cache);
- data = __alloc_page_frag(nc, len, gfp_mask);
+ data = page_frag_alloc(nc, len, gfp_mask);
pfmemalloc = nc->pfmemalloc;
local_irq_restore(flags);
@@ -509,7 +509,7 @@ struct sk_buff *__napi_alloc_skb(struct
if (sk_memalloc_socks())
gfp_mask |= __GFP_MEMALLOC;
- data = __alloc_page_frag(&nc->page, len, gfp_mask);
+ data = page_frag_alloc(&nc->page, len, gfp_mask);
if (unlikely(!data))
return NULL;

View File

@ -1,79 +0,0 @@
From: Alexander Duyck <alexander.h.duyck@intel.com>
Date: Tue, 10 Jan 2017 16:58:09 -0800
Subject: [PATCH] mm: rename __page_frag functions to __page_frag_cache, drop
order from drain
This patch does two things.
First it goes through and renames the __page_frag prefixed functions to
__page_frag_cache so that we can be clear that we are draining or
refilling the cache, not the frags themselves.
Second we drop the order parameter from __page_frag_cache_drain since we
don't actually need to pass it since all fragments are either order 0 or
must be a compound page.
Link: http://lkml.kernel.org/r/20170104023954.13451.5678.stgit@localhost.localdomain
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -506,8 +506,7 @@ extern void free_hot_cold_page(struct pa
extern void free_hot_cold_page_list(struct list_head *list, bool cold);
struct page_frag_cache;
-extern void __page_frag_drain(struct page *page, unsigned int order,
- unsigned int count);
+extern void __page_frag_cache_drain(struct page *page, unsigned int count);
extern void *page_frag_alloc(struct page_frag_cache *nc,
unsigned int fragsz, gfp_t gfp_mask);
extern void page_frag_free(void *addr);
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3914,8 +3914,8 @@ EXPORT_SYMBOL(free_pages);
* drivers to provide a backing region of memory for use as either an
* sk_buff->head, or to be used in the "frags" portion of skb_shared_info.
*/
-static struct page *__page_frag_refill(struct page_frag_cache *nc,
- gfp_t gfp_mask)
+static struct page *__page_frag_cache_refill(struct page_frag_cache *nc,
+ gfp_t gfp_mask)
{
struct page *page = NULL;
gfp_t gfp = gfp_mask;
@@ -3935,19 +3935,20 @@ static struct page *__page_frag_refill(s
return page;
}
-void __page_frag_drain(struct page *page, unsigned int order,
- unsigned int count)
+void __page_frag_cache_drain(struct page *page, unsigned int count)
{
VM_BUG_ON_PAGE(page_ref_count(page) == 0, page);
if (page_ref_sub_and_test(page, count)) {
+ unsigned int order = compound_order(page);
+
if (order == 0)
free_hot_cold_page(page, false);
else
__free_pages_ok(page, order);
}
}
-EXPORT_SYMBOL(__page_frag_drain);
+EXPORT_SYMBOL(__page_frag_cache_drain);
void *page_frag_alloc(struct page_frag_cache *nc,
unsigned int fragsz, gfp_t gfp_mask)
@@ -3958,7 +3959,7 @@ void *page_frag_alloc(struct page_frag_c
if (unlikely(!nc->va)) {
refill:
- page = __page_frag_refill(nc, gfp_mask);
+ page = __page_frag_cache_refill(nc, gfp_mask);
if (!page)
return NULL;

View File

@ -37,7 +37,7 @@ Reviewed-by: John Gilmore <gnu@toad.com>
-#define IN_EXPERIMENTAL(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000)
-#define IN_BADCLASS(a) IN_EXPERIMENTAL((a))
+#define IN_BADCLASS(a) ((((long int) (a) ) == 0xffffffff)
+#define IN_BADCLASS(a) (((long int) (a) ) == (long int)0xffffffff)
+#define IN_EXPERIMENTAL(a) IN_BADCLASS((a))
+
+#define IN_CLASSE(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000)

View File

@ -1,24 +0,0 @@
From fd66884da2f96d2a7ea73f58b1b86251b959a913 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Fri, 7 Jul 2017 16:56:19 +0200
Subject: kernel: strip unnecessary symbol table information from kernel modules
reduces default squashfs size on ar71xx by about 4k
lede-commit: 058d331a39077f159ca8922f1f422a1346d6aa67
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/Makefile
+++ b/Makefile
@@ -398,7 +398,7 @@ KBUILD_AFLAGS_KERNEL :=
KBUILD_CFLAGS_KERNEL :=
KBUILD_AFLAGS_MODULE := -DMODULE
KBUILD_CFLAGS_MODULE := -DMODULE
-KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
+KBUILD_LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s)
GCC_PLUGINS_CFLAGS :=
# Read KERNELRELEASE from include/config/kernel.release (if it exists)

View File

@ -1,4 +1,3 @@
From c6905cfdeb31a5c049db3da434b10fa0d3e83569 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Fri, 7 Jul 2017 17:18:54 +0200
Subject: bridge: only accept EAP locally
@ -7,9 +6,9 @@ When bridging, do not forward EAP frames to other ports, only deliver
them locally, regardless of the state.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
[add disable_eap_hack sysfs attribute]
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
---
net/bridge/br_input.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
@ -19,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ BR_INPUT_SKB_CB(skb)->brdev = br->dev;
+
+ if (skb->protocol == htons(ETH_P_PAE))
+ if (skb->protocol == htons(ETH_P_PAE) && !br->disable_eap_hack)
+ return br_pass_frame_up(skb);
+
if (p->state == BR_STATE_LEARNING)
@ -30,3 +29,55 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (IS_ENABLED(CONFIG_INET) && skb->protocol == htons(ETH_P_ARP))
br_do_proxy_arp(skb, br, vid, p);
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -295,6 +295,8 @@ struct net_bridge
u16 group_fwd_mask;
u16 group_fwd_mask_required;
+ bool disable_eap_hack;
+
/* STP */
bridge_id designated_root;
bridge_id bridge_id;
--- a/net/bridge/br_sysfs_br.c
+++ b/net/bridge/br_sysfs_br.c
@@ -169,6 +169,30 @@ static ssize_t group_fwd_mask_store(stru
}
static DEVICE_ATTR_RW(group_fwd_mask);
+static ssize_t disable_eap_hack_show(struct device *d,
+ struct device_attribute *attr,
+ char *buf)
+{
+ struct net_bridge *br = to_bridge(d);
+ return sprintf(buf, "%u\n", br->disable_eap_hack);
+}
+
+static int set_disable_eap_hack(struct net_bridge *br, unsigned long val)
+{
+ br->disable_eap_hack = !!val;
+
+ return 0;
+}
+
+static ssize_t disable_eap_hack_store(struct device *d,
+ struct device_attribute *attr,
+ const char *buf,
+ size_t len)
+{
+ return store_bridge_parm(d, buf, len, set_disable_eap_hack);
+}
+static DEVICE_ATTR_RW(disable_eap_hack);
+
static ssize_t priority_show(struct device *d, struct device_attribute *attr,
char *buf)
{
@@ -780,6 +804,7 @@ static struct attribute *bridge_attrs[]
&dev_attr_ageing_time.attr,
&dev_attr_stp_state.attr,
&dev_attr_group_fwd_mask.attr,
+ &dev_attr_disable_eap_hack.attr,
&dev_attr_priority.attr,
&dev_attr_bridge_id.attr,
&dev_attr_root_id.attr,

View File

@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -5924,7 +5924,7 @@ static void __ref alloc_node_mem_map(str
@@ -5923,7 +5923,7 @@ static void __ref alloc_node_mem_map(str
mem_map = NODE_DATA(0)->node_mem_map;
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)

View File

@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* return 1 to signal the okfn() was called so it's ok to use the skb */
return 1;
@@ -321,6 +324,15 @@ rx_handler_result_t br_handle_frame(stru
@@ -321,6 +324,17 @@ rx_handler_result_t br_handle_frame(stru
forward:
switch (p->state) {
@ -35,9 +35,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ if (ether_addr_equal(p->br->dev->dev_addr, dest))
+ skb->pkt_type = PACKET_HOST;
+
+ NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING,
+ if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING,
+ dev_net(skb->dev), NULL, skb, skb->dev, NULL,
+ br_handle_local_finish);
+ br_handle_local_finish) == 1) {
+ return RX_HANDLER_PASS;
+ }
+ break;
+
case BR_STATE_FORWARDING:

View File

@ -0,0 +1,134 @@
From 87ec87c2ad615c1a177cd08ef5fa29fc739f6e50 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Sun, 23 Dec 2018 18:06:53 +0100
Subject: [PATCH] MIPS: Add CPU option reporting to /proc/cpuinfo
Many MIPS CPUs have optional CPU features which are not activates for
all CPU cores. Print the CPU options which are implemented in the core
in /proc/cpuinfo. This makes it possible to see what features are
supported and which are not supported. This should cover all standard
MIPS extensions, before it only printed information about the main MIPS
ASEs.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
arch/mips/kernel/proc.c | 116 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 116 insertions(+)
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -128,6 +128,114 @@ static int show_cpuinfo(struct seq_file
seq_printf(m, "micromips kernel\t: %s\n",
(read_c0_config3() & MIPS_CONF3_ISA_OE) ? "yes" : "no");
}
+
+ seq_printf(m, "Options implemented\t:");
+ if (cpu_has_tlb)
+ seq_printf(m, "%s", " tlb");
+ if (cpu_has_ftlb)
+ seq_printf(m, "%s", " ftlb");
+ if (cpu_has_tlbinv)
+ seq_printf(m, "%s", " tlbinv");
+ if (cpu_has_segments)
+ seq_printf(m, "%s", " segments");
+ if (cpu_has_rixiex)
+ seq_printf(m, "%s", " rixiex");
+ if (cpu_has_ldpte)
+ seq_printf(m, "%s", " ldpte");
+ if (cpu_has_maar)
+ seq_printf(m, "%s", " maar");
+ if (cpu_has_rw_llb)
+ seq_printf(m, "%s", " rw_llb");
+ if (cpu_has_4kex)
+ seq_printf(m, "%s", " 4kex");
+ if (cpu_has_3k_cache)
+ seq_printf(m, "%s", " 3k_cache");
+ if (cpu_has_4k_cache)
+ seq_printf(m, "%s", " 4k_cache");
+ if (cpu_has_6k_cache)
+ seq_printf(m, "%s", " 6k_cache");
+ if (cpu_has_8k_cache)
+ seq_printf(m, "%s", " 8k_cache");
+ if (cpu_has_tx39_cache)
+ seq_printf(m, "%s", " tx39_cache");
+ if (cpu_has_octeon_cache)
+ seq_printf(m, "%s", " octeon_cache");
+ if (cpu_has_fpu)
+ seq_printf(m, "%s", " fpu");
+ if (cpu_has_32fpr)
+ seq_printf(m, "%s", " 32fpr");
+ if (cpu_has_cache_cdex_p)
+ seq_printf(m, "%s", " cache_cdex_p");
+ if (cpu_has_cache_cdex_s)
+ seq_printf(m, "%s", " cache_cdex_s");
+ if (cpu_has_prefetch)
+ seq_printf(m, "%s", " prefetch");
+ if (cpu_has_mcheck)
+ seq_printf(m, "%s", " mcheck");
+ if (cpu_has_ejtag)
+ seq_printf(m, "%s", " ejtag");
+ if (cpu_has_llsc)
+ seq_printf(m, "%s", " llsc");
+ if (cpu_has_bp_ghist)
+ seq_printf(m, "%s", " bp_ghist");
+ if (cpu_has_guestctl0ext)
+ seq_printf(m, "%s", " guestctl0ext");
+ if (cpu_has_guestctl1)
+ seq_printf(m, "%s", " guestctl1");
+ if (cpu_has_guestctl2)
+ seq_printf(m, "%s", " guestctl2");
+ if (cpu_has_guestid)
+ seq_printf(m, "%s", " guestid");
+ if (cpu_has_drg)
+ seq_printf(m, "%s", " drg");
+ if (cpu_has_rixi)
+ seq_printf(m, "%s", " rixi");
+ if (cpu_has_lpa)
+ seq_printf(m, "%s", " lpa");
+ if (cpu_has_mvh)
+ seq_printf(m, "%s", " mvh");
+ if (cpu_has_vtag_icache)
+ seq_printf(m, "%s", " vtag_icache");
+ if (cpu_has_dc_aliases)
+ seq_printf(m, "%s", " dc_aliases");
+ if (cpu_has_ic_fills_f_dc)
+ seq_printf(m, "%s", " ic_fills_f_dc");
+ if (cpu_has_pindexed_dcache)
+ seq_printf(m, "%s", " pindexed_dcache");
+ if (cpu_has_userlocal)
+ seq_printf(m, "%s", " userlocal");
+ if (cpu_has_nofpuex)
+ seq_printf(m, "%s", " nofpuex");
+ if (cpu_has_vint)
+ seq_printf(m, "%s", " vint");
+ if (cpu_has_veic)
+ seq_printf(m, "%s", " veic");
+ if (cpu_has_inclusive_pcaches)
+ seq_printf(m, "%s", " inclusive_pcaches");
+ if (cpu_has_perf_cntr_intr_bit)
+ seq_printf(m, "%s", " perf_cntr_intr_bit");
+ if (cpu_has_fre)
+ seq_printf(m, "%s", " fre");
+ if (cpu_has_cdmm)
+ seq_printf(m, "%s", " cdmm");
+ if (cpu_has_small_pages)
+ seq_printf(m, "%s", " small_pages");
+ if (cpu_has_nan_legacy)
+ seq_printf(m, "%s", " nan_legacy");
+ if (cpu_has_nan_2008)
+ seq_printf(m, "%s", " nan_2008");
+ if (cpu_has_ebase_wg)
+ seq_printf(m, "%s", " ebase_wg");
+ if (cpu_has_badinstr)
+ seq_printf(m, "%s", " badinstr");
+ if (cpu_has_badinstrp)
+ seq_printf(m, "%s", " badinstrp");
+ if (cpu_has_contextconfig)
+ seq_printf(m, "%s", " contextconfig");
+ if (cpu_has_perf)
+ seq_printf(m, "%s", " perf");
+ seq_printf(m, "\n");
+
seq_printf(m, "shadow register sets\t: %d\n",
cpu_data[n].srsets);
seq_printf(m, "kscratch registers\t: %d\n",

View File

@ -12,7 +12,7 @@ FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part
SUBTARGETS:=cortexa9 cortexa53 cortexa72
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
KERNEL_PATCHVER:=4.14
KERNEL_PATCHVER:=4.19
include $(INCLUDE_DIR)/target.mk

View File

@ -13,12 +13,10 @@ include $(INCLUDE_DIR)/image.mk
KERNEL_LOADADDR := 0x00008000
SIGNATURE:=$(shell printf "%.8s" $(SOURCE_DATE_EPOCH))
define Build/boot-scr
rm -f $@-boot.scr
sed \
-e 's#@ROOT@#$(SIGNATURE)#g' \
-e 's#@ROOT@#$(IMG_PART_SIGNATURE)#g' \
-e 's#@DTB@#$(firstword $(DEVICE_DTS))#g' \
$(BOOT_SCRIPT).bootscript > $@-new.bootscript
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d $@-new.bootscript $@-boot.scr
@ -42,7 +40,7 @@ define Build/boot-img-ext4
endef
define Build/sdcard-img
SIGNATURE="$(SIGNATURE)" \
SIGNATURE="$(IMG_PART_SIGNATURE)" \
./gen_mvebu_sdcard_img.sh $@ \
$(if $(UBOOT),$(STAGING_DIR_IMAGE)/$(UBOOT)) \
c $(CONFIG_TARGET_KERNEL_PARTSIZE) $@.boot \
@ -50,7 +48,7 @@ define Build/sdcard-img
endef
define Build/sdcard-img-ext4
SIGNATURE="$(SIGNATURE)" \
SIGNATURE="$(IMG_PART_SIGNATURE)" \
./gen_mvebu_sdcard_img.sh $@ \
$(if $(UBOOT),$(STAGING_DIR_IMAGE)/$(UBOOT)) \
83 $(CONFIG_TARGET_KERNEL_PARTSIZE) $@.bootimg \

View File

@ -2,42 +2,64 @@ ifeq ($(SUBTARGET),cortexa53)
define Device/globalscale_espressobin
$(call Device/Default-arm64)
DEVICE_TITLE := ESPRESSObin (Marvell Armada 3700 Community Board)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := ESPRESSObin
DEVICE_VARIANT := Non-eMMC
DEVICE_ALT0_VENDOR := Marvell
DEVICE_ALT0_MODEL := Armada 3700 Community Board
DEVICE_ALT0_VARIANT := Non-eMMC
DEVICE_DTS := armada-3720-espressobin
endef
TARGET_DEVICES += globalscale_espressobin
define Device/globalscale_espressobin-emmc
$(call Device/Default-arm64)
DEVICE_TITLE := ESPRESSObin eMMC (Marvell Armada 3700 Community Board)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := ESPRESSObin
DEVICE_VARIANT := eMMC
DEVICE_ALT0_VENDOR := Marvell
DEVICE_ALT0_MODEL := Armada 3700 Community Board
DEVICE_ALT0_VARIANT := eMMC
DEVICE_DTS := armada-3720-espressobin-emmc
endef
TARGET_DEVICES += globalscale_espressobin-emmc
define Device/globalscale_espressobin-v7
$(call Device/Default-arm64)
DEVICE_TITLE := ESPRESSObin V7 (Marvell Armada 3700 Community Board)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := ESPRESSObin
DEVICE_VARIANT := V7 Non-eMMC
DEVICE_ALT0_VENDOR := Marvell
DEVICE_ALT0_MODEL := Armada 3700 Community Board
DEVICE_ALT0_VARIANT := V7 Non-eMMC
DEVICE_DTS := armada-3720-espressobin-v7
endef
TARGET_DEVICES += globalscale_espressobin-v7
define Device/globalscale_espressobin-v7-emmc
$(call Device/Default-arm64)
DEVICE_TITLE := ESPRESSObin V7 eMMC (Marvell Armada 3700 Community Board)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := ESPRESSObin
DEVICE_VARIANT := V7 eMMC
DEVICE_ALT0_VENDOR := Marvell
DEVICE_ALT0_MODEL := Armada 3700 Community Board
DEVICE_ALT0_VARIANT := V7 eMMC
DEVICE_DTS := armada-3720-espressobin-v7-emmc
endef
TARGET_DEVICES += globalscale_espressobin-v7-emmc
define Device/marvell_armada-3720-db
$(call Device/Default-arm64)
DEVICE_TITLE := Marvell Armada 3720 Development Board DB-88F3720-DDR3
DEVICE_VENDOR := Marvell
DEVICE_MODEL := Armada 3720 Development Board (DB-88F3720-DDR3)
DEVICE_DTS := armada-3720-db
endef
TARGET_DEVICES += marvell_armada-3720-db
define Device/methode_udpu
$(call Device/Default-arm64)
DEVICE_TITLE := Methode micro-DPU (uDPU)
DEVICE_VENDOR := Methode
DEVICE_MODEL := micro-DPU (uDPU)
DEVICE_DTS := armada-3720-uDPU
KERNEL_LOADADDR := 0x00080000
KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb

View File

@ -2,7 +2,10 @@ ifeq ($(SUBTARGET),cortexa72)
define Device/marvell_macchiatobin
$(call Device/Default-arm64)
DEVICE_TITLE := MACCHIATObin (SolidRun Armada 8040 Community Board)
DEVICE_VENDOR := SolidRun
DEVICE_MODEL := MACCHIATObin
DEVICE_ALT0_VENDOR := SolidRun
DEVICE_ALT0_MODEL := Armada 8040 Community Board
DEVICE_PACKAGES += kmod-i2c-core kmod-i2c-mux kmod-i2c-mux-pca954x
DEVICE_DTS := armada-8040-mcbin
SUPPORTED_DEVICES := marvell,armada8040-mcbin
@ -11,7 +14,8 @@ TARGET_DEVICES += marvell_macchiatobin
define Device/marvell_armada8040-db
$(call Device/Default-arm64)
DEVICE_TITLE := Marvell Armada 8040 DB board
DEVICE_VENDOR := Marvell
DEVICE_MODEL := Armada 8040 Development Board
DEVICE_DTS := armada-8040-db
IMAGE/sdcard.img.gz := boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
endef
@ -19,7 +23,8 @@ TARGET_DEVICES += marvell_armada8040-db
define Device/marvell_armada7040-db
$(call Device/Default-arm64)
DEVICE_TITLE := Marvell Armada 7040 DB board
DEVICE_VENDOR := Marvell
DEVICE_MODEL := Armada 7040 Development Board
DEVICE_DTS := armada-7040-db
IMAGE/sdcard.img.gz := boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
endef

View File

@ -10,14 +10,17 @@ ifeq ($(SUBTARGET),cortexa9)
define Device/linksys
$(Device/NAND-128K)
DEVICE_TITLE := Linksys $(1)
DEVICE_VENDOR := Linksys
DEVICE_PACKAGES := kmod-mwlwifi swconfig wpad-basic
IMAGES += factory.img
KERNEL_SIZE := 6144k
endef
define Device/linksys_wrt1200ac
$(call Device/linksys,WRT1200AC (Caiman))
$(call Device/linksys)
DEVICE_MODEL := WRT1200AC
DEVICE_ALT0_VENDOR := Linksys
DEVICE_ALT0_MODEL := Caiman
DEVICE_DTS := armada-385-linksys-caiman
DEVICE_PACKAGES += mwlwifi-firmware-88w8864
SUPPORTED_DEVICES := armada-385-linksys-caiman linksys,caiman
@ -25,7 +28,11 @@ endef
TARGET_DEVICES += linksys_wrt1200ac
define Device/linksys_wrt1900acv2
$(call Device/linksys,WRT1900ACv2 (Cobra))
$(call Device/linksys)
DEVICE_MODEL := WRT1900AC
DEVICE_VARIANT := v2
DEVICE_ALT0_VENDOR := Linksys
DEVICE_ALT0_MODEL := Cobra
DEVICE_DTS := armada-385-linksys-cobra
DEVICE_PACKAGES += mwlwifi-firmware-88w8864
SUPPORTED_DEVICES := armada-385-linksys-cobra linksys,cobra
@ -33,7 +40,10 @@ endef
TARGET_DEVICES += linksys_wrt1900acv2
define Device/linksys_wrt3200acm
$(call Device/linksys,WRT3200ACM (Rango))
$(call Device/linksys)
DEVICE_MODEL := WRT3200ACM
DEVICE_ALT0_VENDOR := Linksys
DEVICE_ALT0_MODEL := Rango
DEVICE_DTS := armada-385-linksys-rango
DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
SUPPORTED_DEVICES := armada-385-linksys-rango linksys,rango
@ -41,7 +51,14 @@ endef
TARGET_DEVICES += linksys_wrt3200acm
define Device/linksys_wrt1900acs
$(call Device/linksys,WRT1900ACS (Shelby))
$(call Device/linksys)
DEVICE_MODEL := WRT1900ACS
DEVICE_VARIANT := v1
DEVICE_ALT0_VENDOR := Linksys
DEVICE_ALT0_MODEL := WRT1900ACS
DEVICE_ALT0_VARIANT := v2
DEVICE_ALT1_VENDOR := Linksys
DEVICE_ALT1_MODEL := Shelby
DEVICE_DTS := armada-385-linksys-shelby
DEVICE_PACKAGES += mwlwifi-firmware-88w8864
SUPPORTED_DEVICES := armada-385-linksys-shelby linksys,shelby
@ -49,7 +66,10 @@ endef
TARGET_DEVICES += linksys_wrt1900acs
define Device/linksys_wrt32x
$(call Device/linksys,WRT32X (Venom))
$(call Device/linksys)
DEVICE_MODEL := WRT32X
DEVICE_ALT0_VENDOR := Linksys
DEVICE_ALT0_MODEL := Venom
DEVICE_DTS := armada-385-linksys-venom
DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
KERNEL_SIZE := 3072k
@ -59,7 +79,11 @@ endef
TARGET_DEVICES += linksys_wrt32x
define Device/linksys_wrt1900ac
$(call Device/linksys,WRT1900AC (Mamba))
$(call Device/linksys)
DEVICE_MODEL := WRT1900AC
DEVICE_VARIANT := v1
DEVICE_ALT0_VENDOR := Linksys
DEVICE_ALT0_MODEL := Mamba
DEVICE_DTS := armada-xp-linksys-mamba
DEVICE_PACKAGES += mwlwifi-firmware-88w8864
KERNEL_SIZE := 3072k
@ -68,29 +92,33 @@ endef
TARGET_DEVICES += linksys_wrt1900ac
define Device/plathome_openblocks-ax3-4
DEVICE_VENDOR := Plat'Home
DEVICE_MODEL := OpenBlocks AX3
DEVICE_VARIANT := 4 ports
DEVICE_DTS := armada-xp-openblocks-ax3-4
SUPPORTED_DEVICES += openblocks-ax3-4
BLOCKSIZE := 128k
PAGESIZE := 1
IMAGES += factory.img
IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi
DEVICE_TITLE := Plat'Home OpenBlocks AX3
endef
TARGET_DEVICES += plathome_openblocks-ax3-4
define Device/marvell_a385-db-ap
$(Device/NAND-256K)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := Armada 385 Development Board AP (DB-88F6820-AP)
DEVICE_DTS := armada-385-db-ap
IMAGES += factory.img
KERNEL_SIZE := 8192k
DEVICE_TITLE := Marvell Armada 385 DB AP (DB-88F6820-AP)
SUPPORTED_DEVICES += armada-385-db-ap
endef
TARGET_DEVICES += marvell_a385-db-ap
define Device/marvell_a370-db
$(Device/NAND-512K)
DEVICE_TITLE := Marvell Armada 370 DB (DB-88F6710-BP-DDR3)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := Armada 370 Development Board (DB-88F6710-BP-DDR3)
DEVICE_DTS := armada-370-db
SUPPORTED_DEVICES += armada-370-db
endef
@ -98,7 +126,8 @@ TARGET_DEVICES += marvell_a370-db
define Device/marvell_a370-rd
$(Device/NAND-512K)
DEVICE_TITLE := Marvell Armada 370 RD (RD-88F6710-A1)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := Armada 370 RD (RD-88F6710-A1)
DEVICE_DTS := armada-370-rd
SUPPORTED_DEVICES += armada-370-rd
endef
@ -106,7 +135,8 @@ TARGET_DEVICES += marvell_a370-rd
define Device/marvell_axp-db
$(Device/NAND-512K)
DEVICE_TITLE := Marvell Armada XP DB (DB-78460-BP)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := Armada XP Development Board (DB-78460-BP)
DEVICE_DTS := armada-xp-db
SUPPORTED_DEVICES += armada-xp-db
endef
@ -114,14 +144,16 @@ TARGET_DEVICES += marvell_axp-db
define Device/marvell_axp-gp
$(Device/NAND-512K)
DEVICE_TITLE := Marvell Armada XP GP (DB-MV784MP-GP)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := Armada Armada XP GP (DB-MV784MP-GP)
DEVICE_DTS := armada-xp-gp
SUPPORTED_DEVICES += armada-xp-gp
endef
TARGET_DEVICES += marvell_axp-gp
define Device/marvell_a388-rd
DEVICE_TITLE := Marvell Armada 388 RD (RD-88F6820-AP)
DEVICE_VENDOR := Marvell
DEVICE_MODEL := Armada 388 RD (RD-88F6820-AP)
DEVICE_DTS := armada-388-rd
IMAGES := firmware.bin
IMAGE/firmware.bin := append-kernel | pad-to 256k | append-rootfs | pad-rootfs
@ -130,9 +162,10 @@ endef
TARGET_DEVICES += marvell_a388-rd
define Device/solidrun_clearfog-pro-a1
DEVICE_VENDOR := SolidRun
DEVICE_MODEL := ClearFog Pro
KERNEL_INSTALL := 1
KERNEL := kernel-bin
DEVICE_TITLE := SolidRun ClearFog Pro
DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils swconfig
IMAGES := sdcard.img.gz
IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
@ -144,9 +177,10 @@ endef
TARGET_DEVICES += solidrun_clearfog-pro-a1
define Device/solidrun_clearfog-base-a1
DEVICE_VENDOR := SolidRun
DEVICE_MODEL := ClearFog Base
KERNEL_INSTALL := 1
KERNEL := kernel-bin
DEVICE_TITLE := SolidRun ClearFog Base
DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils
IMAGES := sdcard.img.gz
IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
@ -159,17 +193,19 @@ TARGET_DEVICES += solidrun_clearfog-base-a1
define Device/globalscale_mirabox
$(Device/NAND-512K)
DEVICE_VENDOR := Globalscale
DEVICE_MODEL := Mirabox
DEVICE_DTS := armada-370-mirabox
SUPPORTED_DEVICES += mirabox
DEVICE_TITLE := Globalscale Mirabox
endef
TARGET_DEVICES += globalscale_mirabox
define Device/cznic_turris-omnia
DEVICE_VENDOR := CZ.NIC
DEVICE_MODEL := Turris Omnia
KERNEL_INSTALL := 1
KERNEL := kernel-bin
KERNEL_INITRAMFS := kernel-bin
DEVICE_TITLE := Turris Omnia
DEVICE_PACKAGES := \
mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \
wpad-basic kmod-ath9k kmod-ath10k-ct ath10k-firmware-qca988x-ct \