Merge Lean's source
This commit is contained in:
commit
852827fe36
@ -8,7 +8,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mwlwifi
|
||||
PKG_RELEASE=1
|
||||
PKG_RELEASE=2
|
||||
|
||||
PKG_LICENSE:=ISC
|
||||
PKG_LICENSE_FILES:=
|
||||
|
||||
@ -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,
|
||||
}
|
||||
};
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
@ -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,
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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",
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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 \
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 \
|
||||
|
||||
Loading…
Reference in New Issue
Block a user