From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: (qmail 6018 invoked from network); 31 Mar 2020 21:25:48 -0000 Received-SPF: pass (mother.openwall.net: domain of lists.openwall.com designates 195.42.179.200 as permitted sender) receiver=inbox.vuxu.org; client-ip=195.42.179.200 envelope-from= Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with UTF8ESMTPZ; 31 Mar 2020 21:25:48 -0000 Received: (qmail 27811 invoked by uid 550); 31 Mar 2020 21:25:43 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 27776 invoked from network); 31 Mar 2020 21:25:43 -0000 Date: Tue, 31 Mar 2020 23:25:31 +0200 From: Szabolcs Nagy To: musl@lists.openwall.com Message-ID: <20200331212531.GW14278@port70.net> Mail-Followup-To: musl@lists.openwall.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="vmttodhTwj0NAgWp" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) Subject: [musl] [PATCH 00/10] Updates for linux v5.5 and v5.6 --vmttodhTwj0NAgWp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Patches attached. Szabolcs Nagy (10): netinet/tcp.h: update tcp_info for linux v5.5 add pidfd_getfd and openat2 syscall numbers from linux v5.6 netinet/in.h: add IPPROTO_ macros from linux v5.6 netinet/tcp.h: update for linux v5.6 netinet/udp.h: add TCP_ENCAP_ESPINTCP from linux v5.6 sys/prctl.h: add PR_{SET,GET}_IO_FLUSHER from linux v5.6 sys/random.h: add GRND_INSECURE from linux v5.6 sched.h: add CLONE_NEWTIME from linux v5.6 aarch64: add HWCAP2_ macros from linux v5.3 aarch64: add new HWCAP2_ macros from linux v5.6 arch/aarch64/bits/hwcap.h | 10 ++++++++++ arch/aarch64/bits/syscall.h.in | 2 ++ arch/arm/bits/syscall.h.in | 2 ++ arch/i386/bits/syscall.h.in | 2 ++ arch/m68k/bits/syscall.h.in | 3 +++ arch/microblaze/bits/syscall.h.in | 2 ++ arch/mips/bits/syscall.h.in | 2 ++ arch/mips64/bits/syscall.h.in | 2 ++ arch/mipsn32/bits/syscall.h.in | 2 ++ arch/or1k/bits/syscall.h.in | 2 ++ arch/powerpc/bits/syscall.h.in | 2 ++ arch/powerpc64/bits/syscall.h.in | 2 ++ arch/riscv64/bits/syscall.h.in | 2 ++ arch/s390x/bits/syscall.h.in | 2 ++ arch/sh/bits/syscall.h.in | 3 +++ arch/x32/bits/syscall.h.in | 2 ++ arch/x86_64/bits/syscall.h.in | 2 ++ include/netinet/in.h | 4 +++- include/netinet/tcp.h | 15 ++++++++++++--- include/netinet/udp.h | 1 + include/sched.h | 1 + include/sys/prctl.h | 3 +++ include/sys/random.h | 1 + 23 files changed, 65 insertions(+), 4 deletions(-) -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-netinet-tcp.h-update-tcp_info-for-linux-v5.5.patch" >From 8074968b32f3fe733b8796d774b6d01313b4a994 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Sat, 15 Feb 2020 09:42:37 +0000 Subject: [PATCH 01/10] netinet/tcp.h: update tcp_info for linux v5.5 see linux commit 480274787d7e3458bc5a7cfbbbe07033984ad711 tcp: add TCP_INFO status for failed client TFO --- include/netinet/tcp.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h index 44a007aa..db3904ae 100644 --- a/include/netinet/tcp.h +++ b/include/netinet/tcp.h @@ -181,6 +181,13 @@ struct tcphdr { #define TCP_CA_Recovery 3 #define TCP_CA_Loss 4 +enum tcp_fastopen_client_fail { + TFO_STATUS_UNSPEC, + TFO_COOKIE_UNAVAILABLE, + TFO_DATA_NOT_ACKED, + TFO_SYN_RETRANSMITTED, +}; + struct tcp_info { uint8_t tcpi_state; uint8_t tcpi_ca_state; @@ -189,7 +196,7 @@ struct tcp_info { uint8_t tcpi_backoff; uint8_t tcpi_options; uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; - uint8_t tcpi_delivery_rate_app_limited : 1; + uint8_t tcpi_delivery_rate_app_limited : 1, tcpi_fastopen_client_fail : 2; uint32_t tcpi_rto; uint32_t tcpi_ato; uint32_t tcpi_snd_mss; -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0002-add-pidfd_getfd-and-openat2-syscall-numbers-from-lin.patch" >From c51f977ec84bdcd65b5fd3ba711ecc29b401959a Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 31 Mar 2020 18:32:51 +0000 Subject: [PATCH 02/10] add pidfd_getfd and openat2 syscall numbers from linux v5.6 also added clone3 on sh and m68k, on sh it's still missing (not yet wired up), but reserved so safe to add. see linux commit fddb5d430ad9fa91b49b1d34d0202ffe2fa0e179 open: introduce openat2(2) syscall linux commit 9a2cef09c801de54feecd912303ace5c27237f12 arch: wire up pidfd_getfd syscall linux commit 8649c322f75c96e7ced2fec201e123b2b073bf09 pid: Implement pidfd_getfd syscall linux commit e8bb2a2a1d51511e6b3f7e08125d52ec73c11139 m68k: Wire up clone3() syscall --- arch/aarch64/bits/syscall.h.in | 2 ++ arch/arm/bits/syscall.h.in | 2 ++ arch/i386/bits/syscall.h.in | 2 ++ arch/m68k/bits/syscall.h.in | 3 +++ arch/microblaze/bits/syscall.h.in | 2 ++ arch/mips/bits/syscall.h.in | 2 ++ arch/mips64/bits/syscall.h.in | 2 ++ arch/mipsn32/bits/syscall.h.in | 2 ++ arch/or1k/bits/syscall.h.in | 2 ++ arch/powerpc/bits/syscall.h.in | 2 ++ arch/powerpc64/bits/syscall.h.in | 2 ++ arch/riscv64/bits/syscall.h.in | 2 ++ arch/s390x/bits/syscall.h.in | 2 ++ arch/sh/bits/syscall.h.in | 3 +++ arch/x32/bits/syscall.h.in | 2 ++ arch/x86_64/bits/syscall.h.in | 2 ++ 16 files changed, 34 insertions(+) diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in index 93648afd..169510fd 100644 --- a/arch/aarch64/bits/syscall.h.in +++ b/arch/aarch64/bits/syscall.h.in @@ -289,4 +289,6 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in index 11d67763..729597c2 100644 --- a/arch/arm/bits/syscall.h.in +++ b/arch/arm/bits/syscall.h.in @@ -389,6 +389,8 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 #define __ARM_NR_breakpoint 0x0f0001 #define __ARM_NR_cacheflush 0x0f0002 diff --git a/arch/i386/bits/syscall.h.in b/arch/i386/bits/syscall.h.in index 1ae4e48a..40721c6c 100644 --- a/arch/i386/bits/syscall.h.in +++ b/arch/i386/bits/syscall.h.in @@ -426,4 +426,6 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 diff --git a/arch/m68k/bits/syscall.h.in b/arch/m68k/bits/syscall.h.in index ddfa72e4..f2f838cc 100644 --- a/arch/m68k/bits/syscall.h.in +++ b/arch/m68k/bits/syscall.h.in @@ -405,3 +405,6 @@ #define __NR_fsmount 432 #define __NR_fspick 433 #define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in index 963386a8..24572920 100644 --- a/arch/microblaze/bits/syscall.h.in +++ b/arch/microblaze/bits/syscall.h.in @@ -427,4 +427,6 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in index 86251bf3..56775941 100644 --- a/arch/mips/bits/syscall.h.in +++ b/arch/mips/bits/syscall.h.in @@ -408,4 +408,6 @@ #define __NR_fspick 4433 #define __NR_pidfd_open 4434 #define __NR_clone3 4435 +#define __NR_openat2 4437 +#define __NR_pidfd_getfd 4438 diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in index 9b406e9a..6f393466 100644 --- a/arch/mips64/bits/syscall.h.in +++ b/arch/mips64/bits/syscall.h.in @@ -338,4 +338,6 @@ #define __NR_fspick 5433 #define __NR_pidfd_open 5434 #define __NR_clone3 5435 +#define __NR_openat2 5437 +#define __NR_pidfd_getfd 5438 diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in index 2ad48d10..e24086f6 100644 --- a/arch/mipsn32/bits/syscall.h.in +++ b/arch/mipsn32/bits/syscall.h.in @@ -362,4 +362,6 @@ #define __NR_fspick 6433 #define __NR_pidfd_open 6434 #define __NR_clone3 6435 +#define __NR_openat2 6437 +#define __NR_pidfd_getfd 6438 diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in index e9c925e4..0d54d247 100644 --- a/arch/or1k/bits/syscall.h.in +++ b/arch/or1k/bits/syscall.h.in @@ -311,4 +311,6 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in index 8d4f79b5..70f7a379 100644 --- a/arch/powerpc/bits/syscall.h.in +++ b/arch/powerpc/bits/syscall.h.in @@ -415,4 +415,6 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in index b935864c..3b9f8a44 100644 --- a/arch/powerpc64/bits/syscall.h.in +++ b/arch/powerpc64/bits/syscall.h.in @@ -387,4 +387,6 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in index 0043eeba..da4fd73d 100644 --- a/arch/riscv64/bits/syscall.h.in +++ b/arch/riscv64/bits/syscall.h.in @@ -289,6 +289,8 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 #define __NR_sysriscv __NR_arch_specific_syscall #define __NR_riscv_flush_icache (__NR_sysriscv + 15) diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in index e89f3782..9406c937 100644 --- a/arch/s390x/bits/syscall.h.in +++ b/arch/s390x/bits/syscall.h.in @@ -352,4 +352,6 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 diff --git a/arch/sh/bits/syscall.h.in b/arch/sh/bits/syscall.h.in index 0102ddaf..0f09c903 100644 --- a/arch/sh/bits/syscall.h.in +++ b/arch/sh/bits/syscall.h.in @@ -398,4 +398,7 @@ #define __NR_fsmount 432 #define __NR_fspick 433 #define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in index f47bdee5..17a4011e 100644 --- a/arch/x32/bits/syscall.h.in +++ b/arch/x32/bits/syscall.h.in @@ -298,6 +298,8 @@ #define __NR_fspick (0x40000000 + 433) #define __NR_pidfd_open (0x40000000 + 434) #define __NR_clone3 (0x40000000 + 435) +#define __NR_openat2 (0x40000000 + 437) +#define __NR_pidfd_getfd (0x40000000 + 438) #define __NR_rt_sigaction (0x40000000 + 512) diff --git a/arch/x86_64/bits/syscall.h.in b/arch/x86_64/bits/syscall.h.in index 6a646ad3..65126e1f 100644 --- a/arch/x86_64/bits/syscall.h.in +++ b/arch/x86_64/bits/syscall.h.in @@ -345,4 +345,6 @@ #define __NR_fspick 433 #define __NR_pidfd_open 434 #define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0003-netinet-in.h-add-IPPROTO_-macros-from-linux-v5.6.patch" >From 21f9d9c5bb82271dd2eecff678f61db1f3912cca Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 31 Mar 2020 19:57:53 +0000 Subject: [PATCH 03/10] netinet/in.h: add IPPROTO_ macros from linux v5.6 add IPPROTO_ETHERNET and IPPROTO_MPTCP, see linux commit 2677625387056136e256c743e3285b4fe3da87bb seg6: fix SRv6 L2 tunnels to use IANA-assigned protocol number linux commit faf391c3826cd29feae02078ca2022d2f912f7cc tcp: Define IPPROTO_MPTCP --- include/netinet/in.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/netinet/in.h b/include/netinet/in.h index 103d2e04..36a2013a 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -101,8 +101,10 @@ uint16_t ntohs(uint16_t); #define IPPROTO_MH 135 #define IPPROTO_UDPLITE 136 #define IPPROTO_MPLS 137 +#define IPPROTO_ETHERNET 143 #define IPPROTO_RAW 255 -#define IPPROTO_MAX 256 +#define IPPROTO_MPTCP 262 +#define IPPROTO_MAX 263 #define IN6_IS_ADDR_UNSPECIFIED(a) \ (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0004-netinet-tcp.h-update-for-linux-v5.6.patch" >From 4a36453313f136a9b7b2900f73aed7fae8666861 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 31 Mar 2020 20:07:33 +0000 Subject: [PATCH 04/10] netinet/tcp.h: update for linux v5.6 TCP_NLA_TIMEOUT_REHASH queries timeout-triggered rehash attempts, tcpm_ifindex limits the scope of TCP_MD5SIG* sockopt to a device. see linux commit 32efcc06d2a15fa87585614d12d6c2308cc2d3f3 tcp: export count for rehash attempts linux commit 6b102db50cdde3ba2f78631ed21222edf3a5fb51 net: Add device index to tcp_md5sig --- include/netinet/tcp.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h index db3904ae..92550dcc 100644 --- a/include/netinet/tcp.h +++ b/include/netinet/tcp.h @@ -78,6 +78,7 @@ enum { TCP_NLA_DSACK_DUPS, TCP_NLA_REORD_SEEN, TCP_NLA_SRTT, + TCP_NLA_TIMEOUT_REHASH, }; #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) @@ -247,14 +248,15 @@ struct tcp_info { #define TCP_MD5SIG_MAXKEYLEN 80 -#define TCP_MD5SIG_FLAG_PREFIX 1 +#define TCP_MD5SIG_FLAG_PREFIX 0x1 +#define TCP_MD5SIG_FLAG_IFINDEX 0x2 struct tcp_md5sig { struct sockaddr_storage tcpm_addr; uint8_t tcpm_flags; uint8_t tcpm_prefixlen; uint16_t tcpm_keylen; - uint32_t __tcpm_pad; + int tcpm_ifindex; uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; }; -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0005-netinet-udp.h-add-TCP_ENCAP_ESPINTCP-from-linux-v5.6.patch" >From 1e854649d97d0956cb29ac5d6bf412457de5c82b Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 31 Mar 2020 20:19:26 +0000 Subject: [PATCH 05/10] netinet/udp.h: add TCP_ENCAP_ESPINTCP from linux v5.6 The use of TCP_ in udp.h is not known, fortunately udp.h is not specified by posix so there are no strict namespace rules, added in linux commit e27cca96cd68fa2c6814c90f9a1cfd36bb68c593 xfrm: add espintcp (RFC 8229) --- include/netinet/udp.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/netinet/udp.h b/include/netinet/udp.h index ffd89079..40c3f203 100644 --- a/include/netinet/udp.h +++ b/include/netinet/udp.h @@ -35,6 +35,7 @@ struct udphdr { #define UDP_ENCAP_GTP0 4 #define UDP_ENCAP_GTP1U 5 #define UDP_ENCAP_RXRPC 6 +#define TCP_ENCAP_ESPINTCP 7 #define SOL_UDP 17 -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0006-sys-prctl.h-add-PR_-SET-GET-_IO_FLUSHER-from-linux-v.patch" >From 9d2ebc9152d5c6648f47e2cf3a1225f55df4b020 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 31 Mar 2020 20:26:53 +0000 Subject: [PATCH 06/10] sys/prctl.h: add PR_{SET,GET}_IO_FLUSHER from linux v5.6 needed for storage drivers with userspace component that may run in the IO path, see linux commit 8d19f1c8e1937baf74e1962aae9f90fa3aeab463 prctl: PR_{G,S}ET_IO_FLUSHER to support controlling memory reclaim --- include/sys/prctl.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/sys/prctl.h b/include/sys/prctl.h index d9c846e9..4b9fcc05 100644 --- a/include/sys/prctl.h +++ b/include/sys/prctl.h @@ -158,6 +158,9 @@ struct prctl_mm_map { #define PR_GET_TAGGED_ADDR_CTRL 56 #define PR_TAGGED_ADDR_ENABLE (1UL << 0) +#define PR_SET_IO_FLUSHER 57 +#define PR_GET_IO_FLUSHER 58 + int prctl (int, ...); #ifdef __cplusplus -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0007-sys-random.h-add-GRND_INSECURE-from-linux-v5.6.patch" >From d8b1d656c44cfe3e86cd2ebf424ae810e0c68410 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 31 Mar 2020 20:37:23 +0000 Subject: [PATCH 07/10] sys/random.h: add GRND_INSECURE from linux v5.6 added in linux commit 75551dbf112c992bc6c99a972990b3f272247e23 random: add GRND_INSECURE to return best-effort non-cryptographic bytes --- include/sys/random.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/sys/random.h b/include/sys/random.h index 4ee7bf2c..59e40ab8 100644 --- a/include/sys/random.h +++ b/include/sys/random.h @@ -10,6 +10,7 @@ extern "C" { #define GRND_NONBLOCK 0x0001 #define GRND_RANDOM 0x0002 +#define GRND_INSECURE 0x0004 ssize_t getrandom(void *, size_t, unsigned); -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0008-sched.h-add-CLONE_NEWTIME-from-linux-v5.6.patch" >From 0fc82d76d6598d38273f520d9adba1cc2f86f65c Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 31 Mar 2020 20:42:14 +0000 Subject: [PATCH 08/10] sched.h: add CLONE_NEWTIME from linux v5.6 reuses a bit from CSIGNAL so it can only be used with unshare and clone3, added in linux commit 769071ac9f20b6a447410c7eaa55d1a5233ef40c ns: Introduce Time Namespace --- include/sched.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/sched.h b/include/sched.h index 822f464e..fda4b484 100644 --- a/include/sched.h +++ b/include/sched.h @@ -49,6 +49,7 @@ int sched_yield(void); #ifdef _GNU_SOURCE #define CSIGNAL 0x000000ff +#define CLONE_NEWTIME 0x00000080 #define CLONE_VM 0x00000100 #define CLONE_FS 0x00000200 #define CLONE_FILES 0x00000400 -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0009-aarch64-add-HWCAP2_-macros-from-linux-v5.3.patch" >From 648a74cde51885da6ca4af52c3f52d649e4210cf Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 31 Mar 2020 20:57:46 +0000 Subject: [PATCH 09/10] aarch64: add HWCAP2_ macros from linux v5.3 these were missed before, added in linux commit 1201937491822b61641c1878ebcd16a93aed4540 arm64: Expose ARMv8.5 CondM capability to userspace linux commit ca9503fc9e9812aa6258e55d44edb03eb30fc46f arm64: Expose FRINT capabilities to userspace --- arch/aarch64/bits/hwcap.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/aarch64/bits/hwcap.h b/arch/aarch64/bits/hwcap.h index a7484028..cb442918 100644 --- a/arch/aarch64/bits/hwcap.h +++ b/arch/aarch64/bits/hwcap.h @@ -38,3 +38,5 @@ #define HWCAP2_SVEBITPERM (1 << 4) #define HWCAP2_SVESHA3 (1 << 5) #define HWCAP2_SVESM4 (1 << 6) +#define HWCAP2_FLAGM2 (1 << 7) +#define HWCAP2_FRINT (1 << 8) -- 2.24.1 --vmttodhTwj0NAgWp Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0010-aarch64-add-new-HWCAP2_-macros-from-linux-v5.6.patch" >From bf3e04cf441e6fd2787ae6faa219462d402c5307 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 31 Mar 2020 20:57:46 +0000 Subject: [PATCH 10/10] aarch64: add new HWCAP2_ macros from linux v5.6 added in linux commit 1a50ec0b3b2e9a83f1b1245ea37a853aac2f741c arm64: Implement archrandom.h for ARMv8.5-RNG linux commit d4209d8b717311d114b5d47ba7f8249fd44e97c2 arm64: cpufeature: Export matrix and other features to userspace --- arch/aarch64/bits/hwcap.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/aarch64/bits/hwcap.h b/arch/aarch64/bits/hwcap.h index cb442918..7ab73f99 100644 --- a/arch/aarch64/bits/hwcap.h +++ b/arch/aarch64/bits/hwcap.h @@ -40,3 +40,11 @@ #define HWCAP2_SVESM4 (1 << 6) #define HWCAP2_FLAGM2 (1 << 7) #define HWCAP2_FRINT (1 << 8) +#define HWCAP2_SVEI8MM (1 << 9) +#define HWCAP2_SVEF32MM (1 << 10) +#define HWCAP2_SVEF64MM (1 << 11) +#define HWCAP2_SVEBF16 (1 << 12) +#define HWCAP2_I8MM (1 << 13) +#define HWCAP2_BF16 (1 << 14) +#define HWCAP2_DGH (1 << 15) +#define HWCAP2_RNG (1 << 16) -- 2.24.1 --vmttodhTwj0NAgWp--