CVS commit: src/crypto/external/bsd/netpgp/dist/src/lib
Module Name:src Committed By: jhigh Date: Wed Oct 14 05:19:41 UTC 2020 Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: keyring.c packet-parse.c packet.h Log Message: allow netpgp to absorb gpg2 subpkt 33 for list/enc/decrypt rsa keys To generate a diff of this commit: cvs rdiff -u -r1.56 -r1.57 \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c cvs rdiff -u -r1.52 -r1.53 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c cvs rdiff -u -r1.31 -r1.32 \ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.56 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.57 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.56 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Wed Oct 14 05:19:41 2020 @@ -57,7 +57,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: keyring.c,v 1.56 2018/11/13 14:52:30 mlelstv Exp $"); +__RCSID("$NetBSD: keyring.c,v 1.57 2020/10/14 05:19:41 jhigh Exp $"); #endif #ifdef HAVE_FCNTL_H @@ -620,8 +620,12 @@ cb_keyring_read(const pgp_packet_t *pkt, key->subsigc += 1; break; case PGP_PTAG_CT_TRUST: - key->subsigs[key->subsigc - 1].trustlevel = pkt->u.ss_trust.level; - key->subsigs[key->subsigc - 1].trustamount = pkt->u.ss_trust.amount; + EXPAND_ARRAY(key, subsig); + key->subsigs[key->subsigc].trustlevel = pkt->u.ss_trust.level; + key->subsigs[key->subsigc].trustamount = pkt->u.ss_trust.amount; + + key->subsigc += 1; + break; case PGP_PTAG_SS_KEY_EXPIRY: EXPAND_ARRAY(keyring, key); @@ -667,7 +671,6 @@ cb_keyring_read(const pgp_packet_t *pkt, default: break; } - return PGP_RELEASE_MEMORY; } Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.52 src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.53 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.52 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c Wed Oct 14 05:19:41 2020 @@ -58,7 +58,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: packet-parse.c,v 1.52 2018/11/13 14:52:30 mlelstv Exp $"); +__RCSID("$NetBSD: packet-parse.c,v 1.53 2020/10/14 05:19:41 jhigh Exp $"); #endif #include @@ -984,6 +984,7 @@ pgp_parser_content_free(pgp_packet_t *c) case PGP_PTAG_SS_PRIMARY_USER_ID: case PGP_PTAG_SS_REVOCABLE: case PGP_PTAG_SS_REVOCATION_KEY: + case PGP_PTAG_SS_ISSUER_FINGERPRINT: case PGP_PTAG_CT_LITDATA_HEADER: case PGP_PTAG_CT_LITDATA_BODY: case PGP_PTAG_CT_SIGNED_CLEARTEXT_BODY: @@ -1554,6 +1555,7 @@ parse_one_sig_subpacket(pgp_sig_t *sig, pgp_packet_t pkt; uint8_t bools = 0x0; uint8_t c = 0x0; + uint8_t temp = 0x0; unsigned doread = 1; unsignedt8; unsignedt7; @@ -1764,6 +1766,26 @@ parse_one_sig_subpacket(pgp_sig_t *sig, } break; + case PGP_PTAG_SS_ISSUER_FINGERPRINT: + /* octet 0: version */ + /* 0x04:20 bytes, 0x05:32 bytes */ + if (!limread(, 1, , stream)) { + return 0; + } + + switch (temp) { + case 0x04: pkt.u.ss_issuer_fingerprint.len = 20; break; + case 0x05: pkt.u.ss_issuer_fingerprint.len = 32; break; + default: +return 0; + } + + if (!limread(pkt.u.ss_issuer_fingerprint.fingerprint, + pkt.u.ss_issuer_fingerprint.len, , stream)) { + return 0; + } + break; + case PGP_PTAG_SS_REVOCATION_KEY: /* octet 0 = class. Bit 0x80 must be set */ if (!limread(_revocation_key.class, 1, Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet.h diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet.h:1.31 src/crypto/external/bsd/netpgp/dist/src/lib/packet.h:1.32 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet.h:1.31 Tue Nov 13 14:52:30 2018 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet.h Wed Oct 14 05:19:41 2020 @@ -251,7 +251,7 @@ typedef enum { PGP_PTAG_SS_FEATURES = 0x200 + 30, /* features */ PGP_PTAG_SS_SIGNATURE_TARGET = 0x200 + 31, /* signature target */ PGP_PTAG_SS_EMBEDDED_SIGNATURE = 0x200 + 32, /* embedded signature */ - + PGP_PTAG_SS_ISSUER_FINGERPRINT = 0x200 + 33, /* issuer fingerprint */ PGP_PTAG_SS_USERDEFINED00 = 0x200 + 100, /* internal or * user-defined */ PGP_PTAG_SS_USERDEFINED01 = 0x200 + 101, @@ -659,6 +659,11 @@ typedef struct pgp_ss_trust_t { uint8_t amount; /* Amount */ } pgp_ss_trust_t; +typedef struct pgp_ss_issuer_fingerprint { + uint8_t len; /* 20 or 32 */ + uint8_t fingerprint[32]; /* max 32 */ +} pgp_ss_issuer_fingerprint; + /** Signature Subpacket :
CVS commit: src/usr.sbin/sysinst
Module Name:src Committed By: martin Date: Wed Oct 14 04:17:43 UTC 2020 Modified Files: src/usr.sbin/sysinst: gpt.c Log Message: Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT partition via "gpt type" - not "gpt label". To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/usr.sbin/sysinst/gpt.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/gpt.c diff -u src/usr.sbin/sysinst/gpt.c:1.21 src/usr.sbin/sysinst/gpt.c:1.22 --- src/usr.sbin/sysinst/gpt.c:1.21 Tue Oct 13 17:26:28 2020 +++ src/usr.sbin/sysinst/gpt.c Wed Oct 14 04:17:43 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: gpt.c,v 1.21 2020/10/13 17:26:28 martin Exp $ */ +/* $NetBSD: gpt.c,v 1.22 2020/10/14 04:17:43 martin Exp $ */ /* * Copyright 2018 The NetBSD Foundation, Inc. @@ -1266,7 +1266,7 @@ gpt_modify_part(const char *disk, struct /* Check type */ if (p->gp_type != old.gp_type) { if (run_program(RUN_SILENT, - "gpt label -b %" PRIu64 " -T %s %s", + "gpt type -b %" PRIu64 " -T %s %s", p->gp_start, p->gp_type->tid, disk) != 0) return false; }
CVS commit: src/sys/arch/alpha
Module Name:src Committed By: thorpej Date: Wed Oct 14 00:59:50 UTC 2020 Modified Files: src/sys/arch/alpha/alpha: api_up1000.c dec_2000_300.c machdep.c src/sys/arch/alpha/include: alpha.h cpuconf.h vmparam.h src/sys/arch/alpha/jensenio: jensenio_dma.c jenseniovar.h src/sys/arch/alpha/pci: irongate_dma.c irongatevar.h Log Message: Add a mechanism to allow a platform to optionally shelter some region of physical memory from random allocations from the default VM page free list. Use this hook to shelter regions within 0-16MB of physical RAM on Jensen and Irongate systems; those platforms do not have SGMAP DMA, and so we need to shelter this range so that devices using ISA DMA (e.g. floppy controller) have an opportunity to allocate DMA-safe memory. PR port-alpha/27087 To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/arch/alpha/alpha/api_up1000.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/alpha/alpha/dec_2000_300.c cvs rdiff -u -r1.367 -r1.368 src/sys/arch/alpha/alpha/machdep.c cvs rdiff -u -r1.43 -r1.44 src/sys/arch/alpha/include/alpha.h cvs rdiff -u -r1.16 -r1.17 src/sys/arch/alpha/include/cpuconf.h cvs rdiff -u -r1.39 -r1.40 src/sys/arch/alpha/include/vmparam.h cvs rdiff -u -r1.6 -r1.7 src/sys/arch/alpha/jensenio/jensenio_dma.c cvs rdiff -u -r1.5 -r1.6 src/sys/arch/alpha/jensenio/jenseniovar.h cvs rdiff -u -r1.7 -r1.8 src/sys/arch/alpha/pci/irongate_dma.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/alpha/pci/irongatevar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/alpha/alpha/api_up1000.c diff -u src/sys/arch/alpha/alpha/api_up1000.c:1.30 src/sys/arch/alpha/alpha/api_up1000.c:1.31 --- src/sys/arch/alpha/alpha/api_up1000.c:1.30 Sat Oct 13 17:58:54 2012 +++ src/sys/arch/alpha/alpha/api_up1000.c Wed Oct 14 00:59:50 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: api_up1000.c,v 1.30 2012/10/13 17:58:54 jdc Exp $ */ +/* $NetBSD: api_up1000.c,v 1.31 2020/10/14 00:59:50 thorpej Exp $ */ /* * Copyright (c) 1995, 1996, 1997 Carnegie-Mellon University. @@ -34,7 +34,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: api_up1000.c,v 1.30 2012/10/13 17:58:54 jdc Exp $"); +__KERNEL_RCSID(0, "$NetBSD: api_up1000.c,v 1.31 2020/10/14 00:59:50 thorpej Exp $"); #include #include @@ -103,6 +103,7 @@ api_up1000_init(void) platform.iobus = "irongate"; platform.cons_init = api_up1000_cons_init; platform.device_register = api_up1000_device_register; + platform.page_physload = irongate_page_physload; } static void Index: src/sys/arch/alpha/alpha/dec_2000_300.c diff -u src/sys/arch/alpha/alpha/dec_2000_300.c:1.19 src/sys/arch/alpha/alpha/dec_2000_300.c:1.20 --- src/sys/arch/alpha/alpha/dec_2000_300.c:1.19 Sat Oct 13 17:58:54 2012 +++ src/sys/arch/alpha/alpha/dec_2000_300.c Wed Oct 14 00:59:50 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: dec_2000_300.c,v 1.19 2012/10/13 17:58:54 jdc Exp $ */ +/* $NetBSD: dec_2000_300.c,v 1.20 2020/10/14 00:59:50 thorpej Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -60,7 +60,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: dec_2000_300.c,v 1.19 2012/10/13 17:58:54 jdc Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dec_2000_300.c,v 1.20 2020/10/14 00:59:50 thorpej Exp $"); #include #include @@ -116,6 +116,7 @@ dec_2000_300_init(void) platform.iobus = "jensenio"; platform.cons_init = dec_2000_300_cons_init; platform.device_register = dec_2000_300_device_register; + platform.page_physload = jensenio_page_physload; } static void Index: src/sys/arch/alpha/alpha/machdep.c diff -u src/sys/arch/alpha/alpha/machdep.c:1.367 src/sys/arch/alpha/alpha/machdep.c:1.368 --- src/sys/arch/alpha/alpha/machdep.c:1.367 Sat Oct 10 21:59:03 2020 +++ src/sys/arch/alpha/alpha/machdep.c Wed Oct 14 00:59:50 2020 @@ -1,7 +1,7 @@ -/* $NetBSD: machdep.c,v 1.367 2020/10/10 21:59:03 thorpej Exp $ */ +/* $NetBSD: machdep.c,v 1.368 2020/10/14 00:59:50 thorpej Exp $ */ /*- - * Copyright (c) 1998, 1999, 2000, 2019 The NetBSD Foundation, Inc. + * Copyright (c) 1998, 1999, 2000, 2019, 2020 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation @@ -67,7 +67,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.367 2020/10/10 21:59:03 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.368 2020/10/14 00:59:50 thorpej Exp $"); #include #include @@ -216,6 +216,69 @@ const pcu_ops_t * const pcu_ops_md_defs[ [PCU_FPU] = _ops, }; +static void +alpha_page_physload(unsigned long const start_pfn, unsigned long const end_pfn) +{ + + /* + * Some Alpha platforms may have unique requirements about + * how physical memory is managed (e.g. reserving memory + * ranges due to lack of SGMAP DMA). + */ + if (platform.page_physload !=
CVS commit: src/sys/arch/aarch64/aarch64
Module Name:src Committed By: skrll Date: Tue Oct 13 21:27:18 UTC 2020 Modified Files: src/sys/arch/aarch64/aarch64: lock_stubs.S Log Message: Use load-acquire exclusive and store-release exclusive (and remove the barrier instructions) as suggested by riastradh a little while ago. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/aarch64/aarch64/lock_stubs.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/aarch64/aarch64/lock_stubs.S diff -u src/sys/arch/aarch64/aarch64/lock_stubs.S:1.2 src/sys/arch/aarch64/aarch64/lock_stubs.S:1.3 --- src/sys/arch/aarch64/aarch64/lock_stubs.S:1.2 Thu Aug 13 07:14:04 2020 +++ src/sys/arch/aarch64/aarch64/lock_stubs.S Tue Oct 13 21:27:18 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: lock_stubs.S,v 1.2 2020/08/13 07:14:04 skrll Exp $ */ +/* $NetBSD: lock_stubs.S,v 1.3 2020/10/13 21:27:18 skrll Exp $ */ /*- * Copyright (c) 2014, 2020 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ #include "assym.h" -RCSID("$NetBSD: lock_stubs.S,v 1.2 2020/08/13 07:14:04 skrll Exp $") +RCSID("$NetBSD: lock_stubs.S,v 1.3 2020/10/13 21:27:18 skrll Exp $") #ifndef LOCKDEBUG /* @@ -45,11 +45,10 @@ RCSID("$NetBSD: lock_stubs.S,v 1.2 2020/ ENTRY(mutex_enter) mrs x1, tpidr_el1 /* x1 = curlwp */ 1: - ldxr x2, [x0] /* load old value */ + ldaxr x2, [x0] /* load old value */ cbnz x2, 3f /* equals zero? */ stxr w3, x1, [x0] /* store curlwp as new value */ cbnz w3, 2f /* succeed? nope, try again. */ - dmb sy /* membar_enter() */ ret 2: b 1b @@ -64,13 +63,12 @@ END(mutex_enter) * so just use ldxr+stxr to achieve the same. */ ENTRY(mutex_exit) - dmb sy /* membar_exit() */ mrs x1, tpidr_el1 /* x1 = curlwp */ 1: ldxr x2, [x0] /* load old value */ cmp x1, x2 /* equals curlwp? */ b.ne 3f /* slow path if different */ - stxr w3, xzr, [x0] /* store zero as new value */ + stlxr w3, xzr, [x0] /* store zero as new value */ cbnz w3, 2f /* succeed? nope, try again. */ ret 2:
CVS commit: src/sys/arch/aarch64/aarch64
Module Name:src Committed By: skrll Date: Tue Oct 13 21:24:22 UTC 2020 Modified Files: src/sys/arch/aarch64/aarch64: cpuswitch.S Log Message: Use corrcet membar_exit barrier To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/arch/aarch64/aarch64/cpuswitch.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/aarch64/aarch64/cpuswitch.S diff -u src/sys/arch/aarch64/aarch64/cpuswitch.S:1.29 src/sys/arch/aarch64/aarch64/cpuswitch.S:1.30 --- src/sys/arch/aarch64/aarch64/cpuswitch.S:1.29 Tue Oct 6 06:26:46 2020 +++ src/sys/arch/aarch64/aarch64/cpuswitch.S Tue Oct 13 21:24:22 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: cpuswitch.S,v 1.29 2020/10/06 06:26:46 skrll Exp $ */ +/* $NetBSD: cpuswitch.S,v 1.30 2020/10/13 21:24:22 skrll Exp $ */ /*- * Copyright (c) 2014, 2020 The NetBSD Foundation, Inc. @@ -38,7 +38,7 @@ #include "opt_ddb.h" #include "opt_kasan.h" -RCSID("$NetBSD: cpuswitch.S,v 1.29 2020/10/06 06:26:46 skrll Exp $") +RCSID("$NetBSD: cpuswitch.S,v 1.30 2020/10/13 21:24:22 skrll Exp $") ARMV8_DEFINE_OPTIONS @@ -119,7 +119,7 @@ ENTRY_NP(cpu_switchto) msr tpidr_el1, x1 /* switch curlwp to new lwp */ ldr x3, [x1, #L_CPU] str x1, [x3, #CI_CURLWP] /* switch curlwp to new lwp */ - dmb st /* see comments in kern_mutex.c */ + dmb ishst /* see comments in kern_mutex.c */ ENABLE_INTERRUPT /*
CVS commit: src/common/lib/libc/arch/aarch64/atomic
Module Name:src Committed By: skrll Date: Tue Oct 13 21:22:12 UTC 2020 Modified Files: src/common/lib/libc/arch/aarch64/atomic: membar_ops.S Log Message: Use the correct barriers - all of membar_{sync,producer,consumer} have less scope than before. LGTM from riastradh To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/aarch64/atomic/membar_ops.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/aarch64/atomic/membar_ops.S diff -u src/common/lib/libc/arch/aarch64/atomic/membar_ops.S:1.1 src/common/lib/libc/arch/aarch64/atomic/membar_ops.S:1.2 --- src/common/lib/libc/arch/aarch64/atomic/membar_ops.S:1.1 Sun Aug 10 05:47:35 2014 +++ src/common/lib/libc/arch/aarch64/atomic/membar_ops.S Tue Oct 13 21:22:12 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: membar_ops.S,v 1.1 2014/08/10 05:47:35 matt Exp $ */ +/* $NetBSD: membar_ops.S,v 1.2 2020/10/13 21:22:12 skrll Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -32,24 +32,28 @@ #include "atomic_op_asm.h" ENTRY_NP(_membar_producer) - dsb sy + dmb ishst ret END(_membar_producer) ATOMIC_OP_ALIAS(membar_producer,_membar_producer) ATOMIC_OP_ALIAS(membar_write,_membar_producer) STRONG_ALIAS(_membar_write,_membar_producer) +ENTRY_NP(_membar_consumer) + dmb ishld + ret +END(_membar_producer) +ATOMIC_OP_ALIAS(membar_consumer,_membar_consumer) +ATOMIC_OP_ALIAS(membar_read,_membar_consumer) +STRONG_ALIAS(_membar_read,_membar_consumer) + ENTRY_NP(_membar_sync) - dmb sy + dmb ish ret END(_membar_sync) ATOMIC_OP_ALIAS(membar_sync,_membar_sync) ATOMIC_OP_ALIAS(membar_enter,_membar_sync) ATOMIC_OP_ALIAS(membar_exit,_membar_sync) -ATOMIC_OP_ALIAS(membar_consumer,_membar_sync) -ATOMIC_OP_ALIAS(membar_read,_membar_sync) STRONG_ALIAS(__sync_synchronize,_membar_sync) STRONG_ALIAS(_membar_enter,_membar_sync) STRONG_ALIAS(_membar_exit,_membar_sync) -STRONG_ALIAS(_membar_consumer,_membar_sync) -STRONG_ALIAS(_membar_read,_membar_sync)
CVS commit: src/common/lib/libc/arch/aarch64/atomic
Module Name:src Committed By: skrll Date: Tue Oct 13 21:17:35 UTC 2020 Modified Files: src/common/lib/libc/arch/aarch64/atomic: atomic_op_asm.h Log Message: Remove memory barriers from the atomic ops macros in the same way as was done for the other atomic ops earlier. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h diff -u src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h:1.4 src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h:1.5 --- src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h:1.4 Wed Oct 7 07:34:29 2020 +++ src/common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h Tue Oct 13 21:17:35 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_op_asm.h,v 1.4 2020/10/07 07:34:29 skrll Exp $ */ +/* $NetBSD: atomic_op_asm.h,v 1.5 2020/10/13 21:17:35 skrll Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -41,7 +41,6 @@ ENTRY_NP(_atomic_##OP##_8) ;\ INSN w2, w0, w1 /* calculate new value */ ;\ stxrb w3, w2, [x4] /* try to store */ ;\ cbnz w3, 1b /* succeed? no, try again */ ;\ - dmb st ;\ ret/* return old value */ ;\ END(_atomic_##OP##_8) @@ -52,7 +51,6 @@ ENTRY_NP(_atomic_##OP##_8_nv) ;\ INSN w0, w0, w1 /* calc new (return) value */ ;\ stxrb w3, w0, [x4] /* try to store */ ;\ cbnz w3, 1b /* succeed? no, try again */ ;\ - dmb sy ;\ ret/* return new value */ ;\ END(_atomic_##OP##_8_nv) @@ -63,7 +61,6 @@ ENTRY_NP(_atomic_##OP##_16) ;\ INSN w2, w0, w1 /* calculate new value */ ;\ stxrh w3, w2, [x4] /* try to store */ ;\ cbnz w3, 1b /* succeed? no, try again */ ;\ - dmb st ;\ ret/* return old value */ ;\ END(_atomic_##OP##_16) @@ -74,7 +71,6 @@ ENTRY_NP(_atomic_##OP##_16_nv) ;\ INSN w0, w0, w1 /* calc new (return) value */ ;\ stxrh w3, w0, [x4] /* try to store */ ;\ cbnz w3, 1b /* succeed? no, try again */ ;\ - dmb sy ;\ ret/* return new value */ ;\ END(_atomic_##OP##_16_nv) @@ -85,7 +81,6 @@ ENTRY_NP(_atomic_##OP##_32) ;\ INSN w2, w0, w1 /* calculate new value */ ;\ stxr w3, w2, [x4] /* try to store */ ;\ cbnz w3, 1b /* succeed? no, try again */ ;\ - dmb st ;\ ret/* return old value */ ;\ END(_atomic_##OP##_32) @@ -96,7 +91,6 @@ ENTRY_NP(_atomic_##OP##_32_nv) ;\ INSN w0, w0, w1 /* calc new (return) value */ ;\ stxr w3, w0, [x4] /* try to store */ ;\ cbnz w3, 1b /* succeed? no, try again? */ ;\ - dmb sy ;\ ret/* return new value */ ;\ END(_atomic_##OP##_32_nv) @@ -107,7 +101,6 @@ ENTRY_NP(_atomic_##OP##_64) ;\ INSN x2, x0, x1 /* calculate new value */ ;\ stxr w3, x2, [x4] /* try to store */ ;\ cbnz w3, 1b /* succeed? no, try again */ ;\ - dmb st ;\ ret/* return old value */ ;\ END(_atomic_##OP##_64) @@ -118,7 +111,6 @@ ENTRY_NP(_atomic_##OP##_64_nv) ;\ INSN x0, x0, x1 /* calc new (return) value */ ;\ stxr w3, x0, [x4] /* try to store */ ;\ cbnz w3, 1b /* succeed? no, try again? */ ;\ - dmb sy ;\ ret/* return new value */ ;\ END(_atomic_##OP##_64_nv)
CVS commit: src/sys/arch/arm/arm
Module Name:src Committed By: skrll Date: Tue Oct 13 21:06:18 UTC 2020 Modified Files: src/sys/arch/arm/arm: armv6_start.S Log Message: Remove some XXXNHs To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/arch/arm/arm/armv6_start.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/arm/arm/armv6_start.S diff -u src/sys/arch/arm/arm/armv6_start.S:1.29 src/sys/arch/arm/arm/armv6_start.S:1.30 --- src/sys/arch/arm/arm/armv6_start.S:1.29 Tue Sep 22 00:55:08 2020 +++ src/sys/arch/arm/arm/armv6_start.S Tue Oct 13 21:06:18 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: armv6_start.S,v 1.29 2020/09/22 00:55:08 mrg Exp $ */ +/* $NetBSD: armv6_start.S,v 1.30 2020/10/13 21:06:18 skrll Exp $ */ /*- * Copyright (c) 2012, 2017, 2018 The NetBSD Foundation, Inc. @@ -721,7 +721,6 @@ armv7_mmuinit: mov r4, lr mov r5, r0 // save TTBR - // XXXNH dsb - Why? XPUTC(#'F') dsb// Drain the write buffers. @@ -755,7 +754,6 @@ armv7_mmuinit: mov r1, #0 // get KERNEL_PID mcr p15, 0, r1, c13, c0, 1 // CONTEXTIDR write - // XXXNH FreeBSD doesn't do this isb isb // Set the Domain Access register. Very important!
CVS commit: src/usr.sbin/sysinst
Module Name:src Committed By: martin Date: Tue Oct 13 17:26:28 UTC 2020 Modified Files: src/usr.sbin/sysinst: bsddisklabel.c defs.h disklabel.c disks.c gpt.c label.c msg.mi.de msg.mi.en msg.mi.es msg.mi.fr msg.mi.pl partitions.h util.c Log Message: PR 55142: on popular demand bring back expert options to adjust the number of free inodes, block size and fragment size for FFS and LFS. To generate a diff of this commit: cvs rdiff -u -r1.55 -r1.56 src/usr.sbin/sysinst/bsddisklabel.c cvs rdiff -u -r1.66 -r1.67 src/usr.sbin/sysinst/defs.h cvs rdiff -u -r1.41 -r1.42 src/usr.sbin/sysinst/disklabel.c cvs rdiff -u -r1.70 -r1.71 src/usr.sbin/sysinst/disks.c cvs rdiff -u -r1.20 -r1.21 src/usr.sbin/sysinst/gpt.c cvs rdiff -u -r1.29 -r1.30 src/usr.sbin/sysinst/label.c cvs rdiff -u -r1.23 -r1.24 src/usr.sbin/sysinst/msg.mi.de cvs rdiff -u -r1.31 -r1.32 src/usr.sbin/sysinst/msg.mi.en \ src/usr.sbin/sysinst/msg.mi.pl cvs rdiff -u -r1.25 -r1.26 src/usr.sbin/sysinst/msg.mi.es cvs rdiff -u -r1.30 -r1.31 src/usr.sbin/sysinst/msg.mi.fr cvs rdiff -u -r1.18 -r1.19 src/usr.sbin/sysinst/partitions.h cvs rdiff -u -r1.47 -r1.48 src/usr.sbin/sysinst/util.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/bsddisklabel.c diff -u src/usr.sbin/sysinst/bsddisklabel.c:1.55 src/usr.sbin/sysinst/bsddisklabel.c:1.56 --- src/usr.sbin/sysinst/bsddisklabel.c:1.55 Tue Oct 13 10:44:25 2020 +++ src/usr.sbin/sysinst/bsddisklabel.c Tue Oct 13 17:26:28 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bsddisklabel.c,v 1.55 2020/10/13 10:44:25 martin Exp $ */ +/* $NetBSD: bsddisklabel.c,v 1.56 2020/10/13 17:26:28 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -1494,6 +1494,9 @@ apply_settings_to_partitions(struct disk infos[i].last_mounted = want->mount; infos[i].fs_type = want->fs_type; infos[i].fs_sub_type = want->fs_version; + infos[i].fs_opt1 = want->fs_opt1; + infos[i].fs_opt2 = want->fs_opt2; + infos[i].fs_opt3 = want->fs_opt3; new_part_id = ps->pscheme->add_partition(ps, [i], NULL); if (new_part_id == NO_PART) @@ -1578,6 +1581,9 @@ apply_settings_to_partitions(struct disk infos[i].last_mounted = want->mount; infos[i].fs_type = want->fs_type; infos[i].fs_sub_type = want->fs_version; + infos[i].fs_opt1 = want->fs_opt1; + infos[i].fs_opt2 = want->fs_opt2; + infos[i].fs_opt3 = want->fs_opt3; if (want->fs_type != FS_UNUSED && want->type != PT_swap) { want->instflags |= PUIINST_NEWFS; @@ -1637,6 +1643,9 @@ apply_settings_to_partitions(struct disk infos[i].last_mounted = want->mount; infos[i].fs_type = want->fs_type; infos[i].fs_sub_type = want->fs_version; + infos[i].fs_opt1 = want->fs_opt1; + infos[i].fs_opt2 = want->fs_opt2; + infos[i].fs_opt3 = want->fs_opt3; if (wanted->parts->pscheme->add_outer_partition != NULL) Index: src/usr.sbin/sysinst/defs.h diff -u src/usr.sbin/sysinst/defs.h:1.66 src/usr.sbin/sysinst/defs.h:1.67 --- src/usr.sbin/sysinst/defs.h:1.66 Mon Oct 12 16:14:32 2020 +++ src/usr.sbin/sysinst/defs.h Tue Oct 13 17:26:28 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: defs.h,v 1.66 2020/10/12 16:14:32 martin Exp $ */ +/* $NetBSD: defs.h,v 1.67 2020/10/13 17:26:28 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -311,6 +311,7 @@ struct part_usage_info { unsigned int instflags; /* installer handling flags */ uint fs_type, fs_version; /* e.g. FS_LFS, or FS_BSDFS, * version = 2 for FFSv2 */ + uint fs_opt1, fs_opt2, fs_opt3; /* FS specific, FFS: block/frag */ #ifndef NO_CLONES /* * Only != NULL when PUIFLG_CLONE_PARTS is set, describes the @@ -352,7 +353,7 @@ struct partition_usage_set { */ struct single_part_fs_edit { struct partition_usage_set *pset; - size_t index, first_custom_attr; + size_t index, first_custom_attr, offset, mode; part_id id; struct disk_part_info info; /* current partition data */ struct part_usage_info *wanted; /* points at our edit data */ Index: src/usr.sbin/sysinst/disklabel.c diff -u src/usr.sbin/sysinst/disklabel.c:1.41 src/usr.sbin/sysinst/disklabel.c:1.42 --- src/usr.sbin/sysinst/disklabel.c:1.41 Mon Oct 12 16:14:32 2020 +++ src/usr.sbin/sysinst/disklabel.c Tue Oct 13 17:26:28 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: disklabel.c,v 1.41 2020/10/12 16:14:32 martin Exp $ */ +/* $NetBSD: disklabel.c,v 1.42 2020/10/13 17:26:28 martin Exp $ */ /* * Copyright 2018 The NetBSD Foundation, Inc. @@ -44,7 +44,7 @@ struct disklabel_disk_partitions { struct disklabel l; daddr_t ptn_alignment, install_target; char last_mounted[MAXPARTITIONS][MOUNTLEN]; - uint fs_sub_type[MAXPARTITIONS]; + uint fs_sub_type[MAXPARTITIONS], fs_opt3[MAXPARTITIONS]; }; /* @@ -772,6 +772,10 @@ disklabel_get_part_info(const struct dis info->last_mounted = parts->last_mounted[part]; info->fs_type =
CVS commit: src/usr.sbin/ypserv/ypserv
Module Name:src Committed By: kamil Date: Tue Oct 13 13:56:34 UTC 2020 Modified Files: src/usr.sbin/ypserv/ypserv: ypserv_db.c Log Message: Convert the CIRCLEQ (from sys/queue.h) usage to TAILQ The CIRCLEQ API from sys/queue.h is deprecated since NetBSD 7 and is already gone from FreeBSD and OpenBSD. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/usr.sbin/ypserv/ypserv/ypserv_db.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/ypserv/ypserv/ypserv_db.c diff -u src/usr.sbin/ypserv/ypserv/ypserv_db.c:1.22 src/usr.sbin/ypserv/ypserv/ypserv_db.c:1.23 --- src/usr.sbin/ypserv/ypserv/ypserv_db.c:1.22 Tue Feb 1 21:00:25 2011 +++ src/usr.sbin/ypserv/ypserv/ypserv_db.c Tue Oct 13 13:56:34 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: ypserv_db.c,v 1.22 2011/02/01 21:00:25 chuck Exp $ */ +/* $NetBSD: ypserv_db.c,v 1.23 2020/10/13 13:56:34 kamil Exp $ */ /* * Copyright (c) 1994 Mats O Jansson @@ -29,7 +29,7 @@ #include #ifndef lint -__RCSID("$NetBSD: ypserv_db.c,v 1.22 2011/02/01 21:00:25 chuck Exp $"); +__RCSID("$NetBSD: ypserv_db.c,v 1.23 2020/10/13 13:56:34 kamil Exp $"); #endif /* @@ -65,7 +65,7 @@ __RCSID("$NetBSD: ypserv_db.c,v 1.22 201 LIST_HEAD(domainlist, opt_domain); /* LIST of domains */ LIST_HEAD(maplist, opt_map); /* LIST of maps (in a domain) */ -CIRCLEQ_HEAD(mapq, opt_map); /* CIRCLEQ of maps (LRU) */ +TAILQ_HEAD(mapq, opt_map); /* TAILQ of maps (LRU) */ struct opt_map { char *map; /* map name (malloc'd) */ @@ -76,7 +76,7 @@ struct opt_map { dev_t dbdev; /* device db is on */ ino_t dbino; /* inode of db */ time_t dbmtime; /* time of last db modification */ - CIRCLEQ_ENTRY(opt_map) mapsq; /* map queue pointers */ + TAILQ_ENTRY(opt_map) mapsq; /* map queue pointers */ LIST_ENTRY(opt_map) mapsl; /* map list pointers */ }; @@ -106,7 +106,7 @@ ypdb_init(void) { LIST_INIT(); - CIRCLEQ_INIT(); + TAILQ_INIT(); } /* @@ -161,7 +161,7 @@ yp_private(datum key, int ypprivate) void ypdb_close_map(struct opt_map *map) { - CIRCLEQ_REMOVE(, map, mapsq); /* remove from LRU circleq */ + TAILQ_REMOVE(, map, mapsq); /* remove from LRU tailq */ LIST_REMOVE(map, mapsl); /* remove from domain list */ #ifdef DEBUG @@ -182,13 +182,14 @@ ypdb_close_map(struct opt_map *map) void ypdb_close_last(void) { - struct opt_map *last = maps.cqh_last; + struct opt_map *last; - if (last == (void *) ) { + if (TAILQ_EMPTY()) { syslog(LOG_ERR, "ypdb_close_last: LRU list is empty!"); return; } + last = TAILQ_LAST(, mapq); ypdb_close_map(last); } @@ -203,7 +204,7 @@ ypdb_close_all(void) syslog(LOG_DEBUG, "ypdb_close_all(): start"); #endif - while (maps.cqh_first != (void *) ) + while (!TAILQ_EMPTY()) ypdb_close_last(); #ifdef DEBUG @@ -326,8 +327,8 @@ ypdb_open_db(const char *domain, const c */ if (finfo.st_dev == m->dbdev && finfo.st_ino == m->dbino && finfo.st_mtime == m->dbmtime) { - CIRCLEQ_REMOVE(, m, mapsq); /* adjust LRU queue */ - CIRCLEQ_INSERT_HEAD(, m, mapsq); + TAILQ_REMOVE(, m, mapsq); /* adjust LRU queue */ + TAILQ_INSERT_HEAD(, m, mapsq); if (map_info) *map_info = m; return (m->db); @@ -423,7 +424,7 @@ retryopen: m->dbdev = finfo.st_dev; m->dbino = finfo.st_ino; m->dbmtime = finfo.st_mtime; - CIRCLEQ_INSERT_HEAD(, m, mapsq); + TAILQ_INSERT_HEAD(, m, mapsq); LIST_INSERT_HEAD(>dmaps, m, mapsl); if (strcmp(map, YP_HOSTNAME) == 0 || strcmp(map, YP_HOSTADDR) == 0) { if (!usedns) {
CVS commit: src/sys/kern
Module Name:src Committed By: hannken Date: Tue Oct 13 13:15:39 UTC 2020 Modified Files: src/sys/kern: vfs_mount.c Log Message: Suspend file system before unmounting in mount_domount() error path to prevent diagnostic assertions from unmount/flush. Reported-by: syzbot+8d557f49c8b788818...@syzkaller.appspotmail.com Reported-by: syzbot+e87fe1e769a3426d9...@syzkaller.appspotmail.com Reported-by: syzbot+9c5b86e651e98c5bf...@syzkaller.appspotmail.com Reported-by: syzbot+610b614af0d66179c...@syzkaller.appspotmail.com Reported-by: syzbot+7818ff113a1535ebc...@syzkaller.appspotmail.com To generate a diff of this commit: cvs rdiff -u -r1.83 -r1.84 src/sys/kern/vfs_mount.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/kern/vfs_mount.c diff -u src/sys/kern/vfs_mount.c:1.83 src/sys/kern/vfs_mount.c:1.84 --- src/sys/kern/vfs_mount.c:1.83 Sat May 23 23:42:43 2020 +++ src/sys/kern/vfs_mount.c Tue Oct 13 13:15:39 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: vfs_mount.c,v 1.83 2020/05/23 23:42:43 ad Exp $ */ +/* $NetBSD: vfs_mount.c,v 1.84 2020/10/13 13:15:39 hannken Exp $ */ /*- * Copyright (c) 1997-2020 The NetBSD Foundation, Inc. @@ -67,7 +67,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: vfs_mount.c,v 1.83 2020/05/23 23:42:43 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vfs_mount.c,v 1.84 2020/10/13 13:15:39 hannken Exp $"); #include #include @@ -832,8 +832,11 @@ mount_domount(struct lwp *l, vnode_t **v return error; err_mounted: + if (vfs_suspend(mp, 0)) + panic("Suspending fresh file system failed"); if (VFS_UNMOUNT(mp, MNT_FORCE) != 0) panic("Unmounting fresh file system failed"); + vfs_resume(mp); err_unmounted: vp->v_mountedhere = NULL;
CVS commit: src/usr.sbin/sysinst
Module Name:src Committed By: martin Date: Tue Oct 13 11:28:32 UTC 2020 Modified Files: src/usr.sbin/sysinst: label.c Log Message: When renumbering partitions (after deletions) be slightly more lax in matching, to cope with differences between MBR EFI partitions and disklabel MSDOS partitions. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 src/usr.sbin/sysinst/label.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/label.c diff -u src/usr.sbin/sysinst/label.c:1.28 src/usr.sbin/sysinst/label.c:1.29 --- src/usr.sbin/sysinst/label.c:1.28 Sat Oct 10 19:42:19 2020 +++ src/usr.sbin/sysinst/label.c Tue Oct 13 11:28:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: label.c,v 1.28 2020/10/10 19:42:19 martin Exp $ */ +/* $NetBSD: label.c,v 1.29 2020/10/13 11:28:32 martin Exp $ */ /* * Copyright 1997 Jonathan Stone @@ -36,7 +36,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: label.c,v 1.28 2020/10/10 19:42:19 martin Exp $"); +__RCSID("$NetBSD: label.c,v 1.29 2020/10/13 11:28:32 martin Exp $"); #endif #include @@ -413,12 +413,15 @@ renumber_partitions(struct partition_usa continue; if (pset->infos[i].cur_flags != info.flags) continue; - if (pset->infos[i].type != info.nat_type->generic_ptype) -continue; - memcpy([pno], >infos[i], - sizeof(ninfos[pno])); - ninfos[pno].cur_part_id = pno; - break; + if ((info.fs_type != FS_UNUSED && + info.fs_type == pset->infos[i].fs_type) || + (pset->infos[i].type == + info.nat_type->generic_ptype)) { +memcpy([pno], >infos[i], +sizeof(ninfos[pno])); +ninfos[pno].cur_part_id = pno; +break; + } } }
CVS commit: src/usr.sbin/sysinst
Module Name:src Committed By: martin Date: Tue Oct 13 10:44:25 UTC 2020 Modified Files: src/usr.sbin/sysinst: bsddisklabel.c Log Message: Ooops, part of previous was not meant to be included yet To generate a diff of this commit: cvs rdiff -u -r1.54 -r1.55 src/usr.sbin/sysinst/bsddisklabel.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/bsddisklabel.c diff -u src/usr.sbin/sysinst/bsddisklabel.c:1.54 src/usr.sbin/sysinst/bsddisklabel.c:1.55 --- src/usr.sbin/sysinst/bsddisklabel.c:1.54 Tue Oct 13 10:43:23 2020 +++ src/usr.sbin/sysinst/bsddisklabel.c Tue Oct 13 10:44:25 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bsddisklabel.c,v 1.54 2020/10/13 10:43:23 martin Exp $ */ +/* $NetBSD: bsddisklabel.c,v 1.55 2020/10/13 10:44:25 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -1637,8 +1637,6 @@ apply_settings_to_partitions(struct disk infos[i].last_mounted = want->mount; infos[i].fs_type = want->fs_type; infos[i].fs_sub_type = want->fs_version; - infos[i].fs_opt1 = want->fs_opt1; - infos[i].fs_opt2 = want->fs_opt2; if (wanted->parts->pscheme->add_outer_partition != NULL)
CVS commit: src/usr.sbin/sysinst
Module Name:src Committed By: martin Date: Tue Oct 13 10:43:23 UTC 2020 Modified Files: src/usr.sbin/sysinst: bsddisklabel.c Log Message: Before forcing MBR partitions into our disklabel, make sure they are not there yet - could happen in various paths when reusing existing partitions (or parts of that) - previously we would blindly duplicate identical partitions. To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 src/usr.sbin/sysinst/bsddisklabel.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/sysinst/bsddisklabel.c diff -u src/usr.sbin/sysinst/bsddisklabel.c:1.53 src/usr.sbin/sysinst/bsddisklabel.c:1.54 --- src/usr.sbin/sysinst/bsddisklabel.c:1.53 Mon Oct 12 16:27:23 2020 +++ src/usr.sbin/sysinst/bsddisklabel.c Tue Oct 13 10:43:23 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bsddisklabel.c,v 1.53 2020/10/12 16:27:23 martin Exp $ */ +/* $NetBSD: bsddisklabel.c,v 1.54 2020/10/13 10:43:23 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -1615,26 +1615,44 @@ apply_settings_to_partitions(struct disk (PUIFLG_ADD_INNER|PUIFLG_IS_OUTER)) continue; - infos[i].start = want->cur_start; - infos[i].size = want->size; - infos[i].nat_type = wanted->parts->pscheme->get_fs_part_type( - want->type, want->fs_type, want->fs_version); - infos[i].last_mounted = want->mount; - infos[i].fs_type = want->fs_type; - infos[i].fs_sub_type = want->fs_version; - - if (wanted->parts->pscheme->add_outer_partition - != NULL) - new_part_id = wanted->parts->pscheme-> - add_outer_partition( - wanted->parts, [i], NULL); - else - new_part_id = wanted->parts->pscheme-> - add_partition( - wanted->parts, [i], NULL); + new_part_id = NO_PART; + for (part_id j = 0; new_part_id == NO_PART && + j < wanted->parts->num_part; j++) { + struct disk_part_info test; + + if (!wanted->parts->pscheme->get_part_info( + wanted->parts, j, )) +continue; + if (test.start == want->cur_start && + test.size == want->size) +new_part_id = j; + } + + if (new_part_id == NO_PART) { + infos[i].start = want->cur_start; + infos[i].size = want->size; + infos[i].nat_type = wanted->parts->pscheme-> + get_fs_part_type(want->type, want->fs_type, + want->fs_version); + infos[i].last_mounted = want->mount; + infos[i].fs_type = want->fs_type; + infos[i].fs_sub_type = want->fs_version; + infos[i].fs_opt1 = want->fs_opt1; + infos[i].fs_opt2 = want->fs_opt2; + + if (wanted->parts->pscheme->add_outer_partition + != NULL) +new_part_id = wanted->parts->pscheme-> +add_outer_partition( +wanted->parts, [i], NULL); + else +new_part_id = wanted->parts->pscheme-> +add_partition( +wanted->parts, [i], NULL); - if (new_part_id == NO_PART) - continue; /* failed to add, skip */ + if (new_part_id == NO_PART) +continue; /* failed to add, skip */ + } wanted->parts->pscheme->get_part_info( wanted->parts, new_part_id, [i]);
CVS commit: src/external/mit/ctwm/libexec
Module Name:src Committed By: rin Date: Tue Oct 13 09:10:38 UTC 2020 Modified Files: src/external/mit/ctwm/libexec: Makefile Log Message: Fix previous; do not override SCRIPTS so that ctwm_app_menu gets installed. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/external/mit/ctwm/libexec/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/mit/ctwm/libexec/Makefile diff -u src/external/mit/ctwm/libexec/Makefile:1.2 src/external/mit/ctwm/libexec/Makefile:1.3 --- src/external/mit/ctwm/libexec/Makefile:1.2 Mon Oct 12 11:07:24 2020 +++ src/external/mit/ctwm/libexec/Makefile Tue Oct 13 09:10:38 2020 @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.2 2020/10/12 11:07:24 nia Exp $ +# $NetBSD: Makefile,v 1.3 2020/10/13 09:10:38 rin Exp $ .include SCRIPTS= ctwm_app_menu -SCRIPTS= ctwm_font_size +SCRIPTS+= ctwm_font_size SCRIPTSDIR= ${X11ROOTDIR}/libexec
CVS commit: src/tests/dev/audio
Module Name:src Committed By: rin Date: Tue Oct 13 09:00:17 UTC 2020 Modified Files: src/tests/dev/audio: audiotest.c Log Message: Argument for AUDIO_WSEEK ioctl is u_long, not int. Fix false positive for aarch64eb (LP64BE): AUDIO_WSEEK, failed, Line 4467: n expects 4 but 0 To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/tests/dev/audio/audiotest.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/dev/audio/audiotest.c diff -u src/tests/dev/audio/audiotest.c:1.12 src/tests/dev/audio/audiotest.c:1.13 --- src/tests/dev/audio/audiotest.c:1.12 Fri Jun 26 07:50:12 2020 +++ src/tests/dev/audio/audiotest.c Tue Oct 13 09:00:17 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: audiotest.c,v 1.12 2020/06/26 07:50:12 jruoho Exp $ */ +/* $NetBSD: audiotest.c,v 1.13 2020/10/13 09:00:17 rin Exp $ */ /* * Copyright (C) 2019 Tetsuya Isaki. All rights reserved. @@ -26,7 +26,7 @@ */ #include -__RCSID("$NetBSD: audiotest.c,v 1.12 2020/06/26 07:50:12 jruoho Exp $"); +__RCSID("$NetBSD: audiotest.c,v 1.13 2020/10/13 09:00:17 rin Exp $"); #include #include @@ -4430,7 +4430,7 @@ DEF(AUDIO_WSEEK) struct audio_info ai; int r; int fd; - int n; + u_long n; TEST("AUDIO_WSEEK");
CVS commit: src/external/gpl3/gcc/dist/gcc/config/aarch64
Module Name:src Committed By: rin Date: Tue Oct 13 07:12:00 UTC 2020 Modified Files: src/external/gpl3/gcc/dist/gcc/config/aarch64: driver-aarch64.c Log Message: Reduce diff with upstream a bit. No functional changes. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 \ src/external/gpl3/gcc/dist/gcc/config/aarch64/driver-aarch64.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/gcc/config/aarch64/driver-aarch64.c diff -u src/external/gpl3/gcc/dist/gcc/config/aarch64/driver-aarch64.c:1.9 src/external/gpl3/gcc/dist/gcc/config/aarch64/driver-aarch64.c:1.10 --- src/external/gpl3/gcc/dist/gcc/config/aarch64/driver-aarch64.c:1.9 Sat Sep 5 09:12:25 2020 +++ src/external/gpl3/gcc/dist/gcc/config/aarch64/driver-aarch64.c Tue Oct 13 07:12:00 2020 @@ -177,19 +177,19 @@ host_detect_local_cpu (int argc, const c const char *res = NULL; static const int num_exts = ARRAY_SIZE (aarch64_extensions); char buf[128]; + FILE *f = NULL; bool arch = false; bool tune = false; bool cpu = false; unsigned int i = 0; + unsigned char imp = INVALID_IMP; unsigned int cores[2] = { INVALID_CORE, INVALID_CORE }; unsigned int n_cores = 0; unsigned int variants[2] = { ALL_VARIANTS, ALL_VARIANTS }; unsigned int n_variants = 0; - unsigned char imp = INVALID_IMP; bool processed_exts = false; unsigned long extension_flags = 0; unsigned long default_flags = 0; - FILE *f = NULL; gcc_assert (argc);
CVS commit: src/sys/arch/aarch64/aarch64
Module Name:src Committed By: rin Date: Tue Oct 13 07:04:49 UTC 2020 Modified Files: src/sys/arch/aarch64/aarch64: exec_machdep.c Log Message: BE32 binaries are no longer supported for ARMv7 and later, and therefore for aarch64eb. Reject them with ENOEXEC, rather than causing illegal instruction exceptions due to unexpected binary format. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/aarch64/aarch64/exec_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/aarch64/aarch64/exec_machdep.c diff -u src/sys/arch/aarch64/aarch64/exec_machdep.c:1.7 src/sys/arch/aarch64/aarch64/exec_machdep.c:1.8 --- src/sys/arch/aarch64/aarch64/exec_machdep.c:1.7 Sat May 23 18:08:59 2020 +++ src/sys/arch/aarch64/aarch64/exec_machdep.c Tue Oct 13 07:04:49 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: exec_machdep.c,v 1.7 2020/05/23 18:08:59 ryo Exp $ */ +/* $NetBSD: exec_machdep.c,v 1.8 2020/10/13 07:04:49 rin Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include -__KERNEL_RCSID(1, "$NetBSD: exec_machdep.c,v 1.7 2020/05/23 18:08:59 ryo Exp $"); +__KERNEL_RCSID(1, "$NetBSD: exec_machdep.c,v 1.8 2020/10/13 07:04:49 rin Exp $"); #include "opt_compat_netbsd.h" #include "opt_compat_netbsd32.h" @@ -77,6 +77,11 @@ aarch64_netbsd_elf32_probe(struct lwp *l /* OABI not support */ if (!elf_aapcs_p) return ENOEXEC; +#ifdef __AARCH64EB__ + /* BE32 not support */ + if ((eh->e_flags & EF_ARM_BE8) == 0) + return ENOEXEC; +#endif /* * require aarch32 feature.
CVS commit: src/tests/lib/libc/sys
Module Name:src Committed By: rin Date: Tue Oct 13 06:58:57 UTC 2020 Modified Files: src/tests/lib/libc/sys: t_setrlimit.c Log Message: Bump soft/hard limits for stack to 6MB for aarch64{,eb}, where old value (~4MB) is too small to be accepted. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/tests/lib/libc/sys/t_setrlimit.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/sys/t_setrlimit.c diff -u src/tests/lib/libc/sys/t_setrlimit.c:1.6 src/tests/lib/libc/sys/t_setrlimit.c:1.7 --- src/tests/lib/libc/sys/t_setrlimit.c:1.6 Fri Jan 13 21:16:38 2017 +++ src/tests/lib/libc/sys/t_setrlimit.c Tue Oct 13 06:58:57 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: t_setrlimit.c,v 1.6 2017/01/13 21:16:38 christos Exp $ */ +/* $NetBSD: t_setrlimit.c,v 1.7 2020/10/13 06:58:57 rin Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include -__RCSID("$NetBSD: t_setrlimit.c,v 1.6 2017/01/13 21:16:38 christos Exp $"); +__RCSID("$NetBSD: t_setrlimit.c,v 1.7 2020/10/13 06:58:57 rin Exp $"); #include #include @@ -517,7 +517,7 @@ ATF_TC_BODY(setrlimit_stack, tc) struct rlimit res; /* Ensure soft limit is not bigger than hard limit */ - res.rlim_cur = res.rlim_max = 4192256; + res.rlim_cur = res.rlim_max = 6 * 1024 * 1024; ATF_REQUIRE(setrlimit(RLIMIT_STACK, ) == 0); ATF_REQUIRE(getrlimit(RLIMIT_STACK, ) == 0); ATF_CHECK(res.rlim_cur <= res.rlim_max);
CVS commit: src/tests/lib/libc/gen
Module Name:src Committed By: rin Date: Tue Oct 13 06:55:25 UTC 2020 Modified Files: src/tests/lib/libc/gen: t_siginfo.c Log Message: For aarch64eb, no SIGBUS signal for unaligned accesses. Convert to preprocessor directives. To generate a diff of this commit: cvs rdiff -u -r1.41 -r1.42 src/tests/lib/libc/gen/t_siginfo.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/gen/t_siginfo.c diff -u src/tests/lib/libc/gen/t_siginfo.c:1.41 src/tests/lib/libc/gen/t_siginfo.c:1.42 --- src/tests/lib/libc/gen/t_siginfo.c:1.41 Mon Aug 24 06:55:16 2020 +++ src/tests/lib/libc/gen/t_siginfo.c Tue Oct 13 06:55:25 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: t_siginfo.c,v 1.41 2020/08/24 06:55:16 gson Exp $ */ +/* $NetBSD: t_siginfo.c,v 1.42 2020/10/13 06:55:25 rin Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -476,9 +476,10 @@ ATF_TC_BODY(sigbus_adraln, tc) /* m68k (except sun2) never issue SIGBUS (PR lib/49653), * same for armv8 or newer */ - if (strcmp(MACHINE_ARCH, "m68k") == 0 || - strcmp(MACHINE_ARCH, "aarch64") == 0) - atf_tc_skip("No SIGBUS signal for unaligned accesses"); +#if (defined(__m68k__) && !defined(__mc68010__)) || \ +defined(__aarch64__) + atf_tc_skip("No SIGBUS signal for unaligned accesses"); +#endif sa.sa_flags = SA_SIGINFO; sa.sa_sigaction = sigbus_action;
CVS commit: src/tests/usr.bin
Module Name:src Committed By: rin Date: Tue Oct 13 06:49:27 UTC 2020 Modified Files: src/tests/usr.bin/c++: t_call_once.sh t_cxxruntime.sh t_hello.sh t_pthread_once.sh t_static_destructor.sh src/tests/usr.bin/cc: t_hello.sh Log Message: Now, profiling works for GCC9 on aarch64{,eb}. Note that it seems to work even for GCC8, according to log data of official test runs, e.g., https://releng.netbsd.org/b5reports/evbarm-aarch64/2020/2020.09.01.15.45.20/test.log To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/tests/usr.bin/c++/t_call_once.sh \ src/tests/usr.bin/c++/t_pthread_once.sh \ src/tests/usr.bin/c++/t_static_destructor.sh cvs rdiff -u -r1.4 -r1.5 src/tests/usr.bin/c++/t_cxxruntime.sh \ src/tests/usr.bin/c++/t_hello.sh cvs rdiff -u -r1.9 -r1.10 src/tests/usr.bin/cc/t_hello.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/usr.bin/c++/t_call_once.sh diff -u src/tests/usr.bin/c++/t_call_once.sh:1.3 src/tests/usr.bin/c++/t_call_once.sh:1.4 --- src/tests/usr.bin/c++/t_call_once.sh:1.3 Tue Feb 11 06:26:19 2020 +++ src/tests/usr.bin/c++/t_call_once.sh Tue Oct 13 06:49:27 2020 @@ -1,4 +1,4 @@ -# $NetBSD: t_call_once.sh,v 1.3 2020/02/11 06:26:19 riastradh Exp $ +# $NetBSD: t_call_once.sh,v 1.4 2020/10/13 06:49:27 rin Exp $ # # Copyright (c) 2018 The NetBSD Foundation, Inc. # All rights reserved. @@ -112,11 +112,6 @@ int main(void) { } EOF atf_check -s exit:0 -o ignore -e ignore c++ -pg -o call_once test.cpp -pthread - case `uname -p` in - aarch64) - atf_expect_fail 'cc -pg is busted on aarch64' - ;; - esac atf_check -s exit:0 -o inline:"hello, world!\n" ./call_once } @@ -233,11 +228,6 @@ EOF atf_check -s exit:0 -o ignore -e ignore \ c++ -pg -o call_once test.cpp -L. -ltest -pthread - case `uname -p` in - aarch64) - atf_expect_fail 'cc -pg is busted on aarch64' - ;; - esac export LD_LIBRARY_PATH=. atf_check -s exit:0 -o inline:"hello, world!\n" ./call_once } Index: src/tests/usr.bin/c++/t_pthread_once.sh diff -u src/tests/usr.bin/c++/t_pthread_once.sh:1.3 src/tests/usr.bin/c++/t_pthread_once.sh:1.4 --- src/tests/usr.bin/c++/t_pthread_once.sh:1.3 Tue Feb 11 06:26:19 2020 +++ src/tests/usr.bin/c++/t_pthread_once.sh Tue Oct 13 06:49:27 2020 @@ -1,4 +1,4 @@ -# $NetBSD: t_pthread_once.sh,v 1.3 2020/02/11 06:26:19 riastradh Exp $ +# $NetBSD: t_pthread_once.sh,v 1.4 2020/10/13 06:49:27 rin Exp $ # # Copyright (c) 2018 The NetBSD Foundation, Inc. # All rights reserved. @@ -110,11 +110,6 @@ int main(void) { } EOF atf_check -s exit:0 -o ignore -e ignore c++ -pg -o pthread_once test.cpp -pthread - case `uname -p` in - aarch64) - atf_expect_fail 'cc -pg is busted on aarch64' - ;; - esac atf_check -s exit:0 -o inline:"hello, world!\n" ./pthread_once } @@ -227,11 +222,6 @@ EOF atf_check -s exit:0 -o ignore -e ignore \ c++ -pg -o pthread_once test.cpp -L. -ltest -pthread - case `uname -p` in - aarch64) - atf_expect_fail 'cc -pg is busted on aarch64' - ;; - esac export LD_LIBRARY_PATH=. atf_check -s exit:0 -o inline:"hello, world!\n" ./pthread_once } Index: src/tests/usr.bin/c++/t_static_destructor.sh diff -u src/tests/usr.bin/c++/t_static_destructor.sh:1.3 src/tests/usr.bin/c++/t_static_destructor.sh:1.4 --- src/tests/usr.bin/c++/t_static_destructor.sh:1.3 Tue Feb 11 06:26:19 2020 +++ src/tests/usr.bin/c++/t_static_destructor.sh Tue Oct 13 06:49:27 2020 @@ -1,4 +1,4 @@ -# $NetBSD: t_static_destructor.sh,v 1.3 2020/02/11 06:26:19 riastradh Exp $ +# $NetBSD: t_static_destructor.sh,v 1.4 2020/10/13 06:49:27 rin Exp $ # # Copyright (c) 2017 The NetBSD Foundation, Inc. # All rights reserved. @@ -123,11 +123,6 @@ struct B { int main(void) {struct B b;return 0;} EOF atf_check -s exit:0 -o ignore -e ignore c++ -pg -o hello test.cpp - case `uname -p` in - aarch64) - atf_expect_fail 'cc -pg is busted on aarch64' - ;; - esac atf_check -s exit:0 -o inline:"CTOR A\nCTOR B\nDTOR B:10\nDTOR A:20\n" ./hello } @@ -280,11 +275,6 @@ EOF atf_check -s exit:0 -o ignore -e ignore \ c++ -pg -o hello test.cpp -L. -ltest - case `uname -p` in - aarch64) - atf_expect_fail 'cc -pg is busted on aarch64' - ;; - esac export LD_LIBRARY_PATH=. atf_check -s exit:0 -o inline:"CTOR A\nCTOR B\nDTOR B:10\nDTOR A:20\n" ./hello } Index: src/tests/usr.bin/c++/t_cxxruntime.sh diff -u src/tests/usr.bin/c++/t_cxxruntime.sh:1.4 src/tests/usr.bin/c++/t_cxxruntime.sh:1.5 --- src/tests/usr.bin/c++/t_cxxruntime.sh:1.4 Tue Feb 11 06:26:19 2020 +++ src/tests/usr.bin/c++/t_cxxruntime.sh Tue Oct 13 06:49:27 2020 @@ -1,4 +1,4 @@ -# $NetBSD: t_cxxruntime.sh,v 1.4 2020/02/11 06:26:19 riastradh Exp $ +# $NetBSD: t_cxxruntime.sh,v 1.5 2020/10/13 06:49:27 rin Exp $ # # Copyright (c) 2017 The NetBSD Foundation, Inc. # All rights reserved. @@ -105,11 +105,6 @@ cxxruntime_profile_body() { int main(void)