From owner-svn-src-all@freebsd.org Sun Jul 26 00:45:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD8853764D3; Sun, 26 Jul 2020 00:45:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDkjp5WBJz3cLb; Sun, 26 Jul 2020 00:45:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 863C82437E; Sun, 26 Jul 2020 00:45:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q0j27m076617; Sun, 26 Jul 2020 00:45:02 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q0j0M7076605; Sun, 26 Jul 2020 00:45:00 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202007260045.06Q0j0M7076605@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sun, 26 Jul 2020 00:45:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363537 - head/sys/geom/label X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/sys/geom/label X-SVN-Commit-Revision: 363537 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 00:45:02 -0000 Author: delphij Date: Sun Jul 26 00:44:59 2020 New Revision: 363537 URL: https://svnweb.freebsd.org/changeset/base/363537 Log: geom_label: Make glabel labels more trivial by separating the tasting routines out. While there, also simplify the creation of label paths a little bit by requiring the / suffix for label directory prefixes (ld_dir renamed to ld_dirprefix to indicate the change) and stop defining macros for these when they are only used once. Reviewed by: cem MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25597 Modified: head/sys/geom/label/g_label.c head/sys/geom/label/g_label.h head/sys/geom/label/g_label_disk_ident.c head/sys/geom/label/g_label_ext2fs.c head/sys/geom/label/g_label_flashmap.c head/sys/geom/label/g_label_gpt.c head/sys/geom/label/g_label_iso9660.c head/sys/geom/label/g_label_msdosfs.c head/sys/geom/label/g_label_ntfs.c head/sys/geom/label/g_label_reiserfs.c head/sys/geom/label/g_label_ufs.c Modified: head/sys/geom/label/g_label.c ============================================================================== --- head/sys/geom/label/g_label.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label.c Sun Jul 26 00:44:59 2020 (r363537) @@ -63,9 +63,12 @@ static int g_label_destroy_geom(struct gctl_req *req, static int g_label_destroy(struct g_geom *gp, boolean_t force); static struct g_geom *g_label_taste(struct g_class *mp, struct g_provider *pp, int flags __unused); +static void g_label_generic_taste(struct g_consumer *, char *, size_t); static void g_label_config(struct gctl_req *req, struct g_class *mp, const char *verb); +#define G_LABEL_DIRPREFIX "label/" + struct g_class g_label_class = { .name = G_LABEL_CLASS_NAME, .version = G_VERSION, @@ -74,6 +77,12 @@ struct g_class g_label_class = { .destroy_geom = g_label_destroy_geom }; +static struct g_label_desc g_label_generic = { + .ld_taste = g_label_generic_taste, + .ld_dirprefix = G_LABEL_DIRPREFIX, + .ld_enabled = 1 +}; + /* * To add a new file system where you want to look for volume labels, * you have to: @@ -99,6 +108,7 @@ const struct g_label_desc *g_labels[] = { &g_label_disk_ident, &g_label_flashmap, #endif + &g_label_generic, NULL }; @@ -213,7 +223,7 @@ g_label_mangle_name(char *label, size_t size) static struct g_geom * g_label_create(struct gctl_req *req, struct g_class *mp, struct g_provider *pp, - const char *label, const char *dir, off_t mediasize) + const char *label, const char *dirprefix, off_t mediasize) { struct g_geom *gp; struct g_provider *pp2; @@ -232,7 +242,7 @@ g_label_create(struct gctl_req *req, struct g_class *m } gp = NULL; cp = NULL; - if (snprintf(name, sizeof(name), "%s/%s", dir, label) >= sizeof(name)) { + if (snprintf(name, sizeof(name), "%s%s", dirprefix, label) >= sizeof(name)) { if (req != NULL) gctl_error(req, "Label name %s is too long.", label); return (NULL); @@ -300,13 +310,9 @@ g_label_read_metadata(struct g_consumer *cp, struct g_ u_char *buf; int error; - g_topology_assert(); - pp = cp->provider; - g_topology_unlock(); buf = g_read_data(cp, pp->mediasize - pp->sectorsize, pp->sectorsize, &error); - g_topology_lock(); if (buf == NULL) return (error); /* Decode metadata. */ @@ -339,12 +345,43 @@ g_label_access_taste(struct g_provider *pp __unused, i return (EOPNOTSUPP); } +static void +g_label_generic_taste(struct g_consumer *cp, char *label, size_t size) +{ + struct g_provider *pp; + struct g_label_metadata md; + + g_topology_assert_not(); + label[0] = '\0'; + pp = cp->provider; + + if (g_label_read_metadata(cp, &md) != 0) + return; + + if (strcmp(md.md_magic, G_LABEL_MAGIC) != 0) + return; + + if (md.md_version > G_LABEL_VERSION) { + printf("geom_label.ko module is too old to handle %s.\n", + pp->name); + return; + } + /* + * Backward compatibility: there was no md_provsize field in + * earlier versions of metadata, so only check if we have it. + */ + if (md.md_version >= 2 && md.md_provsize != pp->mediasize) + return; + + strlcpy(label, md.md_label, size); +} + static struct g_geom * g_label_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) { - struct g_label_metadata md; struct g_consumer *cp; struct g_geom *gp; + off_t mediasize; int i; g_trace(G_T_TOPOLOGY, "%s(%s, %s)", __func__, mp->name, pp->name); @@ -367,33 +404,6 @@ g_label_taste(struct g_class *mp, struct g_provider *p g_attach(cp, pp); if (g_access(cp, 1, 0, 0) != 0) goto end; - do { - if (g_label_read_metadata(cp, &md) != 0) - break; - if (strcmp(md.md_magic, G_LABEL_MAGIC) != 0) - break; - if (md.md_version > G_LABEL_VERSION) { - printf("geom_label.ko module is too old to handle %s.\n", - pp->name); - break; - } - - /* - * Backward compatibility: - */ - /* - * There was no md_provsize field in earlier versions of - * metadata. - */ - if (md.md_version < 2) - md.md_provsize = pp->mediasize; - - if (md.md_provsize != pp->mediasize) - break; - - g_label_create(NULL, mp, pp, md.md_label, G_LABEL_DIR, - pp->mediasize - pp->sectorsize); - } while (0); for (i = 0; g_labels[i] != NULL; i++) { char label[128]; @@ -405,8 +415,13 @@ g_label_taste(struct g_class *mp, struct g_provider *p g_topology_lock(); if (label[0] == '\0') continue; - g_label_create(NULL, mp, pp, label, g_labels[i]->ld_dir, - pp->mediasize); + if (g_labels[i] != &g_label_generic) { + mediasize = pp->mediasize; + } else { + mediasize = pp->mediasize - pp->sectorsize; + } + g_label_create(NULL, mp, pp, label, + g_labels[i]->ld_dirprefix, mediasize); } g_access(cp, -1, 0, 0); end: @@ -448,23 +463,20 @@ g_label_ctl_create(struct gctl_req *req, struct g_clas gctl_error(req, "No 'arg%d' argument", 0); return; } - g_label_create(req, mp, pp, name, G_LABEL_DIR, pp->mediasize); + g_label_create(req, mp, pp, name, G_LABEL_DIRPREFIX, pp->mediasize); } static const char * g_label_skip_dir(const char *name) { - char path[64]; u_int i; if (strncmp(name, _PATH_DEV, strlen(_PATH_DEV)) == 0) name += strlen(_PATH_DEV); - if (strncmp(name, G_LABEL_DIR "/", strlen(G_LABEL_DIR "/")) == 0) - name += strlen(G_LABEL_DIR "/"); for (i = 0; g_labels[i] != NULL; i++) { - snprintf(path, sizeof(path), "%s/", g_labels[i]->ld_dir); - if (strncmp(name, path, strlen(path)) == 0) { - name += strlen(path); + if (strncmp(name, g_labels[i]->ld_dirprefix, + strlen(g_labels[i]->ld_dirprefix)) == 0) { + name += strlen(g_labels[i]->ld_dirprefix); break; } } Modified: head/sys/geom/label/g_label.h ============================================================================== --- head/sys/geom/label/g_label.h Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label.h Sun Jul 26 00:44:59 2020 (r363537) @@ -45,7 +45,6 @@ * 2 - Added md_provsize field to metadata. */ #define G_LABEL_VERSION 2 -#define G_LABEL_DIR "label" #ifdef _KERNEL extern u_int g_label_debug; @@ -66,7 +65,7 @@ typedef void g_label_taste_t (struct g_consumer *cp, c struct g_label_desc { g_label_taste_t *ld_taste; - char *ld_dir; + char *ld_dirprefix; int ld_enabled; }; Modified: head/sys/geom/label/g_label_disk_ident.c ============================================================================== --- head/sys/geom/label/g_label_disk_ident.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label_disk_ident.c Sun Jul 26 00:44:59 2020 (r363537) @@ -40,8 +40,6 @@ __FBSDID("$FreeBSD$"); #include -#define G_LABEL_DISK_IDENT_DIR "diskid" - static char* classes_pass[] = { G_DISK_CLASS_NAME, G_MULTIPATH_CLASS_NAME, NULL }; @@ -82,7 +80,7 @@ g_label_disk_ident_taste(struct g_consumer *cp, char * struct g_label_desc g_label_disk_ident = { .ld_taste = g_label_disk_ident_taste, - .ld_dir = G_LABEL_DISK_IDENT_DIR, + .ld_dirprefix = "diskid/", .ld_enabled = 1 }; Modified: head/sys/geom/label/g_label_ext2fs.c ============================================================================== --- head/sys/geom/label/g_label_ext2fs.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label_ext2fs.c Sun Jul 26 00:44:59 2020 (r363537) @@ -97,7 +97,7 @@ exit_free: struct g_label_desc g_label_ext2fs = { .ld_taste = g_label_ext2fs_taste, - .ld_dir = "ext2fs", + .ld_dirprefix = "ext2fs/", .ld_enabled = 1 }; Modified: head/sys/geom/label/g_label_flashmap.c ============================================================================== --- head/sys/geom/label/g_label_flashmap.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label_flashmap.c Sun Jul 26 00:44:59 2020 (r363537) @@ -39,8 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include -#define G_LABEL_FLASHMAP_SLICE_DIR "flash" - static void g_label_flashmap_taste(struct g_consumer *cp, char *label, size_t size) { @@ -70,7 +68,7 @@ g_label_flashmap_taste(struct g_consumer *cp, char *la struct g_label_desc g_label_flashmap = { .ld_taste = g_label_flashmap_taste, - .ld_dir = G_LABEL_FLASHMAP_SLICE_DIR, + .ld_dirprefix = "flash/", .ld_enabled = 1 }; Modified: head/sys/geom/label/g_label_gpt.c ============================================================================== --- head/sys/geom/label/g_label_gpt.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label_gpt.c Sun Jul 26 00:44:59 2020 (r363537) @@ -44,9 +44,6 @@ __FBSDID("$FreeBSD$"); #define PART_CLASS_NAME "PART" #define SCHEME_NAME "GPT" -#define G_LABEL_GPT_VOLUME_DIR "gpt" -#define G_LABEL_GPT_ID_DIR "gptid" - /* XXX: Also defined in geom/part/g_part_gpt.c */ struct g_part_gpt_entry { struct g_part_entry base; @@ -158,13 +155,13 @@ g_label_gpt_uuid_taste(struct g_consumer *cp, char *la struct g_label_desc g_label_gpt = { .ld_taste = g_label_gpt_taste, - .ld_dir = G_LABEL_GPT_VOLUME_DIR, + .ld_dirprefix = "gpt/", .ld_enabled = 1 }; struct g_label_desc g_label_gpt_uuid = { .ld_taste = g_label_gpt_uuid_taste, - .ld_dir = G_LABEL_GPT_ID_DIR, + .ld_dirprefix = "gptid/", .ld_enabled = 1 }; Modified: head/sys/geom/label/g_label_iso9660.c ============================================================================== --- head/sys/geom/label/g_label_iso9660.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label_iso9660.c Sun Jul 26 00:44:59 2020 (r363537) @@ -38,8 +38,6 @@ __FBSDID("$FreeBSD$"); #include #include -#define G_LABEL_ISO9660_DIR "iso9660" - #define ISO9660_MAGIC "\x01" "CD001" "\x01\x00" #define ISO9660_OFFSET 0x8000 #define VOLUME_LEN 32 @@ -75,7 +73,7 @@ g_label_iso9660_taste(struct g_consumer *cp, char *lab struct g_label_desc g_label_iso9660 = { .ld_taste = g_label_iso9660_taste, - .ld_dir = G_LABEL_ISO9660_DIR, + .ld_dirprefix = "iso9660/", .ld_enabled = 1 }; Modified: head/sys/geom/label/g_label_msdosfs.c ============================================================================== --- head/sys/geom/label/g_label_msdosfs.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label_msdosfs.c Sun Jul 26 00:44:59 2020 (r363537) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include -#define G_LABEL_MSDOSFS_DIR "msdosfs" #define LABEL_NO_NAME "NO NAME " static void @@ -213,7 +212,7 @@ error: struct g_label_desc g_label_msdosfs = { .ld_taste = g_label_msdosfs_taste, - .ld_dir = G_LABEL_MSDOSFS_DIR, + .ld_dirprefix = "msdosfs/", .ld_enabled = 1 }; Modified: head/sys/geom/label/g_label_ntfs.c ============================================================================== --- head/sys/geom/label/g_label_ntfs.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label_ntfs.c Sun Jul 26 00:44:59 2020 (r363537) @@ -41,8 +41,6 @@ __FBSDID("$FreeBSD$"); #define NTFS_FILEMAGIC ((uint32_t)(0x454C4946)) #define NTFS_VOLUMEINO 3 -#define G_LABEL_NTFS_DIR "ntfs" - struct ntfs_attr { uint32_t a_type; uint32_t reclen; @@ -170,7 +168,7 @@ done: struct g_label_desc g_label_ntfs = { .ld_taste = g_label_ntfs_taste, - .ld_dir = G_LABEL_NTFS_DIR, + .ld_dirprefix = "ntfs/", .ld_enabled = 1 }; Modified: head/sys/geom/label/g_label_reiserfs.c ============================================================================== --- head/sys/geom/label/g_label_reiserfs.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label_reiserfs.c Sun Jul 26 00:44:59 2020 (r363537) @@ -116,7 +116,7 @@ exit_free: struct g_label_desc g_label_reiserfs = { .ld_taste = g_label_reiserfs_taste, - .ld_dir = "reiserfs", + .ld_dirprefix = "reiserfs/", .ld_enabled = 1 }; Modified: head/sys/geom/label/g_label_ufs.c ============================================================================== --- head/sys/geom/label/g_label_ufs.c Sat Jul 25 23:08:51 2020 (r363536) +++ head/sys/geom/label/g_label_ufs.c Sun Jul 26 00:44:59 2020 (r363537) @@ -45,9 +45,6 @@ __FBSDID("$FreeBSD$"); #include #include -#define G_LABEL_UFS_VOLUME_DIR "ufs" -#define G_LABEL_UFS_ID_DIR "ufsid" - #define G_LABEL_UFS_VOLUME 0 #define G_LABEL_UFS_ID 1 @@ -142,13 +139,13 @@ g_label_ufs_id_taste(struct g_consumer *cp, char *labe struct g_label_desc g_label_ufs_volume = { .ld_taste = g_label_ufs_volume_taste, - .ld_dir = G_LABEL_UFS_VOLUME_DIR, + .ld_dirprefix = "ufs/", .ld_enabled = 1 }; struct g_label_desc g_label_ufs_id = { .ld_taste = g_label_ufs_id_taste, - .ld_dir = G_LABEL_UFS_ID_DIR, + .ld_dirprefix = "ufsid/", .ld_enabled = 1 }; From owner-svn-src-all@freebsd.org Sun Jul 26 01:04:53 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C85F3376216; Sun, 26 Jul 2020 01:04:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDl8j4mfbz3cnZ; Sun, 26 Jul 2020 01:04:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8723C24B97; Sun, 26 Jul 2020 01:04:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q14rgD088983; Sun, 26 Jul 2020 01:04:53 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q14rkD088982; Sun, 26 Jul 2020 01:04:53 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202007260104.06Q14rkD088982@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 26 Jul 2020 01:04:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363538 - stable/12/sys/amd64/amd64 X-SVN-Group: stable-12 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/12/sys/amd64/amd64 X-SVN-Commit-Revision: 363538 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 01:04:53 -0000 Author: kib Date: Sun Jul 26 01:04:53 2020 New Revision: 363538 URL: https://svnweb.freebsd.org/changeset/base/363538 Log: MFC r363329: Simplify non-pti syscall entry on amd64. Modified: stable/12/sys/amd64/amd64/exception.S Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/amd64/amd64/exception.S ============================================================================== --- stable/12/sys/amd64/amd64/exception.S Sun Jul 26 00:44:59 2020 (r363537) +++ stable/12/sys/amd64/amd64/exception.S Sun Jul 26 01:04:53 2020 (r363538) @@ -524,17 +524,17 @@ prot_addrf: IDTVEC(fast_syscall_pti) swapgs lfence - movq %rax,PCPU(SCRATCH_RAX) cmpq $~0,PCPU(UCR3) je fast_syscall_common + movq %rax,PCPU(SCRATCH_RAX) movq PCPU(KCR3),%rax movq %rax,%cr3 + movq PCPU(SCRATCH_RAX),%rax jmp fast_syscall_common SUPERALIGN_TEXT IDTVEC(fast_syscall) swapgs lfence - movq %rax,PCPU(SCRATCH_RAX) fast_syscall_common: movq %rsp,PCPU(SCRATCH_RSP) movq PCPU(RSP0),%rsp @@ -545,7 +545,6 @@ fast_syscall_common: movq %rcx,TF_RIP(%rsp) /* %rcx original value is in %r10 */ movq PCPU(SCRATCH_RSP),%r11 /* %r11 already saved */ movq %r11,TF_RSP(%rsp) /* user stack pointer */ - movq PCPU(SCRATCH_RAX),%rax /* * Save a few arg registers early to free them for use in * handle_ibrs_entry(). %r10 is especially tricky. It is not an From owner-svn-src-all@freebsd.org Sun Jul 26 01:11:30 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CA6EC376C9A; Sun, 26 Jul 2020 01:11:30 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDlJL52vLz3dgt; Sun, 26 Jul 2020 01:11:30 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9076A24B77; Sun, 26 Jul 2020 01:11:30 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q1BUnw093717; Sun, 26 Jul 2020 01:11:30 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q1BUBY093716; Sun, 26 Jul 2020 01:11:30 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202007260111.06Q1BUBY093716@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 26 Jul 2020 01:11:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363539 - stable/12/sbin/nvmecontrol X-SVN-Group: stable-12 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/12/sbin/nvmecontrol X-SVN-Commit-Revision: 363539 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 01:11:30 -0000 Author: mav Date: Sun Jul 26 01:11:30 2020 New Revision: 363539 URL: https://svnweb.freebsd.org/changeset/base/363539 Log: MFC r363448: Add missing newlines. Modified: stable/12/sbin/nvmecontrol/identify.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sbin/nvmecontrol/identify.c ============================================================================== --- stable/12/sbin/nvmecontrol/identify.c Sun Jul 26 01:04:53 2020 (r363538) +++ stable/12/sbin/nvmecontrol/identify.c Sun Jul 26 01:11:30 2020 (r363539) @@ -151,15 +151,15 @@ print_namespace(struct nvme_namespace_data *nsdata) uint128_to_str(to128(nsdata->nvmcap), cbuf, sizeof(cbuf))); if ((nsdata->nsfeat >> NVME_NS_DATA_NSFEAT_NPVALID_SHIFT) & NVME_NS_DATA_NSFEAT_NPVALID_MASK) { - printf("Preferred Write Granularity: %u blocks", + printf("Preferred Write Granularity: %u blocks\n", nsdata->npwg + 1); - printf("Preferred Write Alignment: %u blocks", + printf("Preferred Write Alignment: %u blocks\n", nsdata->npwa + 1); - printf("Preferred Deallocate Granul: %u blocks", + printf("Preferred Deallocate Granul: %u blocks\n", nsdata->npdg + 1); - printf("Preferred Deallocate Align: %u blocks", + printf("Preferred Deallocate Align: %u blocks\n", nsdata->npda + 1); - printf("Optimal Write Size: %u blocks", + printf("Optimal Write Size: %u blocks\n", nsdata->nows + 1); } printf("Globally Unique Identifier: "); From owner-svn-src-all@freebsd.org Sun Jul 26 01:45:27 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D832E377DFF; Sun, 26 Jul 2020 01:45:27 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDm3W53kxz3gCx; Sun, 26 Jul 2020 01:45:27 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 918E424FD2; Sun, 26 Jul 2020 01:45:27 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q1jRM1014158; Sun, 26 Jul 2020 01:45:27 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q1jQKX014154; Sun, 26 Jul 2020 01:45:26 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202007260145.06Q1jQKX014154@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sun, 26 Jul 2020 01:45:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363540 - in head/sys/geom: . part virstor X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: in head/sys/geom: . part virstor X-SVN-Commit-Revision: 363540 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 01:45:27 -0000 Author: delphij Date: Sun Jul 26 01:45:26 2020 New Revision: 363540 URL: https://svnweb.freebsd.org/changeset/base/363540 Log: Use snprintf instead of sprintf. MFC after: 2 weeks Modified: head/sys/geom/geom_ccd.c head/sys/geom/part/g_part_vtoc8.c head/sys/geom/virstor/g_virstor.c Modified: head/sys/geom/geom_ccd.c ============================================================================== --- head/sys/geom/geom_ccd.c Sun Jul 26 01:11:30 2020 (r363539) +++ head/sys/geom/geom_ccd.c Sun Jul 26 01:45:26 2020 (r363540) @@ -771,7 +771,7 @@ g_ccd_create(struct gctl_req *req, struct g_class *mp) /* Check all providers are valid */ for (i = 0; i < *nprovider; i++) { - sprintf(buf, "provider%d", i); + snprintf(buf, sizeof(buf), "provider%d", i); pp = gctl_get_provider(req, buf); if (pp == NULL) return; @@ -788,7 +788,7 @@ g_ccd_create(struct gctl_req *req, struct g_class *mp) /* Create consumers and attach to all providers */ for (i = 0; i < *nprovider; i++) { - sprintf(buf, "provider%d", i); + snprintf(buf, sizeof(buf), "provider%d", i); pp = gctl_get_provider(req, buf); cp = g_new_consumer(gp); error = g_attach(cp, pp); Modified: head/sys/geom/part/g_part_vtoc8.c ============================================================================== --- head/sys/geom/part/g_part_vtoc8.c Sun Jul 26 01:11:30 2020 (r363539) +++ head/sys/geom/part/g_part_vtoc8.c Sun Jul 26 01:45:26 2020 (r363540) @@ -224,7 +224,8 @@ g_part_vtoc8_create(struct g_part_table *basetable, st ncyls = pcyls - acyls; msize = ncyls * table->secpercyl; - sprintf(table->vtoc.ascii, "FreeBSD%lldM cyl %u alt %u hd %u sec %u", + snprintf(table->vtoc.ascii, sizeof(table->vtoc.ascii), + "FreeBSD%lldM cyl %u alt %u hd %u sec %u", (long long)(msize / 2048), ncyls, acyls, basetable->gpt_heads, basetable->gpt_sectors); be32enc(&table->vtoc.version, VTOC_VERSION); @@ -338,7 +339,8 @@ vtoc8_set_rawsize(struct g_part_table *basetable, stru basetable->gpt_last = msize - 1; bzero(table->vtoc.ascii, sizeof(table->vtoc.ascii)); - sprintf(table->vtoc.ascii, "FreeBSD%lldM cyl %u alt %u hd %u sec %u", + snprintf(table->vtoc.ascii, sizeof(table->vtoc.ascii), + "FreeBSD%lldM cyl %u alt %u hd %u sec %u", (long long)(msize / 2048), ncyls, acyls, basetable->gpt_heads, basetable->gpt_sectors); be16enc(&table->vtoc.physcyls, pcyls); Modified: head/sys/geom/virstor/g_virstor.c ============================================================================== --- head/sys/geom/virstor/g_virstor.c Sun Jul 26 01:11:30 2020 (r363539) +++ head/sys/geom/virstor/g_virstor.c Sun Jul 26 01:45:26 2020 (r363540) @@ -227,7 +227,7 @@ virstor_ctl_stop(struct gctl_req *req, struct g_class struct g_virstor_softc *sc; int error; - sprintf(param, "arg%d", i); + snprintf(param, sizeof(param), "arg%d", i); name = gctl_get_asciiparam(req, param); if (name == NULL) { gctl_error(req, "No 'arg%d' argument", i); @@ -565,7 +565,7 @@ virstor_ctl_remove(struct gctl_req *req, struct g_clas int j, found; struct g_virstor_component *newcomp, *compbak; - sprintf(param, "arg%d", i); + snprintf(param, sizeof(param), "arg%d", i); prov_name = gctl_get_asciiparam(req, param); if (prov_name == NULL) { gctl_error(req, "Error fetching argument '%s'", param); From owner-svn-src-all@freebsd.org Sun Jul 26 02:42:10 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C81BA37A00A; Sun, 26 Jul 2020 02:42:10 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDnJy4ycZz40LS; Sun, 26 Jul 2020 02:42:10 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8DF84257DF; Sun, 26 Jul 2020 02:42:10 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q2gA68046680; Sun, 26 Jul 2020 02:42:10 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q2g9fA046676; Sun, 26 Jul 2020 02:42:09 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202007260242.06Q2g9fA046676@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sun, 26 Jul 2020 02:42:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363541 - in head/sys/fs: nfs nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 363541 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 02:42:10 -0000 Author: rmacklem Date: Sun Jul 26 02:42:09 2020 New Revision: 363541 URL: https://svnweb.freebsd.org/changeset/base/363541 Log: Add support for ext_pgs mbufs to nfsrv_adj(). This patch uses a slightly different algorithm for nfsrv_adj() since ext_pgs mbuf lists are not permitted to have m_len == 0 mbufs. As such, the code now frees mbufs after the adjustment in the list instead of setting their m_len field to 0. Since mbuf(s) may be trimmed off the tail of the list, the function now returns a pointer to the last mbuf in the list. This saves the caller from needing to use m_last() to find the last mbuf. It also implies that it might return a nul list, which required a check for that in nfsrvd_readlink(). This is another in the series of commits that add support to the NFS client and server for building RPC messages in ext_pgs mbufs with anonymous pages. This is useful so that the entire mbuf list does not need to be copied before calling sosend() when NFS over TLS is enabled. Use of ext_pgs mbufs will not be enabled until the kernel RPC is updated to handle TLS. Modified: head/sys/fs/nfs/nfs_var.h head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/fs/nfsserver/nfs_nfsdserv.c head/sys/fs/nfsserver/nfs_nfsdsubs.c Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Sun Jul 26 01:45:26 2020 (r363540) +++ head/sys/fs/nfs/nfs_var.h Sun Jul 26 02:42:09 2020 (r363541) @@ -391,7 +391,7 @@ int nfsv4_fillattr(struct nfsrv_descript *, struct mou struct vattr *, fhandle_t *, int, nfsattrbit_t *, struct ucred *, NFSPROC_T *, int, int, int, int, uint64_t, struct statfs *); void nfsrv_fillattr(struct nfsrv_descript *, struct nfsvattr *); -void nfsrv_adj(struct mbuf *, int, int); +struct mbuf *nfsrv_adj(struct mbuf *, int, int); void nfsrv_postopattr(struct nfsrv_descript *, int, struct nfsvattr *); int nfsd_errmap(struct nfsrv_descript *); void nfsv4_uidtostr(uid_t, u_char **, int *); Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sun Jul 26 01:45:26 2020 (r363540) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sun Jul 26 02:42:09 2020 (r363541) @@ -757,7 +757,12 @@ nfsvno_readlink(struct vnode *vp, struct ucred *cred, if (uiop->uio_resid > 0) { len -= uiop->uio_resid; tlen = NFSM_RNDUP(len); - nfsrv_adj(mp3, NFS_MAXPATHLEN - tlen, tlen - len); + if (tlen == 0) { + m_freem(mp3); + mp3 = mp = NULL; + } else if (tlen != NFS_MAXPATHLEN || tlen != len) + mp = nfsrv_adj(mp3, NFS_MAXPATHLEN - tlen, + tlen - len); } *lenp = len; *mpp = mp3; @@ -872,9 +877,9 @@ nfsvno_read(struct vnode *vp, off_t off, int cnt, stru tlen = NFSM_RNDUP(cnt); if (tlen == 0) { m_freem(m3); - m3 = NULL; + m3 = m = NULL; } else if (len != tlen || tlen != cnt) - nfsrv_adj(m3, len - tlen, tlen - cnt); + m = nfsrv_adj(m3, len - tlen, tlen - cnt); *mpp = m3; *mpendp = m; @@ -6247,7 +6252,11 @@ nfsvno_getxattr(struct vnode *vp, char *name, uint32_t tlen = NFSM_RNDUP(len); if (alen != tlen) printf("nfsvno_getxattr: weird size read\n"); - nfsrv_adj(m, alen - tlen, tlen - len); + if (tlen == 0) { + m_freem(m); + m = m2 = NULL; + } else if (alen != tlen || tlen != len) + m2 = nfsrv_adj(m, alen - tlen, tlen - len); } *lenp = len; *mpp = m; Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Sun Jul 26 01:45:26 2020 (r363540) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Sun Jul 26 02:42:09 2020 (r363541) @@ -690,9 +690,11 @@ nfsrvd_readlink(struct nfsrv_descript *nd, __unused in goto out; NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(len); - nd->nd_mb->m_next = mp; - nd->nd_mb = mpend; - nd->nd_bpos = mtod(mpend, caddr_t) + mpend->m_len; + if (mp != NULL) { + nd->nd_mb->m_next = mp; + nd->nd_mb = mpend; + nd->nd_bpos = mtod(mpend, caddr_t) + mpend->m_len; + } out: NFSEXITCODE2(0, nd); Modified: head/sys/fs/nfsserver/nfs_nfsdsubs.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdsubs.c Sun Jul 26 01:45:26 2020 (r363540) +++ head/sys/fs/nfsserver/nfs_nfsdsubs.c Sun Jul 26 02:42:09 2020 (r363541) @@ -1268,62 +1268,100 @@ static short *nfsrv_v4errmap[] = { }; /* - * A fiddled version of m_adj() that ensures null fill to a long - * boundary and only trims off the back end + * Trim tlen bytes off the end of the mbuf list and then ensure + * the end of the last mbuf is nul filled to a long boundary, + * as indicated by the value of "nul". + * Return the last mbuf in the updated list and free and mbufs + * that follow it in the original list. + * This is somewhat different than the old nfsrv_adj() with + * support for ext_pgs mbufs. It frees the remaining mbufs + * instead of setting them 0 length, since lists of ext_pgs + * mbufs are all expected to be non-empty. */ -void +struct mbuf * nfsrv_adj(struct mbuf *mp, int len, int nul) { - struct mbuf *m; - int count, i; + struct mbuf *m, *m2; + vm_page_t pg; + int i, lastlen, pgno, plen, tlen, trim; + uint16_t off; char *cp; /* - * Trim from tail. Scan the mbuf chain, - * calculating its length and finding the last mbuf. - * If the adjustment only affects this mbuf, then just - * adjust and return. Otherwise, rescan and truncate - * after the remaining size. + * Find the last mbuf after adjustment and + * how much it needs to be adjusted by. */ - count = 0; + tlen = 0; m = mp; for (;;) { - count += m->m_len; + tlen += m->m_len; if (m->m_next == NULL) break; m = m->m_next; } - if (m->m_len > len) { - m->m_len -= len; - if (nul > 0) { - cp = mtod(m, caddr_t) + m->m_len - nul; - for (i = 0; i < nul; i++) - *cp++ = '\0'; + /* m is now the last mbuf and tlen the total length. */ + + if (len >= m->m_len) { + /* Need to trim away the last mbuf(s). */ + i = tlen - len; + m = mp; + for (;;) { + if (m->m_len >= i) + break; + i -= m->m_len; + m = m->m_next; } - return; - } - count -= len; - if (count < 0) - count = 0; + lastlen = i; + } else + lastlen = m->m_len - len; + /* - * Correct length for chain is "count". - * Find the mbuf with last data, adjust its length, - * and toss data from remaining mbufs on chain. + * m is now the last mbuf after trimming and its length needs to + * be lastlen. + * Adjust the last mbuf and set cp to point to where nuls must be + * written. */ - for (m = mp; m; m = m->m_next) { - if (m->m_len >= count) { - m->m_len = count; - if (nul > 0) { - cp = mtod(m, caddr_t) + m->m_len - nul; - for (i = 0; i < nul; i++) - *cp++ = '\0'; + if ((m->m_flags & M_EXTPG) != 0) { + pgno = m->m_epg_npgs - 1; + off = (pgno == 0) ? m->m_epg_1st_off : 0; + plen = m_epg_pagelen(m, pgno, off); + if (m->m_len > lastlen) { + /* Trim this mbuf. */ + trim = m->m_len - lastlen; + while (trim >= plen) { + KASSERT(pgno > 0, + ("nfsrv_adj: freeing page 0")); + /* Free page. */ + pg = PHYS_TO_VM_PAGE(m->m_epg_pa[pgno]); + vm_page_unwire_noq(pg); + vm_page_free(pg); + trim -= plen; + m->m_epg_npgs--; + pgno--; + off = (pgno == 0) ? m->m_epg_1st_off : 0; + plen = m_epg_pagelen(m, pgno, off); } - break; + plen -= trim; + m->m_epg_last_len = plen; + m->m_len = lastlen; } - count -= m->m_len; + cp = (char *)(void *)PHYS_TO_DMAP(m->m_epg_pa[pgno]); + cp += off + plen - nul; + } else { + m->m_len = lastlen; + cp = mtod(m, char *) + m->m_len - nul; } - for (m = m->m_next; m; m = m->m_next) - m->m_len = 0; + + /* Write the nul bytes. */ + for (i = 0; i < nul; i++) + *cp++ = '\0'; + + /* Free up any mbufs past "m". */ + m2 = m->m_next; + m->m_next = NULL; + if (m2 != NULL) + m_freem(m2); + return (m); } /* From owner-svn-src-all@freebsd.org Sun Jul 26 09:15:06 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 426103A20F5; Sun, 26 Jul 2020 09:15:06 +0000 (UTC) (envelope-from yuripv@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDy2L13Gzz4K5n; Sun, 26 Jul 2020 09:15:06 +0000 (UTC) (envelope-from yuripv@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DE86CA835; Sun, 26 Jul 2020 09:15:05 +0000 (UTC) (envelope-from yuripv@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9F5mj094458; Sun, 26 Jul 2020 09:15:05 GMT (envelope-from yuripv@FreeBSD.org) Received: (from yuripv@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9F5YY094456; Sun, 26 Jul 2020 09:15:05 GMT (envelope-from yuripv@FreeBSD.org) Message-Id: <202007260915.06Q9F5YY094456@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuripv set sender to yuripv@FreeBSD.org using -f From: Yuri Pankov Date: Sun, 26 Jul 2020 09:15:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363543 - in head/usr.bin/sed: . tests X-SVN-Group: head X-SVN-Commit-Author: yuripv X-SVN-Commit-Paths: in head/usr.bin/sed: . tests X-SVN-Commit-Revision: 363543 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:15:06 -0000 Author: yuripv Date: Sun Jul 26 09:15:05 2020 New Revision: 363543 URL: https://svnweb.freebsd.org/changeset/base/363543 Log: sed: treat '[' as ordinary character in 'y' command 'y' does not handle bracket expressions, treat '[' as ordinary character and do not apply bracket expression checks (GNU sed agrees). PR: 247931 Reviewed by: pfg, kevans Tested by: antoine (exp-run), Quentin L'Hours Differential Revision: https://reviews.freebsd.org/D25640 Modified: head/usr.bin/sed/compile.c head/usr.bin/sed/tests/sed2_test.sh Modified: head/usr.bin/sed/compile.c ============================================================================== --- head/usr.bin/sed/compile.c Sun Jul 26 02:51:00 2020 (r363542) +++ head/usr.bin/sed/compile.c Sun Jul 26 09:15:05 2020 (r363543) @@ -437,11 +437,19 @@ compile_delimited(char *p, char *d, int is_tr) linenum, fname); while (*p) { if (*p == '[' && *p != c) { - if ((d = compile_ccl(&p, d)) == NULL) - errx(1, "%lu: %s: unbalanced brackets ([])", linenum, fname); - continue; + if (!is_tr) { + if ((d = compile_ccl(&p, d)) == NULL) { + errx(1, + "%lu: %s: unbalanced brackets ([])", + linenum, fname); + } + continue; + } } else if (*p == '\\' && p[1] == '[') { - *d++ = *p++; + if (is_tr) + p++; + else + *d++ = *p++; } else if (*p == '\\' && p[1] == c) { p++; } else if (*p == '\\' && Modified: head/usr.bin/sed/tests/sed2_test.sh ============================================================================== --- head/usr.bin/sed/tests/sed2_test.sh Sun Jul 26 02:51:00 2020 (r363542) +++ head/usr.bin/sed/tests/sed2_test.sh Sun Jul 26 09:15:05 2020 (r363543) @@ -134,6 +134,22 @@ commands_on_stdin_body() atf_check -o 'empty' sed -f - < insert_x } +atf_test_case bracket_y +bracket_y_head() +{ + atf_set "descr" "Verify '[' is ordinary character for 'y' command" +} +bracket_y_body() +{ + atf_check -e empty -o ignore echo | sed 'y/[/x/' + atf_check -e empty -o ignore echo | sed 'y/[]/xy/' + atf_check -e empty -o ignore echo | sed 'y/[a]/xyz/' + atf_check -e empty -o "inline:zyx" echo '][a' | sed 'y/[a]/xyz/' + atf_check -e empty -o "inline:bracket\n" echo 'bra[ke]' | sed 'y/[]/ct/' + atf_check -e empty -o "inline:bracket\n" \ + echo 'bra[ke]' | sed 'y[\[][ct[' +} + atf_init_test_cases() { atf_add_test_case inplace_command_q @@ -142,4 +158,5 @@ atf_init_test_cases() atf_add_test_case escape_subst atf_add_test_case commands_on_stdin atf_add_test_case hex_subst + atf_add_test_case bracket_y } From owner-svn-src-all@freebsd.org Sun Jul 26 09:47:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A6F713A267D; Sun, 26 Jul 2020 09:47:02 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDylB2cnKz4L4W; Sun, 26 Jul 2020 09:47:02 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3DEA9A9E4; Sun, 26 Jul 2020 09:47:02 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9l2HF013281; Sun, 26 Jul 2020 09:47:02 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9l24s013280; Sun, 26 Jul 2020 09:47:02 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007260947.06Q9l24s013280@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 09:47:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363544 - stable/12/bin/sh X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/bin/sh X-SVN-Commit-Revision: 363544 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:47:02 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 09:47:01 2020 New Revision: 363544 URL: https://svnweb.freebsd.org/changeset/base/363544 Log: MFC 362957: Fix description of the "\$" sequence for PS1 The manual page documents "\$" to expand to either "$" or "#" followed by a single space. In reality, the single space character is not appended. PR: 247791 Submitted by: kd-dev@pm.me Modified: stable/12/bin/sh/sh.1 Directory Properties: stable/12/ (props changed) Modified: stable/12/bin/sh/sh.1 ============================================================================== --- stable/12/bin/sh/sh.1 Sun Jul 26 09:15:05 2020 (r363543) +++ stable/12/bin/sh/sh.1 Sun Jul 26 09:47:01 2020 (r363544) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd February 24, 2019 +.Dd July 6, 2020 .Dt SH 1 .Os .Sh NAME @@ -1425,9 +1425,9 @@ The final component of the current working directory. The entire path of the current working directory. .It Li \e$ Superuser status. -.Dq Li "$ " +.Dq Li "$" for normal users and -.Dq Li "# " +.Dq Li "#" for superusers. .It Li \e\e A literal backslash. From owner-svn-src-all@freebsd.org Sun Jul 26 09:48:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D6C1D3A2BC2; Sun, 26 Jul 2020 09:48:05 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDymP5R7Tz4LdD; Sun, 26 Jul 2020 09:48:05 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9E376B08A; Sun, 26 Jul 2020 09:48:05 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9m5Nb013388; Sun, 26 Jul 2020 09:48:05 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9m50A013386; Sun, 26 Jul 2020 09:48:05 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007260948.06Q9m50A013386@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 09:48:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363545 - stable/12/share/man/man4 X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/share/man/man4 X-SVN-Commit-Revision: 363545 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:48:05 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 09:48:04 2020 New Revision: 363545 URL: https://svnweb.freebsd.org/changeset/base/363545 Log: MFC 362741: Document that Intel Dual Band Wireless AC 8265 is supported by iwm(4) Modified: stable/12/share/man/man4/iwm.4 stable/12/share/man/man4/iwmfw.4 Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man4/iwm.4 ============================================================================== --- stable/12/share/man/man4/iwm.4 Sun Jul 26 09:47:01 2020 (r363544) +++ stable/12/share/man/man4/iwm.4 Sun Jul 26 09:48:04 2020 (r363545) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 7, 2019 +.Dd June 28, 2020 .Dt IWM 4 .Os .Sh NAME @@ -88,6 +88,7 @@ driver provides support for: .It Intel Dual Band Wireless AC 7260 .It Intel Dual Band Wireless AC 7265 .It Intel Dual Band Wireless AC 8260 +.It Intel Dual Band Wireless AC 8265 .It Intel Dual Band Wireless AC 9260 .It Intel Dual Band Wireless AC 9270 .It Intel Dual Band Wireless AC 946X Modified: stable/12/share/man/man4/iwmfw.4 ============================================================================== --- stable/12/share/man/man4/iwmfw.4 Sun Jul 26 09:47:01 2020 (r363544) +++ stable/12/share/man/man4/iwmfw.4 Sun Jul 26 09:48:04 2020 (r363545) @@ -22,7 +22,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 7, 2019 +.Dd June 28, 2020 .Dt IWMFW 4 .Os .Sh NAME @@ -68,7 +68,7 @@ iwm9260fw_load="YES" .Ed .Sh DESCRIPTION This module provides access to firmware sets for the -Intel Dual Band Wireless WiFi 3160, 3165, 3168, 7260, 7265, 8000, 8260, +Intel Dual Band Wireless WiFi 3160, 3165, 3168, 7260, 7265, 8000, 8260, 8265, 9000 and 9260 series of IEEE 802.11n/11ac adapters. It may be statically linked into the kernel, or loaded as a module. .Sh SEE ALSO From owner-svn-src-all@freebsd.org Sun Jul 26 09:52:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5550A3A2FA3; Sun, 26 Jul 2020 09:52:05 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDys11SN4z4Lpq; Sun, 26 Jul 2020 09:52:05 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 154E6B21B; Sun, 26 Jul 2020 09:52:05 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9q4E5015991; Sun, 26 Jul 2020 09:52:04 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9q4jU015990; Sun, 26 Jul 2020 09:52:04 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007260952.06Q9q4jU015990@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 09:52:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363546 - stable/12/usr.sbin/config X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/usr.sbin/config X-SVN-Commit-Revision: 363546 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:52:05 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 09:52:04 2020 New Revision: 363546 URL: https://svnweb.freebsd.org/changeset/base/363546 Log: MFC 362742: Do not use macros in the argument to -width This patch improves the presentation of the FILES section dramatically. Modified: stable/12/usr.sbin/config/config.8 Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/config/config.8 ============================================================================== --- stable/12/usr.sbin/config/config.8 Sun Jul 26 09:48:04 2020 (r363545) +++ stable/12/usr.sbin/config/config.8 Sun Jul 26 09:52:04 2020 (r363546) @@ -28,7 +28,7 @@ .\" @(#)config.8 8.2 (Berkeley) 4/19/94 .\" $FreeBSD$ .\" -.Dd May 8, 2007 +.Dd June 29, 2020 .Dt CONFIG 8 .Os .Sh NAME @@ -61,7 +61,7 @@ that give alternate files for a specific machine section below). .Pp Available options and operands: -.Bl -tag -width ".Ar SYSTEM_NAME" +.Bl -tag -width "SYSTEM_NAME" .It Fl V Print the .Nm @@ -235,7 +235,7 @@ installs in the root file system. .El .Sh FILES -.Bl -tag -width ".Pa /sys/ Ns Va ARCH Ns Pa /compile/ Ns Ar SYSTEM_NAME" -compact +.Bl -tag -width "/sys/ARCH/compile/SYSTEM_NAME" -compact .It Pa /sys/conf/files list of common files system is built from .It Pa /sys/conf/Makefile. Ns Va ARCH From owner-svn-src-all@freebsd.org Sun Jul 26 09:52:49 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 481393A3138; Sun, 26 Jul 2020 09:52:49 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDyss0Gsmz4Lln; Sun, 26 Jul 2020 09:52:49 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E1F20AF22; Sun, 26 Jul 2020 09:52:48 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9qmG2019151; Sun, 26 Jul 2020 09:52:48 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9qmlF019150; Sun, 26 Jul 2020 09:52:48 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007260952.06Q9qmlF019150@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 09:52:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363547 - stable/11/usr.sbin/config X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/usr.sbin/config X-SVN-Commit-Revision: 363547 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:52:49 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 09:52:48 2020 New Revision: 363547 URL: https://svnweb.freebsd.org/changeset/base/363547 Log: MFC 362742: Do not use macros in the argument to -width This patch improves the presentation of the FILES section dramatically. Modified: stable/11/usr.sbin/config/config.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/config/config.8 ============================================================================== --- stable/11/usr.sbin/config/config.8 Sun Jul 26 09:52:04 2020 (r363546) +++ stable/11/usr.sbin/config/config.8 Sun Jul 26 09:52:48 2020 (r363547) @@ -28,7 +28,7 @@ .\" @(#)config.8 8.2 (Berkeley) 4/19/94 .\" $FreeBSD$ .\" -.Dd May 8, 2007 +.Dd June 29, 2020 .Dt CONFIG 8 .Os .Sh NAME @@ -61,7 +61,7 @@ that give alternate files for a specific machine section below). .Pp Available options and operands: -.Bl -tag -width ".Ar SYSTEM_NAME" +.Bl -tag -width "SYSTEM_NAME" .It Fl V Print the .Nm @@ -235,7 +235,7 @@ installs in the root file system. .El .Sh FILES -.Bl -tag -width ".Pa /sys/ Ns Va ARCH Ns Pa /compile/ Ns Ar SYSTEM_NAME" -compact +.Bl -tag -width "/sys/ARCH/compile/SYSTEM_NAME" -compact .It Pa /sys/conf/files list of common files system is built from .It Pa /sys/conf/Makefile. Ns Va ARCH From owner-svn-src-all@freebsd.org Sun Jul 26 09:53:50 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B53DF3A2DFC; Sun, 26 Jul 2020 09:53:50 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDyv2460Kz4MGG; Sun, 26 Jul 2020 09:53:50 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 70E67AD61; Sun, 26 Jul 2020 09:53:50 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9roZ4019239; Sun, 26 Jul 2020 09:53:50 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9rost019238; Sun, 26 Jul 2020 09:53:50 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007260953.06Q9rost019238@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 09:53:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363548 - stable/12/lib/libcam X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/lib/libcam X-SVN-Commit-Revision: 363548 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:53:50 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 09:53:50 2020 New Revision: 363548 URL: https://svnweb.freebsd.org/changeset/base/363548 Log: MFC 362956: Clean up cam.3 - Add a missing Pp [1] - Remove uses of Tn - Use "Xr open 2" when appropriate PR: 247783 [1] Submitted by: PauAmma [1] Modified: stable/12/lib/libcam/cam.3 Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libcam/cam.3 ============================================================================== --- stable/12/lib/libcam/cam.3 Sun Jul 26 09:52:48 2020 (r363547) +++ stable/12/lib/libcam/cam.3 Sun Jul 26 09:53:50 2020 (r363548) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 11, 2017 +.Dd July 6, 2020 .Dt CAM 3 .Os .Sh NAME @@ -218,15 +218,12 @@ structure using .Fn cam_open_btl is similar to .Fn cam_open_spec_device , -except that it takes a -.Tn SCSI -bus, target and logical unit instead of a device name and unit number as +except that it takes a SCSI bus, +target and logical unit instead of a device name and unit number as arguments. The .Va path_id -argument is the CAM equivalent of a -.Tn SCSI -bus number. +argument is the CAM equivalent of a SCSI bus number. It represents the logical bus number in the system. The .Ar flags @@ -263,10 +260,13 @@ should be if the user wants the CAM library to allocate space for the .Va cam_device structure. +.Pp .Fn cam_close_device frees the .Va cam_device -structure allocated by one of the above open() calls, and closes the file +structure allocated by one of the above +.Xr open 2 +calls, and closes the file descriptor to the passthrough device. This routine should not be called if the user allocated space for the @@ -276,7 +276,9 @@ Instead, the user should call .Fn cam_close_spec_device . .Pp .Fn cam_close_spec_device -merely closes the file descriptor opened in one of the open() routines +merely closes the file descriptor opened in one of the +.Xr open 2 +routines described above. This function should be called when the .Va cam_device From owner-svn-src-all@freebsd.org Sun Jul 26 09:54:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AB1EF3A2EF7; Sun, 26 Jul 2020 09:54:32 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDyvr47pHz4MHK; Sun, 26 Jul 2020 09:54:32 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 71519B281; Sun, 26 Jul 2020 09:54:32 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9sWYo019329; Sun, 26 Jul 2020 09:54:32 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9sWYl019328; Sun, 26 Jul 2020 09:54:32 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007260954.06Q9sWYl019328@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 09:54:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363549 - stable/11/lib/libcam X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/lib/libcam X-SVN-Commit-Revision: 363549 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:54:32 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 09:54:32 2020 New Revision: 363549 URL: https://svnweb.freebsd.org/changeset/base/363549 Log: MFC 362956: Clean up cam.3 - Add a missing Pp [1] - Remove uses of Tn - Use "Xr open 2" when appropriate PR: 247783 [1] Submitted by: PauAmma [1] Modified: stable/11/lib/libcam/cam.3 Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libcam/cam.3 ============================================================================== --- stable/11/lib/libcam/cam.3 Sun Jul 26 09:53:50 2020 (r363548) +++ stable/11/lib/libcam/cam.3 Sun Jul 26 09:54:32 2020 (r363549) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 11, 2017 +.Dd July 6, 2020 .Dt CAM 3 .Os .Sh NAME @@ -218,15 +218,12 @@ structure using .Fn cam_open_btl is similar to .Fn cam_open_spec_device , -except that it takes a -.Tn SCSI -bus, target and logical unit instead of a device name and unit number as +except that it takes a SCSI bus, +target and logical unit instead of a device name and unit number as arguments. The .Va path_id -argument is the CAM equivalent of a -.Tn SCSI -bus number. +argument is the CAM equivalent of a SCSI bus number. It represents the logical bus number in the system. The .Ar flags @@ -263,10 +260,13 @@ should be if the user wants the CAM library to allocate space for the .Va cam_device structure. +.Pp .Fn cam_close_device frees the .Va cam_device -structure allocated by one of the above open() calls, and closes the file +structure allocated by one of the above +.Xr open 2 +calls, and closes the file descriptor to the passthrough device. This routine should not be called if the user allocated space for the @@ -276,7 +276,9 @@ Instead, the user should call .Fn cam_close_spec_device . .Pp .Fn cam_close_spec_device -merely closes the file descriptor opened in one of the open() routines +merely closes the file descriptor opened in one of the +.Xr open 2 +routines described above. This function should be called when the .Va cam_device From owner-svn-src-all@freebsd.org Sun Jul 26 09:57:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9B8383A33A0; Sun, 26 Jul 2020 09:57:09 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDyys3jFdz4MTM; Sun, 26 Jul 2020 09:57:09 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 62D4FB282; Sun, 26 Jul 2020 09:57:09 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9v9U9019547; Sun, 26 Jul 2020 09:57:09 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9v978019546; Sun, 26 Jul 2020 09:57:09 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007260957.06Q9v978019546@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 09:57:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363550 - stable/12/usr.bin/env X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/usr.bin/env X-SVN-Commit-Revision: 363550 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:57:09 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 09:57:08 2020 New Revision: 363550 URL: https://svnweb.freebsd.org/changeset/base/363550 Log: MFC 360283: Fix invalid use of macros and two typos It turns out that currently mandoc(1) is not handling Fl in Ss correctly (maybe it never was). Let's just replace "Fl S \&Ss ..." with "-S ...". After all, this subsection title is stylized anyway, so Fl is not that helpful. Modified: stable/12/usr.bin/env/env.1 Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.bin/env/env.1 ============================================================================== --- stable/12/usr.bin/env/env.1 Sun Jul 26 09:54:32 2020 (r363549) +++ stable/12/usr.bin/env/env.1 Sun Jul 26 09:57:08 2020 (r363550) @@ -31,7 +31,7 @@ .\" From FreeBSD: src/usr.bin/printenv/printenv.1,v 1.17 2002/11/26 17:33:35 ru Exp .\" $FreeBSD$ .\" -.Dd January 19, 2020 +.Dd April 24, 2020 .Dt ENV 1 .Os .Sh NAME @@ -165,7 +165,7 @@ and .Ar utility may not be specified together. .\" -.Ss Details of Fl S \&Ss (split-string) processing +.Ss Details of -S (split-string) processing The processing of the .Fl S option will split the given @@ -292,11 +292,11 @@ processing. .Pp Also, .Fl S -processing can not reference the value of the special parameters +processing cannot reference the value of the special parameters which are defined by most shells. For instance, .Fl S -can not recognize special parameters such as: +cannot recognize special parameters such as: .Ql $* , .Ql $@ , .Ql $# , From owner-svn-src-all@freebsd.org Sun Jul 26 09:57:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7F5153A3266; Sun, 26 Jul 2020 09:57:44 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDyzX2rn4z4MXV; Sun, 26 Jul 2020 09:57:44 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 44F8FB1CF; Sun, 26 Jul 2020 09:57:44 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9vimu019618; Sun, 26 Jul 2020 09:57:44 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9viol019617; Sun, 26 Jul 2020 09:57:44 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007260957.06Q9viol019617@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 09:57:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363551 - stable/11/usr.bin/env X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/usr.bin/env X-SVN-Commit-Revision: 363551 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:57:44 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 09:57:43 2020 New Revision: 363551 URL: https://svnweb.freebsd.org/changeset/base/363551 Log: MFC 360283: Fix invalid use of macros and two typos It turns out that currently mandoc(1) is not handling Fl in Ss correctly (maybe it never was). Let's just replace "Fl S \&Ss ..." with "-S ...". After all, this subsection title is stylized anyway, so Fl is not that helpful. Modified: stable/11/usr.bin/env/env.1 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/env/env.1 ============================================================================== --- stable/11/usr.bin/env/env.1 Sun Jul 26 09:57:08 2020 (r363550) +++ stable/11/usr.bin/env/env.1 Sun Jul 26 09:57:43 2020 (r363551) @@ -31,7 +31,7 @@ .\" From FreeBSD: src/usr.bin/printenv/printenv.1,v 1.17 2002/11/26 17:33:35 ru Exp .\" $FreeBSD$ .\" -.Dd January 19, 2020 +.Dd April 24, 2020 .Dt ENV 1 .Os .Sh NAME @@ -165,7 +165,7 @@ and .Ar utility may not be specified together. .\" -.Ss Details of Fl S \&Ss (split-string) processing +.Ss Details of -S (split-string) processing The processing of the .Fl S option will split the given @@ -292,11 +292,11 @@ processing. .Pp Also, .Fl S -processing can not reference the value of the special parameters +processing cannot reference the value of the special parameters which are defined by most shells. For instance, .Fl S -can not recognize special parameters such as: +cannot recognize special parameters such as: .Ql $* , .Ql $@ , .Ql $# , From owner-svn-src-all@freebsd.org Sun Jul 26 09:58:53 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6D5633A31D4; Sun, 26 Jul 2020 09:58:53 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDz0s2G9vz4Mnx; Sun, 26 Jul 2020 09:58:53 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 31E73B0A7; Sun, 26 Jul 2020 09:58:53 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06Q9wrpD019712; Sun, 26 Jul 2020 09:58:53 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06Q9wrKP019711; Sun, 26 Jul 2020 09:58:53 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007260958.06Q9wrKP019711@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 09:58:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363552 - stable/12/usr.sbin/bhyve X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/usr.sbin/bhyve X-SVN-Commit-Revision: 363552 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 09:58:53 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 09:58:52 2020 New Revision: 363552 URL: https://svnweb.freebsd.org/changeset/base/363552 Log: MFC 360187: Improve formatting of synopsis section This patch is about sorting the arguments and using proper mdoc(7) macros to stylize arguments and command modifiers for much better readability. Further style fixes in other sections within the bhyve manual page are going to be worked on in upcoming patches. Reviewed by: rgrimes Differential Revision: https://reviews.freebsd.org/D24526 Modified: stable/12/usr.sbin/bhyve/bhyve.8 Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/bhyve/bhyve.8 ============================================================================== --- stable/12/usr.sbin/bhyve/bhyve.8 Sun Jul 26 09:57:43 2020 (r363551) +++ stable/12/usr.sbin/bhyve/bhyve.8 Sun Jul 26 09:58:52 2020 (r363552) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 13, 2019 +.Dd April 22, 2020 .Dt BHYVE 8 .Os .Sh NAME @@ -32,23 +32,40 @@ .Nd "run a guest operating system inside a virtual machine" .Sh SYNOPSIS .Nm -.Op Fl abehuwxACHPSWY +.Op Fl AabCeHhPSuWwxY .Oo -.Fl c\~ Ns +.Sm off +.Fl c\~ .Oo -.Op Ar cpus= Ns -.Ar numcpus Ns -.Oc Ns -.Op Ar ,sockets=n Ns -.Op Ar ,cores=n Ns -.Op Ar ,threads=n +.Op Cm cpus= +.Ar numcpus .Oc -.Op Fl g Ar gdbport -.Op Fl l Ar help|lpcdev Ns Op , Ns Ar conf -.Op Fl m Ar memsize Ns Op Ar K|k|M|m|G|g|T|t -.Op Fl p Ar vcpu:hostcpu -.Op Fl s Ar help|slot,emulation Ns Op , Ns Ar conf +.Op Cm ,sockets= Ar n +.Op Cm ,cores= Ar n +.Op Cm ,threads= Ar n +.Oc +.Sm on .Op Fl G Ar port +.Op Fl g Ar gdbport +.Oo Fl l +.Sm off +.Cm help | Ar lpcdev Op Cm \&, Ar conf +.Sm on +.Oc +.Oo Fl m +.Sm off +.Ar memsize +.Oo +.Cm K No | Cm k No | Cm M No | Cm m No | Cm G No | Cm g No | Cm T No | Cm t +.Oc +.Sm on +.Oc +.Op Fl p Ar vcpu Ns Cm \&: Ns Ar hostcpu +.Oo Fl s +.Sm off +.Cm help | Ar slot Cm \&, Ar emulation Op Cm \&, Ar conf +.Sm on +.Oc .Op Fl U Ar uuid .Ar vmname .Sh DESCRIPTION From owner-svn-src-all@freebsd.org Sun Jul 26 10:01:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0E29F3A3689; Sun, 26 Jul 2020 10:01:28 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDz3q6fl0z4Mq7; Sun, 26 Jul 2020 10:01:27 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C787DAF39; Sun, 26 Jul 2020 10:01:27 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QA1RwD024071; Sun, 26 Jul 2020 10:01:27 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QA1RFh024070; Sun, 26 Jul 2020 10:01:27 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007261001.06QA1RFh024070@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 10:01:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363553 - stable/12/libexec/rc/rc.d X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/libexec/rc/rc.d X-SVN-Commit-Revision: 363553 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 10:01:28 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 10:01:27 2020 New Revision: 363553 URL: https://svnweb.freebsd.org/changeset/base/363553 Log: MFC 359973: sshd: Warn about missing ssh-keygen only when necessary The sshd service is using ssh-keygen to generate missing SSH keys. If ssh-keygen is missing, it prints the following message: > /etc/rc.d/sshd: WARNING: /usr/bin/ssh-keygen does not exist. It makes sense when the key is not generated yet and cannot be created because ssh-keygen is missing. The problem is that even if the key is present on the host, the sshd service would still warn about missing ssh-keygen (even though it does not need it). Reviewed by: emaste Approved by: emaste (src) Differential Revision: https://reviews.freebsd.org/D23911 Modified: stable/12/libexec/rc/rc.d/sshd Directory Properties: stable/12/ (props changed) Modified: stable/12/libexec/rc/rc.d/sshd ============================================================================== --- stable/12/libexec/rc/rc.d/sshd Sun Jul 26 09:58:52 2020 (r363552) +++ stable/12/libexec/rc/rc.d/sshd Sun Jul 26 10:01:27 2020 (r363553) @@ -45,18 +45,19 @@ sshd_keygen_alg() ;; esac + if [ -f "${keyfile}" ] ; then + info "$ALG host key exists." + return 0 + fi + if [ ! -x /usr/bin/ssh-keygen ] ; then warn "/usr/bin/ssh-keygen does not exist." return 1 fi - if [ -f "${keyfile}" ] ; then - info "$ALG host key exists." - else - echo "Generating $ALG host key." - /usr/bin/ssh-keygen -q -t $alg -f "$keyfile" -N "" - /usr/bin/ssh-keygen -l -f "$keyfile.pub" - fi + echo "Generating $ALG host key." + /usr/bin/ssh-keygen -q -t $alg -f "$keyfile" -N "" + /usr/bin/ssh-keygen -l -f "$keyfile.pub" } sshd_keygen() From owner-svn-src-all@freebsd.org Sun Jul 26 10:04:03 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 925503A3816; Sun, 26 Jul 2020 10:04:03 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDz6q3Lkvz4NLn; Sun, 26 Jul 2020 10:04:03 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 560A8AF46; Sun, 26 Jul 2020 10:04:03 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QA43Kq025664; Sun, 26 Jul 2020 10:04:03 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QA43ni025663; Sun, 26 Jul 2020 10:04:03 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007261004.06QA43ni025663@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 10:04:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363554 - stable/12/usr.sbin/nologin X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/usr.sbin/nologin X-SVN-Commit-Revision: 363554 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 10:04:03 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 10:04:02 2020 New Revision: 363554 URL: https://svnweb.freebsd.org/changeset/base/363554 Log: MFC 359967: Document the exit status and the stdout message of nologin(8) Reviewed by: debdrup (earlier version) Differential Revision: https://reviews.freebsd.org/D24196 Modified: stable/12/usr.sbin/nologin/nologin.8 Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/nologin/nologin.8 ============================================================================== --- stable/12/usr.sbin/nologin/nologin.8 Sun Jul 26 10:01:27 2020 (r363553) +++ stable/12/usr.sbin/nologin/nologin.8 Sun Jul 26 10:04:02 2020 (r363554) @@ -28,7 +28,7 @@ .\" @(#)nologin.8 8.1 (Berkeley) 6/19/93 .\" $FreeBSD$ .\" -.Dd June 19, 1993 +.Dd April 15, 2020 .Dt NOLOGIN 8 .Os .Sh NAME @@ -39,14 +39,31 @@ .Sh DESCRIPTION The .Nm -utility displays a message that an account is not available and -exits non-zero. -It is intended as a replacement shell field for accounts that +is intended as a replacement shell field for accounts that have been disabled. .Pp +When executed, +.Nm +first writes about the login attempt to +.Xr syslog 3 +and then a displays a message that an account is not available. +.Pp To disable all logins, investigate .Xr nologin 5 . +.Sh EXIT STATUS +The +.Nm +utility always exits non-zero. +.Sh EXAMPLES +Here is a demonstration of executing +.Nm : +.Bd -literal -offset 4n +$ nologin +This account is currently not available. +$ tail -n 1 /var/log/messages +Mar 30 21:53:07 example.org nologin[65992]: Attempted login by beastie on /dev/pts/18 +.Ed .Sh SEE ALSO .Xr login 1 , .Xr nologin 5 From owner-svn-src-all@freebsd.org Sun Jul 26 10:07:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D1DF13A366E; Sun, 26 Jul 2020 10:07:05 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDzBK5Djyz4NZ0; Sun, 26 Jul 2020 10:07:05 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 97C91B236; Sun, 26 Jul 2020 10:07:05 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QA75kj025855; Sun, 26 Jul 2020 10:07:05 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QA75rW025854; Sun, 26 Jul 2020 10:07:05 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202007261007.06QA75rW025854@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Sun, 26 Jul 2020 10:07:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363555 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 363555 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 10:07:05 -0000 Author: manu Date: Sun Jul 26 10:07:05 2020 New Revision: 363555 URL: https://svnweb.freebsd.org/changeset/base/363555 Log: arm64: Only compile imx8 files if soc_freescale_imx8 is selected No Objection from: gonzo Modified: head/sys/conf/files.arm64 Modified: head/sys/conf/files.arm64 ============================================================================== --- head/sys/conf/files.arm64 Sun Jul 26 10:04:02 2020 (r363554) +++ head/sys/conf/files.arm64 Sun Jul 26 10:07:05 2020 (r363555) @@ -408,8 +408,8 @@ arm64/freescale/imx/clk/imx_clk_sscg_pll.c optional fd arm64/freescale/imx/clk/imx_clk_frac_pll.c optional fdt soc_freescale_imx8 # iMX drivers -arm/freescale/imx/imx_gpio.c optional gpio +arm/freescale/imx/imx_gpio.c optional gpio soc_freescale_imx8 arm/freescale/imx/imx_i2c.c optional fsliic -arm/freescale/imx/imx_machdep.c standard +arm/freescale/imx/imx_machdep.c optional fdt soc_freescale_imx8 arm64/freescale/imx/imx7gpc.c optional fdt soc_freescale_imx8 dev/ffec/if_ffec.c optional ffec From owner-svn-src-all@freebsd.org Sun Jul 26 10:08:53 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CE8C03A3B83; Sun, 26 Jul 2020 10:08:53 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BDzDP4fWzz4Nsx; Sun, 26 Jul 2020 10:08:53 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 83758B1F2; Sun, 26 Jul 2020 10:08:53 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QA8rQM025983; Sun, 26 Jul 2020 10:08:53 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QA8rL7025982; Sun, 26 Jul 2020 10:08:53 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007261008.06QA8rL7025982@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 10:08:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363556 - stable/12/lib/libc/locale X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/lib/libc/locale X-SVN-Commit-Revision: 363556 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 10:08:53 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 10:08:53 2020 New Revision: 363556 URL: https://svnweb.freebsd.org/changeset/base/363556 Log: MFC 359504: Use proper mdoc(7) macros for literal text and do not use Tn Tn is deprecated and upsets linters. Modified: stable/12/lib/libc/locale/big5.5 Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libc/locale/big5.5 ============================================================================== --- stable/12/lib/libc/locale/big5.5 Sun Jul 26 10:07:05 2020 (r363555) +++ stable/12/lib/libc/locale/big5.5 Sun Jul 26 10:08:53 2020 (r363556) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 12, 2019 +.Dd April 1, 2020 .Dt BIG5 5 .Os .Sh NAME @@ -39,9 +39,8 @@ encoding for Traditional Chinese text .Dq Big Five is a standard for encoding Traditional Chinese text. Each character is represented by either one or two bytes. -Characters from the -.Tn ASCII -character set are represented as single bytes in the range 0x00 - 0x7F. +Characters from the ASCII character set are represented as +single bytes in the range 0x00 - 0x7F. Traditional Chinese characters are represented by two bytes: the first in the range 0xA1 - 0xFE, the second in the range 0x40 - 0xFE. @@ -51,7 +50,11 @@ the first in the range 0xA1 - 0xFE, the second in the .Xr utf8 5 .Sh BUGS The range of the second byte overlaps some ASCII characters, including -0x5C (`\\') and 0x7C (`|') which may cause problems in program execution or +0x5C +.Pq Ql \e +and 0x7C +.Pq Ql | +which may cause problems in program execution or display. Big5 is considered a legacy standard and only preserved for backward compatibility reason. From owner-svn-src-all@freebsd.org Sun Jul 26 10:59:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BCE003A4B80; Sun, 26 Jul 2020 10:59:32 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF0Lr4NfFz4RLq; Sun, 26 Jul 2020 10:59:32 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 79AE0BBA0; Sun, 26 Jul 2020 10:59:32 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QAxWqU057711; Sun, 26 Jul 2020 10:59:32 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QAxW6Y057710; Sun, 26 Jul 2020 10:59:32 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202007261059.06QAxW6Y057710@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Sun, 26 Jul 2020 10:59:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363557 - stable/12/usr.sbin/efibootmgr X-SVN-Group: stable-12 X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: stable/12/usr.sbin/efibootmgr X-SVN-Commit-Revision: 363557 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 10:59:32 -0000 Author: tsoome Date: Sun Jul 26 10:59:32 2020 New Revision: 363557 URL: https://svnweb.freebsd.org/changeset/base/363557 Log: MFC 363241: efibootmgr: typo in long option name del-timout should be del-timeout Reported by: mjg Modified: stable/12/usr.sbin/efibootmgr/efibootmgr.c Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/efibootmgr/efibootmgr.c ============================================================================== --- stable/12/usr.sbin/efibootmgr/efibootmgr.c Sun Jul 26 10:08:53 2020 (r363556) +++ stable/12/usr.sbin/efibootmgr/efibootmgr.c Sun Jul 26 10:59:32 2020 (r363557) @@ -99,7 +99,7 @@ static struct option lopts[] = { {"copy", required_argument, NULL, 'C'}, /* Copy boot method */ {"create", no_argument, NULL, 'c'}, {"deactivate", required_argument, NULL, 'A'}, - {"del-timout", no_argument, NULL, 'T'}, + {"del-timeout", no_argument, NULL, 'T'}, {"delete", required_argument, NULL, 'B'}, {"delete-bootnext", required_argument, NULL, 'N'}, {"dry-run", no_argument, NULL, 'D'}, From owner-svn-src-all@freebsd.org Sun Jul 26 11:01:38 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DB0DB3A4972; Sun, 26 Jul 2020 11:01:38 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF0PG5Ry9z4RSj; Sun, 26 Jul 2020 11:01:38 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9E53CB6DE; Sun, 26 Jul 2020 11:01:38 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QB1c2h062843; Sun, 26 Jul 2020 11:01:38 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QB1cd1062842; Sun, 26 Jul 2020 11:01:38 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <202007261101.06QB1cd1062842@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Sun, 26 Jul 2020 11:01:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363558 - stable/11/usr.sbin/efibootmgr X-SVN-Group: stable-11 X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: stable/11/usr.sbin/efibootmgr X-SVN-Commit-Revision: 363558 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 11:01:38 -0000 Author: tsoome Date: Sun Jul 26 11:01:38 2020 New Revision: 363558 URL: https://svnweb.freebsd.org/changeset/base/363558 Log: MFC 363241: efibootmgr: typo in long option name del-timout should be del-timeout Reported by: mjg Modified: stable/11/usr.sbin/efibootmgr/efibootmgr.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/efibootmgr/efibootmgr.c ============================================================================== --- stable/11/usr.sbin/efibootmgr/efibootmgr.c Sun Jul 26 10:59:32 2020 (r363557) +++ stable/11/usr.sbin/efibootmgr/efibootmgr.c Sun Jul 26 11:01:38 2020 (r363558) @@ -99,7 +99,7 @@ static struct option lopts[] = { {"copy", required_argument, NULL, 'C'}, /* Copy boot method */ {"create", no_argument, NULL, 'c'}, {"deactivate", required_argument, NULL, 'A'}, - {"del-timout", no_argument, NULL, 'T'}, + {"del-timeout", no_argument, NULL, 'T'}, {"delete", required_argument, NULL, 'B'}, {"delete-bootnext", required_argument, NULL, 'N'}, {"device", required_argument, NULL, 'd'}, From owner-svn-src-all@freebsd.org Sun Jul 26 11:16:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 855683A4EC6; Sun, 26 Jul 2020 11:16:44 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF0kh2zgrz4S9D; Sun, 26 Jul 2020 11:16:44 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 49E22C00C; Sun, 26 Jul 2020 11:16:44 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QBGied070230; Sun, 26 Jul 2020 11:16:44 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QBGicp070229; Sun, 26 Jul 2020 11:16:44 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007261116.06QBGicp070229@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sun, 26 Jul 2020 11:16:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363559 - stable/12/usr.sbin/nologin X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/usr.sbin/nologin X-SVN-Commit-Revision: 363559 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 11:16:44 -0000 Author: 0mp (doc,ports committer) Date: Sun Jul 26 11:16:43 2020 New Revision: 363559 URL: https://svnweb.freebsd.org/changeset/base/363559 Log: MFC 359977: Fix a typo Reported by: rgrimes Modified: stable/12/usr.sbin/nologin/nologin.8 Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/nologin/nologin.8 ============================================================================== --- stable/12/usr.sbin/nologin/nologin.8 Sun Jul 26 11:01:38 2020 (r363558) +++ stable/12/usr.sbin/nologin/nologin.8 Sun Jul 26 11:16:43 2020 (r363559) @@ -46,7 +46,7 @@ When executed, .Nm first writes about the login attempt to .Xr syslog 3 -and then a displays a message that an account is not available. +and then displays a message that an account is not available. .Pp To disable all logins, investigate From owner-svn-src-all@freebsd.org Sun Jul 26 12:29:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 90C023A6EB8; Sun, 26 Jul 2020 12:29:24 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF2LX3jhRz4WXt; Sun, 26 Jul 2020 12:29:24 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5E672CD86; Sun, 26 Jul 2020 12:29:24 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QCTOCI013211; Sun, 26 Jul 2020 12:29:24 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QCTMZi013204; Sun, 26 Jul 2020 12:29:22 GMT (envelope-from br@FreeBSD.org) Message-Id: <202007261229.06QCTMZi013204@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Sun, 26 Jul 2020 12:29:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363560 - in head/sys: dev/iommu x86/iommu X-SVN-Group: head X-SVN-Commit-Author: br X-SVN-Commit-Paths: in head/sys: dev/iommu x86/iommu X-SVN-Commit-Revision: 363560 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 12:29:24 -0000 Author: br Date: Sun Jul 26 12:29:22 2020 New Revision: 363560 URL: https://svnweb.freebsd.org/changeset/base/363560 Log: Rename DMAR flags: o DMAR_DOMAIN_* -> IOMMU_DOMAIN_* o DMAR_PGF_* -> IOMMU_PGF_* Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25812 Modified: head/sys/dev/iommu/busdma_iommu.c head/sys/dev/iommu/iommu.h head/sys/dev/iommu/iommu_gas.c head/sys/x86/iommu/intel_ctx.c head/sys/x86/iommu/intel_drv.c head/sys/x86/iommu/intel_idpgtbl.c head/sys/x86/iommu/intel_utils.c Modified: head/sys/dev/iommu/busdma_iommu.c ============================================================================== --- head/sys/dev/iommu/busdma_iommu.c Sun Jul 26 11:16:43 2020 (r363559) +++ head/sys/dev/iommu/busdma_iommu.c Sun Jul 26 12:29:22 2020 (r363560) @@ -1017,7 +1017,7 @@ bus_dma_dmar_load_ident(bus_dma_tag_t dmat, bus_dmamap map = (struct bus_dmamap_iommu *)map1; waitok = (flags & BUS_DMA_NOWAIT) != 0; - entry = iommu_map_alloc_entry(domain, waitok ? 0 : DMAR_PGF_WAITOK); + entry = iommu_map_alloc_entry(domain, waitok ? 0 : IOMMU_PGF_WAITOK); if (entry == NULL) return (ENOMEM); entry->start = start; Modified: head/sys/dev/iommu/iommu.h ============================================================================== --- head/sys/dev/iommu/iommu.h Sun Jul 26 11:16:43 2020 (r363559) +++ head/sys/dev/iommu/iommu.h Sun Jul 26 12:29:22 2020 (r363560) @@ -134,11 +134,11 @@ struct iommu_ctx { ephemeral reference is kept to prevent context destruction */ -#define DMAR_DOMAIN_GAS_INITED 0x0001 -#define DMAR_DOMAIN_PGTBL_INITED 0x0002 -#define DMAR_DOMAIN_IDMAP 0x0010 /* Domain uses identity +#define IOMMU_DOMAIN_GAS_INITED 0x0001 +#define IOMMU_DOMAIN_PGTBL_INITED 0x0002 +#define IOMMU_DOMAIN_IDMAP 0x0010 /* Domain uses identity page table */ -#define DMAR_DOMAIN_RMRR 0x0020 /* Domain contains RMRR entry, +#define IOMMU_DOMAIN_RMRR 0x0020 /* Domain contains RMRR entry, cannot be turned off */ /* Map flags */ @@ -146,11 +146,11 @@ struct iommu_ctx { #define IOMMU_MF_CANSPLIT 0x0002 #define IOMMU_MF_RMRR 0x0004 -#define DMAR_PGF_WAITOK 0x0001 -#define DMAR_PGF_ZERO 0x0002 -#define DMAR_PGF_ALLOC 0x0004 -#define DMAR_PGF_NOALLOC 0x0008 -#define DMAR_PGF_OBJL 0x0010 +#define IOMMU_PGF_WAITOK 0x0001 +#define IOMMU_PGF_ZERO 0x0002 +#define IOMMU_PGF_ALLOC 0x0004 +#define IOMMU_PGF_NOALLOC 0x0008 +#define IOMMU_PGF_OBJL 0x0010 #define IOMMU_LOCK(unit) mtx_lock(&(unit)->lock) #define IOMMU_UNLOCK(unit) mtx_unlock(&(unit)->lock) Modified: head/sys/dev/iommu/iommu_gas.c ============================================================================== --- head/sys/dev/iommu/iommu_gas.c Sun Jul 26 11:16:43 2020 (r363559) +++ head/sys/dev/iommu/iommu_gas.c Sun Jul 26 12:29:22 2020 (r363560) @@ -98,10 +98,10 @@ iommu_gas_alloc_entry(struct iommu_domain *domain, u_i { struct iommu_map_entry *res; - KASSERT((flags & ~(DMAR_PGF_WAITOK)) == 0, + KASSERT((flags & ~(IOMMU_PGF_WAITOK)) == 0, ("unsupported flags %x", flags)); - res = uma_zalloc(iommu_map_entry_zone, ((flags & DMAR_PGF_WAITOK) != + res = uma_zalloc(iommu_map_entry_zone, ((flags & IOMMU_PGF_WAITOK) != 0 ? M_WAITOK : M_NOWAIT) | M_ZERO); if (res != NULL) { res->domain = domain; @@ -218,8 +218,8 @@ iommu_gas_init_domain(struct iommu_domain *domain) { struct iommu_map_entry *begin, *end; - begin = iommu_gas_alloc_entry(domain, DMAR_PGF_WAITOK); - end = iommu_gas_alloc_entry(domain, DMAR_PGF_WAITOK); + begin = iommu_gas_alloc_entry(domain, IOMMU_PGF_WAITOK); + end = iommu_gas_alloc_entry(domain, IOMMU_PGF_WAITOK); IOMMU_DOMAIN_LOCK(domain); KASSERT(domain->entries_cnt == 2, ("dirty domain %p", domain)); @@ -238,7 +238,7 @@ iommu_gas_init_domain(struct iommu_domain *domain) domain->first_place = begin; domain->last_place = end; - domain->flags |= DMAR_DOMAIN_GAS_INITED; + domain->flags |= IOMMU_DOMAIN_GAS_INITED; IOMMU_DOMAIN_UNLOCK(domain); } @@ -598,7 +598,7 @@ iommu_gas_map(struct iommu_domain *domain, ("invalid flags 0x%x", flags)); entry = iommu_gas_alloc_entry(domain, - (flags & IOMMU_MF_CANWAIT) != 0 ? DMAR_PGF_WAITOK : 0); + (flags & IOMMU_MF_CANWAIT) != 0 ? IOMMU_PGF_WAITOK : 0); if (entry == NULL) return (ENOMEM); IOMMU_DOMAIN_LOCK(domain); @@ -622,7 +622,7 @@ iommu_gas_map(struct iommu_domain *domain, error = domain_map_buf(domain, entry->start, entry->end - entry->start, ma, eflags, - ((flags & IOMMU_MF_CANWAIT) != 0 ? DMAR_PGF_WAITOK : 0)); + ((flags & IOMMU_MF_CANWAIT) != 0 ? IOMMU_PGF_WAITOK : 0)); if (error == ENOMEM) { iommu_domain_unload_entry(entry, true); return (error); @@ -660,7 +660,7 @@ iommu_gas_map_region(struct iommu_domain *domain, stru error = domain_map_buf(domain, entry->start, entry->end - entry->start, ma + OFF_TO_IDX(start - entry->start), eflags, - ((flags & IOMMU_MF_CANWAIT) != 0 ? DMAR_PGF_WAITOK : 0)); + ((flags & IOMMU_MF_CANWAIT) != 0 ? IOMMU_PGF_WAITOK : 0)); if (error == ENOMEM) { iommu_domain_unload_entry(entry, false); return (error); @@ -678,7 +678,7 @@ iommu_gas_reserve_region(struct iommu_domain *domain, struct iommu_map_entry *entry; int error; - entry = iommu_gas_alloc_entry(domain, DMAR_PGF_WAITOK); + entry = iommu_gas_alloc_entry(domain, IOMMU_PGF_WAITOK); entry->start = start; entry->end = end; IOMMU_DOMAIN_LOCK(domain); Modified: head/sys/x86/iommu/intel_ctx.c ============================================================================== --- head/sys/x86/iommu/intel_ctx.c Sun Jul 26 11:16:43 2020 (r363559) +++ head/sys/x86/iommu/intel_ctx.c Sun Jul 26 12:29:22 2020 (r363560) @@ -89,7 +89,7 @@ dmar_ensure_ctx_page(struct dmar_unit *dmar, int bus) /* * Allocated context page must be linked. */ - ctxm = dmar_pgalloc(dmar->ctx_obj, 1 + bus, DMAR_PGF_NOALLOC); + ctxm = dmar_pgalloc(dmar->ctx_obj, 1 + bus, IOMMU_PGF_NOALLOC); if (ctxm != NULL) return; @@ -100,9 +100,9 @@ dmar_ensure_ctx_page(struct dmar_unit *dmar, int bus) * threads are equal. */ TD_PREP_PINNED_ASSERT; - ctxm = dmar_pgalloc(dmar->ctx_obj, 1 + bus, DMAR_PGF_ZERO | - DMAR_PGF_WAITOK); - re = dmar_map_pgtbl(dmar->ctx_obj, 0, DMAR_PGF_NOALLOC, &sf); + ctxm = dmar_pgalloc(dmar->ctx_obj, 1 + bus, IOMMU_PGF_ZERO | + IOMMU_PGF_WAITOK); + re = dmar_map_pgtbl(dmar->ctx_obj, 0, IOMMU_PGF_NOALLOC, &sf); re += bus; dmar_pte_store(&re->r1, DMAR_ROOT_R1_P | (DMAR_ROOT_R1_CTP_MASK & VM_PAGE_TO_PHYS(ctxm))); @@ -120,7 +120,7 @@ dmar_map_ctx_entry(struct dmar_ctx *ctx, struct sf_buf dmar = (struct dmar_unit *)ctx->context.domain->iommu; ctxp = dmar_map_pgtbl(dmar->ctx_obj, 1 + - PCI_RID2BUS(ctx->rid), DMAR_PGF_NOALLOC | DMAR_PGF_WAITOK, sfp); + PCI_RID2BUS(ctx->rid), IOMMU_PGF_NOALLOC | IOMMU_PGF_WAITOK, sfp); ctxp += ctx->rid & 0xff; return (ctxp); } @@ -186,13 +186,14 @@ ctx_id_entry_init(struct dmar_ctx *ctx, dmar_ctx_entry pci_get_function(ctx->context.tag->owner), ctxp->ctx1, ctxp->ctx2)); - if ((domain->iodom.flags & DMAR_DOMAIN_IDMAP) != 0 && + if ((domain->iodom.flags & IOMMU_DOMAIN_IDMAP) != 0 && (unit->hw_ecap & DMAR_ECAP_PT) != 0) { KASSERT(domain->pgtbl_obj == NULL, ("ctx %p non-null pgtbl_obj", ctx)); ctx_root = NULL; } else { - ctx_root = dmar_pgalloc(domain->pgtbl_obj, 0, DMAR_PGF_NOALLOC); + ctx_root = dmar_pgalloc(domain->pgtbl_obj, 0, + IOMMU_PGF_NOALLOC); } if (dmar_is_buswide_ctx(unit, busno)) { @@ -295,7 +296,7 @@ domain_init_rmrr(struct dmar_domain *domain, device_t if (error1 == 0 && entry->end != entry->start) { IOMMU_LOCK(domain->iodom.iommu); domain->refs++; /* XXXKIB prevent free */ - domain->iodom.flags |= DMAR_DOMAIN_RMRR; + domain->iodom.flags |= IOMMU_DOMAIN_RMRR; IOMMU_UNLOCK(domain->iodom.iommu); } else { if (error1 != 0) { @@ -363,7 +364,7 @@ dmar_domain_alloc(struct dmar_unit *dmar, bool id_mapp domain->pgtbl_obj = domain_get_idmap_pgtbl(domain, domain->iodom.end); } - domain->iodom.flags |= DMAR_DOMAIN_IDMAP; + domain->iodom.flags |= IOMMU_DOMAIN_IDMAP; } else { error = domain_alloc_pgtbl(domain); if (error != 0) @@ -440,12 +441,12 @@ dmar_domain_destroy(struct dmar_domain *domain) ("destroying dom %p with ctx_cnt %d", domain, domain->ctx_cnt)); KASSERT(domain->refs == 0, ("destroying dom %p with refs %d", domain, domain->refs)); - if ((domain->iodom.flags & DMAR_DOMAIN_GAS_INITED) != 0) { + if ((domain->iodom.flags & IOMMU_DOMAIN_GAS_INITED) != 0) { DMAR_DOMAIN_LOCK(domain); iommu_gas_fini_domain((struct iommu_domain *)domain); DMAR_DOMAIN_UNLOCK(domain); } - if ((domain->iodom.flags & DMAR_DOMAIN_PGTBL_INITED) != 0) { + if ((domain->iodom.flags & IOMMU_DOMAIN_PGTBL_INITED) != 0) { if (domain->pgtbl_obj != NULL) DMAR_DOMAIN_PGLOCK(domain); domain_free_pgtbl(domain); @@ -643,7 +644,7 @@ dmar_move_ctx_to_domain(struct dmar_domain *domain, st /* If flush failed, rolling back would not work as well. */ printf("dmar%d rid %x domain %d->%d %s-mapped\n", dmar->iommu.unit, ctx->rid, old_domain->domain, domain->domain, - (domain->iodom.flags & DMAR_DOMAIN_IDMAP) != 0 ? "id" : "re"); + (domain->iodom.flags & IOMMU_DOMAIN_IDMAP) != 0 ? "id" : "re"); dmar_unref_domain_locked(dmar, old_domain); TD_PINNED_ASSERT; return (error); @@ -667,7 +668,7 @@ dmar_unref_domain_locked(struct dmar_unit *dmar, struc return; } - KASSERT((domain->iodom.flags & DMAR_DOMAIN_RMRR) == 0, + KASSERT((domain->iodom.flags & IOMMU_DOMAIN_RMRR) == 0, ("lost ref on RMRR domain %p", domain)); LIST_REMOVE(domain, link); @@ -848,7 +849,7 @@ dmar_domain_unload(struct dmar_domain *domain, KASSERT((entry->flags & IOMMU_MAP_ENTRY_MAP) != 0, ("not mapped entry %p %p", domain, entry)); error = domain_unmap_buf(domain, entry->start, entry->end - - entry->start, cansleep ? DMAR_PGF_WAITOK : 0); + entry->start, cansleep ? IOMMU_PGF_WAITOK : 0); KASSERT(error == 0, ("unmap %p error %d", domain, error)); if (!unit->qi_enabled) { domain_flush_iotlb_sync(domain, entry->start, Modified: head/sys/x86/iommu/intel_drv.c ============================================================================== --- head/sys/x86/iommu/intel_drv.c Sun Jul 26 11:16:43 2020 (r363559) +++ head/sys/x86/iommu/intel_drv.c Sun Jul 26 12:29:22 2020 (r363560) @@ -489,7 +489,7 @@ dmar_attach(device_t dev) * address translation after the required invalidations are * done. */ - dmar_pgalloc(unit->ctx_obj, 0, DMAR_PGF_WAITOK | DMAR_PGF_ZERO); + dmar_pgalloc(unit->ctx_obj, 0, IOMMU_PGF_WAITOK | IOMMU_PGF_ZERO); DMAR_LOCK(unit); error = dmar_load_root_entry_ptr(unit); if (error != 0) { @@ -944,7 +944,7 @@ dmar_rmrr_iter(ACPI_DMAR_HEADER *dmarh, void *arg) if (match == 1) { entry = iommu_gas_alloc_entry( (struct iommu_domain *)ria->domain, - DMAR_PGF_WAITOK); + IOMMU_PGF_WAITOK); entry->start = resmem->BaseAddress; /* The RMRR entry end address is inclusive. */ entry->end = resmem->EndAddress; Modified: head/sys/x86/iommu/intel_idpgtbl.c ============================================================================== --- head/sys/x86/iommu/intel_idpgtbl.c Sun Jul 26 11:16:43 2020 (r363559) +++ head/sys/x86/iommu/intel_idpgtbl.c Sun Jul 26 12:29:22 2020 (r363560) @@ -121,8 +121,8 @@ domain_idmap_nextlvl(struct idpgtbl *tbl, int lvl, vm_ VM_OBJECT_ASSERT_LOCKED(tbl->pgtbl_obj); if (addr >= tbl->maxaddr) return; - (void)dmar_pgalloc(tbl->pgtbl_obj, idx, DMAR_PGF_OBJL | DMAR_PGF_WAITOK | - DMAR_PGF_ZERO); + (void)dmar_pgalloc(tbl->pgtbl_obj, idx, IOMMU_PGF_OBJL | + IOMMU_PGF_WAITOK | IOMMU_PGF_ZERO); base = idx * DMAR_NPTEPG + 1; /* Index of the first child page of idx */ pg_sz = pglvl_page_size(tbl->pglvl, lvl); if (lvl != tbl->leaf) { @@ -130,7 +130,7 @@ domain_idmap_nextlvl(struct idpgtbl *tbl, int lvl, vm_ domain_idmap_nextlvl(tbl, lvl + 1, base + i, f); } VM_OBJECT_WUNLOCK(tbl->pgtbl_obj); - pte = dmar_map_pgtbl(tbl->pgtbl_obj, idx, DMAR_PGF_WAITOK, &sf); + pte = dmar_map_pgtbl(tbl->pgtbl_obj, idx, IOMMU_PGF_WAITOK, &sf); if (lvl == tbl->leaf) { for (i = 0, f = addr; i < DMAR_NPTEPG; i++, f += pg_sz) { if (f >= tbl->maxaddr) @@ -143,7 +143,7 @@ domain_idmap_nextlvl(struct idpgtbl *tbl, int lvl, vm_ if (f >= tbl->maxaddr) break; m1 = dmar_pgalloc(tbl->pgtbl_obj, base + i, - DMAR_PGF_NOALLOC); + IOMMU_PGF_NOALLOC); KASSERT(m1 != NULL, ("lost page table page")); pte[i].pte = (DMAR_PTE_ADDR_MASK & VM_PAGE_TO_PHYS(m1)) | DMAR_PTE_R | DMAR_PTE_W; @@ -362,7 +362,7 @@ domain_pgtbl_map_pte(struct dmar_domain *domain, iommu vm_pindex_t idx, idx1; DMAR_DOMAIN_ASSERT_PGLOCKED(domain); - KASSERT((flags & DMAR_PGF_OBJL) != 0, ("lost PGF_OBJL")); + KASSERT((flags & IOMMU_PGF_OBJL) != 0, ("lost PGF_OBJL")); idx = domain_pgtbl_get_pindex(domain, base, lvl); if (*sf != NULL && idx == *idxp) { @@ -382,7 +382,7 @@ retry: * to reference the allocated page table page. */ m = dmar_pgalloc(domain->pgtbl_obj, idx, flags | - DMAR_PGF_ZERO); + IOMMU_PGF_ZERO); if (m == NULL) return (NULL); @@ -435,7 +435,7 @@ domain_map_buf_locked(struct dmar_domain *domain, iomm base1 = base; size1 = size; - flags |= DMAR_PGF_OBJL; + flags |= IOMMU_PGF_OBJL; TD_PREP_PINNED_ASSERT; for (sf = NULL, pi = 0; size > 0; base += pg_sz, size -= pg_sz, @@ -478,7 +478,7 @@ domain_map_buf_locked(struct dmar_domain *domain, iomm KASSERT(pg_sz > 0, ("pg_sz 0 lvl %d", lvl)); pte = domain_pgtbl_map_pte(domain, base, lvl, flags, &idx, &sf); if (pte == NULL) { - KASSERT((flags & DMAR_PGF_WAITOK) == 0, + KASSERT((flags & IOMMU_PGF_WAITOK) == 0, ("failed waitable pte alloc %p", domain)); if (sf != NULL) dmar_unmap_pgtbl(sf); @@ -515,7 +515,7 @@ domain_map_buf(struct iommu_domain *iodom, iommu_gaddr domain = (struct dmar_domain *)iodom; unit = domain->dmar; - KASSERT((domain->iodom.flags & DMAR_DOMAIN_IDMAP) == 0, + KASSERT((domain->iodom.flags & IOMMU_DOMAIN_IDMAP) == 0, ("modifying idmap pagetable domain %p", domain)); KASSERT((base & DMAR_PAGE_MASK) == 0, ("non-aligned base %p %jx %jx", domain, (uintmax_t)base, @@ -547,7 +547,7 @@ domain_map_buf(struct iommu_domain *iodom, iommu_gaddr (unit->hw_ecap & DMAR_ECAP_DI) != 0, ("PTE_TM for dmar without DIOTLB %p %jx", domain, (uintmax_t)pflags)); - KASSERT((flags & ~DMAR_PGF_WAITOK) == 0, ("invalid flags %x", flags)); + KASSERT((flags & ~IOMMU_PGF_WAITOK) == 0, ("invalid flags %x", flags)); DMAR_DOMAIN_PGLOCK(domain); error = domain_map_buf_locked(domain, base, size, ma, pflags, flags); @@ -626,7 +626,7 @@ domain_unmap_buf_locked(struct dmar_domain *domain, io if (size == 0) return (0); - KASSERT((domain->iodom.flags & DMAR_DOMAIN_IDMAP) == 0, + KASSERT((domain->iodom.flags & IOMMU_DOMAIN_IDMAP) == 0, ("modifying idmap pagetable domain %p", domain)); KASSERT((base & DMAR_PAGE_MASK) == 0, ("non-aligned base %p %jx %jx", domain, (uintmax_t)base, @@ -643,10 +643,10 @@ domain_unmap_buf_locked(struct dmar_domain *domain, io KASSERT(base + size > base, ("size overflow %p %jx %jx", domain, (uintmax_t)base, (uintmax_t)size)); - KASSERT((flags & ~DMAR_PGF_WAITOK) == 0, ("invalid flags %x", flags)); + KASSERT((flags & ~IOMMU_PGF_WAITOK) == 0, ("invalid flags %x", flags)); pg_sz = 0; /* silence gcc */ - flags |= DMAR_PGF_OBJL; + flags |= IOMMU_PGF_OBJL; TD_PREP_PINNED_ASSERT; for (sf = NULL; size > 0; base += pg_sz, size -= pg_sz) { @@ -707,13 +707,13 @@ domain_alloc_pgtbl(struct dmar_domain *domain) domain->pgtbl_obj = vm_pager_allocate(OBJT_PHYS, NULL, IDX_TO_OFF(pglvl_max_pages(domain->pglvl)), 0, 0, NULL); DMAR_DOMAIN_PGLOCK(domain); - m = dmar_pgalloc(domain->pgtbl_obj, 0, DMAR_PGF_WAITOK | - DMAR_PGF_ZERO | DMAR_PGF_OBJL); + m = dmar_pgalloc(domain->pgtbl_obj, 0, IOMMU_PGF_WAITOK | + IOMMU_PGF_ZERO | IOMMU_PGF_OBJL); /* No implicit free of the top level page table page. */ m->ref_count = 1; DMAR_DOMAIN_PGUNLOCK(domain); DMAR_LOCK(domain->dmar); - domain->iodom.flags |= DMAR_DOMAIN_PGTBL_INITED; + domain->iodom.flags |= IOMMU_DOMAIN_PGTBL_INITED; DMAR_UNLOCK(domain->dmar); return (0); } @@ -727,16 +727,16 @@ domain_free_pgtbl(struct dmar_domain *domain) obj = domain->pgtbl_obj; if (obj == NULL) { KASSERT((domain->dmar->hw_ecap & DMAR_ECAP_PT) != 0 && - (domain->iodom.flags & DMAR_DOMAIN_IDMAP) != 0, + (domain->iodom.flags & IOMMU_DOMAIN_IDMAP) != 0, ("lost pagetable object domain %p", domain)); return; } DMAR_DOMAIN_ASSERT_PGLOCKED(domain); domain->pgtbl_obj = NULL; - if ((domain->iodom.flags & DMAR_DOMAIN_IDMAP) != 0) { + if ((domain->iodom.flags & IOMMU_DOMAIN_IDMAP) != 0) { put_idmap_pgtbl(obj); - domain->iodom.flags &= ~DMAR_DOMAIN_IDMAP; + domain->iodom.flags &= ~IOMMU_DOMAIN_IDMAP; return; } Modified: head/sys/x86/iommu/intel_utils.c ============================================================================== --- head/sys/x86/iommu/intel_utils.c Sun Jul 26 11:16:43 2020 (r363559) +++ head/sys/x86/iommu/intel_utils.c Sun Jul 26 12:29:22 2020 (r363560) @@ -262,22 +262,22 @@ dmar_pgalloc(vm_object_t obj, vm_pindex_t idx, int fla vm_page_t m; int zeroed, aflags; - zeroed = (flags & DMAR_PGF_ZERO) != 0 ? VM_ALLOC_ZERO : 0; + zeroed = (flags & IOMMU_PGF_ZERO) != 0 ? VM_ALLOC_ZERO : 0; aflags = zeroed | VM_ALLOC_NOBUSY | VM_ALLOC_SYSTEM | VM_ALLOC_NODUMP | - ((flags & DMAR_PGF_WAITOK) != 0 ? VM_ALLOC_WAITFAIL : + ((flags & IOMMU_PGF_WAITOK) != 0 ? VM_ALLOC_WAITFAIL : VM_ALLOC_NOWAIT); for (;;) { - if ((flags & DMAR_PGF_OBJL) == 0) + if ((flags & IOMMU_PGF_OBJL) == 0) VM_OBJECT_WLOCK(obj); m = vm_page_lookup(obj, idx); - if ((flags & DMAR_PGF_NOALLOC) != 0 || m != NULL) { - if ((flags & DMAR_PGF_OBJL) == 0) + if ((flags & IOMMU_PGF_NOALLOC) != 0 || m != NULL) { + if ((flags & IOMMU_PGF_OBJL) == 0) VM_OBJECT_WUNLOCK(obj); break; } m = vm_page_alloc_contig(obj, idx, aflags, 1, 0, dmar_high, PAGE_SIZE, 0, VM_MEMATTR_DEFAULT); - if ((flags & DMAR_PGF_OBJL) == 0) + if ((flags & IOMMU_PGF_OBJL) == 0) VM_OBJECT_WUNLOCK(obj); if (m != NULL) { if (zeroed && (m->flags & PG_ZERO) == 0) @@ -285,7 +285,7 @@ dmar_pgalloc(vm_object_t obj, vm_pindex_t idx, int fla atomic_add_int(&dmar_tbl_pagecnt, 1); break; } - if ((flags & DMAR_PGF_WAITOK) == 0) + if ((flags & IOMMU_PGF_WAITOK) == 0) break; } return (m); @@ -296,14 +296,14 @@ dmar_pgfree(vm_object_t obj, vm_pindex_t idx, int flag { vm_page_t m; - if ((flags & DMAR_PGF_OBJL) == 0) + if ((flags & IOMMU_PGF_OBJL) == 0) VM_OBJECT_WLOCK(obj); m = vm_page_grab(obj, idx, VM_ALLOC_NOCREAT); if (m != NULL) { vm_page_free(m); atomic_subtract_int(&dmar_tbl_pagecnt, 1); } - if ((flags & DMAR_PGF_OBJL) == 0) + if ((flags & IOMMU_PGF_OBJL) == 0) VM_OBJECT_WUNLOCK(obj); } @@ -314,39 +314,39 @@ dmar_map_pgtbl(vm_object_t obj, vm_pindex_t idx, int f vm_page_t m; bool allocated; - if ((flags & DMAR_PGF_OBJL) == 0) + if ((flags & IOMMU_PGF_OBJL) == 0) VM_OBJECT_WLOCK(obj); m = vm_page_lookup(obj, idx); - if (m == NULL && (flags & DMAR_PGF_ALLOC) != 0) { - m = dmar_pgalloc(obj, idx, flags | DMAR_PGF_OBJL); + if (m == NULL && (flags & IOMMU_PGF_ALLOC) != 0) { + m = dmar_pgalloc(obj, idx, flags | IOMMU_PGF_OBJL); allocated = true; } else allocated = false; if (m == NULL) { - if ((flags & DMAR_PGF_OBJL) == 0) + if ((flags & IOMMU_PGF_OBJL) == 0) VM_OBJECT_WUNLOCK(obj); return (NULL); } /* Sleepable allocations cannot fail. */ - if ((flags & DMAR_PGF_WAITOK) != 0) + if ((flags & IOMMU_PGF_WAITOK) != 0) VM_OBJECT_WUNLOCK(obj); sched_pin(); - *sf = sf_buf_alloc(m, SFB_CPUPRIVATE | ((flags & DMAR_PGF_WAITOK) + *sf = sf_buf_alloc(m, SFB_CPUPRIVATE | ((flags & IOMMU_PGF_WAITOK) == 0 ? SFB_NOWAIT : 0)); if (*sf == NULL) { sched_unpin(); if (allocated) { VM_OBJECT_ASSERT_WLOCKED(obj); - dmar_pgfree(obj, m->pindex, flags | DMAR_PGF_OBJL); + dmar_pgfree(obj, m->pindex, flags | IOMMU_PGF_OBJL); } - if ((flags & DMAR_PGF_OBJL) == 0) + if ((flags & IOMMU_PGF_OBJL) == 0) VM_OBJECT_WUNLOCK(obj); return (NULL); } - if ((flags & (DMAR_PGF_WAITOK | DMAR_PGF_OBJL)) == - (DMAR_PGF_WAITOK | DMAR_PGF_OBJL)) + if ((flags & (IOMMU_PGF_WAITOK | IOMMU_PGF_OBJL)) == + (IOMMU_PGF_WAITOK | IOMMU_PGF_OBJL)) VM_OBJECT_WLOCK(obj); - else if ((flags & (DMAR_PGF_WAITOK | DMAR_PGF_OBJL)) == 0) + else if ((flags & (IOMMU_PGF_WAITOK | IOMMU_PGF_OBJL)) == 0) VM_OBJECT_WUNLOCK(obj); return ((void *)sf_buf_kva(*sf)); } From owner-svn-src-all@freebsd.org Sun Jul 26 13:07:10 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AD96D3A7D62; Sun, 26 Jul 2020 13:07:10 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF3B64DCjz4YcV; Sun, 26 Jul 2020 13:07:10 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6DB3DD39E; Sun, 26 Jul 2020 13:07:10 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QD7AIC038162; Sun, 26 Jul 2020 13:07:10 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QD7As7038161; Sun, 26 Jul 2020 13:07:10 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202007261307.06QD7As7038161@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Sun, 26 Jul 2020 13:07:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363561 - in stable: 11/usr.sbin/wpa/wpa_supplicant 12/usr.sbin/wpa/wpa_supplicant X-SVN-Group: stable-12 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 11/usr.sbin/wpa/wpa_supplicant 12/usr.sbin/wpa/wpa_supplicant X-SVN-Commit-Revision: 363561 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 13:07:10 -0000 Author: cy Date: Sun Jul 26 13:07:09 2020 New Revision: 363561 URL: https://svnweb.freebsd.org/changeset/base/363561 Log: MFC r362651: Add MATCH option for CONFIG_MATCH_IFACE. If the interfaces on which wpa_supplicant is to run are not known or do not exist, wpa_supplicant can match an interface when it arrives. Each matched interface is separated with -M argument and the -i argument now allows for pattern matching. As an example, the following command would start wpa_supplicant for a specific wired interface called lan0, any interface starting with wlan and lastly any other interface. Each match has its own configuration file, and for the wired interface a specific driver has also been given. wpa_supplicant \ -M -c wpa_wired.conf -ilan0 -D wired \ -M -c wpa1.conf -iwlan* \ -M -c wpa2.conf PR: 247177 Reported by: greg@unrelenting.technology Related to: ports r540412 Modified: stable/12/usr.sbin/wpa/wpa_supplicant/Makefile Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/11/usr.sbin/wpa/wpa_supplicant/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/12/usr.sbin/wpa/wpa_supplicant/Makefile ============================================================================== --- stable/12/usr.sbin/wpa/wpa_supplicant/Makefile Sun Jul 26 12:29:22 2020 (r363560) +++ stable/12/usr.sbin/wpa/wpa_supplicant/Makefile Sun Jul 26 13:07:09 2020 (r363561) @@ -52,7 +52,8 @@ CFLAGS+=-DCONFIG_BACKEND_FILE \ -DCONFIG_TLS=openssl \ -DCONFIG_WPS2 \ -DCONFIG_WPS_UPNP \ - -DPKCS12_FUNCS + -DPKCS12_FUNCS \ + -DCONFIG_MATCH_IFACE #CFLAGS+= -g LIBADD= pcap util From owner-svn-src-all@freebsd.org Sun Jul 26 13:07:10 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7D9AF3A7D60; Sun, 26 Jul 2020 13:07:10 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF3B62kblz4YcT; Sun, 26 Jul 2020 13:07:10 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3D469D39D; Sun, 26 Jul 2020 13:07:10 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QD79k7038156; Sun, 26 Jul 2020 13:07:09 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QD79tu038155; Sun, 26 Jul 2020 13:07:09 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202007261307.06QD79tu038155@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Sun, 26 Jul 2020 13:07:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363561 - in stable: 11/usr.sbin/wpa/wpa_supplicant 12/usr.sbin/wpa/wpa_supplicant X-SVN-Group: stable-11 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 11/usr.sbin/wpa/wpa_supplicant 12/usr.sbin/wpa/wpa_supplicant X-SVN-Commit-Revision: 363561 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 13:07:10 -0000 Author: cy Date: Sun Jul 26 13:07:09 2020 New Revision: 363561 URL: https://svnweb.freebsd.org/changeset/base/363561 Log: MFC r362651: Add MATCH option for CONFIG_MATCH_IFACE. If the interfaces on which wpa_supplicant is to run are not known or do not exist, wpa_supplicant can match an interface when it arrives. Each matched interface is separated with -M argument and the -i argument now allows for pattern matching. As an example, the following command would start wpa_supplicant for a specific wired interface called lan0, any interface starting with wlan and lastly any other interface. Each match has its own configuration file, and for the wired interface a specific driver has also been given. wpa_supplicant \ -M -c wpa_wired.conf -ilan0 -D wired \ -M -c wpa1.conf -iwlan* \ -M -c wpa2.conf PR: 247177 Reported by: greg@unrelenting.technology Related to: ports r540412 Modified: stable/11/usr.sbin/wpa/wpa_supplicant/Makefile Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/usr.sbin/wpa/wpa_supplicant/Makefile Directory Properties: stable/12/ (props changed) Modified: stable/11/usr.sbin/wpa/wpa_supplicant/Makefile ============================================================================== --- stable/11/usr.sbin/wpa/wpa_supplicant/Makefile Sun Jul 26 12:29:22 2020 (r363560) +++ stable/11/usr.sbin/wpa/wpa_supplicant/Makefile Sun Jul 26 13:07:09 2020 (r363561) @@ -52,7 +52,8 @@ CFLAGS+=-DCONFIG_BACKEND_FILE \ -DCONFIG_TLS=openssl \ -DCONFIG_WPS2 \ -DCONFIG_WPS_UPNP \ - -DPKCS12_FUNCS + -DPKCS12_FUNCS \ + -DCONFIG_MATCH_IFACE #CFLAGS+= -g LIBADD= pcap util From owner-svn-src-all@freebsd.org Sun Jul 26 13:30:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B8D5E360507; Sun, 26 Jul 2020 13:30:33 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF3j54ZVdz4ZbB; Sun, 26 Jul 2020 13:30:33 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 815BED4DF; Sun, 26 Jul 2020 13:30:33 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QDUX7W050460; Sun, 26 Jul 2020 13:30:33 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QDUXi5050459; Sun, 26 Jul 2020 13:30:33 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007261330.06QDUXi5050459@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sun, 26 Jul 2020 13:30:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363562 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 363562 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 13:30:33 -0000 Author: mjg Date: Sun Jul 26 13:30:33 2020 New Revision: 363562 URL: https://svnweb.freebsd.org/changeset/base/363562 Log: Bump __FreeBSD_version after introduction of lockless lookup to the VFS layer Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Sun Jul 26 13:07:09 2020 (r363561) +++ head/sys/sys/param.h Sun Jul 26 13:30:33 2020 (r363562) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300101 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300102 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Sun Jul 26 15:10:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 003B53629D6; Sun, 26 Jul 2020 15:10:34 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF5wT5RkDz3RgK; Sun, 26 Jul 2020 15:10:33 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9CF6EE678; Sun, 26 Jul 2020 15:10:33 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QFAXvu012914; Sun, 26 Jul 2020 15:10:33 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QFAXZV012913; Sun, 26 Jul 2020 15:10:33 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202007261510.06QFAXZV012913@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sun, 26 Jul 2020 15:10:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363563 - head/bin/chio X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/bin/chio X-SVN-Commit-Revision: 363563 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 15:10:34 -0000 Author: emaste Date: Sun Jul 26 15:10:33 2020 New Revision: 363563 URL: https://svnweb.freebsd.org/changeset/base/363563 Log: chio: avoid out of bounds read ch_ces is alloacated with space for total_elem entries. CID: 1418536 Reported by: Coverity Scan Sponsored by: The FreeBSD Foundation Modified: head/bin/chio/chio.c Modified: head/bin/chio/chio.c ============================================================================== --- head/bin/chio/chio.c Sun Jul 26 13:30:33 2020 (r363562) +++ head/bin/chio/chio.c Sun Jul 26 15:10:33 2020 (r363563) @@ -1144,7 +1144,7 @@ find_element(char *voltag, uint16_t *et, uint16_t *eu) /* * Now search the list the specified */ - for (elem = 0; elem <= total_elem; ++elem) { + for (elem = 0; elem < total_elem; ++elem) { ces = &ch_ces[elem]; From owner-svn-src-all@freebsd.org Sun Jul 26 16:30:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7688A365217; Sun, 26 Jul 2020 16:30:02 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF7hB2Y04z3Wqc; Sun, 26 Jul 2020 16:30:02 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3696FFA93; Sun, 26 Jul 2020 16:30:02 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QGU25K061979; Sun, 26 Jul 2020 16:30:02 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QGU20h061978; Sun, 26 Jul 2020 16:30:02 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202007261630.06QGU20h061978@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Sun, 26 Jul 2020 16:30:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363564 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 363564 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 16:30:02 -0000 Author: manu Date: Sun Jul 26 16:30:01 2020 New Revision: 363564 URL: https://svnweb.freebsd.org/changeset/base/363564 Log: linuxkpi: Include linux/sizes.h in dma-mapping.h Linux does the same, this avoids ifdef or extra includes in ported drivers. Reviewed by: emaste, hselasky Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25701 Modified: head/sys/compat/linuxkpi/common/include/linux/dma-mapping.h Modified: head/sys/compat/linuxkpi/common/include/linux/dma-mapping.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/dma-mapping.h Sun Jul 26 15:10:33 2020 (r363563) +++ head/sys/compat/linuxkpi/common/include/linux/dma-mapping.h Sun Jul 26 16:30:01 2020 (r363564) @@ -38,6 +38,7 @@ #include #include #include +#include #include #include From owner-svn-src-all@freebsd.org Sun Jul 26 16:31:00 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4C9023649CE; Sun, 26 Jul 2020 16:31:00 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF7jJ1NDtz3Wrw; Sun, 26 Jul 2020 16:31:00 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 13035FA9F; Sun, 26 Jul 2020 16:31:00 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QGUxe1065137; Sun, 26 Jul 2020 16:30:59 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QGUxRi065135; Sun, 26 Jul 2020 16:30:59 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202007261630.06QGUxRi065135@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Sun, 26 Jul 2020 16:30:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363565 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 363565 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 16:31:00 -0000 Author: manu Date: Sun Jul 26 16:30:59 2020 New Revision: 363565 URL: https://svnweb.freebsd.org/changeset/base/363565 Log: linuxkpi: Include hardirq.h in preempt.h and lockdep.h in hardirq.h Linux does the same, this avoids ifdef or extra includes in ported drivers. Reviewed by: emaste, hselasky Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25702 Modified: head/sys/compat/linuxkpi/common/include/linux/hardirq.h head/sys/compat/linuxkpi/common/include/linux/preempt.h Modified: head/sys/compat/linuxkpi/common/include/linux/hardirq.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/hardirq.h Sun Jul 26 16:30:01 2020 (r363564) +++ head/sys/compat/linuxkpi/common/include/linux/hardirq.h Sun Jul 26 16:30:59 2020 (r363565) @@ -32,6 +32,7 @@ #define _LINUX_HARDIRQ_H_ #include +#include #include #include Modified: head/sys/compat/linuxkpi/common/include/linux/preempt.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/preempt.h Sun Jul 26 16:30:01 2020 (r363564) +++ head/sys/compat/linuxkpi/common/include/linux/preempt.h Sun Jul 26 16:30:59 2020 (r363565) @@ -29,6 +29,7 @@ #ifndef _LINUX_PREEMPT_H_ #define _LINUX_PREEMPT_H_ +#include #include #define in_interrupt() \ From owner-svn-src-all@freebsd.org Sun Jul 26 16:31:50 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 833003649DB; Sun, 26 Jul 2020 16:31:50 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF7kG2zL0z3XDj; Sun, 26 Jul 2020 16:31:50 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 499B1FD33; Sun, 26 Jul 2020 16:31:50 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QGVogI066074; Sun, 26 Jul 2020 16:31:50 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QGVou8066073; Sun, 26 Jul 2020 16:31:50 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202007261631.06QGVou8066073@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Sun, 26 Jul 2020 16:31:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363566 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 363566 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 16:31:50 -0000 Author: manu Date: Sun Jul 26 16:31:49 2020 New Revision: 363566 URL: https://svnweb.freebsd.org/changeset/base/363566 Log: linuxkpi: Add taint* defines This isn't used for us but allow us to port drivers more easily. Reviewed by: hselasky Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25703 Modified: head/sys/compat/linuxkpi/common/include/linux/kernel.h Modified: head/sys/compat/linuxkpi/common/include/linux/kernel.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/kernel.h Sun Jul 26 16:30:59 2020 (r363565) +++ head/sys/compat/linuxkpi/common/include/linux/kernel.h Sun Jul 26 16:31:49 2020 (r363566) @@ -593,4 +593,7 @@ linux_ratelimited(linux_ratelimit_t *rl) (is_signed(datatype) ? INT8_MIN : 0) \ ) +#define TAINT_WARN 0 +#define test_taint(x) (0) + #endif /* _LINUX_KERNEL_H_ */ From owner-svn-src-all@freebsd.org Sun Jul 26 17:21:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1A2D936616A; Sun, 26 Jul 2020 17:21:25 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF8qS72TTz3ZDg; Sun, 26 Jul 2020 17:21:24 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D5B8910073; Sun, 26 Jul 2020 17:21:24 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QHLOwm093118; Sun, 26 Jul 2020 17:21:24 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QHLOS6093117; Sun, 26 Jul 2020 17:21:24 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202007261721.06QHLOS6093117@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Sun, 26 Jul 2020 17:21:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363567 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 363567 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 17:21:25 -0000 Author: manu Date: Sun Jul 26 17:21:24 2020 New Revision: 363567 URL: https://svnweb.freebsd.org/changeset/base/363567 Log: Revert r363564 linux/sizes.h doesn't exists in base ... sorry. Modified: head/sys/compat/linuxkpi/common/include/linux/dma-mapping.h Modified: head/sys/compat/linuxkpi/common/include/linux/dma-mapping.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/dma-mapping.h Sun Jul 26 16:31:49 2020 (r363566) +++ head/sys/compat/linuxkpi/common/include/linux/dma-mapping.h Sun Jul 26 17:21:24 2020 (r363567) @@ -38,7 +38,6 @@ #include #include #include -#include #include #include From owner-svn-src-all@freebsd.org Sun Jul 26 17:44:03 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E530B366A77; Sun, 26 Jul 2020 17:44:03 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF9Kb69sfz3b4h; Sun, 26 Jul 2020 17:44:03 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B801210A0E; Sun, 26 Jul 2020 17:44:03 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QHi3Yi011160; Sun, 26 Jul 2020 17:44:03 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QHi3iB011159; Sun, 26 Jul 2020 17:44:03 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202007261744.06QHi3iB011159@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sun, 26 Jul 2020 17:44:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363568 - stable/12/sys/net X-SVN-Group: stable-12 X-SVN-Commit-Author: kp X-SVN-Commit-Paths: stable/12/sys/net X-SVN-Commit-Revision: 363568 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 17:44:04 -0000 Author: kp Date: Sun Jul 26 17:44:03 2020 New Revision: 363568 URL: https://svnweb.freebsd.org/changeset/base/363568 Log: Revert bridge epochification Revert r363492, r363491, r363430, r363429 and r362650. The introduction of epoch in the network stack is incomplete in stable/12, and there are simply too many limitations to make the bridge epoch code work there. The final problem is capability configuration of the bridge member interfaces. if_bridge needs to enable promiscuous mode, which for certain drivers (e1000 for example) can sleep. In stable/12 we may not sleep within epoch. Modified: stable/12/sys/net/if_bridge.c Modified: stable/12/sys/net/if_bridge.c ============================================================================== --- stable/12/sys/net/if_bridge.c Sun Jul 26 17:21:24 2020 (r363567) +++ stable/12/sys/net/if_bridge.c Sun Jul 26 17:44:03 2020 (r363568) @@ -189,14 +189,41 @@ extern void nd6_setmtu(struct ifnet *); */ #define BRIDGE_LOCK_INIT(_sc) do { \ mtx_init(&(_sc)->sc_mtx, "if_bridge", NULL, MTX_DEF); \ + cv_init(&(_sc)->sc_cv, "if_bridge_cv"); \ } while (0) #define BRIDGE_LOCK_DESTROY(_sc) do { \ mtx_destroy(&(_sc)->sc_mtx); \ + cv_destroy(&(_sc)->sc_cv); \ } while (0) #define BRIDGE_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) #define BRIDGE_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) #define BRIDGE_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED) #define BRIDGE_UNLOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_NOTOWNED) +#define BRIDGE_LOCK2REF(_sc, _err) do { \ + mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ + if ((_sc)->sc_iflist_xcnt > 0) \ + (_err) = EBUSY; \ + else \ + (_sc)->sc_iflist_ref++; \ + mtx_unlock(&(_sc)->sc_mtx); \ +} while (0) +#define BRIDGE_UNREF(_sc) do { \ + mtx_lock(&(_sc)->sc_mtx); \ + (_sc)->sc_iflist_ref--; \ + if (((_sc)->sc_iflist_xcnt > 0) && ((_sc)->sc_iflist_ref == 0)) \ + cv_broadcast(&(_sc)->sc_cv); \ + mtx_unlock(&(_sc)->sc_mtx); \ +} while (0) +#define BRIDGE_XLOCK(_sc) do { \ + mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ + (_sc)->sc_iflist_xcnt++; \ + while ((_sc)->sc_iflist_ref > 0) \ + cv_wait(&(_sc)->sc_cv, &(_sc)->sc_mtx); \ +} while (0) +#define BRIDGE_XDROP(_sc) do { \ + mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ + (_sc)->sc_iflist_xcnt--; \ +} while (0) /* * Bridge interface list entry. @@ -210,8 +237,6 @@ struct bridge_iflist { uint32_t bif_addrmax; /* max # of addresses */ uint32_t bif_addrcnt; /* cur. # of addresses */ uint32_t bif_addrexceeded;/* # of address violations */ - - struct epoch_context bif_epoch_ctx; }; /* @@ -225,9 +250,6 @@ struct bridge_rtnode { uint8_t brt_flags; /* address flags */ uint8_t brt_addr[ETHER_ADDR_LEN]; uint16_t brt_vlan; /* vlan id */ - - struct vnet *brt_vnet; - struct epoch_context brt_epoch_ctx; }; #define brt_ifp brt_dst->bif_ifp @@ -238,10 +260,13 @@ struct bridge_softc { struct ifnet *sc_ifp; /* make this an interface */ LIST_ENTRY(bridge_softc) sc_list; struct mtx sc_mtx; + struct cv sc_cv; uint32_t sc_brtmax; /* max # of addresses */ uint32_t sc_brtcnt; /* cur. # of addresses */ uint32_t sc_brttimeout; /* rt timeout in seconds */ struct callout sc_brcallout; /* bridge callout */ + uint32_t sc_iflist_ref; /* refcount for sc_iflist */ + uint32_t sc_iflist_xcnt; /* refcount for sc_iflist */ CK_LIST_HEAD(, bridge_iflist) sc_iflist; /* member interface list */ CK_LIST_HEAD(, bridge_rtnode) *sc_rthash; /* our forwarding table */ CK_LIST_HEAD(, bridge_rtnode) sc_rtlist; /* list version of above */ @@ -251,8 +276,6 @@ struct bridge_softc { uint32_t sc_brtexceeded; /* # of cache drops */ struct ifnet *sc_ifaddr; /* member mac copied from */ struct ether_addr sc_defaddr; /* Default MAC address */ - - struct epoch_context sc_epoch_ctx; }; VNET_DEFINE_STATIC(struct mtx, bridge_list_mtx); @@ -572,11 +595,6 @@ vnet_bridge_uninit(const void *unused __unused) if_clone_detach(V_bridge_cloner); V_bridge_cloner = NULL; BRIDGE_LIST_LOCK_DESTROY(); - - /* Before we can destroy the uma zone, because there are callbacks that - * use it. */ - epoch_drain_callbacks(net_epoch_preempt); - uma_zdestroy(V_bridge_rtnode_zone); } VNET_SYSUNINIT(vnet_bridge_uninit, SI_SUB_PSEUDO, SI_ORDER_ANY, @@ -739,17 +757,6 @@ bridge_clone_create(struct if_clone *ifc, int unit, ca return (0); } -static void -bridge_clone_destroy_cb(struct epoch_context *ctx) -{ - struct bridge_softc *sc; - - sc = __containerof(ctx, struct bridge_softc, sc_epoch_ctx); - - BRIDGE_LOCK_DESTROY(sc); - free(sc, M_DEVBUF); -} - /* * bridge_clone_destroy: * @@ -760,9 +767,7 @@ bridge_clone_destroy(struct ifnet *ifp) { struct bridge_softc *sc = ifp->if_softc; struct bridge_iflist *bif; - struct epoch_tracker et; - NET_EPOCH_ENTER_ET(et); BRIDGE_LOCK(sc); bridge_stop(ifp, 1); @@ -787,12 +792,11 @@ bridge_clone_destroy(struct ifnet *ifp) BRIDGE_LIST_UNLOCK(); bstp_detach(&sc->sc_stp); - NET_EPOCH_EXIT_ET(et); - ether_ifdetach(ifp); if_free(ifp); - epoch_call(net_epoch_preempt, &sc->sc_epoch_ctx, bridge_clone_destroy_cb); + BRIDGE_LOCK_DESTROY(sc); + free(sc, M_DEVBUF); } /* @@ -818,10 +822,7 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t da struct ifdrv *ifd = (struct ifdrv *) data; const struct bridge_control *bc; int error = 0, oldmtu; - struct epoch_tracker et; - NET_EPOCH_ENTER_ET(et); - switch (cmd) { case SIOCADDMULTI: @@ -942,8 +943,6 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t da break; } - NET_EPOCH_EXIT_ET(et); - return (error); } @@ -958,8 +957,6 @@ bridge_mutecaps(struct bridge_softc *sc) struct bridge_iflist *bif; int enabled, mask; - BRIDGE_LOCK_ASSERT(sc); - /* Initial bitmask of capabilities to test */ mask = BRIDGE_IFCAPS_MASK; @@ -968,6 +965,7 @@ bridge_mutecaps(struct bridge_softc *sc) mask &= bif->bif_savedcaps; } + BRIDGE_XLOCK(sc); CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { enabled = bif->bif_ifp->if_capenable; enabled &= ~BRIDGE_IFCAPS_STRIP; @@ -978,6 +976,8 @@ bridge_mutecaps(struct bridge_softc *sc) bridge_set_ifcap(sc, bif, enabled); BRIDGE_LOCK(sc); } + BRIDGE_XDROP(sc); + } static void @@ -1018,7 +1018,7 @@ bridge_lookup_member(struct bridge_softc *sc, const ch struct bridge_iflist *bif; struct ifnet *ifp; - MPASS(in_epoch(net_epoch_preempt)); + BRIDGE_LOCK_ASSERT(sc); CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { ifp = bif->bif_ifp; @@ -1039,7 +1039,7 @@ bridge_lookup_member_if(struct bridge_softc *sc, struc { struct bridge_iflist *bif; - MPASS(in_epoch(net_epoch_preempt)); + BRIDGE_LOCK_ASSERT(sc); CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { if (bif->bif_ifp == member_ifp) @@ -1049,16 +1049,6 @@ bridge_lookup_member_if(struct bridge_softc *sc, struc return (NULL); } -static void -bridge_delete_member_cb(struct epoch_context *ctx) -{ - struct bridge_iflist *bif; - - bif = __containerof(ctx, struct bridge_iflist, bif_epoch_ctx); - - free(bif, M_DEVBUF); -} - /* * bridge_delete_member: * @@ -1078,7 +1068,9 @@ bridge_delete_member(struct bridge_softc *sc, struct b bstp_disable(&bif->bif_stp); ifs->if_bridge = NULL; + BRIDGE_XLOCK(sc); CK_LIST_REMOVE(bif, bif_next); + BRIDGE_XDROP(sc); /* * If removing the interface that gave the bridge its mac address, set @@ -1137,9 +1129,7 @@ bridge_delete_member(struct bridge_softc *sc, struct b } bstp_destroy(&bif->bif_stp); /* prepare to free */ BRIDGE_LOCK(sc); - - epoch_call(net_epoch_preempt, &bif->bif_epoch_ctx, - bridge_delete_member_cb); + free(bif, M_DEVBUF); } /* @@ -1156,9 +1146,7 @@ bridge_delete_span(struct bridge_softc *sc, struct bri ("%s: not a span interface", __func__)); CK_LIST_REMOVE(bif, bif_next); - - epoch_call(net_epoch_preempt, &bif->bif_epoch_ctx, - bridge_delete_member_cb); + free(bif, M_DEVBUF); } static int @@ -1214,6 +1202,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) * If any, remove all inet6 addresses from the member * interfaces. */ + BRIDGE_XLOCK(sc); CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { if (in6ifa_llaonifp(bif->bif_ifp)) { BRIDGE_UNLOCK(sc); @@ -1226,6 +1215,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) bif->bif_ifp->if_xname); } } + BRIDGE_XDROP(sc); if (in6ifa_llaonifp(ifs)) { BRIDGE_UNLOCK(sc); in6_ifdetach(ifs); @@ -1434,9 +1424,9 @@ bridge_ioctl_gifs(struct bridge_softc *sc, void *arg) bifc->ifbic_len = buflen; return (0); } - outbuf = malloc(buflen, M_TEMP, M_NOWAIT | M_ZERO); - if (outbuf == NULL) - return (ENOMEM); + BRIDGE_UNLOCK(sc); + outbuf = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); + BRIDGE_LOCK(sc); count = 0; buf = outbuf; @@ -1496,9 +1486,9 @@ bridge_ioctl_rts(struct bridge_softc *sc, void *arg) count++; buflen = sizeof(bareq) * count; - outbuf = malloc(buflen, M_TEMP, M_NOWAIT | M_ZERO); - if (outbuf == NULL) - return (ENOMEM); + BRIDGE_UNLOCK(sc); + outbuf = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); + BRIDGE_LOCK(sc); count = 0; buf = outbuf; @@ -1539,17 +1529,12 @@ bridge_ioctl_saddr(struct bridge_softc *sc, void *arg) struct bridge_iflist *bif; int error; - MPASS(in_epoch(net_epoch_preempt)); - bif = bridge_lookup_member(sc, req->ifba_ifsname); if (bif == NULL) return (ENOENT); - /* bridge_rtupdate() may acquire the lock. */ - BRIDGE_UNLOCK(sc); error = bridge_rtupdate(sc, req->ifba_dst, req->ifba_vlan, bif, 1, req->ifba_flags); - BRIDGE_LOCK(sc); return (error); } @@ -1824,9 +1809,9 @@ bridge_ioctl_gifsstp(struct bridge_softc *sc, void *ar return (0); } - outbuf = malloc(buflen, M_TEMP, M_NOWAIT | M_ZERO); - if (outbuf == NULL) - return (ENOMEM); + BRIDGE_UNLOCK(sc); + outbuf = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); + BRIDGE_LOCK(sc); count = 0; buf = outbuf; @@ -1888,7 +1873,6 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp) { struct bridge_softc *sc = ifp->if_bridge; struct bridge_iflist *bif; - struct epoch_tracker et; if (ifp->if_flags & IFF_RENAMING) return; @@ -1899,7 +1883,6 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp) */ return; } - NET_EPOCH_ENTER_ET(et); /* Check if the interface is a bridge member */ if (sc != NULL) { BRIDGE_LOCK(sc); @@ -1909,7 +1892,6 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp) bridge_delete_member(sc, bif, 1); BRIDGE_UNLOCK(sc); - NET_EPOCH_EXIT_ET(et); return; } @@ -1926,7 +1908,6 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp) BRIDGE_UNLOCK(sc); } BRIDGE_LIST_UNLOCK(); - NET_EPOCH_EXIT_ET(et); } /* @@ -2081,26 +2062,23 @@ static int bridge_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *sa, struct rtentry *rt) { - struct epoch_tracker et; struct ether_header *eh; struct ifnet *dst_if; struct bridge_softc *sc; uint16_t vlan; - NET_EPOCH_ENTER_ET(et); - if (m->m_len < ETHER_HDR_LEN) { m = m_pullup(m, ETHER_HDR_LEN); - if (m == NULL) { - NET_EPOCH_EXIT_ET(et); + if (m == NULL) return (0); - } } eh = mtod(m, struct ether_header *); sc = ifp->if_bridge; vlan = VLANTAGOF(m); + BRIDGE_LOCK(sc); + /* * If bridge is down, but the original output interface is up, * go ahead and send out that interface. Otherwise, the packet @@ -2122,10 +2100,16 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struc if (dst_if == NULL) { struct bridge_iflist *bif; struct mbuf *mc; - int used = 0; + int error = 0, used = 0; bridge_span(sc, m); + BRIDGE_LOCK2REF(sc, error); + if (error) { + m_freem(m); + return (0); + } + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { dst_if = bif->bif_ifp; @@ -2159,7 +2143,7 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struc } if (used == 0) m_freem(m); - NET_EPOCH_EXIT_ET(et); + BRIDGE_UNREF(sc); return (0); } @@ -2171,12 +2155,12 @@ sendunicast: bridge_span(sc, m); if ((dst_if->if_drv_flags & IFF_DRV_RUNNING) == 0) { m_freem(m); - NET_EPOCH_EXIT_ET(et); + BRIDGE_UNLOCK(sc); return (0); } + BRIDGE_UNLOCK(sc); bridge_enqueue(sc, dst_if, m); - NET_EPOCH_EXIT_ET(et); return (0); } @@ -2189,28 +2173,25 @@ sendunicast: static int bridge_transmit(struct ifnet *ifp, struct mbuf *m) { - struct epoch_tracker et; struct bridge_softc *sc; struct ether_header *eh; struct ifnet *dst_if; int error = 0; - NET_EPOCH_ENTER_ET(et); - sc = ifp->if_softc; ETHER_BPF_MTAP(ifp, m); eh = mtod(m, struct ether_header *); + BRIDGE_LOCK(sc); if (((m->m_flags & (M_BCAST|M_MCAST)) == 0) && (dst_if = bridge_rtlookup(sc, eh->ether_dhost, 1)) != NULL) { + BRIDGE_UNLOCK(sc); error = bridge_enqueue(sc, dst_if, m); } else bridge_broadcast(sc, ifp, m, 0); - NET_EPOCH_EXIT_ET(et); - return (error); } @@ -2240,8 +2221,6 @@ bridge_forward(struct bridge_softc *sc, struct bridge_ uint8_t *dst; int error; - MPASS(in_epoch(net_epoch_preempt)); - src_if = m->m_pkthdr.rcvif; ifp = sc->sc_ifp; @@ -2320,10 +2299,12 @@ bridge_forward(struct bridge_softc *sc, struct bridge_ || PFIL_HOOKED(&V_inet6_pfil_hook) #endif ) { + BRIDGE_UNLOCK(sc); if (bridge_pfil(&m, ifp, src_if, PFIL_IN) != 0) return; if (m == NULL) return; + BRIDGE_LOCK(sc); } if (dst_if == NULL) { @@ -2351,6 +2332,8 @@ bridge_forward(struct bridge_softc *sc, struct bridge_ dbif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) goto drop; + BRIDGE_UNLOCK(sc); + if (PFIL_HOOKED(&V_inet_pfil_hook) #ifdef INET6 || PFIL_HOOKED(&V_inet6_pfil_hook) @@ -2366,6 +2349,7 @@ bridge_forward(struct bridge_softc *sc, struct bridge_ return; drop: + BRIDGE_UNLOCK(sc); m_freem(m); } @@ -2378,7 +2362,6 @@ drop: static struct mbuf * bridge_input(struct ifnet *ifp, struct mbuf *m) { - struct epoch_tracker et; struct bridge_softc *sc = ifp->if_bridge; struct bridge_iflist *bif, *bif2; struct ifnet *bifp; @@ -2387,12 +2370,8 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) uint16_t vlan; int error; - NET_EPOCH_ENTER_ET(et); - - if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { - NET_EPOCH_EXIT_ET(et); + if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) return (m); - } bifp = sc->sc_ifp; vlan = VLANTAGOF(m); @@ -2409,12 +2388,12 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) if_inc_counter(bifp, IFCOUNTER_IPACKETS, 1); if_inc_counter(bifp, IFCOUNTER_IBYTES, m->m_pkthdr.len); m_freem(m); - NET_EPOCH_EXIT_ET(et); return (NULL); } + BRIDGE_LOCK(sc); bif = bridge_lookup_member_if(sc, ifp); if (bif == NULL) { - NET_EPOCH_EXIT_ET(et); + BRIDGE_UNLOCK(sc); return (m); } @@ -2427,13 +2406,13 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) if (memcmp(eh->ether_dhost, bstp_etheraddr, ETHER_ADDR_LEN) == 0) { bstp_input(&bif->bif_stp, ifp, m); /* consumes mbuf */ - NET_EPOCH_EXIT_ET(et); + BRIDGE_UNLOCK(sc); return (NULL); } if ((bif->bif_flags & IFBIF_STP) && bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) { - NET_EPOCH_EXIT_ET(et); + BRIDGE_UNLOCK(sc); return (m); } @@ -2444,7 +2423,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) */ mc = m_dup(m, M_NOWAIT); if (mc == NULL) { - NET_EPOCH_EXIT_ET(et); + BRIDGE_UNLOCK(sc); return (m); } @@ -2471,13 +2450,12 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) } /* Return the original packet for local processing. */ - NET_EPOCH_EXIT_ET(et); return (m); } if ((bif->bif_flags & IFBIF_STP) && bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) { - NET_EPOCH_EXIT_ET(et); + BRIDGE_UNLOCK(sc); return (m); } @@ -2517,6 +2495,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) OR_PFIL_HOOKED_INET6)) { \ if (bridge_pfil(&m, NULL, ifp, \ PFIL_IN) != 0 || m == NULL) { \ + BRIDGE_UNLOCK(sc); \ return (NULL); \ } \ eh = mtod(m, struct ether_header *); \ @@ -2526,13 +2505,13 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) error = bridge_rtupdate(sc, eh->ether_shost, \ vlan, bif, 0, IFBAF_DYNAMIC); \ if (error && bif->bif_addrmax) { \ + BRIDGE_UNLOCK(sc); \ m_freem(m); \ - NET_EPOCH_EXIT_ET(et); \ return (NULL); \ } \ } \ m->m_pkthdr.rcvif = iface; \ - NET_EPOCH_EXIT_ET(et); \ + BRIDGE_UNLOCK(sc); \ return (m); \ } \ \ @@ -2540,8 +2519,8 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) if (memcmp(IF_LLADDR((iface)), eh->ether_shost, ETHER_ADDR_LEN) == 0 \ OR_CARP_CHECK_WE_ARE_SRC((iface)) \ ) { \ + BRIDGE_UNLOCK(sc); \ m_freem(m); \ - NET_EPOCH_EXIT_ET(et); \ return (NULL); \ } @@ -2572,7 +2551,6 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) /* Perform the bridge forwarding function. */ bridge_forward(sc, bif, m); - NET_EPOCH_EXIT_ET(et); return (NULL); } @@ -2592,12 +2570,16 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet struct bridge_iflist *dbif, *sbif; struct mbuf *mc; struct ifnet *dst_if; - int used = 0, i; + int error = 0, used = 0, i; - MPASS(in_epoch(net_epoch_preempt)); - sbif = bridge_lookup_member_if(sc, src_if); + BRIDGE_LOCK2REF(sc, error); + if (error) { + m_freem(m); + return; + } + /* Filter on the bridge interface before broadcasting */ if (runfilt && (PFIL_HOOKED(&V_inet_pfil_hook) #ifdef INET6 @@ -2605,9 +2587,9 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet #endif )) { if (bridge_pfil(&m, sc->sc_ifp, NULL, PFIL_OUT) != 0) - return; + goto out; if (m == NULL) - return; + goto out; } CK_LIST_FOREACH(dbif, &sc->sc_iflist, bif_next) { @@ -2670,6 +2652,9 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet } if (used == 0) m_freem(m); + +out: + BRIDGE_UNREF(sc); } /* @@ -2685,8 +2670,6 @@ bridge_span(struct bridge_softc *sc, struct mbuf *m) struct ifnet *dst_if; struct mbuf *mc; - MPASS(in_epoch(net_epoch_preempt)); - if (CK_LIST_EMPTY(&sc->sc_spanlist)) return; @@ -2718,8 +2701,7 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t struct bridge_rtnode *brt; int error; - MPASS(in_epoch(net_epoch_preempt)); - BRIDGE_UNLOCK_ASSERT(sc); + BRIDGE_LOCK_ASSERT(sc); /* Check the source address is valid and not multicast. */ if (ETHER_IS_MULTICAST(dst) || @@ -2736,24 +2718,13 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t * update it, otherwise create a new one. */ if ((brt = bridge_rtnode_lookup(sc, dst, vlan)) == NULL) { - BRIDGE_LOCK(sc); - - /* Check again, now that we have the lock. There could have - * been a race and we only want to insert this once. */ - if ((brt = bridge_rtnode_lookup(sc, dst, vlan)) != NULL) { - BRIDGE_UNLOCK(sc); - return (0); - } - if (sc->sc_brtcnt >= sc->sc_brtmax) { sc->sc_brtexceeded++; - BRIDGE_UNLOCK(sc); return (ENOSPC); } /* Check per interface address limits (if enabled) */ if (bif->bif_addrmax && bif->bif_addrcnt >= bif->bif_addrmax) { bif->bif_addrexceeded++; - BRIDGE_UNLOCK(sc); return (ENOSPC); } @@ -2763,11 +2734,8 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t * address. */ brt = uma_zalloc(V_bridge_rtnode_zone, M_NOWAIT | M_ZERO); - if (brt == NULL) { - BRIDGE_UNLOCK(sc); + if (brt == NULL) return (ENOMEM); - } - brt->brt_vnet = curvnet; if (bif->bif_flags & IFBIF_STICKY) brt->brt_flags = IFBAF_STICKY; @@ -2779,22 +2747,17 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t if ((error = bridge_rtnode_insert(sc, brt)) != 0) { uma_zfree(V_bridge_rtnode_zone, brt); - BRIDGE_UNLOCK(sc); return (error); } brt->brt_dst = bif; bif->bif_addrcnt++; - - BRIDGE_UNLOCK(sc); } if ((brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC && brt->brt_dst != bif) { - BRIDGE_LOCK(sc); brt->brt_dst->bif_addrcnt--; brt->brt_dst = bif; brt->brt_dst->bif_addrcnt++; - BRIDGE_UNLOCK(sc); } if ((flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC) @@ -2815,7 +2778,7 @@ bridge_rtlookup(struct bridge_softc *sc, const uint8_t { struct bridge_rtnode *brt; - MPASS(in_epoch(net_epoch_preempt)); + BRIDGE_LOCK_ASSERT(sc); if ((brt = bridge_rtnode_lookup(sc, addr, vlan)) == NULL) return (NULL); @@ -3054,7 +3017,7 @@ bridge_rtnode_lookup(struct bridge_softc *sc, const ui uint32_t hash; int dir; - MPASS(in_epoch(net_epoch_preempt)); + BRIDGE_LOCK_ASSERT(sc); hash = bridge_rthash(sc, addr); CK_LIST_FOREACH(brt, &sc->sc_rthash[hash], brt_hash) { @@ -3117,18 +3080,6 @@ out: return (0); } -static void -bridge_rtnode_destroy_cb(struct epoch_context *ctx) -{ - struct bridge_rtnode *brt; - - brt = __containerof(ctx, struct bridge_rtnode, brt_epoch_ctx); - - CURVNET_SET(brt->brt_vnet); - uma_zfree(V_bridge_rtnode_zone, brt); - CURVNET_RESTORE(); -} - /* * bridge_rtnode_destroy: * @@ -3144,9 +3095,7 @@ bridge_rtnode_destroy(struct bridge_softc *sc, struct CK_LIST_REMOVE(brt, brt_list); sc->sc_brtcnt--; brt->brt_dst->bif_addrcnt--; - - epoch_call(net_epoch_preempt, &brt->brt_epoch_ctx, - bridge_rtnode_destroy_cb); + uma_zfree(V_bridge_rtnode_zone, brt); } /* @@ -3691,20 +3640,17 @@ bridge_linkstate(struct ifnet *ifp) { struct bridge_softc *sc = ifp->if_bridge; struct bridge_iflist *bif; - struct epoch_tracker et; - NET_EPOCH_ENTER_ET(et); - + BRIDGE_LOCK(sc); bif = bridge_lookup_member_if(sc, ifp); if (bif == NULL) { - NET_EPOCH_EXIT_ET(et); + BRIDGE_UNLOCK(sc); return; } bridge_linkcheck(sc); + BRIDGE_UNLOCK(sc); bstp_linkstate(&bif->bif_stp); - - NET_EPOCH_EXIT_ET(et); } static void @@ -3713,8 +3659,7 @@ bridge_linkcheck(struct bridge_softc *sc) struct bridge_iflist *bif; int new_link, hasls; - MPASS(in_epoch(net_epoch_preempt)); - + BRIDGE_LOCK_ASSERT(sc); new_link = LINK_STATE_DOWN; hasls = 0; /* Our link is considered up if at least one of our ports is active */ From owner-svn-src-all@freebsd.org Sun Jul 26 17:50:39 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C9495367308; Sun, 26 Jul 2020 17:50:39 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF9TC51Rtz3bPw; Sun, 26 Jul 2020 17:50:39 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 910211084E; Sun, 26 Jul 2020 17:50:39 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QHodwF011695; Sun, 26 Jul 2020 17:50:39 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QHodVs011694; Sun, 26 Jul 2020 17:50:39 GMT (envelope-from ian@FreeBSD.org) Message-Id: <202007261750.06QHodVs011694@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sun, 26 Jul 2020 17:50:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363569 - head/usr.bin/vmstat X-SVN-Group: head X-SVN-Commit-Author: ian X-SVN-Commit-Paths: head/usr.bin/vmstat X-SVN-Commit-Revision: 363569 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 17:50:39 -0000 Author: ian Date: Sun Jul 26 17:50:39 2020 New Revision: 363569 URL: https://svnweb.freebsd.org/changeset/base/363569 Log: Remove commented-out lines describing the old never-implemented -t option. In 2018, r338094 removed the commented-out code for supporting the -t command line option which had been present since the BSD 4.4 Lite import, but was never implemented for freebsd. This does the same for the man page. Modified: head/usr.bin/vmstat/vmstat.8 Modified: head/usr.bin/vmstat/vmstat.8 ============================================================================== --- head/usr.bin/vmstat/vmstat.8 Sun Jul 26 17:44:03 2020 (r363568) +++ head/usr.bin/vmstat/vmstat.8 Sun Jul 26 17:50:39 2020 (r363569) @@ -28,7 +28,7 @@ .\" @(#)vmstat.8 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd May 26, 2020 +.Dd July 26, 2020 .Dt VMSTAT 8 .Os .Sh NAME @@ -209,9 +209,6 @@ Display the contents of the .Em sum structure, giving the total number of several kinds of paging related events which have occurred since system startup. -.\" .It Fl t -.\" Report on the number of page in and page reclaims since system startup, -.\" and the amount of time required by each. .It Fl w Pause .Ar wait From owner-svn-src-all@freebsd.org Sun Jul 26 18:12:55 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0A050367A18; Sun, 26 Jul 2020 18:12:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF9yt6VtSz3cvD; Sun, 26 Jul 2020 18:12:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C224D10F13; Sun, 26 Jul 2020 18:12:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QICsLu029899; Sun, 26 Jul 2020 18:12:54 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QICsfW029898; Sun, 26 Jul 2020 18:12:54 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007261812.06QICsfW029898@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sun, 26 Jul 2020 18:12:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363570 - stable/12/usr.bin/whois X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/usr.bin/whois X-SVN-Commit-Revision: 363570 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 18:12:55 -0000 Author: markj Date: Sun Jul 26 18:12:54 2020 New Revision: 363570 URL: https://svnweb.freebsd.org/changeset/base/363570 Log: MFC r363052: whois: Handle referrals to rwhois servers. PR: 243862 Modified: stable/12/usr.bin/whois/whois.c Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.bin/whois/whois.c ============================================================================== --- stable/12/usr.bin/whois/whois.c Sun Jul 26 17:50:39 2020 (r363569) +++ stable/12/usr.bin/whois/whois.c Sun Jul 26 18:12:54 2020 (r363570) @@ -117,6 +117,7 @@ static struct { WHOIS_REFERRAL("Whois Server:"), WHOIS_REFERRAL("Registrar WHOIS Server:"), /* corporatedomains.com */ WHOIS_REFERRAL("ReferralServer: whois://"), /* ARIN */ + WHOIS_REFERRAL("ReferralServer: rwhois://"), /* ARIN */ WHOIS_REFERRAL("descr: region. Please query"), /* AfriNIC */ { NULL, 0 } }; @@ -156,10 +157,10 @@ reset_rir(void) { static const char *port = DEFAULT_PORT; static const char *choose_server(char *); -static struct addrinfo *gethostinfo(char const *host, int exitnoname); +static struct addrinfo *gethostinfo(const char *, const char *, int); static void s_asprintf(char **ret, const char *format, ...) __printflike(2, 3); static void usage(void); -static void whois(const char *, const char *, int); +static void whois(const char *, const char *, const char *, int); int main(int argc, char *argv[]) @@ -255,11 +256,11 @@ main(int argc, char *argv[]) if (country != NULL) { char *qnichost; s_asprintf(&qnichost, "%s%s", country, QNICHOST_TAIL); - whois(*argv, qnichost, flags); + whois(*argv, qnichost, port, flags); free(qnichost); } else whois(*argv, host != NULL ? host : - choose_server(*argv), flags); + choose_server(*argv), port, flags); reset_rir(); argv++; } @@ -283,7 +284,7 @@ choose_server(char *domain) } static struct addrinfo * -gethostinfo(char const *host, int exit_on_noname) +gethostinfo(const char *host, const char *hport, int exit_on_noname) { struct addrinfo hints, *res; int error; @@ -293,7 +294,7 @@ gethostinfo(char const *host, int exit_on_noname) hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; res = NULL; - error = getaddrinfo(host, port, &hints, &res); + error = getaddrinfo(host, hport, &hints, &res); if (error && (exit_on_noname || error != EAI_NONAME)) err(EX_NOHOST, "%s: %s", host, gai_strerror(error)); return (res); @@ -444,15 +445,15 @@ done: } static void -whois(const char *query, const char *hostname, int flags) +whois(const char *query, const char *hostname, const char *hostport, int flags) { FILE *fp; struct addrinfo *hostres; - char *buf, *host, *nhost, *p; + char *buf, *host, *nhost, *nport, *p; int comment, s, f; size_t len, i; - hostres = gethostinfo(hostname, 1); + hostres = gethostinfo(hostname, hostport, 1); s = connect_to_any_host(hostres); if (s == -1) err(EX_OSERR, "connect()"); @@ -532,14 +533,35 @@ whois(const char *query, const char *hostname, int fla SCAN(p, buf+len, *p == ' '); host = p; SCAN(p, buf+len, ishost(*p)); - if (p > host) + if (p > host) { + char *pstr; + s_asprintf(&nhost, "%.*s", (int)(p - host), host); + + if (*p != ':') { + s_asprintf(&nport, "%s", port); + break; + } + + pstr = ++p; + SCAN(p, buf+len, isdigit(*p)); + if (p > pstr && (p - pstr) < 6) { + s_asprintf(&nport, "%.*s", + (int)(p - pstr), pstr); + break; + } + + /* Invalid port; don't recurse */ + free(nhost); + nhost = NULL; + } break; } for (i = 0; actually_arin[i] != NULL; i++) { if (strncmp(buf, actually_arin[i], len) == 0) { s_asprintf(&nhost, "%s", ANICHOST); + s_asprintf(&nport, "%s", port); break; } } @@ -565,17 +587,19 @@ whois(const char *query, const char *hostname, int fla /* Do we need to find an alternative RIR? */ if (try_rir[i].loop != 0 && nhost != NULL && strcasecmp(try_rir[i].host, nhost) == 0) { - free(nhost); - nhost = NULL; - f = 1; + free(nhost); + nhost = NULL; + free(nport); + nport = NULL; + f = 1; } } if (f) { /* Find a replacement RIR */ for (i = 0; try_rir[i].host != NULL; i++) { if (try_rir[i].loop == 0) { - s_asprintf(&nhost, "%s", - try_rir[i].host); + s_asprintf(&nhost, "%s", try_rir[i].host); + s_asprintf(&nport, "%s", port); break; } } @@ -584,9 +608,10 @@ whois(const char *query, const char *hostname, int fla /* Ignore self-referrals */ if (strcasecmp(hostname, nhost) != 0) { printf("# %s\n\n", nhost); - whois(query, nhost, flags); + whois(query, nhost, nport, flags); } free(nhost); + free(nport); } } From owner-svn-src-all@freebsd.org Sun Jul 26 18:15:17 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 31164367A7E; Sun, 26 Jul 2020 18:15:17 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFB1d0JnNz3d94; Sun, 26 Jul 2020 18:15:16 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CA9FC10E65; Sun, 26 Jul 2020 18:15:16 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QIFGvn030073; Sun, 26 Jul 2020 18:15:16 GMT (envelope-from jrtc27@FreeBSD.org) Received: (from jrtc27@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QIFG2F030071; Sun, 26 Jul 2020 18:15:16 GMT (envelope-from jrtc27@FreeBSD.org) Message-Id: <202007261815.06QIFG2F030071@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jrtc27 set sender to jrtc27@FreeBSD.org using -f From: Jessica Clarke Date: Sun, 26 Jul 2020 18:15:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363571 - in head/sys: conf dev/goldfish riscv/conf X-SVN-Group: head X-SVN-Commit-Author: jrtc27 X-SVN-Commit-Paths: in head/sys: conf dev/goldfish riscv/conf X-SVN-Commit-Revision: 363571 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 18:15:17 -0000 Author: jrtc27 Date: Sun Jul 26 18:15:16 2020 New Revision: 363571 URL: https://svnweb.freebsd.org/changeset/base/363571 Log: Add Goldfish RTC device driver for RISC-V This device was originally used as part of the goldfish virtual hardware platform used for emulating Android on QEMU, but is now also used as the RTC for the RISC-V virt machine in QEMU. It provides a simple 64-bit nanosecond timer exposed via a pair of memory-mapped 32-bit registers, although only with 1s granularity. Reviewed by: brooks (mentor), jhb (mentor), kp Approved by: brooks (mentor), jhb (mentor), kp Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D25717 Added: head/sys/dev/goldfish/ head/sys/dev/goldfish/goldfish_rtc.c (contents, props changed) Modified: head/sys/conf/files head/sys/riscv/conf/GENERIC Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sun Jul 26 18:12:54 2020 (r363570) +++ head/sys/conf/files Sun Jul 26 18:15:16 2020 (r363571) @@ -1736,6 +1736,7 @@ dev/fxp/if_fxp.c optional fxp dev/fxp/inphy.c optional fxp dev/gem/if_gem.c optional gem dev/gem/if_gem_pci.c optional gem pci +dev/goldfish/goldfish_rtc.c optional goldfish_rtc fdt dev/gpio/dwgpio/dwgpio.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_bus.c optional gpio dwgpio fdt dev/gpio/dwgpio/dwgpio_if.m optional gpio dwgpio fdt Added: head/sys/dev/goldfish/goldfish_rtc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/goldfish/goldfish_rtc.c Sun Jul 26 18:15:16 2020 (r363571) @@ -0,0 +1,182 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Jessica Clarke + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * RTC for the goldfish virtual hardware platform implemented in QEMU, + * initially for Android but now also used for RISC-V's virt machine. + * + * https://android.googlesource.com/platform/external/qemu/+/master/docs/GOLDFISH-VIRTUAL-HARDWARE.TXT + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include "clock_if.h" + +#define GOLDFISH_RTC_TIME_LOW 0x00 +#define GOLDFISH_RTC_TIME_HIGH 0x04 + +struct goldfish_rtc_softc { + struct resource *res; + int rid; + struct mtx mtx; +}; + +static int +goldfish_rtc_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + if (ofw_bus_is_compatible(dev, "google,goldfish-rtc")) { + device_set_desc(dev, "Goldfish RTC"); + return (BUS_PROBE_DEFAULT); + } + + return (ENXIO); +} + +static int +goldfish_rtc_attach(device_t dev) +{ + struct goldfish_rtc_softc *sc; + + sc = device_get_softc(dev); + + sc->rid = 0; + sc->res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->rid, + RF_ACTIVE); + if (sc->res == NULL) { + device_printf(dev, "could not allocate resource\n"); + return (ENXIO); + } + + mtx_init(&sc->mtx, device_get_nameunit(dev), NULL, MTX_DEF); + + /* + * Register as a system realtime clock with 1 second resolution. + */ + clock_register_flags(dev, 1000000, CLOCKF_SETTIME_NO_ADJ); + clock_schedule(dev, 1); + + return (0); +} + +static int +goldfish_rtc_detach(device_t dev) +{ + struct goldfish_rtc_softc *sc; + + sc = device_get_softc(dev); + + clock_unregister(dev); + mtx_destroy(&sc->mtx); + bus_release_resource(dev, SYS_RES_MEMORY, sc->rid, sc->res); + + return (0); +} + +static int +goldfish_rtc_gettime(device_t dev, struct timespec *ts) +{ + struct goldfish_rtc_softc *sc; + uint64_t low, high, nsec; + + sc = device_get_softc(dev); + + /* + * Reading TIME_HIGH is defined in the documentation to give the high + * 32 bits corresponding to the last TIME_LOW read, so must be done in + * that order, but means we have atomicity guaranteed. + */ + mtx_lock(&sc->mtx); + low = bus_read_4(sc->res, GOLDFISH_RTC_TIME_LOW); + high = bus_read_4(sc->res, GOLDFISH_RTC_TIME_HIGH); + mtx_unlock(&sc->mtx); + + nsec = (high << 32) | low; + ts->tv_sec = nsec / 1000000000; + ts->tv_nsec = nsec % 1000000000; + + return (0); +} + +static int +goldfish_rtc_settime(device_t dev, struct timespec *ts) +{ + struct goldfish_rtc_softc *sc; + uint64_t nsec; + + sc = device_get_softc(dev); + + nsec = (uint64_t)ts->tv_sec * 1000000000 + ts->tv_nsec; + + mtx_lock(&sc->mtx); + bus_write_4(sc->res, GOLDFISH_RTC_TIME_HIGH, nsec >> 32); + bus_write_4(sc->res, GOLDFISH_RTC_TIME_LOW, nsec); + mtx_unlock(&sc->mtx); + + return (0); +} + +static device_method_t goldfish_rtc_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, goldfish_rtc_probe), + DEVMETHOD(device_attach, goldfish_rtc_attach), + DEVMETHOD(device_detach, goldfish_rtc_detach), + + /* Clock interface */ + DEVMETHOD(clock_gettime, goldfish_rtc_gettime), + DEVMETHOD(clock_settime, goldfish_rtc_settime), + + DEVMETHOD_END, +}; + +DEFINE_CLASS_0(goldfish_rtc, goldfish_rtc_driver, goldfish_rtc_methods, + sizeof(struct goldfish_rtc_softc)); +static devclass_t goldfish_rtc_devclass; + +DRIVER_MODULE(goldfish_rtc, simplebus, goldfish_rtc_driver, + goldfish_rtc_devclass, NULL, NULL); Modified: head/sys/riscv/conf/GENERIC ============================================================================== --- head/sys/riscv/conf/GENERIC Sun Jul 26 18:12:54 2020 (r363570) +++ head/sys/riscv/conf/GENERIC Sun Jul 26 18:15:16 2020 (r363571) @@ -101,6 +101,8 @@ device uart # Generic UART driver device uart_lowrisc # lowRISC UART driver device uart_ns8250 # ns8250-type UART driver +# RTC +device goldfish_rtc # QEMU RTC # Ethernet drivers device miibus # MII bus support From owner-svn-src-all@freebsd.org Sun Jul 26 18:17:37 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9815336810B; Sun, 26 Jul 2020 18:17:37 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFB4K3Vskz3dG2; Sun, 26 Jul 2020 18:17:37 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 575B910E69; Sun, 26 Jul 2020 18:17:37 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QIHbx8030220; Sun, 26 Jul 2020 18:17:37 GMT (envelope-from jrtc27@FreeBSD.org) Received: (from jrtc27@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QIHa5x030218; Sun, 26 Jul 2020 18:17:36 GMT (envelope-from jrtc27@FreeBSD.org) Message-Id: <202007261817.06QIHa5x030218@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jrtc27 set sender to jrtc27@FreeBSD.org using -f From: Jessica Clarke Date: Sun, 26 Jul 2020 18:17:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363572 - in head/stand/efi/loader/arch: arm riscv X-SVN-Group: head X-SVN-Commit-Author: jrtc27 X-SVN-Commit-Paths: in head/stand/efi/loader/arch: arm riscv X-SVN-Commit-Revision: 363572 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 18:17:37 -0000 Author: jrtc27 Date: Sun Jul 26 18:17:36 2020 New Revision: 363572 URL: https://svnweb.freebsd.org/changeset/base/363572 Log: loader: Avoid -Wpointer-to-int cast warnings for Arm and RISC-V On RISC-V, Clang warns with: cast to smaller integer type 'unsigned int' from 'void (*)(void *)' Instead, use %p as the standard format specifier for printing pointers. Whilst Arm's pointer size is the same as unsigned, it's still cleaner to use the right thing there too. Reviewed by: brooks (mentor), emaste Approved by: brooks (mentor), emaste Differential Revision: https://reviews.freebsd.org/D25718 Modified: head/stand/efi/loader/arch/arm/exec.c head/stand/efi/loader/arch/riscv/exec.c Modified: head/stand/efi/loader/arch/arm/exec.c ============================================================================== --- head/stand/efi/loader/arch/arm/exec.c Sun Jul 26 18:15:16 2020 (r363571) +++ head/stand/efi/loader/arch/arm/exec.c Sun Jul 26 18:17:36 2020 (r363572) @@ -77,7 +77,7 @@ __elfN(arm_exec)(struct preloaded_file *fp) entry = efi_translate(e->e_entry); - printf("Kernel entry at 0x%x...\n", (unsigned)entry); + printf("Kernel entry at %p...\n", entry); printf("Kernel args: %s\n", fp->f_args); if ((error = bi_load(fp->f_args, &modulep, &kernend)) != 0) { Modified: head/stand/efi/loader/arch/riscv/exec.c ============================================================================== --- head/stand/efi/loader/arch/riscv/exec.c Sun Jul 26 18:15:16 2020 (r363571) +++ head/stand/efi/loader/arch/riscv/exec.c Sun Jul 26 18:17:36 2020 (r363572) @@ -63,7 +63,7 @@ __elfN(exec)(struct preloaded_file *fp) entry = efi_translate(e->e_entry); - printf("Kernel entry at 0x%x...\n", (unsigned)entry); + printf("Kernel entry at %p...\n", entry); printf("Kernel args: %s\n", fp->f_args); if ((error = bi_load(fp->f_args, &modulep, &kernend)) != 0) { From owner-svn-src-all@freebsd.org Sun Jul 26 18:19:51 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A3B97368286; Sun, 26 Jul 2020 18:19:51 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFB6v3sMwz3dJ5; Sun, 26 Jul 2020 18:19:51 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 67AD610BB8; Sun, 26 Jul 2020 18:19:51 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QIJp8B030474; Sun, 26 Jul 2020 18:19:51 GMT (envelope-from jrtc27@FreeBSD.org) Received: (from jrtc27@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QIJpeB030472; Sun, 26 Jul 2020 18:19:51 GMT (envelope-from jrtc27@FreeBSD.org) Message-Id: <202007261819.06QIJpeB030472@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jrtc27 set sender to jrtc27@FreeBSD.org using -f From: Jessica Clarke Date: Sun, 26 Jul 2020 18:19:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363573 - in head/sys: conf dev/extres/syscon X-SVN-Group: head X-SVN-Commit-Author: jrtc27 X-SVN-Commit-Paths: in head/sys: conf dev/extres/syscon X-SVN-Commit-Revision: 363573 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 18:19:51 -0000 Author: jrtc27 Date: Sun Jul 26 18:19:50 2020 New Revision: 363573 URL: https://svnweb.freebsd.org/changeset/base/363573 Log: Add syscon power and reset control device driver This device driver supports both syscon-power and syscon-reset devices, as specified in [1] and [2]. These provide a very simple interface for power and reset control, and among other things are used by QEMU's virt machine on RISC-V. A separate commit will enable this on RISC-V, as that requires adding a RISC-V-specific riscv_syscon akin to r327936's aw_syscon. [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/power/reset/syscon-poweroff.txt [2] https://www.kernel.org/doc/Documentation/devicetree/bindings/power/reset/syscon-reboot.txt Reviewed by: brooks (mentor), jhb (mentor) Approved by: brooks (mentor), jhb (mentor) Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D25724 Added: head/sys/dev/extres/syscon/syscon_power.c (contents, props changed) Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sun Jul 26 18:17:36 2020 (r363572) +++ head/sys/conf/files Sun Jul 26 18:19:50 2020 (r363573) @@ -1702,6 +1702,7 @@ dev/extres/regulator/regulator_fixed.c optional ext_re dev/extres/syscon/syscon.c optional ext_resources syscon dev/extres/syscon/syscon_generic.c optional ext_resources syscon fdt dev/extres/syscon/syscon_if.m optional ext_resources syscon +dev/extres/syscon/syscon_power.c optional ext_resources syscon syscon_power fdt dev/fb/fbd.c optional fbd | vt dev/fb/fb_if.m standard dev/fb/splash.c optional sc splash Added: head/sys/dev/extres/syscon/syscon_power.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/extres/syscon/syscon_power.c Sun Jul 26 18:19:50 2020 (r363573) @@ -0,0 +1,198 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Jessica Clarke + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Driver for simple syscon poweroff and reset devices. The device tree + * specifications are fully described at: + * + * https://www.kernel.org/doc/Documentation/devicetree/bindings/power/reset/syscon-poweroff.txt + * https://www.kernel.org/doc/Documentation/devicetree/bindings/power/reset/syscon-reboot.txt + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include "syscon_if.h" +#include "syscon.h" + +struct syscon_power_softc { + struct syscon *regmap; + uint32_t offset; + uint32_t value; + uint32_t mask; + bool reboot; + eventhandler_tag shutdown_tag; +}; + +static void +syscon_power_shutdown_final(device_t dev, int howto) +{ + struct syscon_power_softc *sc; + bool write; + + sc = device_get_softc(dev); + if (sc->reboot) + write = (howto & RB_HALT) == 0; + else + write = (howto & RB_POWEROFF) != 0; + + if (write) + SYSCON_MODIFY_4(sc->regmap, sc->offset, sc->mask, + sc->value & sc->mask); +} + +static int +syscon_power_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + if (ofw_bus_is_compatible(dev, "syscon-poweroff")) { + device_set_desc(dev, "Syscon poweroff"); + return (BUS_PROBE_DEFAULT); + } else if (ofw_bus_is_compatible(dev, "syscon-reboot")) { + device_set_desc(dev, "Syscon reboot"); + return (BUS_PROBE_DEFAULT); + } + + return (ENXIO); +} + +static int +syscon_power_attach(device_t dev) +{ + struct syscon_power_softc *sc; + phandle_t node; + int error, len; + bool has_mask; + + sc = device_get_softc(dev); + node = ofw_bus_get_node(dev); + + if (!OF_hasprop(node, "regmap")) { + device_printf(dev, "could not find regmap\n"); + return (ENXIO); + } + + error = syscon_get_by_ofw_property(dev, node, "regmap", &sc->regmap); + if (error != 0) { + device_printf(dev, "could not get syscon\n"); + return (ENXIO); + } + + len = OF_getproplen(node, "offset"); + if (len != 4) { + device_printf(dev, "could not get offset\n"); + return (ENXIO); + } + + OF_getencprop(node, "offset", &sc->offset, sizeof(sc->offset)); + + /* Optional mask */ + has_mask = OF_hasprop(node, "mask"); + if (has_mask) { + len = OF_getproplen(node, "mask"); + if (len != 4) { + device_printf(dev, "cannot handle mask\n"); + return (ENXIO); + } + + OF_getencprop(node, "mask", &sc->mask, sizeof(sc->mask)); + } else { + sc->mask = 0xffffffff; + } + + /* + * From the device tree specification: + * + * Legacy usage: If a node doesn't contain a value property but + * contains a mask property, the mask property is used as the value. + */ + if (!OF_hasprop(node, "value")) { + if (!has_mask) { + device_printf(dev, "must have a value or a mask\n"); + return (ENXIO); + } + + sc->value = sc->mask; + } else { + len = OF_getproplen(node, "value"); + if (len != 4) { + device_printf(dev, "cannot handle value\n"); + return (ENXIO); + } + + OF_getencprop(node, "value", &sc->value, sizeof(sc->value)); + } + + sc->reboot = ofw_bus_is_compatible(dev, "syscon-reboot"); + sc->shutdown_tag = EVENTHANDLER_REGISTER(shutdown_final, + syscon_power_shutdown_final, dev, SHUTDOWN_PRI_LAST); + + return (0); +} + +static int +syscon_power_detach(device_t dev) +{ + struct syscon_power_softc *sc; + + sc = device_get_softc(dev); + EVENTHANDLER_DEREGISTER(shutdown_final, sc->shutdown_tag); + + return (0); +} + +static device_method_t syscon_power_methods[] = { + DEVMETHOD(device_probe, syscon_power_probe), + DEVMETHOD(device_attach, syscon_power_attach), + DEVMETHOD(device_detach, syscon_power_detach), + + DEVMETHOD_END +}; + +DEFINE_CLASS_0(syscon_power, syscon_power_driver, syscon_power_methods, + sizeof(struct syscon_power_softc)); +static devclass_t syscon_power_devclass; + +DRIVER_MODULE(syscon_power, simplebus, syscon_power_driver, + syscon_power_devclass, NULL, NULL); From owner-svn-src-all@freebsd.org Sun Jul 26 18:21:03 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9F39D368383; Sun, 26 Jul 2020 18:21:03 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFB8H3m2Rz3djM; Sun, 26 Jul 2020 18:21:03 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6476C11197; Sun, 26 Jul 2020 18:21:03 +0000 (UTC) (envelope-from jrtc27@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QIL3aA032206; Sun, 26 Jul 2020 18:21:03 GMT (envelope-from jrtc27@FreeBSD.org) Received: (from jrtc27@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QIL25C032203; Sun, 26 Jul 2020 18:21:02 GMT (envelope-from jrtc27@FreeBSD.org) Message-Id: <202007261821.06QIL25C032203@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jrtc27 set sender to jrtc27@FreeBSD.org using -f From: Jessica Clarke Date: Sun, 26 Jul 2020 18:21:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363574 - in head/sys: conf riscv/conf riscv/riscv X-SVN-Group: head X-SVN-Commit-Author: jrtc27 X-SVN-Commit-Paths: in head/sys: conf riscv/conf riscv/riscv X-SVN-Commit-Revision: 363574 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 18:21:03 -0000 Author: jrtc27 Date: Sun Jul 26 18:21:02 2020 New Revision: 363574 URL: https://svnweb.freebsd.org/changeset/base/363574 Log: riscv: Include syscon_power device driver in GENERIC kernel config QEMU's RISC-V virt machine provides syscon-power and syscon-reset devices as the means by which to shutdown and reboot. We also need to ensure that we have attached the syscon_generic device before attaching any syscon_power devices, and so we introduce a new riscv_syscon device akin to aw_syscon added in r327936. Currently the SiFive test finisher is used as the specific implementation of such a syscon device. Reviewed by: br, brooks (mentor), jhb (mentor) Approved by: br, brooks (mentor), jhb (mentor) Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D25725 Added: head/sys/riscv/riscv/riscv_syscon.c (contents, props changed) Modified: head/sys/conf/files.riscv head/sys/riscv/conf/GENERIC Modified: head/sys/conf/files.riscv ============================================================================== --- head/sys/conf/files.riscv Sun Jul 26 18:19:50 2020 (r363573) +++ head/sys/conf/files.riscv Sun Jul 26 18:21:02 2020 (r363574) @@ -57,6 +57,7 @@ riscv/riscv/ofw_machdep.c optional fdt riscv/riscv/plic.c standard riscv/riscv/pmap.c standard riscv/riscv/riscv_console.c optional rcons +riscv/riscv/riscv_syscon.c optional ext_resources syscon riscv_syscon fdt riscv/riscv/sbi.c standard riscv/riscv/soc.c standard riscv/riscv/stack_machdep.c optional ddb | stack Modified: head/sys/riscv/conf/GENERIC ============================================================================== --- head/sys/riscv/conf/GENERIC Sun Jul 26 18:19:50 2020 (r363573) +++ head/sys/riscv/conf/GENERIC Sun Jul 26 18:21:02 2020 (r363574) @@ -77,6 +77,13 @@ options INTRNG # RISC-V SBI console device rcons +# EXT_RESOURCES pseudo devices +options EXT_RESOURCES +device clk +device syscon +device syscon_power +device riscv_syscon + # Bus drivers device pci Added: head/sys/riscv/riscv/riscv_syscon.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/riscv/riscv_syscon.c Sun Jul 26 18:21:02 2020 (r363574) @@ -0,0 +1,84 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2018 Kyle Evans + * Copyright (c) 2020 Jessica Clarke + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * RISC-V syscon driver. Used as a generic interface by QEMU's virt machine for + * describing the SiFive test finisher as a power and reset controller. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +static struct ofw_compat_data compat_data[] = { + {"sifive,test0", 1}, + {"sifive,test1", 1}, + {NULL, 0} +}; + +static int +riscv_syscon_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) + return (ENXIO); + + device_set_desc(dev, "RISC-V syscon"); + return (BUS_PROBE_DEFAULT); +} + +static device_method_t riscv_syscon_methods[] = { + DEVMETHOD(device_probe, riscv_syscon_probe), + + DEVMETHOD_END +}; + +DEFINE_CLASS_1(riscv_syscon, riscv_syscon_driver, riscv_syscon_methods, + sizeof(struct syscon_generic_softc), syscon_generic_driver); + +static devclass_t riscv_syscon_devclass; +/* riscv_syscon needs to attach prior to syscon_power */ +EARLY_DRIVER_MODULE(riscv_syscon, simplebus, riscv_syscon_driver, + riscv_syscon_devclass, 0, 0, BUS_PASS_SCHEDULER + BUS_PASS_ORDER_LAST); +MODULE_VERSION(riscv_syscon, 1); From owner-svn-src-all@freebsd.org Sun Jul 26 18:33:29 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D38FD36871B; Sun, 26 Jul 2020 18:33:29 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFBQd5FdVz3fJ3; Sun, 26 Jul 2020 18:33:29 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9621411041; Sun, 26 Jul 2020 18:33:29 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QIXTjm042483; Sun, 26 Jul 2020 18:33:29 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QIXTqD042482; Sun, 26 Jul 2020 18:33:29 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202007261833.06QIXTqD042482@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Sun, 26 Jul 2020 18:33:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363575 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/compat/linuxkpi/common/include/linux X-SVN-Commit-Revision: 363575 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 18:33:29 -0000 Author: manu Date: Sun Jul 26 18:33:29 2020 New Revision: 363575 URL: https://svnweb.freebsd.org/changeset/base/363575 Log: Fix r363565 lockdep.h needs sys/lock.h for LOCK_CLASS Modified: head/sys/compat/linuxkpi/common/include/linux/lockdep.h Modified: head/sys/compat/linuxkpi/common/include/linux/lockdep.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/lockdep.h Sun Jul 26 18:21:02 2020 (r363574) +++ head/sys/compat/linuxkpi/common/include/linux/lockdep.h Sun Jul 26 18:33:29 2020 (r363575) @@ -32,6 +32,8 @@ #ifndef _LINUX_LOCKDEP_H_ #define _LINUX_LOCKDEP_H_ +#include + struct lock_class_key { }; From owner-svn-src-all@freebsd.org Sun Jul 26 18:33:30 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9A1E1368449; Sun, 26 Jul 2020 18:33:30 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFBQf3dNPz3fWZ; Sun, 26 Jul 2020 18:33:30 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 60054111E1; Sun, 26 Jul 2020 18:33:30 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QIXU9f042526; Sun, 26 Jul 2020 18:33:30 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QIXUCU042525; Sun, 26 Jul 2020 18:33:30 GMT (envelope-from ian@FreeBSD.org) Message-Id: <202007261833.06QIXUCU042525@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sun, 26 Jul 2020 18:33:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363576 - head/usr.bin/vmstat X-SVN-Group: head X-SVN-Commit-Author: ian X-SVN-Commit-Paths: head/usr.bin/vmstat X-SVN-Commit-Revision: 363576 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 18:33:30 -0000 Author: ian Date: Sun Jul 26 18:33:29 2020 New Revision: 363576 URL: https://svnweb.freebsd.org/changeset/base/363576 Log: Describe the value in the 're' column of vmstat(8) in terms of freebsd's vm implementation. The old description was left over from the 4.4 BSD Lite import in 1994, and was a bit misleading (not all arches use simulated reference bits, some implement reference tracking in hardware). Modified: head/usr.bin/vmstat/vmstat.8 Modified: head/usr.bin/vmstat/vmstat.8 ============================================================================== --- head/usr.bin/vmstat/vmstat.8 Sun Jul 26 18:33:29 2020 (r363575) +++ head/usr.bin/vmstat/vmstat.8 Sun Jul 26 18:33:29 2020 (r363576) @@ -283,7 +283,7 @@ These are given in units per second. .It flt total number of page faults .It re -page reclaims (simulating reference bits) +pages reactivated (found in laundry or inactive queues) .\" .It at .\" pages attached (found in free list) .It pi From owner-svn-src-all@freebsd.org Sun Jul 26 19:18:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AC661368E2B; Sun, 26 Jul 2020 19:18:56 +0000 (UTC) (envelope-from yuripv@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFCR449Btz3gdm; Sun, 26 Jul 2020 19:18:56 +0000 (UTC) (envelope-from yuripv@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 72415118AF; Sun, 26 Jul 2020 19:18:56 +0000 (UTC) (envelope-from yuripv@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QJIuO3067588; Sun, 26 Jul 2020 19:18:56 GMT (envelope-from yuripv@FreeBSD.org) Received: (from yuripv@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QJItpH067586; Sun, 26 Jul 2020 19:18:55 GMT (envelope-from yuripv@FreeBSD.org) Message-Id: <202007261918.06QJItpH067586@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuripv set sender to yuripv@FreeBSD.org using -f From: Yuri Pankov Date: Sun, 26 Jul 2020 19:18:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363577 - in stable/12/usr.bin/locale: . tests X-SVN-Group: stable-12 X-SVN-Commit-Author: yuripv X-SVN-Commit-Paths: in stable/12/usr.bin/locale: . tests X-SVN-Commit-Revision: 363577 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 19:18:56 -0000 Author: yuripv Date: Sun Jul 26 19:18:55 2020 New Revision: 363577 URL: https://svnweb.freebsd.org/changeset/base/363577 Log: MFC r362146: locale: exit 1 if unknown keyword was specified PR: 241906 Submitted by: Akos Somfai Modified: stable/12/usr.bin/locale/locale.c stable/12/usr.bin/locale/tests/locale_test.sh Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.bin/locale/locale.c ============================================================================== --- stable/12/usr.bin/locale/locale.c Sun Jul 26 18:33:29 2020 (r363576) +++ stable/12/usr.bin/locale/locale.c Sun Jul 26 19:18:55 2020 (r363577) @@ -61,7 +61,7 @@ void list_locales(void); const char *lookup_localecat(int); char *kwval_lconv(int); int kwval_lookup(const char *, char **, int *, int *, int *); -void showdetails(const char *); +int showdetails(const char *); void showkeywordslist(char *substring); void showlocale(void); void usage(void); @@ -414,7 +414,8 @@ main(int argc, char *argv[]) setlocale(LC_ALL, ""); if (argc > 0) { while (argc > 0) { - showdetails(*argv); + if (showdetails(*argv) != 0) + exit(EXIT_FAILURE); argv++; argc--; } @@ -837,19 +838,16 @@ kwval_lookup(const char *kwname, char **kwval, int *ca * Show details about requested keyword according to '-k' and/or '-c' * command line options specified. */ -void +int showdetails(const char *kw) { int type, cat, tmpval, alloc; char *kwval; if (kwval_lookup(kw, &kwval, &cat, &type, &alloc) == 0) { - /* - * invalid keyword specified. - * XXX: any actions? - */ + /* Invalid keyword specified */ fprintf(stderr, "Unknown keyword: `%s'\n", kw); - return; + return (1); } if (prt_categories) { @@ -889,6 +887,8 @@ showdetails(const char *kw) if (alloc) free(kwval); + + return (0); } /* Modified: stable/12/usr.bin/locale/tests/locale_test.sh ============================================================================== --- stable/12/usr.bin/locale/tests/locale_test.sh Sun Jul 26 18:33:29 2020 (r363576) +++ stable/12/usr.bin/locale/tests/locale_test.sh Sun Jul 26 19:18:55 2020 (r363577) @@ -160,8 +160,24 @@ no_flags_posix_body() noexpr } +atf_test_case k_flag_unknown_kw +k_flag_unknown_kw_head() +{ + atf_set "descr" \ + "Verify 'locale -k' exit status is '1' for unknown keywords" +} +k_flag_unknown_kw_body() +{ + export LC_ALL="C" + + # Hopefully the keyword will stay nonexistent + atf_check -s exit:1 -o empty -e ignore locale -k nonexistent +} + + atf_init_test_cases() { atf_add_test_case k_flag_posix atf_add_test_case no_flags_posix + atf_add_test_case k_flag_unknown_kw } From owner-svn-src-all@freebsd.org Sun Jul 26 19:21:42 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 31B2B369600; Sun, 26 Jul 2020 19:21:42 +0000 (UTC) (envelope-from mike@sentex.net) Received: from pyroxene2a.sentex.ca (pyroxene19.sentex.ca [IPv6:2607:f3e0:0:3::19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "pyroxene.sentex.ca", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFCVF5Z5nz3yP7; Sun, 26 Jul 2020 19:21:41 +0000 (UTC) (envelope-from mike@sentex.net) Received: from [IPv6:2607:f3e0:0:4:2980:6b12:24a9:1ed7] ([IPv6:2607:f3e0:0:4:2980:6b12:24a9:1ed7]) by pyroxene2a.sentex.ca (8.15.2/8.15.2) with ESMTPS id 06QJLeEM006546 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO); Sun, 26 Jul 2020 15:21:40 -0400 (EDT) (envelope-from mike@sentex.net) Subject: Re: svn commit: r363568 - stable/12/sys/net To: Kristof Provost , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org References: <202007261744.06QHi3iB011159@repo.freebsd.org> From: mike tancsa Autocrypt: addr=mike@sentex.net; keydata= mQENBFywzOMBCACoNFpwi5MeyEREiCeHtbm6pZJI/HnO+wXdCAWtZkS49weOoVyUj5BEXRZP xflV2ib2hflX4nXqhenaNiia4iaZ9ft3I1ebd7GEbGnsWCvAnob5MvDZyStDAuRxPJK1ya/s +6rOvr+eQiXYNVvfBhrCfrtR/esSkitBGxhUkBjOti8QwzD71JVF5YaOjBAs7jZUKyLGj0kW yDg4jUndudWU7G2yc9GwpHJ9aRSUN8e/mWdIogK0v+QBHfv/dsI6zVB7YuxCC9Fx8WPwfhDH VZC4kdYCQWKXrm7yb4TiVdBh5kgvlO9q3js1yYdfR1x8mjK2bH2RSv4bV3zkNmsDCIxjABEB AAG0HW1pa2UgdGFuY3NhIDxtaWtlQHNlbnRleC5uZXQ+iQFUBBMBCAA+FiEEmuvCXT0aY6hs 4SbWeVOEFl5WrMgFAlywzOYCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ eVOEFl5WrMhnPAf7Bf+ola0V9t4i8rwCMGvzkssGaxY/5zNSZO9BgSgfN0WzgmBEOy/3R4km Yn5KH94NltJYAAE5hqkFmAwK6psOqAR9cxHrRfU+gV2KO8pCDc6K/htkQcd/mclJYpCHp6Eq EVJOiAxcNaYuHZkeMdXDuvvI5Rk82VHk84BGgxIqIrhLlkguoPbXOOa+8c/Mpb1sRAGZEOuX EzKNC49+GS9gKW6ISbanyPsGEcFyP7GKMzcHBPf3cPrewZQZ6gBoNscasL6IJeAQDqzQAxbU GjO0qBSMRgnLXK7+DJlxrYdHGXqNbV6AYsmHJ6c2WWWiuRviFBqXinlgJ2FnYebZPAfWiQ== Message-ID: <9e260355-3bba-a615-8536-da17c3158141@sentex.net> Date: Sun, 26 Jul 2020 15:21:40 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <202007261744.06QHi3iB011159@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Rspamd-Queue-Id: 4BFCVF5Z5nz3yP7 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; ASN(0.00)[asn:11647, ipnet:2607:f3e0::/32, country:CA]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 19:21:42 -0000 Hi Kristof,     First off, thank you for all your efforts in pf and if_bridge.  I have trying to track down a problem with a golang app (sysutils/zrepl) that started acting up around the time the if_bridge stuff was commited (june 26th).  The problem would manifest in stalls of the daemon and am wondering this might have played a role.  The june 10th kernel I had seemed to work just fine with the app, although I just rebooted to that to confirm as around that time we added more RAM to the server in question and put the app under slightly higher load too. I have yet to boot to a kernel post this being reverted.  But apart from the panics some people saw could other 'odd' things pop up as well if traffic was coming in a bridge interface using an igb0 nic ?     ---Mike On 7/26/2020 1:44 PM, Kristof Provost wrote: > Author: kp > Date: Sun Jul 26 17:44:03 2020 > New Revision: 363568 > URL: https://svnweb.freebsd.org/changeset/base/363568 > > Log: > Revert bridge epochification > > Revert r363492, r363491, r363430, r363429 and r362650. > > The introduction of epoch in the network stack is incomplete in stable/12, and > there are simply too many limitations to make the bridge epoch code work there. > > The final problem is capability configuration of the bridge member interfaces. > if_bridge needs to enable promiscuous mode, which for certain drivers (e1000 > for example) can sleep. In stable/12 we may not sleep within epoch. > > Modified: > stable/12/sys/net/if_bridge.c > > Modified: stable/12/sys/net/if_bridge.c > ============================================================================== > --- stable/12/sys/net/if_bridge.c Sun Jul 26 17:21:24 2020 (r363567) > +++ stable/12/sys/net/if_bridge.c Sun Jul 26 17:44:03 2020 (r363568) > @@ -189,14 +189,41 @@ extern void nd6_setmtu(struct ifnet *); > */ > #define BRIDGE_LOCK_INIT(_sc) do { \ > mtx_init(&(_sc)->sc_mtx, "if_bridge", NULL, MTX_DEF); \ > + cv_init(&(_sc)->sc_cv, "if_bridge_cv"); \ > } while (0) > #define BRIDGE_LOCK_DESTROY(_sc) do { \ > mtx_destroy(&(_sc)->sc_mtx); \ > + cv_destroy(&(_sc)->sc_cv); \ > } while (0) > #define BRIDGE_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) > #define BRIDGE_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) > #define BRIDGE_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED) > #define BRIDGE_UNLOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_NOTOWNED) > +#define BRIDGE_LOCK2REF(_sc, _err) do { \ > + mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ > + if ((_sc)->sc_iflist_xcnt > 0) \ > + (_err) = EBUSY; \ > + else \ > + (_sc)->sc_iflist_ref++; \ > + mtx_unlock(&(_sc)->sc_mtx); \ > +} while (0) > +#define BRIDGE_UNREF(_sc) do { \ > + mtx_lock(&(_sc)->sc_mtx); \ > + (_sc)->sc_iflist_ref--; \ > + if (((_sc)->sc_iflist_xcnt > 0) && ((_sc)->sc_iflist_ref == 0)) \ > + cv_broadcast(&(_sc)->sc_cv); \ > + mtx_unlock(&(_sc)->sc_mtx); \ > +} while (0) > +#define BRIDGE_XLOCK(_sc) do { \ > + mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ > + (_sc)->sc_iflist_xcnt++; \ > + while ((_sc)->sc_iflist_ref > 0) \ > + cv_wait(&(_sc)->sc_cv, &(_sc)->sc_mtx); \ > +} while (0) > +#define BRIDGE_XDROP(_sc) do { \ > + mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ > + (_sc)->sc_iflist_xcnt--; \ > +} while (0) > > /* > * Bridge interface list entry. > @@ -210,8 +237,6 @@ struct bridge_iflist { > uint32_t bif_addrmax; /* max # of addresses */ > uint32_t bif_addrcnt; /* cur. # of addresses */ > uint32_t bif_addrexceeded;/* # of address violations */ > - > - struct epoch_context bif_epoch_ctx; > }; > > /* > @@ -225,9 +250,6 @@ struct bridge_rtnode { > uint8_t brt_flags; /* address flags */ > uint8_t brt_addr[ETHER_ADDR_LEN]; > uint16_t brt_vlan; /* vlan id */ > - > - struct vnet *brt_vnet; > - struct epoch_context brt_epoch_ctx; > }; > #define brt_ifp brt_dst->bif_ifp > > @@ -238,10 +260,13 @@ struct bridge_softc { > struct ifnet *sc_ifp; /* make this an interface */ > LIST_ENTRY(bridge_softc) sc_list; > struct mtx sc_mtx; > + struct cv sc_cv; > uint32_t sc_brtmax; /* max # of addresses */ > uint32_t sc_brtcnt; /* cur. # of addresses */ > uint32_t sc_brttimeout; /* rt timeout in seconds */ > struct callout sc_brcallout; /* bridge callout */ > + uint32_t sc_iflist_ref; /* refcount for sc_iflist */ > + uint32_t sc_iflist_xcnt; /* refcount for sc_iflist */ > CK_LIST_HEAD(, bridge_iflist) sc_iflist; /* member interface list */ > CK_LIST_HEAD(, bridge_rtnode) *sc_rthash; /* our forwarding table */ > CK_LIST_HEAD(, bridge_rtnode) sc_rtlist; /* list version of above */ > @@ -251,8 +276,6 @@ struct bridge_softc { > uint32_t sc_brtexceeded; /* # of cache drops */ > struct ifnet *sc_ifaddr; /* member mac copied from */ > struct ether_addr sc_defaddr; /* Default MAC address */ > - > - struct epoch_context sc_epoch_ctx; > }; > > VNET_DEFINE_STATIC(struct mtx, bridge_list_mtx); > @@ -572,11 +595,6 @@ vnet_bridge_uninit(const void *unused __unused) > if_clone_detach(V_bridge_cloner); > V_bridge_cloner = NULL; > BRIDGE_LIST_LOCK_DESTROY(); > - > - /* Before we can destroy the uma zone, because there are callbacks that > - * use it. */ > - epoch_drain_callbacks(net_epoch_preempt); > - > uma_zdestroy(V_bridge_rtnode_zone); > } > VNET_SYSUNINIT(vnet_bridge_uninit, SI_SUB_PSEUDO, SI_ORDER_ANY, > @@ -739,17 +757,6 @@ bridge_clone_create(struct if_clone *ifc, int unit, ca > return (0); > } > > -static void > -bridge_clone_destroy_cb(struct epoch_context *ctx) > -{ > - struct bridge_softc *sc; > - > - sc = __containerof(ctx, struct bridge_softc, sc_epoch_ctx); > - > - BRIDGE_LOCK_DESTROY(sc); > - free(sc, M_DEVBUF); > -} > - > /* > * bridge_clone_destroy: > * > @@ -760,9 +767,7 @@ bridge_clone_destroy(struct ifnet *ifp) > { > struct bridge_softc *sc = ifp->if_softc; > struct bridge_iflist *bif; > - struct epoch_tracker et; > > - NET_EPOCH_ENTER_ET(et); > BRIDGE_LOCK(sc); > > bridge_stop(ifp, 1); > @@ -787,12 +792,11 @@ bridge_clone_destroy(struct ifnet *ifp) > BRIDGE_LIST_UNLOCK(); > > bstp_detach(&sc->sc_stp); > - NET_EPOCH_EXIT_ET(et); > - > ether_ifdetach(ifp); > if_free(ifp); > > - epoch_call(net_epoch_preempt, &sc->sc_epoch_ctx, bridge_clone_destroy_cb); > + BRIDGE_LOCK_DESTROY(sc); > + free(sc, M_DEVBUF); > } > > /* > @@ -818,10 +822,7 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t da > struct ifdrv *ifd = (struct ifdrv *) data; > const struct bridge_control *bc; > int error = 0, oldmtu; > - struct epoch_tracker et; > > - NET_EPOCH_ENTER_ET(et); > - > switch (cmd) { > > case SIOCADDMULTI: > @@ -942,8 +943,6 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t da > break; > } > > - NET_EPOCH_EXIT_ET(et); > - > return (error); > } > > @@ -958,8 +957,6 @@ bridge_mutecaps(struct bridge_softc *sc) > struct bridge_iflist *bif; > int enabled, mask; > > - BRIDGE_LOCK_ASSERT(sc); > - > /* Initial bitmask of capabilities to test */ > mask = BRIDGE_IFCAPS_MASK; > > @@ -968,6 +965,7 @@ bridge_mutecaps(struct bridge_softc *sc) > mask &= bif->bif_savedcaps; > } > > + BRIDGE_XLOCK(sc); > CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { > enabled = bif->bif_ifp->if_capenable; > enabled &= ~BRIDGE_IFCAPS_STRIP; > @@ -978,6 +976,8 @@ bridge_mutecaps(struct bridge_softc *sc) > bridge_set_ifcap(sc, bif, enabled); > BRIDGE_LOCK(sc); > } > + BRIDGE_XDROP(sc); > + > } > > static void > @@ -1018,7 +1018,7 @@ bridge_lookup_member(struct bridge_softc *sc, const ch > struct bridge_iflist *bif; > struct ifnet *ifp; > > - MPASS(in_epoch(net_epoch_preempt)); > + BRIDGE_LOCK_ASSERT(sc); > > CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { > ifp = bif->bif_ifp; > @@ -1039,7 +1039,7 @@ bridge_lookup_member_if(struct bridge_softc *sc, struc > { > struct bridge_iflist *bif; > > - MPASS(in_epoch(net_epoch_preempt)); > + BRIDGE_LOCK_ASSERT(sc); > > CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { > if (bif->bif_ifp == member_ifp) > @@ -1049,16 +1049,6 @@ bridge_lookup_member_if(struct bridge_softc *sc, struc > return (NULL); > } > > -static void > -bridge_delete_member_cb(struct epoch_context *ctx) > -{ > - struct bridge_iflist *bif; > - > - bif = __containerof(ctx, struct bridge_iflist, bif_epoch_ctx); > - > - free(bif, M_DEVBUF); > -} > - > /* > * bridge_delete_member: > * > @@ -1078,7 +1068,9 @@ bridge_delete_member(struct bridge_softc *sc, struct b > bstp_disable(&bif->bif_stp); > > ifs->if_bridge = NULL; > + BRIDGE_XLOCK(sc); > CK_LIST_REMOVE(bif, bif_next); > + BRIDGE_XDROP(sc); > > /* > * If removing the interface that gave the bridge its mac address, set > @@ -1137,9 +1129,7 @@ bridge_delete_member(struct bridge_softc *sc, struct b > } > bstp_destroy(&bif->bif_stp); /* prepare to free */ > BRIDGE_LOCK(sc); > - > - epoch_call(net_epoch_preempt, &bif->bif_epoch_ctx, > - bridge_delete_member_cb); > + free(bif, M_DEVBUF); > } > > /* > @@ -1156,9 +1146,7 @@ bridge_delete_span(struct bridge_softc *sc, struct bri > ("%s: not a span interface", __func__)); > > CK_LIST_REMOVE(bif, bif_next); > - > - epoch_call(net_epoch_preempt, &bif->bif_epoch_ctx, > - bridge_delete_member_cb); > + free(bif, M_DEVBUF); > } > > static int > @@ -1214,6 +1202,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) > * If any, remove all inet6 addresses from the member > * interfaces. > */ > + BRIDGE_XLOCK(sc); > CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { > if (in6ifa_llaonifp(bif->bif_ifp)) { > BRIDGE_UNLOCK(sc); > @@ -1226,6 +1215,7 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) > bif->bif_ifp->if_xname); > } > } > + BRIDGE_XDROP(sc); > if (in6ifa_llaonifp(ifs)) { > BRIDGE_UNLOCK(sc); > in6_ifdetach(ifs); > @@ -1434,9 +1424,9 @@ bridge_ioctl_gifs(struct bridge_softc *sc, void *arg) > bifc->ifbic_len = buflen; > return (0); > } > - outbuf = malloc(buflen, M_TEMP, M_NOWAIT | M_ZERO); > - if (outbuf == NULL) > - return (ENOMEM); > + BRIDGE_UNLOCK(sc); > + outbuf = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); > + BRIDGE_LOCK(sc); > > count = 0; > buf = outbuf; > @@ -1496,9 +1486,9 @@ bridge_ioctl_rts(struct bridge_softc *sc, void *arg) > count++; > buflen = sizeof(bareq) * count; > > - outbuf = malloc(buflen, M_TEMP, M_NOWAIT | M_ZERO); > - if (outbuf == NULL) > - return (ENOMEM); > + BRIDGE_UNLOCK(sc); > + outbuf = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); > + BRIDGE_LOCK(sc); > > count = 0; > buf = outbuf; > @@ -1539,17 +1529,12 @@ bridge_ioctl_saddr(struct bridge_softc *sc, void *arg) > struct bridge_iflist *bif; > int error; > > - MPASS(in_epoch(net_epoch_preempt)); > - > bif = bridge_lookup_member(sc, req->ifba_ifsname); > if (bif == NULL) > return (ENOENT); > > - /* bridge_rtupdate() may acquire the lock. */ > - BRIDGE_UNLOCK(sc); > error = bridge_rtupdate(sc, req->ifba_dst, req->ifba_vlan, bif, 1, > req->ifba_flags); > - BRIDGE_LOCK(sc); > > return (error); > } > @@ -1824,9 +1809,9 @@ bridge_ioctl_gifsstp(struct bridge_softc *sc, void *ar > return (0); > } > > - outbuf = malloc(buflen, M_TEMP, M_NOWAIT | M_ZERO); > - if (outbuf == NULL) > - return (ENOMEM); > + BRIDGE_UNLOCK(sc); > + outbuf = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); > + BRIDGE_LOCK(sc); > > count = 0; > buf = outbuf; > @@ -1888,7 +1873,6 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp) > { > struct bridge_softc *sc = ifp->if_bridge; > struct bridge_iflist *bif; > - struct epoch_tracker et; > > if (ifp->if_flags & IFF_RENAMING) > return; > @@ -1899,7 +1883,6 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp) > */ > return; > } > - NET_EPOCH_ENTER_ET(et); > /* Check if the interface is a bridge member */ > if (sc != NULL) { > BRIDGE_LOCK(sc); > @@ -1909,7 +1892,6 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp) > bridge_delete_member(sc, bif, 1); > > BRIDGE_UNLOCK(sc); > - NET_EPOCH_EXIT_ET(et); > return; > } > > @@ -1926,7 +1908,6 @@ bridge_ifdetach(void *arg __unused, struct ifnet *ifp) > BRIDGE_UNLOCK(sc); > } > BRIDGE_LIST_UNLOCK(); > - NET_EPOCH_EXIT_ET(et); > } > > /* > @@ -2081,26 +2062,23 @@ static int > bridge_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *sa, > struct rtentry *rt) > { > - struct epoch_tracker et; > struct ether_header *eh; > struct ifnet *dst_if; > struct bridge_softc *sc; > uint16_t vlan; > > - NET_EPOCH_ENTER_ET(et); > - > if (m->m_len < ETHER_HDR_LEN) { > m = m_pullup(m, ETHER_HDR_LEN); > - if (m == NULL) { > - NET_EPOCH_EXIT_ET(et); > + if (m == NULL) > return (0); > - } > } > > eh = mtod(m, struct ether_header *); > sc = ifp->if_bridge; > vlan = VLANTAGOF(m); > > + BRIDGE_LOCK(sc); > + > /* > * If bridge is down, but the original output interface is up, > * go ahead and send out that interface. Otherwise, the packet > @@ -2122,10 +2100,16 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struc > if (dst_if == NULL) { > struct bridge_iflist *bif; > struct mbuf *mc; > - int used = 0; > + int error = 0, used = 0; > > bridge_span(sc, m); > > + BRIDGE_LOCK2REF(sc, error); > + if (error) { > + m_freem(m); > + return (0); > + } > + > CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { > dst_if = bif->bif_ifp; > > @@ -2159,7 +2143,7 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struc > } > if (used == 0) > m_freem(m); > - NET_EPOCH_EXIT_ET(et); > + BRIDGE_UNREF(sc); > return (0); > } > > @@ -2171,12 +2155,12 @@ sendunicast: > bridge_span(sc, m); > if ((dst_if->if_drv_flags & IFF_DRV_RUNNING) == 0) { > m_freem(m); > - NET_EPOCH_EXIT_ET(et); > + BRIDGE_UNLOCK(sc); > return (0); > } > > + BRIDGE_UNLOCK(sc); > bridge_enqueue(sc, dst_if, m); > - NET_EPOCH_EXIT_ET(et); > return (0); > } > > @@ -2189,28 +2173,25 @@ sendunicast: > static int > bridge_transmit(struct ifnet *ifp, struct mbuf *m) > { > - struct epoch_tracker et; > struct bridge_softc *sc; > struct ether_header *eh; > struct ifnet *dst_if; > int error = 0; > > - NET_EPOCH_ENTER_ET(et); > - > sc = ifp->if_softc; > > ETHER_BPF_MTAP(ifp, m); > > eh = mtod(m, struct ether_header *); > > + BRIDGE_LOCK(sc); > if (((m->m_flags & (M_BCAST|M_MCAST)) == 0) && > (dst_if = bridge_rtlookup(sc, eh->ether_dhost, 1)) != NULL) { > + BRIDGE_UNLOCK(sc); > error = bridge_enqueue(sc, dst_if, m); > } else > bridge_broadcast(sc, ifp, m, 0); > > - NET_EPOCH_EXIT_ET(et); > - > return (error); > } > > @@ -2240,8 +2221,6 @@ bridge_forward(struct bridge_softc *sc, struct bridge_ > uint8_t *dst; > int error; > > - MPASS(in_epoch(net_epoch_preempt)); > - > src_if = m->m_pkthdr.rcvif; > ifp = sc->sc_ifp; > > @@ -2320,10 +2299,12 @@ bridge_forward(struct bridge_softc *sc, struct bridge_ > || PFIL_HOOKED(&V_inet6_pfil_hook) > #endif > ) { > + BRIDGE_UNLOCK(sc); > if (bridge_pfil(&m, ifp, src_if, PFIL_IN) != 0) > return; > if (m == NULL) > return; > + BRIDGE_LOCK(sc); > } > > if (dst_if == NULL) { > @@ -2351,6 +2332,8 @@ bridge_forward(struct bridge_softc *sc, struct bridge_ > dbif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) > goto drop; > > + BRIDGE_UNLOCK(sc); > + > if (PFIL_HOOKED(&V_inet_pfil_hook) > #ifdef INET6 > || PFIL_HOOKED(&V_inet6_pfil_hook) > @@ -2366,6 +2349,7 @@ bridge_forward(struct bridge_softc *sc, struct bridge_ > return; > > drop: > + BRIDGE_UNLOCK(sc); > m_freem(m); > } > > @@ -2378,7 +2362,6 @@ drop: > static struct mbuf * > bridge_input(struct ifnet *ifp, struct mbuf *m) > { > - struct epoch_tracker et; > struct bridge_softc *sc = ifp->if_bridge; > struct bridge_iflist *bif, *bif2; > struct ifnet *bifp; > @@ -2387,12 +2370,8 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) > uint16_t vlan; > int error; > > - NET_EPOCH_ENTER_ET(et); > - > - if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { > - NET_EPOCH_EXIT_ET(et); > + if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) > return (m); > - } > > bifp = sc->sc_ifp; > vlan = VLANTAGOF(m); > @@ -2409,12 +2388,12 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) > if_inc_counter(bifp, IFCOUNTER_IPACKETS, 1); > if_inc_counter(bifp, IFCOUNTER_IBYTES, m->m_pkthdr.len); > m_freem(m); > - NET_EPOCH_EXIT_ET(et); > return (NULL); > } > + BRIDGE_LOCK(sc); > bif = bridge_lookup_member_if(sc, ifp); > if (bif == NULL) { > - NET_EPOCH_EXIT_ET(et); > + BRIDGE_UNLOCK(sc); > return (m); > } > > @@ -2427,13 +2406,13 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) > if (memcmp(eh->ether_dhost, bstp_etheraddr, > ETHER_ADDR_LEN) == 0) { > bstp_input(&bif->bif_stp, ifp, m); /* consumes mbuf */ > - NET_EPOCH_EXIT_ET(et); > + BRIDGE_UNLOCK(sc); > return (NULL); > } > > if ((bif->bif_flags & IFBIF_STP) && > bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) { > - NET_EPOCH_EXIT_ET(et); > + BRIDGE_UNLOCK(sc); > return (m); > } > > @@ -2444,7 +2423,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) > */ > mc = m_dup(m, M_NOWAIT); > if (mc == NULL) { > - NET_EPOCH_EXIT_ET(et); > + BRIDGE_UNLOCK(sc); > return (m); > } > > @@ -2471,13 +2450,12 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) > } > > /* Return the original packet for local processing. */ > - NET_EPOCH_EXIT_ET(et); > return (m); > } > > if ((bif->bif_flags & IFBIF_STP) && > bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) { > - NET_EPOCH_EXIT_ET(et); > + BRIDGE_UNLOCK(sc); > return (m); > } > > @@ -2517,6 +2495,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) > OR_PFIL_HOOKED_INET6)) { \ > if (bridge_pfil(&m, NULL, ifp, \ > PFIL_IN) != 0 || m == NULL) { \ > + BRIDGE_UNLOCK(sc); \ > return (NULL); \ > } \ > eh = mtod(m, struct ether_header *); \ > @@ -2526,13 +2505,13 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) > error = bridge_rtupdate(sc, eh->ether_shost, \ > vlan, bif, 0, IFBAF_DYNAMIC); \ > if (error && bif->bif_addrmax) { \ > + BRIDGE_UNLOCK(sc); \ > m_freem(m); \ > - NET_EPOCH_EXIT_ET(et); \ > return (NULL); \ > } \ > } \ > m->m_pkthdr.rcvif = iface; \ > - NET_EPOCH_EXIT_ET(et); \ > + BRIDGE_UNLOCK(sc); \ > return (m); \ > } \ > \ > @@ -2540,8 +2519,8 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) > if (memcmp(IF_LLADDR((iface)), eh->ether_shost, ETHER_ADDR_LEN) == 0 \ > OR_CARP_CHECK_WE_ARE_SRC((iface)) \ > ) { \ > + BRIDGE_UNLOCK(sc); \ > m_freem(m); \ > - NET_EPOCH_EXIT_ET(et); \ > return (NULL); \ > } > > @@ -2572,7 +2551,6 @@ bridge_input(struct ifnet *ifp, struct mbuf *m) > /* Perform the bridge forwarding function. */ > bridge_forward(sc, bif, m); > > - NET_EPOCH_EXIT_ET(et); > return (NULL); > } > > @@ -2592,12 +2570,16 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet > struct bridge_iflist *dbif, *sbif; > struct mbuf *mc; > struct ifnet *dst_if; > - int used = 0, i; > + int error = 0, used = 0, i; > > - MPASS(in_epoch(net_epoch_preempt)); > - > sbif = bridge_lookup_member_if(sc, src_if); > > + BRIDGE_LOCK2REF(sc, error); > + if (error) { > + m_freem(m); > + return; > + } > + > /* Filter on the bridge interface before broadcasting */ > if (runfilt && (PFIL_HOOKED(&V_inet_pfil_hook) > #ifdef INET6 > @@ -2605,9 +2587,9 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet > #endif > )) { > if (bridge_pfil(&m, sc->sc_ifp, NULL, PFIL_OUT) != 0) > - return; > + goto out; > if (m == NULL) > - return; > + goto out; > } > > CK_LIST_FOREACH(dbif, &sc->sc_iflist, bif_next) { > @@ -2670,6 +2652,9 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet > } > if (used == 0) > m_freem(m); > + > +out: > + BRIDGE_UNREF(sc); > } > > /* > @@ -2685,8 +2670,6 @@ bridge_span(struct bridge_softc *sc, struct mbuf *m) > struct ifnet *dst_if; > struct mbuf *mc; > > - MPASS(in_epoch(net_epoch_preempt)); > - > if (CK_LIST_EMPTY(&sc->sc_spanlist)) > return; > > @@ -2718,8 +2701,7 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t > struct bridge_rtnode *brt; > int error; > > - MPASS(in_epoch(net_epoch_preempt)); > - BRIDGE_UNLOCK_ASSERT(sc); > + BRIDGE_LOCK_ASSERT(sc); > > /* Check the source address is valid and not multicast. */ > if (ETHER_IS_MULTICAST(dst) || > @@ -2736,24 +2718,13 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t > * update it, otherwise create a new one. > */ > if ((brt = bridge_rtnode_lookup(sc, dst, vlan)) == NULL) { > - BRIDGE_LOCK(sc); > - > - /* Check again, now that we have the lock. There could have > - * been a race and we only want to insert this once. */ > - if ((brt = bridge_rtnode_lookup(sc, dst, vlan)) != NULL) { > - BRIDGE_UNLOCK(sc); > - return (0); > - } > - > if (sc->sc_brtcnt >= sc->sc_brtmax) { > sc->sc_brtexceeded++; > - BRIDGE_UNLOCK(sc); > return (ENOSPC); > } > /* Check per interface address limits (if enabled) */ > if (bif->bif_addrmax && bif->bif_addrcnt >= bif->bif_addrmax) { > bif->bif_addrexceeded++; > - BRIDGE_UNLOCK(sc); > return (ENOSPC); > } > > @@ -2763,11 +2734,8 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t > * address. > */ > brt = uma_zalloc(V_bridge_rtnode_zone, M_NOWAIT | M_ZERO); > - if (brt == NULL) { > - BRIDGE_UNLOCK(sc); > + if (brt == NULL) > return (ENOMEM); > - } > - brt->brt_vnet = curvnet; > > if (bif->bif_flags & IFBIF_STICKY) > brt->brt_flags = IFBAF_STICKY; > @@ -2779,22 +2747,17 @@ bridge_rtupdate(struct bridge_softc *sc, const uint8_t > > if ((error = bridge_rtnode_insert(sc, brt)) != 0) { > uma_zfree(V_bridge_rtnode_zone, brt); > - BRIDGE_UNLOCK(sc); > return (error); > } > brt->brt_dst = bif; > bif->bif_addrcnt++; > - > - BRIDGE_UNLOCK(sc); > } > > if ((brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC && > brt->brt_dst != bif) { > - BRIDGE_LOCK(sc); > brt->brt_dst->bif_addrcnt--; > brt->brt_dst = bif; > brt->brt_dst->bif_addrcnt++; > - BRIDGE_UNLOCK(sc); > } > > if ((flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC) > @@ -2815,7 +2778,7 @@ bridge_rtlookup(struct bridge_softc *sc, const uint8_t > { > struct bridge_rtnode *brt; > > - MPASS(in_epoch(net_epoch_preempt)); > + BRIDGE_LOCK_ASSERT(sc); > > if ((brt = bridge_rtnode_lookup(sc, addr, vlan)) == NULL) > return (NULL); > @@ -3054,7 +3017,7 @@ bridge_rtnode_lookup(struct bridge_softc *sc, const ui > uint32_t hash; > int dir; > > - MPASS(in_epoch(net_epoch_preempt)); > + BRIDGE_LOCK_ASSERT(sc); > > hash = bridge_rthash(sc, addr); > CK_LIST_FOREACH(brt, &sc->sc_rthash[hash], brt_hash) { > @@ -3117,18 +3080,6 @@ out: > return (0); > } > > -static void > -bridge_rtnode_destroy_cb(struct epoch_context *ctx) > -{ > - struct bridge_rtnode *brt; > - > - brt = __containerof(ctx, struct bridge_rtnode, brt_epoch_ctx); > - > - CURVNET_SET(brt->brt_vnet); > - uma_zfree(V_bridge_rtnode_zone, brt); > - CURVNET_RESTORE(); > -} > - > /* > * bridge_rtnode_destroy: > * > @@ -3144,9 +3095,7 @@ bridge_rtnode_destroy(struct bridge_softc *sc, struct > CK_LIST_REMOVE(brt, brt_list); > sc->sc_brtcnt--; > brt->brt_dst->bif_addrcnt--; > - > - epoch_call(net_epoch_preempt, &brt->brt_epoch_ctx, > - bridge_rtnode_destroy_cb); > + uma_zfree(V_bridge_rtnode_zone, brt); > } > > /* > @@ -3691,20 +3640,17 @@ bridge_linkstate(struct ifnet *ifp) > { > struct bridge_softc *sc = ifp->if_bridge; > struct bridge_iflist *bif; > - struct epoch_tracker et; > > - NET_EPOCH_ENTER_ET(et); > - > + BRIDGE_LOCK(sc); > bif = bridge_lookup_member_if(sc, ifp); > if (bif == NULL) { > - NET_EPOCH_EXIT_ET(et); > + BRIDGE_UNLOCK(sc); > return; > } > bridge_linkcheck(sc); > + BRIDGE_UNLOCK(sc); > > bstp_linkstate(&bif->bif_stp); > - > - NET_EPOCH_EXIT_ET(et); > } > > static void > @@ -3713,8 +3659,7 @@ bridge_linkcheck(struct bridge_softc *sc) > struct bridge_iflist *bif; > int new_link, hasls; > > - MPASS(in_epoch(net_epoch_preempt)); > - > + BRIDGE_LOCK_ASSERT(sc); > new_link = LINK_STATE_DOWN; > hasls = 0; > /* Our link is considered up if at least one of our ports is active */ > _______________________________________________ > svn-src-stable-12@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-stable-12 > To unsubscribe, send any mail to "svn-src-stable-12-unsubscribe@freebsd.org" > From owner-svn-src-all@freebsd.org Sun Jul 26 19:36:35 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4BF74369748; Sun, 26 Jul 2020 19:36:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFCqR0xDPz3ywl; Sun, 26 Jul 2020 19:36:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EE795118EE; Sun, 26 Jul 2020 19:36:34 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QJaYfw079596; Sun, 26 Jul 2020 19:36:34 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QJaYWY079592; Sun, 26 Jul 2020 19:36:34 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202007261936.06QJaYWY079592@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 26 Jul 2020 19:36:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r363578 - in vendor/llvm-project/master: clang/include/clang clang/include/clang-c clang/include/clang/AST clang/include/clang/ASTMatchers clang/include/clang/ASTMatchers/Dynamic clang/... X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/llvm-project/master: clang/include/clang clang/include/clang-c clang/include/clang/AST clang/include/clang/ASTMatchers clang/include/clang/ASTMatchers/Dynamic clang/include/clang/Analysis cl... X-SVN-Commit-Revision: 363578 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 19:36:35 -0000 Author: dim Date: Sun Jul 26 19:36:28 2020 New Revision: 363578 URL: https://svnweb.freebsd.org/changeset/base/363578 Log: Vendor import of llvm-project master 2e10b7a39b9, the last commit before the llvmorg-12-init tag, from which release/11.x was branched. Added: vendor/llvm-project/master/clang/include/clang/AST/ComputeDependence.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/AST/DeclObjCCommon.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/AST/DependenceFlags.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/AST/ExprConcepts.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/AST/ParentMapContext.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/ASTMatchers/GtestMatchers.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/Analysis/FlowSensitive/DataflowWorklist.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsHexagonDep.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsHexagonMapCustomDep.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsSVE.def vendor/llvm-project/master/clang/include/clang/Basic/FPOptions.def vendor/llvm-project/master/clang/include/clang/Basic/arm_bf16.td vendor/llvm-project/master/clang/include/clang/Basic/arm_cde.td vendor/llvm-project/master/clang/include/clang/Basic/arm_sve.td vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/CheckerRegistryData.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicSize.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Frontend/AnalyzerHelpFlags.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/Testing/ vendor/llvm-project/master/clang/include/clang/Testing/CommandLineArgs.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/Testing/TestClangConfig.h (contents, props changed) vendor/llvm-project/master/clang/include/clang/Tooling/Transformer/Parsing.h (contents, props changed) vendor/llvm-project/master/clang/lib/AST/ComputeDependence.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/AST/ExprConcepts.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/AST/Interp/InterpBlock.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/AST/Interp/InterpBlock.h (contents, props changed) vendor/llvm-project/master/clang/lib/AST/ParentMapContext.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/ASTMatchers/Dynamic/Marshallers.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/ASTMatchers/GtestMatchers.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Basic/ExpressionTraits.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Basic/Targets/VE.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Basic/Targets/VE.h (contents, props changed) vendor/llvm-project/master/clang/lib/Basic/TypeTraits.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/VE.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/VE.h (contents, props changed) vendor/llvm-project/master/clang/lib/Driver/ToolChains/ROCm.h (contents, props changed) vendor/llvm-project/master/clang/lib/Driver/ToolChains/VEToolchain.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Driver/ToolChains/VEToolchain.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/__clang_cuda_math.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/__clang_hip_libdevice_declares.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/__clang_hip_math.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/__clang_hip_runtime_wrapper.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/amxintrin.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/cet.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/openmp_wrappers/complex vendor/llvm-project/master/clang/lib/Headers/openmp_wrappers/complex.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/openmp_wrappers/new vendor/llvm-project/master/clang/lib/Headers/openmp_wrappers/time.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/serializeintrin.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/tsxldtrkintrin.h (contents, props changed) vendor/llvm-project/master/clang/lib/Headers/wasm_simd128.h (contents, props changed) vendor/llvm-project/master/clang/lib/Sema/SemaAvailability.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Sema/SemaSYCL.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Sema/UsedDeclVisitor.h (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/SmartPtr.h (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/WebKit/ vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/WebKit/DiagOutputUtils.h (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/cert/ vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/CheckerRegistryData.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/DynamicSize.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Frontend/AnalyzerHelpFlags.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Testing/ vendor/llvm-project/master/clang/lib/Testing/CommandLineArgs.cpp (contents, props changed) vendor/llvm-project/master/clang/lib/Tooling/Transformer/Parsing.cpp (contents, props changed) vendor/llvm-project/master/clang/utils/TableGen/SveEmitter.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/builtins/int_div_impl.inc (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/builtins/riscv/int_mul_impl.inc (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/builtins/riscv/muldi3.S (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/builtins/ve/ vendor/llvm-project/master/compiler-rt/lib/builtins/ve/grow_stack.S (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/builtins/ve/grow_stack_align.S (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerPlatform.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/gwp_asan/common.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/gwp_asan/common.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/gwp_asan/crash_handler.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/gwp_asan/crash_handler.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/gwp_asan/optional/segv_handler.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/gwp_asan/optional/segv_handler_posix.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/gwp_asan/platform_specific/common_posix.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/gwp_asan/platform_specific/utilities_posix.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/gwp_asan/utilities.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan_globals.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan_globals.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_common_fuchsia.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_fuchsia.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_fuchsia.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_posix.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_posix.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfilingBiasVar.c (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfilingInternal.c (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_fuchsia.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_ptrauth.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/fuzz/ vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/fuzz/get_error_info_fuzzer.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/include/ vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/include/scudo/ vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/include/scudo/interface.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/memtag.h (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/release.cpp (contents, props changed) vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/stack_depot.h (contents, props changed) vendor/llvm-project/master/libcxx/include/barrier vendor/llvm-project/master/libcxx/include/concepts vendor/llvm-project/master/libcxx/include/latch vendor/llvm-project/master/libcxx/include/numbers vendor/llvm-project/master/libcxx/include/semaphore vendor/llvm-project/master/libcxx/src/atomic.cpp (contents, props changed) vendor/llvm-project/master/libcxx/src/barrier.cpp (contents, props changed) vendor/llvm-project/master/libcxx/src/random_shuffle.cpp (contents, props changed) vendor/llvm-project/master/libunwind/src/FrameHeaderCache.hpp vendor/llvm-project/master/lld/.clang-tidy vendor/llvm-project/master/lld/COFF/LLDMapFile.cpp (contents, props changed) vendor/llvm-project/master/lld/COFF/LLDMapFile.h (contents, props changed) vendor/llvm-project/master/lld/MachO/ vendor/llvm-project/master/lld/MachO/Arch/ vendor/llvm-project/master/lld/MachO/Arch/X86_64.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/Config.h (contents, props changed) vendor/llvm-project/master/lld/MachO/Driver.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/Driver.h (contents, props changed) vendor/llvm-project/master/lld/MachO/ExportTrie.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/ExportTrie.h (contents, props changed) vendor/llvm-project/master/lld/MachO/InputFiles.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/InputFiles.h (contents, props changed) vendor/llvm-project/master/lld/MachO/InputSection.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/InputSection.h (contents, props changed) vendor/llvm-project/master/lld/MachO/MachOStructs.h (contents, props changed) vendor/llvm-project/master/lld/MachO/MergedOutputSection.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/MergedOutputSection.h (contents, props changed) vendor/llvm-project/master/lld/MachO/Options.td vendor/llvm-project/master/lld/MachO/OutputSection.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/OutputSection.h (contents, props changed) vendor/llvm-project/master/lld/MachO/OutputSegment.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/OutputSegment.h (contents, props changed) vendor/llvm-project/master/lld/MachO/SymbolTable.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/SymbolTable.h (contents, props changed) vendor/llvm-project/master/lld/MachO/Symbols.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/Symbols.h (contents, props changed) vendor/llvm-project/master/lld/MachO/SyntheticSections.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/SyntheticSections.h (contents, props changed) vendor/llvm-project/master/lld/MachO/Target.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/Target.h (contents, props changed) vendor/llvm-project/master/lld/MachO/Writer.cpp (contents, props changed) vendor/llvm-project/master/lld/MachO/Writer.h (contents, props changed) vendor/llvm-project/master/lld/docs/ELF/ vendor/llvm-project/master/lld/docs/ELF/linker_script.rst vendor/llvm-project/master/lldb/bindings/ vendor/llvm-project/master/lldb/bindings/headers.swig vendor/llvm-project/master/lldb/bindings/interface/ vendor/llvm-project/master/lldb/bindings/interface/SBAddress.i vendor/llvm-project/master/lldb/bindings/interface/SBAttachInfo.i vendor/llvm-project/master/lldb/bindings/interface/SBBlock.i vendor/llvm-project/master/lldb/bindings/interface/SBBreakpoint.i vendor/llvm-project/master/lldb/bindings/interface/SBBreakpointLocation.i vendor/llvm-project/master/lldb/bindings/interface/SBBreakpointName.i vendor/llvm-project/master/lldb/bindings/interface/SBBroadcaster.i vendor/llvm-project/master/lldb/bindings/interface/SBCommandInterpreter.i vendor/llvm-project/master/lldb/bindings/interface/SBCommandInterpreterRunOptions.i vendor/llvm-project/master/lldb/bindings/interface/SBCommandReturnObject.i vendor/llvm-project/master/lldb/bindings/interface/SBCommunication.i vendor/llvm-project/master/lldb/bindings/interface/SBCompileUnit.i vendor/llvm-project/master/lldb/bindings/interface/SBData.i vendor/llvm-project/master/lldb/bindings/interface/SBDebugger.i vendor/llvm-project/master/lldb/bindings/interface/SBDeclaration.i vendor/llvm-project/master/lldb/bindings/interface/SBEnvironment.i vendor/llvm-project/master/lldb/bindings/interface/SBError.i vendor/llvm-project/master/lldb/bindings/interface/SBEvent.i vendor/llvm-project/master/lldb/bindings/interface/SBExecutionContext.i vendor/llvm-project/master/lldb/bindings/interface/SBExpressionOptions.i vendor/llvm-project/master/lldb/bindings/interface/SBFile.i vendor/llvm-project/master/lldb/bindings/interface/SBFileSpec.i vendor/llvm-project/master/lldb/bindings/interface/SBFileSpecList.i vendor/llvm-project/master/lldb/bindings/interface/SBFrame.i vendor/llvm-project/master/lldb/bindings/interface/SBFunction.i vendor/llvm-project/master/lldb/bindings/interface/SBHostOS.i vendor/llvm-project/master/lldb/bindings/interface/SBInstruction.i vendor/llvm-project/master/lldb/bindings/interface/SBInstructionList.i vendor/llvm-project/master/lldb/bindings/interface/SBLanguageRuntime.i vendor/llvm-project/master/lldb/bindings/interface/SBLaunchInfo.i vendor/llvm-project/master/lldb/bindings/interface/SBLineEntry.i vendor/llvm-project/master/lldb/bindings/interface/SBListener.i vendor/llvm-project/master/lldb/bindings/interface/SBMemoryRegionInfo.i vendor/llvm-project/master/lldb/bindings/interface/SBMemoryRegionInfoList.i vendor/llvm-project/master/lldb/bindings/interface/SBModule.i vendor/llvm-project/master/lldb/bindings/interface/SBModuleSpec.i vendor/llvm-project/master/lldb/bindings/interface/SBPlatform.i vendor/llvm-project/master/lldb/bindings/interface/SBProcess.i vendor/llvm-project/master/lldb/bindings/interface/SBProcessInfo.i vendor/llvm-project/master/lldb/bindings/interface/SBQueue.i vendor/llvm-project/master/lldb/bindings/interface/SBQueueItem.i vendor/llvm-project/master/lldb/bindings/interface/SBReproducer.i vendor/llvm-project/master/lldb/bindings/interface/SBSection.i vendor/llvm-project/master/lldb/bindings/interface/SBSourceManager.i vendor/llvm-project/master/lldb/bindings/interface/SBStream.i vendor/llvm-project/master/lldb/bindings/interface/SBStringList.i vendor/llvm-project/master/lldb/bindings/interface/SBStructuredData.i vendor/llvm-project/master/lldb/bindings/interface/SBSymbol.i vendor/llvm-project/master/lldb/bindings/interface/SBSymbolContext.i vendor/llvm-project/master/lldb/bindings/interface/SBSymbolContextList.i vendor/llvm-project/master/lldb/bindings/interface/SBTarget.i vendor/llvm-project/master/lldb/bindings/interface/SBThread.i vendor/llvm-project/master/lldb/bindings/interface/SBThreadCollection.i vendor/llvm-project/master/lldb/bindings/interface/SBThreadPlan.i vendor/llvm-project/master/lldb/bindings/interface/SBTrace.i vendor/llvm-project/master/lldb/bindings/interface/SBTraceOptions.i vendor/llvm-project/master/lldb/bindings/interface/SBType.i vendor/llvm-project/master/lldb/bindings/interface/SBTypeCategory.i vendor/llvm-project/master/lldb/bindings/interface/SBTypeEnumMember.i vendor/llvm-project/master/lldb/bindings/interface/SBTypeFilter.i vendor/llvm-project/master/lldb/bindings/interface/SBTypeFormat.i vendor/llvm-project/master/lldb/bindings/interface/SBTypeNameSpecifier.i vendor/llvm-project/master/lldb/bindings/interface/SBTypeSummary.i vendor/llvm-project/master/lldb/bindings/interface/SBTypeSynthetic.i vendor/llvm-project/master/lldb/bindings/interface/SBUnixSignals.i vendor/llvm-project/master/lldb/bindings/interface/SBValue.i vendor/llvm-project/master/lldb/bindings/interface/SBValueList.i vendor/llvm-project/master/lldb/bindings/interface/SBVariablesOptions.i vendor/llvm-project/master/lldb/bindings/interface/SBWatchpoint.i vendor/llvm-project/master/lldb/bindings/interfaces.swig vendor/llvm-project/master/lldb/bindings/lua/ vendor/llvm-project/master/lldb/bindings/lua.swig vendor/llvm-project/master/lldb/bindings/lua/lua-typemaps.swig vendor/llvm-project/master/lldb/bindings/macros.swig vendor/llvm-project/master/lldb/bindings/python/ vendor/llvm-project/master/lldb/bindings/python.swig vendor/llvm-project/master/lldb/bindings/python/createPythonInit.py (contents, props changed) vendor/llvm-project/master/lldb/bindings/python/python-extensions.swig vendor/llvm-project/master/lldb/bindings/python/python-swigsafecast.swig vendor/llvm-project/master/lldb/bindings/python/python-typemaps.swig vendor/llvm-project/master/lldb/bindings/python/python-wrapper.swig vendor/llvm-project/master/lldb/include/lldb/API/SBCommandInterpreterRunOptions.h (contents, props changed) vendor/llvm-project/master/lldb/include/lldb/API/SBEnvironment.h (contents, props changed) vendor/llvm-project/master/lldb/include/lldb/Target/AssertFrameRecognizer.h (contents, props changed) vendor/llvm-project/master/lldb/include/lldb/Target/RegisterContextUnwind.h (contents, props changed) vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanStack.h (contents, props changed) vendor/llvm-project/master/lldb/include/lldb/Target/UnwindLLDB.h (contents, props changed) vendor/llvm-project/master/lldb/include/lldb/Utility/XcodeSDK.h (contents, props changed) vendor/llvm-project/master/lldb/source/API/SBCommandInterpreterRunOptions.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/API/SBEnvironment.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Host/netbsd/HostNetBSD.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/AArch64/ vendor/llvm-project/master/lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/AArch64/ABIAArch64.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/ARC/ vendor/llvm-project/master/lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/ARC/ABISysV_arc.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/ARM/ vendor/llvm-project/master/lldb/source/Plugins/ABI/ARM/ABIARM.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/ARM/ABIARM.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/ARM/ABISysV_arm.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/Hexagon/ vendor/llvm-project/master/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/Mips/ vendor/llvm-project/master/lldb/source/Plugins/ABI/Mips/ABIMips.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/Mips/ABIMips.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/Mips/ABISysV_mips.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/PowerPC/ vendor/llvm-project/master/lldb/source/Plugins/ABI/PowerPC/ABIPowerPC.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/PowerPC/ABIPowerPC.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/SystemZ/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABISysV_i386.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABISysV_x86_64.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABIX86.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABIX86.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ABI/X86/ABIX86_64.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/Disassembler/LLVMC/ vendor/llvm-project/master/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/wasm-DYLD/ vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangUtil.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangUtil.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/ASan/InstrumentationRuntimeASan.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/ASan/InstrumentationRuntimeASan.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/CFBasicHash.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/CFBasicHash.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/wasm/ vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/Plugins.def.in (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfoAndSetInterface.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/SymbolVendor/wasm/ vendor/llvm-project/master/lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.h (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/TypeSystem/ vendor/llvm-project/master/lldb/source/Plugins/TypeSystem/Clang/ vendor/llvm-project/master/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h (contents, props changed) vendor/llvm-project/master/lldb/source/Target/AssertFrameRecognizer.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Target/RegisterContextUnwind.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Target/ThreadPlanStack.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Target/UnwindLLDB.cpp (contents, props changed) vendor/llvm-project/master/lldb/source/Utility/XcodeSDK.cpp (contents, props changed) vendor/llvm-project/master/llvm/include/llvm-c/Orc.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/ADT/Bitfields.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/ADT/CoalescingBitVector.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/ADT/StringMapEntry.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/ADT/TypeSwitch.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/ADT/Waymarking.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/AssumeBundleQueries.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/HeatUtils.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/InlineAdvisor.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/InlineFeaturesAnalysis.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/InlineModelFeatureMaps.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/InlineSizeEstimatorAnalysis.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/LoopNestAnalysis.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/MLInlineAdvisor.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/MLModelRunner.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/ScalarEvolutionDivision.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/StackLifetime.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Analysis/Utils/TFUtils.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/ELFRelocs/VE.def vendor/llvm-project/master/llvm/include/llvm/CodeGen/AntiDepBreaker.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/CommandFlags.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/LostDebugLocObserver.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/IndirectThunks.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/LiveIntervalCalc.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/MBFIWrapper.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/RDFGraph.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/RDFLiveness.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/RDFRegisters.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/CodeGen/Spiller.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/DWARFLinker/DWARFStreamer.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumLineNumbers.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeFunctionSymbol.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeLineNumber.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativePublicSymbol.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeSourceFile.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/JITLink/ELF.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/JITLink/ELF_x86_64.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/Mangling.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Frontend/Directive/ vendor/llvm-project/master/llvm/include/llvm/Frontend/Directive/DirectiveBase.td vendor/llvm-project/master/llvm/include/llvm/Frontend/OpenACC/ vendor/llvm-project/master/llvm/include/llvm/Frontend/OpenACC/ACC.td vendor/llvm-project/master/llvm/include/llvm/Frontend/OpenMP/OMP.td vendor/llvm-project/master/llvm/include/llvm/Frontend/OpenMP/OMPContext.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Frontend/OpenMP/OMPGridValues.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/IR/AbstractCallSite.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/IR/IRBuilderFolder.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsHexagonDep.td vendor/llvm-project/master/llvm/include/llvm/IR/LLVMRemarkStreamer.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/IR/MatrixBuilder.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/IR/PassManagerImpl.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/IR/VPIntrinsics.def vendor/llvm-project/master/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Remarks/RemarkStreamer.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/AllocatorBase.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/Base64.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/CFGDiff.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/ELFAttributeParser.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/ELFAttributes.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/ExtensibleRTTI.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/OptimizedStructLayout.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/RISCVAttributeParser.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/RISCVAttributes.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/SuffixTree.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/Windows/ vendor/llvm-project/master/llvm/include/llvm/Support/Windows/WindowsSupport.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Support/X86TargetParser.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Coroutines/ vendor/llvm-project/master/llvm/include/llvm/Transforms/Coroutines/CoroCleanup.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Coroutines/CoroEarly.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Coroutines/CoroElide.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Coroutines/CoroSplit.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO/OpenMPOpt.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/AssumeBundleBuilder.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/CallGraphUpdater.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/CanonicalizeFreezeInLoops.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/UniqueInternalLinkageNames.h (contents, props changed) vendor/llvm-project/master/llvm/include/llvm/Transforms/Vectorize/VectorCombine.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/AssumeBundleQueries.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/HeatUtils.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/InlineAdvisor.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/InlineFeaturesAnalysis.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/InlineSizeEstimatorAnalysis.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/LoopNestAnalysis.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/MLInlineAdvisor.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/ReleaseModeModelRunner.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/ScalarEvolutionDivision.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/StackLifetime.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/TFUtils.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/models/ vendor/llvm-project/master/llvm/lib/Analysis/models/inliner/ vendor/llvm-project/master/llvm/lib/Analysis/models/inliner/saved_model.pbtxt vendor/llvm-project/master/llvm/lib/Analysis/models/inliner/variables/ vendor/llvm-project/master/llvm/lib/Analysis/models/inliner/variables/variables.data-00000-of-00001 (contents, props changed) vendor/llvm-project/master/llvm/lib/Analysis/models/inliner/variables/variables.index (contents, props changed) vendor/llvm-project/master/llvm/lib/BinaryFormat/MachO.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/BBSectionsPrepare.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/CommandFlags.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/LostDebugLocObserver.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/LiveIntervalCalc.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/MBFIWrapper.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/MachineDebugify.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/MachineStripDebug.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/RDFGraph.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/RDFLiveness.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/CodeGen/RDFRegisters.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/DWARFLinker/DWARFStreamer.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeEnumLineNumbers.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeFunctionSymbol.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeLineNumber.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativePublicSymbol.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeSourceFile.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/ELF.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/Mangling.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Frontend/OpenACC/ vendor/llvm-project/master/llvm/lib/Frontend/OpenMP/OMPContext.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/IR/LLVMRemarkStreamer.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/MC/MCInstrInfo.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/MC/MCParser/COFFMasmParser.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/MC/MCParser/MasmParser.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/MC/MCSymbolXCOFF.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/MC/MCTargetOptionsCommandFlags.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Remarks/RemarkStreamer.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Support/ELFAttributeParser.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Support/ELFAttributes.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Support/ExtensibleRTTI.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Support/MemAlloc.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Support/OptimizedStructLayout.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Support/RISCVAttributeParser.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Support/RISCVAttributes.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Support/SuffixTree.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Support/X86TargetParser.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64InstrGISel.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SLSHardening.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/ vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/AArch64CallLowering.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUCombine.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUExportClustering.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUExportClustering.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstrCDE.td vendor/llvm-project/master/llvm/lib/Target/ARM/MVEVPTOptimisationsPass.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/BPF/BPFPreserveDIType.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonArch.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepMask.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonScheduleV67.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonScheduleV67T.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrPrefix.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCMacroFusion.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCMacroFusion.def vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCMacroFusion.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrFormatsV.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfoB.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfoV.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVSchedRocket32.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVSchedRocket64.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVSchedule.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/AsmParser/ vendor/llvm-project/master/llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/Disassembler/ vendor/llvm-project/master/llvm/lib/Target/VE/Disassembler/VEDisassembler.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEFixupKinds.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/TargetInfo/VETargetInfo.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/VEMachineFunctionInfo.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/VE/VEMachineFunctionInfo.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyDebugFixup.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/X86/ImmutableGraph.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.h (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/X86/X86IndirectThunks.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/X86/X86InsertWait.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrAMX.td vendor/llvm-project/master/llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/X86/X86PartialReduction.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/IPO/AttributorAttributes.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/IPO/OpenMPOpt.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/Utils/CallGraphUpdater.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/Utils/FixIrreducible.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/Utils/UnifyLoopExits.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/Utils/UniqueInternalLinkageNames.cpp (contents, props changed) vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VectorCombine.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-dwarfdump/SectionSizes.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-dwp/ vendor/llvm-project/master/llvm/tools/llvm-dwp/DWPError.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-dwp/DWPError.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-dwp/DWPStringPool.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-dwp/llvm-dwp.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objcopy/wasm/ vendor/llvm-project/master/llvm/tools/llvm-objcopy/wasm/Object.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objcopy/wasm/Object.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objcopy/wasm/Reader.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objcopy/wasm/Reader.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objcopy/wasm/WasmObjcopy.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objcopy/wasm/WasmObjcopy.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objcopy/wasm/Writer.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objcopy/wasm/Writer.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objdump/COFFDump.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objdump/ELFDump.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objdump/MachODump.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objdump/WasmDump.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objdump/XCOFFDump.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-objdump/XCOFFDump.h (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-size/ vendor/llvm-project/master/llvm/tools/llvm-size/llvm-size.cpp (contents, props changed) vendor/llvm-project/master/llvm/tools/llvm-strings/ vendor/llvm-project/master/llvm/tools/llvm-strings/llvm-strings.cpp (contents, props changed) vendor/llvm-project/master/llvm/utils/TableGen/DirectiveEmitter.cpp (contents, props changed) Deleted: vendor/llvm-project/master/clang/include/clang/Driver/CC1Options.td vendor/llvm-project/master/clang/include/clang/Driver/CLCompatOptions.td vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h vendor/llvm-project/master/clang/lib/AST/Interp/Block.cpp vendor/llvm-project/master/clang/lib/AST/Interp/Block.h vendor/llvm-project/master/clang/lib/Headers/openmp_wrappers/__clang_openmp_math.h vendor/llvm-project/master/clang/lib/Headers/openmp_wrappers/__clang_openmp_math_declares.h vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/SubEngine.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp vendor/llvm-project/master/clang/utils/convert_arm_neon.py vendor/llvm-project/master/compiler-rt/lib/builtins/hexagon/fabs_opt.S vendor/llvm-project/master/compiler-rt/lib/builtins/hexagon/fma_opt.S vendor/llvm-project/master/compiler-rt/lib/builtins/hexagon/fmax_opt.S vendor/llvm-project/master/compiler-rt/lib/builtins/hexagon/fmin_opt.S vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/interface.h vendor/llvm-project/master/lld/.arcconfig vendor/llvm-project/master/lld/Common/Threads.cpp vendor/llvm-project/master/lld/include/lld/Common/Threads.h vendor/llvm-project/master/lldb/include/lldb/Core/ClangForward.h vendor/llvm-project/master/lldb/include/lldb/Host/TaskPool.h vendor/llvm-project/master/lldb/include/lldb/Symbol/ClangASTContext.h vendor/llvm-project/master/lldb/include/lldb/Symbol/ClangASTImporter.h vendor/llvm-project/master/lldb/include/lldb/Symbol/ClangASTMetadata.h vendor/llvm-project/master/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h vendor/llvm-project/master/lldb/include/lldb/Symbol/ClangUtil.h vendor/llvm-project/master/lldb/include/lldb/Symbol/CxxModuleHandler.h vendor/llvm-project/master/lldb/include/lldb/Utility/SharingPtr.h vendor/llvm-project/master/lldb/source/Host/common/TaskPool.cpp vendor/llvm-project/master/lldb/source/Host/netbsd/Host.cpp vendor/llvm-project/master/lldb/source/Plugins/ABI/MacOSX-arm/ vendor/llvm-project/master/lldb/source/Plugins/ABI/MacOSX-arm64/ vendor/llvm-project/master/lldb/source/Plugins/ABI/MacOSX-i386/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-arc/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-arm/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-arm64/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-hexagon/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-i386/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-mips/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-mips64/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-ppc/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-ppc64/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-s390x/ vendor/llvm-project/master/lldb/source/Plugins/ABI/SysV-x86_64/ vendor/llvm-project/master/lldb/source/Plugins/ABI/Windows-x86_64/ vendor/llvm-project/master/lldb/source/Plugins/Disassembler/llvm/ vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/ASan/ASanRuntime.cpp vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/ASan/ASanRuntime.h vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.cpp vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.h vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.cpp vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.h vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.cpp vendor/llvm-project/master/lldb/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.h vendor/llvm-project/master/lldb/source/Plugins/Process/Darwin/ vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/UnwindLLDB.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwoDwp.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwoDwp.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwp.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwp.h vendor/llvm-project/master/lldb/source/Symbol/ClangASTContext.cpp vendor/llvm-project/master/lldb/source/Symbol/ClangASTImporter.cpp vendor/llvm-project/master/lldb/source/Symbol/ClangASTMetadata.cpp vendor/llvm-project/master/lldb/source/Symbol/ClangExternalASTSourceCallbacks.cpp vendor/llvm-project/master/lldb/source/Symbol/ClangUtil.cpp vendor/llvm-project/master/lldb/source/Symbol/CxxModuleHandler.cpp vendor/llvm-project/master/lldb/source/Utility/SharingPtr.cpp vendor/llvm-project/master/lldb/tools/lldb-mi/ vendor/llvm-project/master/llvm/include/llvm/Analysis/OrderedBasicBlock.h vendor/llvm-project/master/llvm/include/llvm/Analysis/OrderedInstructions.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/CommandFlags.inc vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/Types.h vendor/llvm-project/master/llvm/include/llvm/IR/CFGDiff.h vendor/llvm-project/master/llvm/include/llvm/IR/CallSite.h vendor/llvm-project/master/llvm/include/llvm/IR/RemarkStreamer.h vendor/llvm-project/master/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.inc vendor/llvm-project/master/llvm/include/llvm/Support/StringPool.h vendor/llvm-project/master/llvm/lib/Analysis/OrderedBasicBlock.cpp vendor/llvm-project/master/llvm/lib/Analysis/OrderedInstructions.cpp vendor/llvm-project/master/llvm/lib/Analysis/ScalarEvolutionExpander.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AntiDepBreaker.h vendor/llvm-project/master/llvm/lib/CodeGen/SafeStackColoring.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SafeStackColoring.h vendor/llvm-project/master/llvm/lib/CodeGen/Spiller.h vendor/llvm-project/master/llvm/lib/Frontend/OpenMP/OMPConstants.cpp vendor/llvm-project/master/llvm/lib/IR/AttributesCompatFunc.td vendor/llvm-project/master/llvm/lib/IR/RemarkStreamer.cpp vendor/llvm-project/master/llvm/lib/Support/StringPool.cpp vendor/llvm-project/master/llvm/lib/Support/Windows/WindowsSupport.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64CallLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64CallLowering.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64LegalizerInfo.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/VIInstructions.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonInstrFormatsV5.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFGraph.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFGraph.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFLiveness.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFLiveness.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFRegisters.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFRegisters.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/VE/InstPrinter/ vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp vendor/llvm-project/master/llvm/lib/Target/X86/Utils/ vendor/llvm-project/master/llvm/lib/Target/X86/X86RetpolineThunks.cpp Modified: vendor/llvm-project/master/clang/include/clang-c/BuildSystem.h vendor/llvm-project/master/clang/include/clang-c/Index.h vendor/llvm-project/master/clang/include/clang-c/Platform.h vendor/llvm-project/master/clang/include/clang/AST/APValue.h vendor/llvm-project/master/clang/include/clang/AST/ASTConcept.h vendor/llvm-project/master/clang/include/clang/AST/ASTContext.h vendor/llvm-project/master/clang/include/clang/AST/ASTDumper.h vendor/llvm-project/master/clang/include/clang/AST/ASTDumperUtils.h vendor/llvm-project/master/clang/include/clang/AST/ASTFwd.h vendor/llvm-project/master/clang/include/clang/AST/ASTImporter.h vendor/llvm-project/master/clang/include/clang/AST/ASTNodeTraverser.h vendor/llvm-project/master/clang/include/clang/AST/ASTTypeTraits.h vendor/llvm-project/master/clang/include/clang/AST/Attr.h vendor/llvm-project/master/clang/include/clang/AST/BuiltinTypes.def vendor/llvm-project/master/clang/include/clang/AST/CXXInheritance.h vendor/llvm-project/master/clang/include/clang/AST/CXXRecordDeclDefinitionBits.def vendor/llvm-project/master/clang/include/clang/AST/CanonicalType.h vendor/llvm-project/master/clang/include/clang/AST/Comment.h vendor/llvm-project/master/clang/include/clang/AST/CommentCommands.td vendor/llvm-project/master/clang/include/clang/AST/CommentSema.h vendor/llvm-project/master/clang/include/clang/AST/DataCollection.h vendor/llvm-project/master/clang/include/clang/AST/Decl.h vendor/llvm-project/master/clang/include/clang/AST/DeclBase.h vendor/llvm-project/master/clang/include/clang/AST/DeclCXX.h vendor/llvm-project/master/clang/include/clang/AST/DeclGroup.h vendor/llvm-project/master/clang/include/clang/AST/DeclObjC.h vendor/llvm-project/master/clang/include/clang/AST/DeclOpenMP.h vendor/llvm-project/master/clang/include/clang/AST/DeclTemplate.h vendor/llvm-project/master/clang/include/clang/AST/Expr.h vendor/llvm-project/master/clang/include/clang/AST/ExprCXX.h vendor/llvm-project/master/clang/include/clang/AST/ExprObjC.h vendor/llvm-project/master/clang/include/clang/AST/ExprOpenMP.h vendor/llvm-project/master/clang/include/clang/AST/ExternalASTSource.h vendor/llvm-project/master/clang/include/clang/AST/GlobalDecl.h vendor/llvm-project/master/clang/include/clang/AST/JSONNodeDumper.h vendor/llvm-project/master/clang/include/clang/AST/LocInfoType.h vendor/llvm-project/master/clang/include/clang/AST/Mangle.h vendor/llvm-project/master/clang/include/clang/AST/NestedNameSpecifier.h vendor/llvm-project/master/clang/include/clang/AST/NonTrivialTypeVisitor.h vendor/llvm-project/master/clang/include/clang/AST/ODRHash.h vendor/llvm-project/master/clang/include/clang/AST/OpenMPClause.h vendor/llvm-project/master/clang/include/clang/AST/PrettyPrinter.h vendor/llvm-project/master/clang/include/clang/AST/PropertiesBase.td vendor/llvm-project/master/clang/include/clang/AST/RawCommentList.h vendor/llvm-project/master/clang/include/clang/AST/RecursiveASTVisitor.h vendor/llvm-project/master/clang/include/clang/AST/Stmt.h vendor/llvm-project/master/clang/include/clang/AST/StmtOpenMP.h vendor/llvm-project/master/clang/include/clang/AST/StmtVisitor.h vendor/llvm-project/master/clang/include/clang/AST/TemplateBase.h vendor/llvm-project/master/clang/include/clang/AST/TemplateName.h vendor/llvm-project/master/clang/include/clang/AST/TextNodeDumper.h vendor/llvm-project/master/clang/include/clang/AST/Type.h vendor/llvm-project/master/clang/include/clang/AST/TypeLoc.h vendor/llvm-project/master/clang/include/clang/AST/TypeLocVisitor.h vendor/llvm-project/master/clang/include/clang/AST/TypeProperties.td vendor/llvm-project/master/clang/include/clang/AST/VTableBuilder.h vendor/llvm-project/master/clang/include/clang/ASTMatchers/ASTMatchFinder.h vendor/llvm-project/master/clang/include/clang/ASTMatchers/ASTMatchers.h vendor/llvm-project/master/clang/include/clang/ASTMatchers/ASTMatchersInternal.h vendor/llvm-project/master/clang/include/clang/ASTMatchers/ASTMatchersMacros.h vendor/llvm-project/master/clang/include/clang/ASTMatchers/Dynamic/Diagnostics.h vendor/llvm-project/master/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h vendor/llvm-project/master/clang/include/clang/Analysis/Analyses/Dominators.h vendor/llvm-project/master/clang/include/clang/Analysis/Analyses/LiveVariables.h vendor/llvm-project/master/clang/include/clang/Analysis/Analyses/PostOrderCFGView.h vendor/llvm-project/master/clang/include/clang/Analysis/Analyses/ThreadSafety.h vendor/llvm-project/master/clang/include/clang/Analysis/Analyses/UninitializedValues.h vendor/llvm-project/master/clang/include/clang/Analysis/AnalysisDeclContext.h vendor/llvm-project/master/clang/include/clang/Analysis/AnyCall.h vendor/llvm-project/master/clang/include/clang/Analysis/CFG.h vendor/llvm-project/master/clang/include/clang/Analysis/CallGraph.h vendor/llvm-project/master/clang/include/clang/Analysis/ConstructionContext.h vendor/llvm-project/master/clang/include/clang/Analysis/FlowSensitive/DataflowValues.h vendor/llvm-project/master/clang/include/clang/Analysis/PathDiagnostic.h vendor/llvm-project/master/clang/include/clang/Basic/AArch64SVEACLETypes.def vendor/llvm-project/master/clang/include/clang/Basic/Attr.td vendor/llvm-project/master/clang/include/clang/Basic/AttrDocs.td vendor/llvm-project/master/clang/include/clang/Basic/AttributeCommonInfo.h vendor/llvm-project/master/clang/include/clang/Basic/Builtins.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsAMDGPU.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsARM.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsBPF.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsHexagon.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsMips.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsNVPTX.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsPPC.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsWebAssembly.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsX86.def vendor/llvm-project/master/clang/include/clang/Basic/BuiltinsX86_64.def vendor/llvm-project/master/clang/include/clang/Basic/CodeGenOptions.def vendor/llvm-project/master/clang/include/clang/Basic/CodeGenOptions.h vendor/llvm-project/master/clang/include/clang/Basic/Cuda.h vendor/llvm-project/master/clang/include/clang/Basic/DeclNodes.td vendor/llvm-project/master/clang/include/clang/Basic/Diagnostic.h vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticASTKinds.td vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticCommonKinds.td vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticDriverKinds.td vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticFrontendKinds.td vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticGroups.td vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticIDs.h vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticLexKinds.td vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticOptions.def vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticOptions.h vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticParseKinds.td vendor/llvm-project/master/clang/include/clang/Basic/DiagnosticSemaKinds.td vendor/llvm-project/master/clang/include/clang/Basic/ExpressionTraits.h vendor/llvm-project/master/clang/include/clang/Basic/Features.def vendor/llvm-project/master/clang/include/clang/Basic/FileManager.h vendor/llvm-project/master/clang/include/clang/Basic/FixedPoint.h vendor/llvm-project/master/clang/include/clang/Basic/IdentifierTable.h vendor/llvm-project/master/clang/include/clang/Basic/JsonSupport.h vendor/llvm-project/master/clang/include/clang/Basic/LangOptions.def vendor/llvm-project/master/clang/include/clang/Basic/LangOptions.h vendor/llvm-project/master/clang/include/clang/Basic/LangStandard.h vendor/llvm-project/master/clang/include/clang/Basic/LangStandards.def vendor/llvm-project/master/clang/include/clang/Basic/Module.h vendor/llvm-project/master/clang/include/clang/Basic/ObjCRuntime.h vendor/llvm-project/master/clang/include/clang/Basic/OpenCLExtensions.def vendor/llvm-project/master/clang/include/clang/Basic/OpenMPKinds.def vendor/llvm-project/master/clang/include/clang/Basic/OpenMPKinds.h vendor/llvm-project/master/clang/include/clang/Basic/PartialDiagnostic.h vendor/llvm-project/master/clang/include/clang/Basic/PragmaKinds.h vendor/llvm-project/master/clang/include/clang/Basic/SanitizerBlacklist.h vendor/llvm-project/master/clang/include/clang/Basic/SanitizerSpecialCaseList.h vendor/llvm-project/master/clang/include/clang/Basic/Sanitizers.def vendor/llvm-project/master/clang/include/clang/Basic/SourceLocation.h vendor/llvm-project/master/clang/include/clang/Basic/SourceManager.h vendor/llvm-project/master/clang/include/clang/Basic/Specifiers.h vendor/llvm-project/master/clang/include/clang/Basic/StmtNodes.td vendor/llvm-project/master/clang/include/clang/Basic/TargetBuiltins.h vendor/llvm-project/master/clang/include/clang/Basic/TargetCXXABI.h vendor/llvm-project/master/clang/include/clang/Basic/TargetInfo.h vendor/llvm-project/master/clang/include/clang/Basic/TokenKinds.def vendor/llvm-project/master/clang/include/clang/Basic/TokenKinds.h vendor/llvm-project/master/clang/include/clang/Basic/TypeNodes.td vendor/llvm-project/master/clang/include/clang/Basic/TypeTraits.h vendor/llvm-project/master/clang/include/clang/Basic/X86Target.def vendor/llvm-project/master/clang/include/clang/Basic/XRayInstr.h vendor/llvm-project/master/clang/include/clang/Basic/XRayLists.h vendor/llvm-project/master/clang/include/clang/Basic/arm_mve.td vendor/llvm-project/master/clang/include/clang/Basic/arm_mve_defs.td vendor/llvm-project/master/clang/include/clang/Basic/arm_neon.td vendor/llvm-project/master/clang/include/clang/Basic/arm_neon_incl.td vendor/llvm-project/master/clang/include/clang/CodeGen/CGFunctionInfo.h vendor/llvm-project/master/clang/include/clang/CodeGen/CodeGenABITypes.h vendor/llvm-project/master/clang/include/clang/CodeGen/ConstantInitBuilder.h vendor/llvm-project/master/clang/include/clang/CodeGen/ConstantInitFuture.h vendor/llvm-project/master/clang/include/clang/CrossTU/CrossTranslationUnit.h vendor/llvm-project/master/clang/include/clang/Driver/Action.h vendor/llvm-project/master/clang/include/clang/Driver/Distro.h vendor/llvm-project/master/clang/include/clang/Driver/Driver.h vendor/llvm-project/master/clang/include/clang/Driver/Job.h vendor/llvm-project/master/clang/include/clang/Driver/Multilib.h vendor/llvm-project/master/clang/include/clang/Driver/Options.td vendor/llvm-project/master/clang/include/clang/Driver/Phases.h vendor/llvm-project/master/clang/include/clang/Driver/SanitizerArgs.h vendor/llvm-project/master/clang/include/clang/Driver/Tool.h vendor/llvm-project/master/clang/include/clang/Driver/ToolChain.h vendor/llvm-project/master/clang/include/clang/Driver/Types.h vendor/llvm-project/master/clang/include/clang/Driver/XRayArgs.h vendor/llvm-project/master/clang/include/clang/Format/Format.h vendor/llvm-project/master/clang/include/clang/Frontend/ASTConsumers.h vendor/llvm-project/master/clang/include/clang/Frontend/ASTUnit.h vendor/llvm-project/master/clang/include/clang/Frontend/CommandLineSourceLoc.h vendor/llvm-project/master/clang/include/clang/Frontend/CompilerInstance.h vendor/llvm-project/master/clang/include/clang/Frontend/CompilerInvocation.h vendor/llvm-project/master/clang/include/clang/Frontend/FrontendAction.h vendor/llvm-project/master/clang/include/clang/Frontend/FrontendActions.h vendor/llvm-project/master/clang/include/clang/Frontend/FrontendOptions.h vendor/llvm-project/master/clang/include/clang/Frontend/LogDiagnosticPrinter.h vendor/llvm-project/master/clang/include/clang/Frontend/PrecompiledPreamble.h vendor/llvm-project/master/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h vendor/llvm-project/master/clang/include/clang/Index/IndexSymbol.h vendor/llvm-project/master/clang/include/clang/Index/IndexingAction.h vendor/llvm-project/master/clang/include/clang/Index/IndexingOptions.h vendor/llvm-project/master/clang/include/clang/Lex/DirectoryLookup.h vendor/llvm-project/master/clang/include/clang/Lex/HeaderSearch.h vendor/llvm-project/master/clang/include/clang/Lex/HeaderSearchOptions.h vendor/llvm-project/master/clang/include/clang/Lex/LiteralSupport.h vendor/llvm-project/master/clang/include/clang/Lex/ModuleMap.h vendor/llvm-project/master/clang/include/clang/Lex/PPCallbacks.h vendor/llvm-project/master/clang/include/clang/Lex/Pragma.h vendor/llvm-project/master/clang/include/clang/Lex/Preprocessor.h vendor/llvm-project/master/clang/include/clang/Lex/PreprocessorOptions.h vendor/llvm-project/master/clang/include/clang/Parse/Parser.h vendor/llvm-project/master/clang/include/clang/Parse/RAIIObjectsForParser.h vendor/llvm-project/master/clang/include/clang/Sema/DeclSpec.h vendor/llvm-project/master/clang/include/clang/Sema/ExternalSemaSource.h vendor/llvm-project/master/clang/include/clang/Sema/Initialization.h vendor/llvm-project/master/clang/include/clang/Sema/Lookup.h vendor/llvm-project/master/clang/include/clang/Sema/MultiplexExternalSemaSource.h vendor/llvm-project/master/clang/include/clang/Sema/Overload.h vendor/llvm-project/master/clang/include/clang/Sema/Ownership.h vendor/llvm-project/master/clang/include/clang/Sema/ParsedAttr.h vendor/llvm-project/master/clang/include/clang/Sema/ParsedTemplate.h vendor/llvm-project/master/clang/include/clang/Sema/Scope.h vendor/llvm-project/master/clang/include/clang/Sema/ScopeInfo.h vendor/llvm-project/master/clang/include/clang/Sema/Sema.h vendor/llvm-project/master/clang/include/clang/Sema/SemaConcept.h vendor/llvm-project/master/clang/include/clang/Sema/Template.h vendor/llvm-project/master/clang/include/clang/Sema/TemplateDeduction.h vendor/llvm-project/master/clang/include/clang/Serialization/ASTBitCodes.h vendor/llvm-project/master/clang/include/clang/Serialization/ASTReader.h vendor/llvm-project/master/clang/include/clang/Serialization/ASTRecordReader.h vendor/llvm-project/master/clang/include/clang/Serialization/ASTRecordWriter.h vendor/llvm-project/master/clang/include/clang/Serialization/ASTWriter.h vendor/llvm-project/master/clang/include/clang/Serialization/ModuleFile.h vendor/llvm-project/master/clang/include/clang/Serialization/TypeBitCodes.def vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Checkers/CheckerBase.td vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/Analyses.def vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/Checker.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Regions.def vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SimpleConstraintManager.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h vendor/llvm-project/master/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h vendor/llvm-project/master/clang/include/clang/Tooling/ASTDiff/ASTDiff.h vendor/llvm-project/master/clang/include/clang/Tooling/ASTDiff/ASTDiffInternal.h vendor/llvm-project/master/clang/include/clang/Tooling/AllTUsExecution.h vendor/llvm-project/master/clang/include/clang/Tooling/Core/Diagnostic.h vendor/llvm-project/master/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h vendor/llvm-project/master/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h vendor/llvm-project/master/clang/include/clang/Tooling/DiagnosticsYaml.h vendor/llvm-project/master/clang/include/clang/Tooling/Refactoring/ASTSelection.h vendor/llvm-project/master/clang/include/clang/Tooling/Refactoring/AtomicChange.h vendor/llvm-project/master/clang/include/clang/Tooling/Refactoring/RefactoringOptions.h vendor/llvm-project/master/clang/include/clang/Tooling/ReplacementsYaml.h vendor/llvm-project/master/clang/include/clang/Tooling/Syntax/Nodes.h vendor/llvm-project/master/clang/include/clang/Tooling/Syntax/Tokens.h vendor/llvm-project/master/clang/include/clang/Tooling/Syntax/Tree.h vendor/llvm-project/master/clang/include/clang/Tooling/Tooling.h vendor/llvm-project/master/clang/include/clang/Tooling/Transformer/RangeSelector.h vendor/llvm-project/master/clang/include/clang/Tooling/Transformer/RewriteRule.h vendor/llvm-project/master/clang/include/clang/Tooling/Transformer/SourceCode.h vendor/llvm-project/master/clang/include/clang/Tooling/Transformer/Stencil.h vendor/llvm-project/master/clang/include/clang/module.modulemap vendor/llvm-project/master/clang/lib/ARCMigrate/ARCMT.cpp vendor/llvm-project/master/clang/lib/ARCMigrate/FileRemapper.cpp vendor/llvm-project/master/clang/lib/ARCMigrate/Internals.h vendor/llvm-project/master/clang/lib/ARCMigrate/ObjCMT.cpp vendor/llvm-project/master/clang/lib/ARCMigrate/TransGCAttrs.cpp vendor/llvm-project/master/clang/lib/ARCMigrate/TransProperties.cpp vendor/llvm-project/master/clang/lib/ARCMigrate/TransProtectedScope.cpp vendor/llvm-project/master/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp vendor/llvm-project/master/clang/lib/ARCMigrate/Transforms.cpp vendor/llvm-project/master/clang/lib/AST/APValue.cpp vendor/llvm-project/master/clang/lib/AST/ASTConcept.cpp vendor/llvm-project/master/clang/lib/AST/ASTContext.cpp vendor/llvm-project/master/clang/lib/AST/ASTDiagnostic.cpp vendor/llvm-project/master/clang/lib/AST/ASTDumper.cpp vendor/llvm-project/master/clang/lib/AST/ASTImporter.cpp vendor/llvm-project/master/clang/lib/AST/ASTImporterLookupTable.cpp vendor/llvm-project/master/clang/lib/AST/ASTStructuralEquivalence.cpp vendor/llvm-project/master/clang/lib/AST/ASTTypeTraits.cpp vendor/llvm-project/master/clang/lib/AST/AttrImpl.cpp vendor/llvm-project/master/clang/lib/AST/CXXInheritance.cpp vendor/llvm-project/master/clang/lib/AST/CommentCommandTraits.cpp vendor/llvm-project/master/clang/lib/AST/CommentSema.cpp vendor/llvm-project/master/clang/lib/AST/ComparisonCategories.cpp vendor/llvm-project/master/clang/lib/AST/DataCollection.cpp vendor/llvm-project/master/clang/lib/AST/Decl.cpp vendor/llvm-project/master/clang/lib/AST/DeclBase.cpp vendor/llvm-project/master/clang/lib/AST/DeclCXX.cpp vendor/llvm-project/master/clang/lib/AST/DeclObjC.cpp vendor/llvm-project/master/clang/lib/AST/DeclPrinter.cpp vendor/llvm-project/master/clang/lib/AST/DeclTemplate.cpp vendor/llvm-project/master/clang/lib/AST/DeclarationName.cpp vendor/llvm-project/master/clang/lib/AST/Expr.cpp vendor/llvm-project/master/clang/lib/AST/ExprCXX.cpp vendor/llvm-project/master/clang/lib/AST/ExprClassification.cpp vendor/llvm-project/master/clang/lib/AST/ExprConstant.cpp vendor/llvm-project/master/clang/lib/AST/ExprObjC.cpp vendor/llvm-project/master/clang/lib/AST/ExternalASTSource.cpp vendor/llvm-project/master/clang/lib/AST/FormatString.cpp vendor/llvm-project/master/clang/lib/AST/Interp/Boolean.h vendor/llvm-project/master/clang/lib/AST/Interp/ByteCodeExprGen.h vendor/llvm-project/master/clang/lib/AST/Interp/Context.cpp vendor/llvm-project/master/clang/lib/AST/Interp/Disasm.cpp vendor/llvm-project/master/clang/lib/AST/Interp/Integral.h vendor/llvm-project/master/clang/lib/AST/Interp/Interp.cpp vendor/llvm-project/master/clang/lib/AST/Interp/Interp.h vendor/llvm-project/master/clang/lib/AST/Interp/InterpFrame.h vendor/llvm-project/master/clang/lib/AST/Interp/Pointer.cpp vendor/llvm-project/master/clang/lib/AST/Interp/Pointer.h vendor/llvm-project/master/clang/lib/AST/Interp/Source.h vendor/llvm-project/master/clang/lib/AST/ItaniumMangle.cpp vendor/llvm-project/master/clang/lib/AST/JSONNodeDumper.cpp vendor/llvm-project/master/clang/lib/AST/Linkage.h vendor/llvm-project/master/clang/lib/AST/Mangle.cpp vendor/llvm-project/master/clang/lib/AST/MicrosoftMangle.cpp vendor/llvm-project/master/clang/lib/AST/NSAPI.cpp vendor/llvm-project/master/clang/lib/AST/NestedNameSpecifier.cpp vendor/llvm-project/master/clang/lib/AST/ODRHash.cpp vendor/llvm-project/master/clang/lib/AST/OSLog.cpp vendor/llvm-project/master/clang/lib/AST/OpenMPClause.cpp vendor/llvm-project/master/clang/lib/AST/PrintfFormatString.cpp vendor/llvm-project/master/clang/lib/AST/RawCommentList.cpp vendor/llvm-project/master/clang/lib/AST/RecordLayoutBuilder.cpp vendor/llvm-project/master/clang/lib/AST/Stmt.cpp vendor/llvm-project/master/clang/lib/AST/StmtOpenMP.cpp vendor/llvm-project/master/clang/lib/AST/StmtPrinter.cpp vendor/llvm-project/master/clang/lib/AST/StmtProfile.cpp vendor/llvm-project/master/clang/lib/AST/TemplateBase.cpp vendor/llvm-project/master/clang/lib/AST/TemplateName.cpp vendor/llvm-project/master/clang/lib/AST/TextNodeDumper.cpp vendor/llvm-project/master/clang/lib/AST/Type.cpp vendor/llvm-project/master/clang/lib/AST/TypeLoc.cpp vendor/llvm-project/master/clang/lib/AST/TypePrinter.cpp vendor/llvm-project/master/clang/lib/AST/VTableBuilder.cpp vendor/llvm-project/master/clang/lib/ASTMatchers/ASTMatchFinder.cpp vendor/llvm-project/master/clang/lib/ASTMatchers/ASTMatchersInternal.cpp vendor/llvm-project/master/clang/lib/ASTMatchers/Dynamic/Diagnostics.cpp vendor/llvm-project/master/clang/lib/ASTMatchers/Dynamic/Marshallers.h vendor/llvm-project/master/clang/lib/ASTMatchers/Dynamic/Registry.cpp vendor/llvm-project/master/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp vendor/llvm-project/master/clang/lib/Analysis/AnalysisDeclContext.cpp vendor/llvm-project/master/clang/lib/Analysis/BodyFarm.cpp vendor/llvm-project/master/clang/lib/Analysis/CFG.cpp vendor/llvm-project/master/clang/lib/Analysis/CallGraph.cpp vendor/llvm-project/master/clang/lib/Analysis/CloneDetection.cpp vendor/llvm-project/master/clang/lib/Analysis/ExprMutationAnalyzer.cpp vendor/llvm-project/master/clang/lib/Analysis/LiveVariables.cpp vendor/llvm-project/master/clang/lib/Analysis/PathDiagnostic.cpp vendor/llvm-project/master/clang/lib/Analysis/PostOrderCFGView.cpp vendor/llvm-project/master/clang/lib/Analysis/ProgramPoint.cpp vendor/llvm-project/master/clang/lib/Analysis/ReachableCode.cpp vendor/llvm-project/master/clang/lib/Analysis/RetainSummaryManager.cpp vendor/llvm-project/master/clang/lib/Analysis/ThreadSafety.cpp vendor/llvm-project/master/clang/lib/Analysis/UninitializedValues.cpp vendor/llvm-project/master/clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp vendor/llvm-project/master/clang/lib/Basic/Attributes.cpp vendor/llvm-project/master/clang/lib/Basic/CodeGenOptions.cpp vendor/llvm-project/master/clang/lib/Basic/Cuda.cpp vendor/llvm-project/master/clang/lib/Basic/Diagnostic.cpp vendor/llvm-project/master/clang/lib/Basic/DiagnosticIDs.cpp vendor/llvm-project/master/clang/lib/Basic/FileManager.cpp vendor/llvm-project/master/clang/lib/Basic/FixedPoint.cpp vendor/llvm-project/master/clang/lib/Basic/IdentifierTable.cpp vendor/llvm-project/master/clang/lib/Basic/LangOptions.cpp vendor/llvm-project/master/clang/lib/Basic/Module.cpp vendor/llvm-project/master/clang/lib/Basic/OpenMPKinds.cpp vendor/llvm-project/master/clang/lib/Basic/SanitizerBlacklist.cpp vendor/llvm-project/master/clang/lib/Basic/SourceManager.cpp vendor/llvm-project/master/clang/lib/Basic/TargetInfo.cpp vendor/llvm-project/master/clang/lib/Basic/Targets.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/AArch64.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/AArch64.h vendor/llvm-project/master/clang/lib/Basic/Targets/AMDGPU.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/AMDGPU.h vendor/llvm-project/master/clang/lib/Basic/Targets/ARC.h vendor/llvm-project/master/clang/lib/Basic/Targets/ARM.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/ARM.h vendor/llvm-project/master/clang/lib/Basic/Targets/AVR.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/BPF.h vendor/llvm-project/master/clang/lib/Basic/Targets/Hexagon.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/Hexagon.h vendor/llvm-project/master/clang/lib/Basic/Targets/Lanai.h vendor/llvm-project/master/clang/lib/Basic/Targets/MSP430.h vendor/llvm-project/master/clang/lib/Basic/Targets/Mips.h vendor/llvm-project/master/clang/lib/Basic/Targets/NVPTX.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/NVPTX.h vendor/llvm-project/master/clang/lib/Basic/Targets/OSTargets.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/OSTargets.h vendor/llvm-project/master/clang/lib/Basic/Targets/PNaCl.h vendor/llvm-project/master/clang/lib/Basic/Targets/PPC.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/PPC.h vendor/llvm-project/master/clang/lib/Basic/Targets/RISCV.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/RISCV.h vendor/llvm-project/master/clang/lib/Basic/Targets/SPIR.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/SPIR.h vendor/llvm-project/master/clang/lib/Basic/Targets/Sparc.h vendor/llvm-project/master/clang/lib/Basic/Targets/SystemZ.h vendor/llvm-project/master/clang/lib/Basic/Targets/WebAssembly.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/WebAssembly.h vendor/llvm-project/master/clang/lib/Basic/Targets/X86.cpp vendor/llvm-project/master/clang/lib/Basic/Targets/X86.h vendor/llvm-project/master/clang/lib/Basic/Targets/XCore.h vendor/llvm-project/master/clang/lib/Basic/Version.cpp vendor/llvm-project/master/clang/lib/Basic/Warnings.cpp vendor/llvm-project/master/clang/lib/Basic/XRayInstr.cpp vendor/llvm-project/master/clang/lib/Basic/XRayLists.cpp vendor/llvm-project/master/clang/lib/CodeGen/ABIInfo.h vendor/llvm-project/master/clang/lib/CodeGen/BackendUtil.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGAtomic.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGBlocks.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGBlocks.h vendor/llvm-project/master/clang/lib/CodeGen/CGBuilder.h vendor/llvm-project/master/clang/lib/CodeGen/CGBuiltin.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGCUDANV.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGCUDARuntime.h vendor/llvm-project/master/clang/lib/CodeGen/CGCXX.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGCXXABI.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGCXXABI.h vendor/llvm-project/master/clang/lib/CodeGen/CGCall.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGCall.h vendor/llvm-project/master/clang/lib/CodeGen/CGClass.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGCleanup.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGCleanup.h vendor/llvm-project/master/clang/lib/CodeGen/CGCoroutine.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGDebugInfo.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGDebugInfo.h vendor/llvm-project/master/clang/lib/CodeGen/CGDecl.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGDeclCXX.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGException.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGExpr.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGExprAgg.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGExprCXX.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGExprComplex.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGExprConstant.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGExprScalar.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGGPUBuiltin.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGLoopInfo.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGLoopInfo.h vendor/llvm-project/master/clang/lib/CodeGen/CGNonTrivialStruct.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGObjC.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGObjCGNU.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGObjCMac.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGObjCRuntime.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGObjCRuntime.h vendor/llvm-project/master/clang/lib/CodeGen/CGOpenMPRuntime.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGOpenMPRuntime.h vendor/llvm-project/master/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h vendor/llvm-project/master/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGStmt.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGStmtOpenMP.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGVTables.cpp vendor/llvm-project/master/clang/lib/CodeGen/CGVTables.h vendor/llvm-project/master/clang/lib/CodeGen/CGValue.h vendor/llvm-project/master/clang/lib/CodeGen/CodeGenABITypes.cpp vendor/llvm-project/master/clang/lib/CodeGen/CodeGenAction.cpp vendor/llvm-project/master/clang/lib/CodeGen/CodeGenFunction.cpp vendor/llvm-project/master/clang/lib/CodeGen/CodeGenFunction.h vendor/llvm-project/master/clang/lib/CodeGen/CodeGenModule.cpp vendor/llvm-project/master/clang/lib/CodeGen/CodeGenModule.h vendor/llvm-project/master/clang/lib/CodeGen/CodeGenPGO.cpp vendor/llvm-project/master/clang/lib/CodeGen/CodeGenPGO.h vendor/llvm-project/master/clang/lib/CodeGen/CodeGenTBAA.cpp vendor/llvm-project/master/clang/lib/CodeGen/CodeGenTypeCache.h vendor/llvm-project/master/clang/lib/CodeGen/CodeGenTypes.cpp vendor/llvm-project/master/clang/lib/CodeGen/CodeGenTypes.h vendor/llvm-project/master/clang/lib/CodeGen/ConstantEmitter.h vendor/llvm-project/master/clang/lib/CodeGen/ConstantInitBuilder.cpp vendor/llvm-project/master/clang/lib/CodeGen/CoverageMappingGen.cpp vendor/llvm-project/master/clang/lib/CodeGen/CoverageMappingGen.h vendor/llvm-project/master/clang/lib/CodeGen/EHScopeStack.h vendor/llvm-project/master/clang/lib/CodeGen/ItaniumCXXABI.cpp vendor/llvm-project/master/clang/lib/CodeGen/MicrosoftCXXABI.cpp vendor/llvm-project/master/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp vendor/llvm-project/master/clang/lib/CodeGen/PatternInit.cpp vendor/llvm-project/master/clang/lib/CodeGen/SanitizerMetadata.cpp vendor/llvm-project/master/clang/lib/CodeGen/SanitizerMetadata.h vendor/llvm-project/master/clang/lib/CodeGen/SwiftCallingConv.cpp vendor/llvm-project/master/clang/lib/CodeGen/TargetInfo.cpp vendor/llvm-project/master/clang/lib/CodeGen/TargetInfo.h vendor/llvm-project/master/clang/lib/CrossTU/CrossTranslationUnit.cpp vendor/llvm-project/master/clang/lib/DirectoryWatcher/DirectoryScanner.cpp vendor/llvm-project/master/clang/lib/DirectoryWatcher/DirectoryScanner.h vendor/llvm-project/master/clang/lib/DirectoryWatcher/default/DirectoryWatcher-not-implemented.cpp vendor/llvm-project/master/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp vendor/llvm-project/master/clang/lib/Driver/Action.cpp vendor/llvm-project/master/clang/lib/Driver/Compilation.cpp vendor/llvm-project/master/clang/lib/Driver/Distro.cpp vendor/llvm-project/master/clang/lib/Driver/Driver.cpp vendor/llvm-project/master/clang/lib/Driver/Job.cpp vendor/llvm-project/master/clang/lib/Driver/Multilib.cpp vendor/llvm-project/master/clang/lib/Driver/SanitizerArgs.cpp vendor/llvm-project/master/clang/lib/Driver/Tool.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChain.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/AIX.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/AIX.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/AMDGPU.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/AMDGPU.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/AVR.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/AVR.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Ananas.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Ananas.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/AArch64.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/ARM.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/ARM.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/PPC.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/RISCV.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/SystemZ.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/SystemZ.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Arch/X86.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/BareMetal.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Clang.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Clang.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/CloudABI.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/CloudABI.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/CommonArgs.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/CommonArgs.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/CrossWindows.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/CrossWindows.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Cuda.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Cuda.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Darwin.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Darwin.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/DragonFly.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/DragonFly.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Flang.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/FreeBSD.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/FreeBSD.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Fuchsia.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Fuchsia.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Gnu.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Gnu.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/HIP.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/HIP.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Hexagon.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Hexagon.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Hurd.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Hurd.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/InterfaceStubs.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Linux.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Linux.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/MSP430.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/MSP430.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/MSVC.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/MSVC.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/MinGW.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/MinGW.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Minix.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Minix.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/MipsLinux.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Myriad.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/Myriad.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/NaCl.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/NaCl.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/NetBSD.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/NetBSD.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/OpenBSD.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/OpenBSD.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/PS4CPU.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/PS4CPU.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/RISCVToolchain.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/RISCVToolchain.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/Solaris.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/WebAssembly.cpp vendor/llvm-project/master/clang/lib/Driver/ToolChains/WebAssembly.h vendor/llvm-project/master/clang/lib/Driver/ToolChains/XCore.cpp vendor/llvm-project/master/clang/lib/Driver/Types.cpp vendor/llvm-project/master/clang/lib/Driver/XRayArgs.cpp vendor/llvm-project/master/clang/lib/Format/BreakableToken.cpp vendor/llvm-project/master/clang/lib/Format/ContinuationIndenter.cpp vendor/llvm-project/master/clang/lib/Format/ContinuationIndenter.h vendor/llvm-project/master/clang/lib/Format/Format.cpp vendor/llvm-project/master/clang/lib/Format/FormatToken.cpp vendor/llvm-project/master/clang/lib/Format/FormatToken.h vendor/llvm-project/master/clang/lib/Format/FormatTokenLexer.cpp vendor/llvm-project/master/clang/lib/Format/FormatTokenLexer.h vendor/llvm-project/master/clang/lib/Format/NamespaceEndCommentsFixer.cpp vendor/llvm-project/master/clang/lib/Format/SortJavaScriptImports.cpp vendor/llvm-project/master/clang/lib/Format/TokenAnalyzer.cpp vendor/llvm-project/master/clang/lib/Format/TokenAnnotator.cpp vendor/llvm-project/master/clang/lib/Format/UnwrappedLineFormatter.cpp vendor/llvm-project/master/clang/lib/Format/UnwrappedLineParser.cpp vendor/llvm-project/master/clang/lib/Format/UnwrappedLineParser.h vendor/llvm-project/master/clang/lib/Format/WhitespaceManager.cpp vendor/llvm-project/master/clang/lib/Format/WhitespaceManager.h vendor/llvm-project/master/clang/lib/Frontend/ASTConsumers.cpp vendor/llvm-project/master/clang/lib/Frontend/ASTUnit.cpp vendor/llvm-project/master/clang/lib/Frontend/ChainedIncludesSource.cpp vendor/llvm-project/master/clang/lib/Frontend/CompilerInstance.cpp vendor/llvm-project/master/clang/lib/Frontend/CompilerInvocation.cpp vendor/llvm-project/master/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp vendor/llvm-project/master/clang/lib/Frontend/DependencyFile.cpp vendor/llvm-project/master/clang/lib/Frontend/DependencyGraph.cpp vendor/llvm-project/master/clang/lib/Frontend/FrontendAction.cpp vendor/llvm-project/master/clang/lib/Frontend/FrontendActions.cpp vendor/llvm-project/master/clang/lib/Frontend/FrontendOptions.cpp vendor/llvm-project/master/clang/lib/Frontend/HeaderIncludeGen.cpp vendor/llvm-project/master/clang/lib/Frontend/InitHeaderSearch.cpp vendor/llvm-project/master/clang/lib/Frontend/InitPreprocessor.cpp vendor/llvm-project/master/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp vendor/llvm-project/master/clang/lib/Frontend/LogDiagnosticPrinter.cpp vendor/llvm-project/master/clang/lib/Frontend/ModuleDependencyCollector.cpp vendor/llvm-project/master/clang/lib/Frontend/PrecompiledPreamble.cpp vendor/llvm-project/master/clang/lib/Frontend/Rewrite/FixItRewriter.cpp vendor/llvm-project/master/clang/lib/Frontend/Rewrite/FrontendActions.cpp vendor/llvm-project/master/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp vendor/llvm-project/master/clang/lib/Frontend/Rewrite/RewriteObjC.cpp vendor/llvm-project/master/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp vendor/llvm-project/master/clang/lib/Frontend/TextDiagnosticBuffer.cpp vendor/llvm-project/master/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp vendor/llvm-project/master/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp vendor/llvm-project/master/clang/lib/Headers/__clang_cuda_cmath.h vendor/llvm-project/master/clang/lib/Headers/__clang_cuda_complex_builtins.h vendor/llvm-project/master/clang/lib/Headers/__clang_cuda_device_functions.h vendor/llvm-project/master/clang/lib/Headers/__clang_cuda_intrinsics.h vendor/llvm-project/master/clang/lib/Headers/__clang_cuda_libdevice_declares.h vendor/llvm-project/master/clang/lib/Headers/__clang_cuda_math_forward_declares.h vendor/llvm-project/master/clang/lib/Headers/__clang_cuda_runtime_wrapper.h vendor/llvm-project/master/clang/lib/Headers/altivec.h vendor/llvm-project/master/clang/lib/Headers/arm_acle.h vendor/llvm-project/master/clang/lib/Headers/avx2intrin.h vendor/llvm-project/master/clang/lib/Headers/avx512bwintrin.h vendor/llvm-project/master/clang/lib/Headers/avx512fintrin.h vendor/llvm-project/master/clang/lib/Headers/avx512vlbwintrin.h vendor/llvm-project/master/clang/lib/Headers/avx512vlintrin.h vendor/llvm-project/master/clang/lib/Headers/bmiintrin.h vendor/llvm-project/master/clang/lib/Headers/cldemoteintrin.h vendor/llvm-project/master/clang/lib/Headers/cpuid.h vendor/llvm-project/master/clang/lib/Headers/emmintrin.h vendor/llvm-project/master/clang/lib/Headers/immintrin.h vendor/llvm-project/master/clang/lib/Headers/intrin.h vendor/llvm-project/master/clang/lib/Headers/module.modulemap vendor/llvm-project/master/clang/lib/Headers/msa.h vendor/llvm-project/master/clang/lib/Headers/opencl-c.h vendor/llvm-project/master/clang/lib/Headers/openmp_wrappers/cmath vendor/llvm-project/master/clang/lib/Headers/openmp_wrappers/math.h vendor/llvm-project/master/clang/lib/Headers/ppc_wrappers/emmintrin.h vendor/llvm-project/master/clang/lib/Headers/vecintrin.h vendor/llvm-project/master/clang/lib/Headers/x86intrin.h vendor/llvm-project/master/clang/lib/Headers/xmmintrin.h vendor/llvm-project/master/clang/lib/Index/CommentToXML.cpp vendor/llvm-project/master/clang/lib/Index/FileIndexRecord.cpp vendor/llvm-project/master/clang/lib/Index/IndexBody.cpp vendor/llvm-project/master/clang/lib/Index/IndexDecl.cpp vendor/llvm-project/master/clang/lib/Index/IndexSymbol.cpp vendor/llvm-project/master/clang/lib/Index/IndexTypeSourceInfo.cpp vendor/llvm-project/master/clang/lib/Index/IndexingAction.cpp vendor/llvm-project/master/clang/lib/Index/IndexingContext.cpp vendor/llvm-project/master/clang/lib/Index/USRGeneration.cpp vendor/llvm-project/master/clang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp vendor/llvm-project/master/clang/lib/Lex/HeaderSearch.cpp vendor/llvm-project/master/clang/lib/Lex/Lexer.cpp vendor/llvm-project/master/clang/lib/Lex/LiteralSupport.cpp vendor/llvm-project/master/clang/lib/Lex/ModuleMap.cpp vendor/llvm-project/master/clang/lib/Lex/PPCallbacks.cpp vendor/llvm-project/master/clang/lib/Lex/PPDirectives.cpp vendor/llvm-project/master/clang/lib/Lex/PPExpressions.cpp vendor/llvm-project/master/clang/lib/Lex/PPLexerChange.cpp vendor/llvm-project/master/clang/lib/Lex/PPMacroExpansion.cpp vendor/llvm-project/master/clang/lib/Lex/Pragma.cpp vendor/llvm-project/master/clang/lib/Lex/Preprocessor.cpp vendor/llvm-project/master/clang/lib/Lex/TokenConcatenation.cpp vendor/llvm-project/master/clang/lib/Parse/ParseCXXInlineMethods.cpp vendor/llvm-project/master/clang/lib/Parse/ParseDecl.cpp vendor/llvm-project/master/clang/lib/Parse/ParseDeclCXX.cpp vendor/llvm-project/master/clang/lib/Parse/ParseExpr.cpp vendor/llvm-project/master/clang/lib/Parse/ParseExprCXX.cpp vendor/llvm-project/master/clang/lib/Parse/ParseInit.cpp vendor/llvm-project/master/clang/lib/Parse/ParseObjc.cpp vendor/llvm-project/master/clang/lib/Parse/ParseOpenMP.cpp vendor/llvm-project/master/clang/lib/Parse/ParsePragma.cpp vendor/llvm-project/master/clang/lib/Parse/ParseStmt.cpp vendor/llvm-project/master/clang/lib/Parse/ParseStmtAsm.cpp vendor/llvm-project/master/clang/lib/Parse/ParseTemplate.cpp vendor/llvm-project/master/clang/lib/Parse/ParseTentative.cpp vendor/llvm-project/master/clang/lib/Parse/Parser.cpp vendor/llvm-project/master/clang/lib/Sema/AnalysisBasedWarnings.cpp vendor/llvm-project/master/clang/lib/Sema/CodeCompleteConsumer.cpp vendor/llvm-project/master/clang/lib/Sema/DeclSpec.cpp vendor/llvm-project/master/clang/lib/Sema/JumpDiagnostics.cpp vendor/llvm-project/master/clang/lib/Sema/MultiplexExternalSemaSource.cpp vendor/llvm-project/master/clang/lib/Sema/OpenCLBuiltins.td vendor/llvm-project/master/clang/lib/Sema/ParsedAttr.cpp vendor/llvm-project/master/clang/lib/Sema/Sema.cpp vendor/llvm-project/master/clang/lib/Sema/SemaAttr.cpp vendor/llvm-project/master/clang/lib/Sema/SemaCUDA.cpp vendor/llvm-project/master/clang/lib/Sema/SemaCast.cpp vendor/llvm-project/master/clang/lib/Sema/SemaChecking.cpp vendor/llvm-project/master/clang/lib/Sema/SemaCodeComplete.cpp vendor/llvm-project/master/clang/lib/Sema/SemaConcept.cpp vendor/llvm-project/master/clang/lib/Sema/SemaCoroutine.cpp vendor/llvm-project/master/clang/lib/Sema/SemaDecl.cpp vendor/llvm-project/master/clang/lib/Sema/SemaDeclAttr.cpp vendor/llvm-project/master/clang/lib/Sema/SemaDeclCXX.cpp vendor/llvm-project/master/clang/lib/Sema/SemaDeclObjC.cpp vendor/llvm-project/master/clang/lib/Sema/SemaExceptionSpec.cpp vendor/llvm-project/master/clang/lib/Sema/SemaExpr.cpp vendor/llvm-project/master/clang/lib/Sema/SemaExprCXX.cpp vendor/llvm-project/master/clang/lib/Sema/SemaExprObjC.cpp vendor/llvm-project/master/clang/lib/Sema/SemaInit.cpp vendor/llvm-project/master/clang/lib/Sema/SemaLambda.cpp vendor/llvm-project/master/clang/lib/Sema/SemaLookup.cpp vendor/llvm-project/master/clang/lib/Sema/SemaObjCProperty.cpp vendor/llvm-project/master/clang/lib/Sema/SemaOpenMP.cpp vendor/llvm-project/master/clang/lib/Sema/SemaOverload.cpp vendor/llvm-project/master/clang/lib/Sema/SemaPseudoObject.cpp vendor/llvm-project/master/clang/lib/Sema/SemaStmt.cpp vendor/llvm-project/master/clang/lib/Sema/SemaStmtAsm.cpp vendor/llvm-project/master/clang/lib/Sema/SemaStmtAttr.cpp vendor/llvm-project/master/clang/lib/Sema/SemaTemplate.cpp vendor/llvm-project/master/clang/lib/Sema/SemaTemplateDeduction.cpp vendor/llvm-project/master/clang/lib/Sema/SemaTemplateInstantiate.cpp vendor/llvm-project/master/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp vendor/llvm-project/master/clang/lib/Sema/SemaTemplateVariadic.cpp vendor/llvm-project/master/clang/lib/Sema/SemaType.cpp vendor/llvm-project/master/clang/lib/Sema/TreeTransform.h vendor/llvm-project/master/clang/lib/Serialization/ASTCommon.cpp vendor/llvm-project/master/clang/lib/Serialization/ASTReader.cpp vendor/llvm-project/master/clang/lib/Serialization/ASTReaderDecl.cpp vendor/llvm-project/master/clang/lib/Serialization/ASTReaderStmt.cpp vendor/llvm-project/master/clang/lib/Serialization/ASTWriter.cpp vendor/llvm-project/master/clang/lib/Serialization/ASTWriterDecl.cpp vendor/llvm-project/master/clang/lib/Serialization/ASTWriterStmt.cpp vendor/llvm-project/master/clang/lib/Serialization/GeneratePCH.cpp vendor/llvm-project/master/clang/lib/Serialization/GlobalModuleIndex.cpp vendor/llvm-project/master/clang/lib/Serialization/ModuleManager.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/InterCheckerAPI.h vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/Iterator.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/Iterator.h vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Checkers/Yaml.h vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/BugReporter.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/CallEvent.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/DynamicType.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/Environment.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/LoopWidening.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/MemRegion.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/ProgramState.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/RegionStore.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/SMTConstraintManager.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/Store.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp vendor/llvm-project/master/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp vendor/llvm-project/master/clang/lib/Tooling/ASTDiff/ASTDiff.cpp vendor/llvm-project/master/clang/lib/Tooling/AllTUsExecution.cpp vendor/llvm-project/master/clang/lib/Tooling/ArgumentsAdjusters.cpp vendor/llvm-project/master/clang/lib/Tooling/CompilationDatabase.cpp vendor/llvm-project/master/clang/lib/Tooling/Core/Diagnostic.cpp vendor/llvm-project/master/clang/lib/Tooling/Core/Lookup.cpp vendor/llvm-project/master/clang/lib/Tooling/Core/Replacement.cpp vendor/llvm-project/master/clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp vendor/llvm-project/master/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp vendor/llvm-project/master/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp vendor/llvm-project/master/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp vendor/llvm-project/master/clang/lib/Tooling/Execution.cpp vendor/llvm-project/master/clang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp vendor/llvm-project/master/clang/lib/Tooling/FileMatchTrie.cpp vendor/llvm-project/master/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp vendor/llvm-project/master/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp vendor/llvm-project/master/clang/lib/Tooling/JSONCompilationDatabase.cpp vendor/llvm-project/master/clang/lib/Tooling/Refactoring/ASTSelection.cpp vendor/llvm-project/master/clang/lib/Tooling/Refactoring/AtomicChange.cpp vendor/llvm-project/master/clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp vendor/llvm-project/master/clang/lib/Tooling/Refactoring/Rename/USRFinder.cpp vendor/llvm-project/master/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp vendor/llvm-project/master/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp vendor/llvm-project/master/clang/lib/Tooling/RefactoringCallbacks.cpp vendor/llvm-project/master/clang/lib/Tooling/Syntax/BuildTree.cpp vendor/llvm-project/master/clang/lib/Tooling/Syntax/Mutations.cpp vendor/llvm-project/master/clang/lib/Tooling/Syntax/Nodes.cpp vendor/llvm-project/master/clang/lib/Tooling/Syntax/Tokens.cpp vendor/llvm-project/master/clang/lib/Tooling/Syntax/Tree.cpp vendor/llvm-project/master/clang/lib/Tooling/Tooling.cpp vendor/llvm-project/master/clang/lib/Tooling/Transformer/RangeSelector.cpp vendor/llvm-project/master/clang/lib/Tooling/Transformer/RewriteRule.cpp vendor/llvm-project/master/clang/lib/Tooling/Transformer/SourceCode.cpp vendor/llvm-project/master/clang/lib/Tooling/Transformer/Stencil.cpp vendor/llvm-project/master/clang/lib/Tooling/Transformer/Transformer.cpp vendor/llvm-project/master/clang/tools/driver/cc1_main.cpp vendor/llvm-project/master/clang/tools/driver/cc1as_main.cpp vendor/llvm-project/master/clang/tools/driver/cc1gen_reproducer_main.cpp vendor/llvm-project/master/clang/tools/driver/driver.cpp vendor/llvm-project/master/clang/utils/TableGen/ClangASTNodesEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/ClangAttrEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/ClangOptionDocEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/ClangSACheckersEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/MveEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/NeonEmitter.cpp vendor/llvm-project/master/clang/utils/TableGen/TableGen.cpp vendor/llvm-project/master/clang/utils/TableGen/TableGenBackends.h vendor/llvm-project/master/compiler-rt/include/fuzzer/FuzzedDataProvider.h vendor/llvm-project/master/compiler-rt/include/profile/InstrProfData.inc vendor/llvm-project/master/compiler-rt/include/sanitizer/linux_syscall_hooks.h vendor/llvm-project/master/compiler-rt/include/sanitizer/tsan_interface.h vendor/llvm-project/master/compiler-rt/lib/asan/asan_allocator.cpp vendor/llvm-project/master/compiler-rt/lib/asan/asan_fuchsia.cpp vendor/llvm-project/master/compiler-rt/lib/asan/asan_internal.h vendor/llvm-project/master/compiler-rt/lib/asan/asan_posix.cpp vendor/llvm-project/master/compiler-rt/lib/asan/asan_report.cpp vendor/llvm-project/master/compiler-rt/lib/asan/asan_rtems.cpp vendor/llvm-project/master/compiler-rt/lib/asan/asan_rtl.cpp vendor/llvm-project/master/compiler-rt/lib/asan/asan_thread.cpp vendor/llvm-project/master/compiler-rt/lib/asan/asan_win.cpp vendor/llvm-project/master/compiler-rt/lib/builtins/README.txt vendor/llvm-project/master/compiler-rt/lib/builtins/absvsi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/ashldi3.c vendor/llvm-project/master/compiler-rt/lib/builtins/ashrdi3.c vendor/llvm-project/master/compiler-rt/lib/builtins/atomic.c vendor/llvm-project/master/compiler-rt/lib/builtins/clear_cache.c vendor/llvm-project/master/compiler-rt/lib/builtins/clzdi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/clzsi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/clzti2.c vendor/llvm-project/master/compiler-rt/lib/builtins/cpu_model.c vendor/llvm-project/master/compiler-rt/lib/builtins/ctzdi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/ctzsi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/ctzti2.c vendor/llvm-project/master/compiler-rt/lib/builtins/ffsdi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/ffssi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/ffsti2.c vendor/llvm-project/master/compiler-rt/lib/builtins/floatdidf.c vendor/llvm-project/master/compiler-rt/lib/builtins/floatdisf.c vendor/llvm-project/master/compiler-rt/lib/builtins/floatsidf.c vendor/llvm-project/master/compiler-rt/lib/builtins/floatundidf.c vendor/llvm-project/master/compiler-rt/lib/builtins/floatundisf.c vendor/llvm-project/master/compiler-rt/lib/builtins/floatunsidf.c vendor/llvm-project/master/compiler-rt/lib/builtins/fp_extend.h vendor/llvm-project/master/compiler-rt/lib/builtins/fp_lib.h vendor/llvm-project/master/compiler-rt/lib/builtins/fp_mode.h vendor/llvm-project/master/compiler-rt/lib/builtins/hexagon/dffma.S vendor/llvm-project/master/compiler-rt/lib/builtins/i386/floatdidf.S vendor/llvm-project/master/compiler-rt/lib/builtins/i386/floatdixf.S vendor/llvm-project/master/compiler-rt/lib/builtins/int_lib.h vendor/llvm-project/master/compiler-rt/lib/builtins/int_types.h vendor/llvm-project/master/compiler-rt/lib/builtins/lshrdi3.c vendor/llvm-project/master/compiler-rt/lib/builtins/paritydi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/paritysi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/parityti2.c vendor/llvm-project/master/compiler-rt/lib/builtins/popcountdi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/popcountsi2.c vendor/llvm-project/master/compiler-rt/lib/builtins/popcountti2.c vendor/llvm-project/master/compiler-rt/lib/builtins/powidf2.c vendor/llvm-project/master/compiler-rt/lib/builtins/powisf2.c vendor/llvm-project/master/compiler-rt/lib/builtins/powitf2.c vendor/llvm-project/master/compiler-rt/lib/builtins/powixf2.c vendor/llvm-project/master/compiler-rt/lib/builtins/riscv/mulsi3.S vendor/llvm-project/master/compiler-rt/lib/builtins/udivdi3.c vendor/llvm-project/master/compiler-rt/lib/builtins/udivmoddi4.c vendor/llvm-project/master/compiler-rt/lib/builtins/udivmodti4.c vendor/llvm-project/master/compiler-rt/lib/builtins/udivsi3.c vendor/llvm-project/master/compiler-rt/lib/builtins/umoddi3.c vendor/llvm-project/master/compiler-rt/lib/builtins/umodsi3.c vendor/llvm-project/master/compiler-rt/lib/dfsan/dfsan_custom.cpp vendor/llvm-project/master/compiler-rt/lib/dfsan/done_abilist.txt vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerBuiltins.h vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerBuiltinsMsvc.h vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerCorpus.h vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerDataFlowTrace.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerDefs.h vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerDriver.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerExtFunctionsDlsym.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWindows.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerExtraCounters.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerFlags.def vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerFork.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerIO.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerIO.h vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerIOPosix.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerIOWindows.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerLoop.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerMain.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerMerge.h vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerOptions.h vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerSHA1.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerUtil.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerUtil.h vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp vendor/llvm-project/master/compiler-rt/lib/fuzzer/FuzzerValueBitMap.h vendor/llvm-project/master/compiler-rt/lib/gwp_asan/definitions.h vendor/llvm-project/master/compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp vendor/llvm-project/master/compiler-rt/lib/gwp_asan/guarded_pool_allocator.h vendor/llvm-project/master/compiler-rt/lib/gwp_asan/optional/backtrace.h vendor/llvm-project/master/compiler-rt/lib/gwp_asan/optional/backtrace_linux_libc.cpp vendor/llvm-project/master/compiler-rt/lib/gwp_asan/optional/backtrace_sanitizer_common.cpp vendor/llvm-project/master/compiler-rt/lib/gwp_asan/optional/options_parser.cpp vendor/llvm-project/master/compiler-rt/lib/gwp_asan/options.h vendor/llvm-project/master/compiler-rt/lib/gwp_asan/options.inc vendor/llvm-project/master/compiler-rt/lib/gwp_asan/platform_specific/guarded_pool_allocator_posix.cpp vendor/llvm-project/master/compiler-rt/lib/gwp_asan/random.cpp vendor/llvm-project/master/compiler-rt/lib/gwp_asan/random.h vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan.cpp vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan.h vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan_allocator.cpp vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan_flags.inc vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan_linux.cpp vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan_report.cpp vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan_thread.cpp vendor/llvm-project/master/compiler-rt/lib/hwasan/hwasan_thread.h vendor/llvm-project/master/compiler-rt/lib/lsan/lsan.cpp vendor/llvm-project/master/compiler-rt/lib/lsan/lsan.h vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_allocator.h vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_common.cpp vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_common.h vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_common_linux.cpp vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_common_mac.cpp vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_interceptors.cpp vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_linux.cpp vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_thread.cpp vendor/llvm-project/master/compiler-rt/lib/lsan/lsan_thread.h vendor/llvm-project/master/compiler-rt/lib/msan/msan.cpp vendor/llvm-project/master/compiler-rt/lib/msan/msan.h vendor/llvm-project/master/compiler-rt/lib/msan/msan_allocator.cpp vendor/llvm-project/master/compiler-rt/lib/msan/msan_interceptors.cpp vendor/llvm-project/master/compiler-rt/lib/msan/msan_interface_internal.h vendor/llvm-project/master/compiler-rt/lib/msan/msan_origin.h vendor/llvm-project/master/compiler-rt/lib/profile/GCDAProfiling.c vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfiling.c vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfiling.h vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfilingBuffer.c vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfilingFile.c vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfilingInternal.h vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfilingPlatformFuchsia.c vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfilingRuntime.cpp vendor/llvm-project/master/compiler-rt/lib/profile/InstrProfilingUtil.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_common.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_common.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_file.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_freebsd.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_libc.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_linux.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_mac.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_openbsd.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_posix.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_rtems.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.h vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/sanitizer_win.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cpp vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh vendor/llvm-project/master/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt vendor/llvm-project/master/compiler-rt/lib/scudo/scudo_allocator.cpp vendor/llvm-project/master/compiler-rt/lib/scudo/scudo_utils.cpp vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/allocator_config.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/atomic_helpers.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/bytemap.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/checksum.cpp vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/combined.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/common.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/flags.cpp vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/flags.inc vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/fuchsia.cpp vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/internal_defs.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/linux.cpp vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/local_cache.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/mutex.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/primary32.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/primary64.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/quarantine.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/release.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/secondary.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/size_class_map.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/stats.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/tsd.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/tsd_exclusive.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/tsd_shared.h vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/wrappers_c.cpp vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/wrappers_c.inc vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp vendor/llvm-project/master/compiler-rt/lib/scudo/standalone/wrappers_cpp.cpp vendor/llvm-project/master/compiler-rt/lib/tsan/go/test.c vendor/llvm-project/master/compiler-rt/lib/tsan/go/tsan_go.cpp vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan.syms.extra vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_clock.cpp vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_clock.h vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_flags.inc vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_platform.h vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_rtl.h vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp vendor/llvm-project/master/compiler-rt/lib/tsan/rtl/tsan_stat.h vendor/llvm-project/master/compiler-rt/lib/ubsan/ubsan_checks.inc vendor/llvm-project/master/compiler-rt/lib/ubsan/ubsan_handlers.cpp vendor/llvm-project/master/compiler-rt/lib/ubsan/ubsan_handlers.h vendor/llvm-project/master/compiler-rt/lib/ubsan/ubsan_init.cpp vendor/llvm-project/master/compiler-rt/lib/ubsan/ubsan_interface.inc vendor/llvm-project/master/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp vendor/llvm-project/master/compiler-rt/lib/ubsan/ubsan_value.cpp vendor/llvm-project/master/compiler-rt/lib/ubsan/ubsan_value.h vendor/llvm-project/master/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp vendor/llvm-project/master/compiler-rt/lib/xray/xray_AArch64.cpp vendor/llvm-project/master/compiler-rt/lib/xray/xray_arm.cpp vendor/llvm-project/master/compiler-rt/lib/xray/xray_init.cpp vendor/llvm-project/master/compiler-rt/lib/xray/xray_interface.cpp vendor/llvm-project/master/compiler-rt/lib/xray/xray_interface_internal.h vendor/llvm-project/master/compiler-rt/lib/xray/xray_powerpc64.cpp vendor/llvm-project/master/compiler-rt/lib/xray/xray_trampoline_AArch64.S vendor/llvm-project/master/compiler-rt/lib/xray/xray_trampoline_arm.S vendor/llvm-project/master/compiler-rt/lib/xray/xray_trampoline_x86_64.S vendor/llvm-project/master/compiler-rt/lib/xray/xray_utils.cpp vendor/llvm-project/master/compiler-rt/lib/xray/xray_x86_64.cpp vendor/llvm-project/master/libcxx/CREDITS.TXT vendor/llvm-project/master/libcxx/include/__bit_reference vendor/llvm-project/master/libcxx/include/__config vendor/llvm-project/master/libcxx/include/__functional_base vendor/llvm-project/master/libcxx/include/__libcpp_version vendor/llvm-project/master/libcxx/include/__locale vendor/llvm-project/master/libcxx/include/__string vendor/llvm-project/master/libcxx/include/__threading_support vendor/llvm-project/master/libcxx/include/array vendor/llvm-project/master/libcxx/include/atomic vendor/llvm-project/master/libcxx/include/bit vendor/llvm-project/master/libcxx/include/charconv vendor/llvm-project/master/libcxx/include/chrono vendor/llvm-project/master/libcxx/include/cmath vendor/llvm-project/master/libcxx/include/codecvt vendor/llvm-project/master/libcxx/include/compare vendor/llvm-project/master/libcxx/include/complex vendor/llvm-project/master/libcxx/include/cstddef vendor/llvm-project/master/libcxx/include/cstdio vendor/llvm-project/master/libcxx/include/deque vendor/llvm-project/master/libcxx/include/exception vendor/llvm-project/master/libcxx/include/filesystem vendor/llvm-project/master/libcxx/include/forward_list vendor/llvm-project/master/libcxx/include/functional vendor/llvm-project/master/libcxx/include/future vendor/llvm-project/master/libcxx/include/ios vendor/llvm-project/master/libcxx/include/iterator vendor/llvm-project/master/libcxx/include/list vendor/llvm-project/master/libcxx/include/map vendor/llvm-project/master/libcxx/include/math.h vendor/llvm-project/master/libcxx/include/memory vendor/llvm-project/master/libcxx/include/module.modulemap vendor/llvm-project/master/libcxx/include/ostream vendor/llvm-project/master/libcxx/include/random vendor/llvm-project/master/libcxx/include/regex vendor/llvm-project/master/libcxx/include/set vendor/llvm-project/master/libcxx/include/span vendor/llvm-project/master/libcxx/include/stddef.h vendor/llvm-project/master/libcxx/include/stdexcept vendor/llvm-project/master/libcxx/include/stdlib.h vendor/llvm-project/master/libcxx/include/string vendor/llvm-project/master/libcxx/include/system_error vendor/llvm-project/master/libcxx/include/thread vendor/llvm-project/master/libcxx/include/type_traits vendor/llvm-project/master/libcxx/include/typeinfo vendor/llvm-project/master/libcxx/include/unordered_map vendor/llvm-project/master/libcxx/include/unordered_set vendor/llvm-project/master/libcxx/include/variant vendor/llvm-project/master/libcxx/include/vector vendor/llvm-project/master/libcxx/include/version vendor/llvm-project/master/libcxx/include/wchar.h vendor/llvm-project/master/libcxx/src/algorithm.cpp vendor/llvm-project/master/libcxx/src/charconv.cpp vendor/llvm-project/master/libcxx/src/chrono.cpp vendor/llvm-project/master/libcxx/src/filesystem/operations.cpp vendor/llvm-project/master/libcxx/src/include/apple_availability.h vendor/llvm-project/master/libcxx/src/locale.cpp vendor/llvm-project/master/libcxx/src/string.cpp vendor/llvm-project/master/libcxx/src/thread.cpp vendor/llvm-project/master/libunwind/include/__libunwind_config.h vendor/llvm-project/master/libunwind/include/libunwind.h vendor/llvm-project/master/libunwind/include/unwind.h vendor/llvm-project/master/libunwind/src/AddressSpace.hpp vendor/llvm-project/master/libunwind/src/DwarfParser.hpp vendor/llvm-project/master/libunwind/src/EHHeaderParser.hpp vendor/llvm-project/master/libunwind/src/Registers.hpp vendor/llvm-project/master/libunwind/src/Unwind-EHABI.cpp vendor/llvm-project/master/libunwind/src/Unwind-seh.cpp vendor/llvm-project/master/libunwind/src/Unwind-sjlj.c vendor/llvm-project/master/libunwind/src/UnwindCursor.hpp vendor/llvm-project/master/libunwind/src/UnwindLevel1-gcc-ext.c vendor/llvm-project/master/libunwind/src/UnwindLevel1.c vendor/llvm-project/master/libunwind/src/UnwindRegistersRestore.S vendor/llvm-project/master/libunwind/src/UnwindRegistersSave.S vendor/llvm-project/master/libunwind/src/Unwind_AppleExtras.cpp vendor/llvm-project/master/libunwind/src/assembly.h vendor/llvm-project/master/libunwind/src/config.h vendor/llvm-project/master/libunwind/src/libunwind.cpp vendor/llvm-project/master/lld/COFF/Chunks.cpp vendor/llvm-project/master/lld/COFF/Chunks.h vendor/llvm-project/master/lld/COFF/Config.h vendor/llvm-project/master/lld/COFF/DLL.cpp vendor/llvm-project/master/lld/COFF/DebugTypes.cpp vendor/llvm-project/master/lld/COFF/DebugTypes.h vendor/llvm-project/master/lld/COFF/Driver.cpp vendor/llvm-project/master/lld/COFF/Driver.h vendor/llvm-project/master/lld/COFF/DriverUtils.cpp vendor/llvm-project/master/lld/COFF/ICF.cpp vendor/llvm-project/master/lld/COFF/InputFiles.cpp vendor/llvm-project/master/lld/COFF/InputFiles.h vendor/llvm-project/master/lld/COFF/LTO.cpp vendor/llvm-project/master/lld/COFF/LTO.h vendor/llvm-project/master/lld/COFF/MapFile.cpp vendor/llvm-project/master/lld/COFF/MarkLive.cpp vendor/llvm-project/master/lld/COFF/MinGW.cpp vendor/llvm-project/master/lld/COFF/Options.td vendor/llvm-project/master/lld/COFF/PDB.cpp vendor/llvm-project/master/lld/COFF/SymbolTable.cpp vendor/llvm-project/master/lld/COFF/SymbolTable.h vendor/llvm-project/master/lld/COFF/Symbols.cpp vendor/llvm-project/master/lld/COFF/Symbols.h vendor/llvm-project/master/lld/COFF/TypeMerger.h vendor/llvm-project/master/lld/COFF/Writer.cpp vendor/llvm-project/master/lld/Common/ErrorHandler.cpp vendor/llvm-project/master/lld/Common/Filesystem.cpp vendor/llvm-project/master/lld/Common/Reproduce.cpp vendor/llvm-project/master/lld/Common/Strings.cpp vendor/llvm-project/master/lld/Common/TargetOptionsCommandFlags.cpp vendor/llvm-project/master/lld/Common/Timer.cpp vendor/llvm-project/master/lld/Common/Version.cpp vendor/llvm-project/master/lld/ELF/AArch64ErrataFix.cpp vendor/llvm-project/master/lld/ELF/ARMErrataFix.cpp vendor/llvm-project/master/lld/ELF/Arch/AArch64.cpp vendor/llvm-project/master/lld/ELF/Arch/AMDGPU.cpp vendor/llvm-project/master/lld/ELF/Arch/ARM.cpp vendor/llvm-project/master/lld/ELF/Arch/AVR.cpp vendor/llvm-project/master/lld/ELF/Arch/Hexagon.cpp vendor/llvm-project/master/lld/ELF/Arch/MSP430.cpp vendor/llvm-project/master/lld/ELF/Arch/Mips.cpp vendor/llvm-project/master/lld/ELF/Arch/MipsArchTree.cpp vendor/llvm-project/master/lld/ELF/Arch/PPC.cpp vendor/llvm-project/master/lld/ELF/Arch/PPC64.cpp vendor/llvm-project/master/lld/ELF/Arch/RISCV.cpp vendor/llvm-project/master/lld/ELF/Arch/SPARCV9.cpp vendor/llvm-project/master/lld/ELF/Arch/X86.cpp vendor/llvm-project/master/lld/ELF/Arch/X86_64.cpp vendor/llvm-project/master/lld/ELF/CallGraphSort.cpp vendor/llvm-project/master/lld/ELF/Config.h vendor/llvm-project/master/lld/ELF/DWARF.cpp vendor/llvm-project/master/lld/ELF/DWARF.h vendor/llvm-project/master/lld/ELF/Driver.cpp vendor/llvm-project/master/lld/ELF/DriverUtils.cpp vendor/llvm-project/master/lld/ELF/EhFrame.cpp vendor/llvm-project/master/lld/ELF/ICF.cpp vendor/llvm-project/master/lld/ELF/InputFiles.cpp vendor/llvm-project/master/lld/ELF/InputFiles.h vendor/llvm-project/master/lld/ELF/InputSection.cpp vendor/llvm-project/master/lld/ELF/InputSection.h vendor/llvm-project/master/lld/ELF/LTO.cpp vendor/llvm-project/master/lld/ELF/LinkerScript.cpp vendor/llvm-project/master/lld/ELF/LinkerScript.h vendor/llvm-project/master/lld/ELF/MapFile.cpp vendor/llvm-project/master/lld/ELF/MapFile.h vendor/llvm-project/master/lld/ELF/MarkLive.cpp vendor/llvm-project/master/lld/ELF/Options.td vendor/llvm-project/master/lld/ELF/OutputSections.cpp vendor/llvm-project/master/lld/ELF/OutputSections.h vendor/llvm-project/master/lld/ELF/Relocations.cpp vendor/llvm-project/master/lld/ELF/Relocations.h vendor/llvm-project/master/lld/ELF/ScriptLexer.cpp vendor/llvm-project/master/lld/ELF/ScriptLexer.h vendor/llvm-project/master/lld/ELF/ScriptParser.cpp vendor/llvm-project/master/lld/ELF/ScriptParser.h vendor/llvm-project/master/lld/ELF/SymbolTable.cpp vendor/llvm-project/master/lld/ELF/Symbols.cpp vendor/llvm-project/master/lld/ELF/Symbols.h vendor/llvm-project/master/lld/ELF/SyntheticSections.cpp vendor/llvm-project/master/lld/ELF/SyntheticSections.h vendor/llvm-project/master/lld/ELF/Target.cpp vendor/llvm-project/master/lld/ELF/Target.h vendor/llvm-project/master/lld/ELF/Thunks.cpp vendor/llvm-project/master/lld/ELF/Writer.cpp vendor/llvm-project/master/lld/docs/AtomLLD.rst vendor/llvm-project/master/lld/docs/NewLLD.rst vendor/llvm-project/master/lld/docs/ReleaseNotes.rst vendor/llvm-project/master/lld/docs/WebAssembly.rst vendor/llvm-project/master/lld/docs/conf.py vendor/llvm-project/master/lld/docs/design.rst vendor/llvm-project/master/lld/docs/development.rst vendor/llvm-project/master/lld/docs/getting_started.rst vendor/llvm-project/master/lld/docs/index.rst vendor/llvm-project/master/lld/docs/ld.lld.1 vendor/llvm-project/master/lld/include/lld/Common/DWARF.h vendor/llvm-project/master/lld/include/lld/Common/Driver.h vendor/llvm-project/master/lld/include/lld/Common/Memory.h vendor/llvm-project/master/lld/include/lld/Common/Strings.h vendor/llvm-project/master/lld/include/lld/Common/Timer.h vendor/llvm-project/master/lld/include/lld/Common/Version.inc.in vendor/llvm-project/master/lld/include/lld/Core/File.h vendor/llvm-project/master/lld/include/lld/Core/Reference.h vendor/llvm-project/master/lld/include/lld/ReaderWriter/MachOLinkingContext.h vendor/llvm-project/master/lld/lib/Core/Error.cpp vendor/llvm-project/master/lld/lib/Core/Resolver.cpp vendor/llvm-project/master/lld/lib/Driver/DarwinLdDriver.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/Atoms.h vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/File.h vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/GOTPass.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/LayoutPass.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/MachO/TLVPass.cpp vendor/llvm-project/master/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp vendor/llvm-project/master/lld/tools/lld/lld.cpp vendor/llvm-project/master/lldb/docs/man/lldb.rst vendor/llvm-project/master/lldb/include/lldb/API/LLDB.h vendor/llvm-project/master/lldb/include/lldb/API/SBAddress.h vendor/llvm-project/master/lldb/include/lldb/API/SBAttachInfo.h vendor/llvm-project/master/lldb/include/lldb/API/SBBlock.h vendor/llvm-project/master/lldb/include/lldb/API/SBBreakpoint.h vendor/llvm-project/master/lldb/include/lldb/API/SBBreakpointLocation.h vendor/llvm-project/master/lldb/include/lldb/API/SBBreakpointName.h vendor/llvm-project/master/lldb/include/lldb/API/SBBroadcaster.h vendor/llvm-project/master/lldb/include/lldb/API/SBCommandInterpreter.h vendor/llvm-project/master/lldb/include/lldb/API/SBCommandReturnObject.h vendor/llvm-project/master/lldb/include/lldb/API/SBCommunication.h vendor/llvm-project/master/lldb/include/lldb/API/SBCompileUnit.h vendor/llvm-project/master/lldb/include/lldb/API/SBData.h vendor/llvm-project/master/lldb/include/lldb/API/SBDebugger.h vendor/llvm-project/master/lldb/include/lldb/API/SBDeclaration.h vendor/llvm-project/master/lldb/include/lldb/API/SBDefines.h vendor/llvm-project/master/lldb/include/lldb/API/SBError.h vendor/llvm-project/master/lldb/include/lldb/API/SBEvent.h vendor/llvm-project/master/lldb/include/lldb/API/SBExecutionContext.h vendor/llvm-project/master/lldb/include/lldb/API/SBExpressionOptions.h vendor/llvm-project/master/lldb/include/lldb/API/SBFile.h vendor/llvm-project/master/lldb/include/lldb/API/SBFileSpec.h vendor/llvm-project/master/lldb/include/lldb/API/SBFileSpecList.h vendor/llvm-project/master/lldb/include/lldb/API/SBFrame.h vendor/llvm-project/master/lldb/include/lldb/API/SBFunction.h vendor/llvm-project/master/lldb/include/lldb/API/SBHostOS.h vendor/llvm-project/master/lldb/include/lldb/API/SBInstruction.h vendor/llvm-project/master/lldb/include/lldb/API/SBInstructionList.h vendor/llvm-project/master/lldb/include/lldb/API/SBLanguageRuntime.h vendor/llvm-project/master/lldb/include/lldb/API/SBLaunchInfo.h vendor/llvm-project/master/lldb/include/lldb/API/SBLineEntry.h vendor/llvm-project/master/lldb/include/lldb/API/SBListener.h vendor/llvm-project/master/lldb/include/lldb/API/SBMemoryRegionInfo.h vendor/llvm-project/master/lldb/include/lldb/API/SBMemoryRegionInfoList.h vendor/llvm-project/master/lldb/include/lldb/API/SBModule.h vendor/llvm-project/master/lldb/include/lldb/API/SBModuleSpec.h vendor/llvm-project/master/lldb/include/lldb/API/SBPlatform.h vendor/llvm-project/master/lldb/include/lldb/API/SBProcess.h vendor/llvm-project/master/lldb/include/lldb/API/SBProcessInfo.h vendor/llvm-project/master/lldb/include/lldb/API/SBQueue.h vendor/llvm-project/master/lldb/include/lldb/API/SBQueueItem.h vendor/llvm-project/master/lldb/include/lldb/API/SBReproducer.h vendor/llvm-project/master/lldb/include/lldb/API/SBSection.h vendor/llvm-project/master/lldb/include/lldb/API/SBSourceManager.h vendor/llvm-project/master/lldb/include/lldb/API/SBStream.h vendor/llvm-project/master/lldb/include/lldb/API/SBStringList.h vendor/llvm-project/master/lldb/include/lldb/API/SBStructuredData.h vendor/llvm-project/master/lldb/include/lldb/API/SBSymbol.h vendor/llvm-project/master/lldb/include/lldb/API/SBSymbolContext.h vendor/llvm-project/master/lldb/include/lldb/API/SBSymbolContextList.h vendor/llvm-project/master/lldb/include/lldb/API/SBTarget.h vendor/llvm-project/master/lldb/include/lldb/API/SBThread.h vendor/llvm-project/master/lldb/include/lldb/API/SBThreadCollection.h vendor/llvm-project/master/lldb/include/lldb/API/SBThreadPlan.h vendor/llvm-project/master/lldb/include/lldb/API/SBTrace.h vendor/llvm-project/master/lldb/include/lldb/API/SBTraceOptions.h vendor/llvm-project/master/lldb/include/lldb/API/SBType.h vendor/llvm-project/master/lldb/include/lldb/API/SBTypeCategory.h vendor/llvm-project/master/lldb/include/lldb/API/SBTypeEnumMember.h vendor/llvm-project/master/lldb/include/lldb/API/SBTypeFilter.h vendor/llvm-project/master/lldb/include/lldb/API/SBTypeFormat.h vendor/llvm-project/master/lldb/include/lldb/API/SBTypeNameSpecifier.h vendor/llvm-project/master/lldb/include/lldb/API/SBTypeSummary.h vendor/llvm-project/master/lldb/include/lldb/API/SBTypeSynthetic.h vendor/llvm-project/master/lldb/include/lldb/API/SBUnixSignals.h vendor/llvm-project/master/lldb/include/lldb/API/SBValue.h vendor/llvm-project/master/lldb/include/lldb/API/SBValueList.h vendor/llvm-project/master/lldb/include/lldb/API/SBVariablesOptions.h vendor/llvm-project/master/lldb/include/lldb/API/SBWatchpoint.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/Breakpoint.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointID.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointIDList.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointList.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointLocation.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointLocationList.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointName.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointOptions.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointPrecondition.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointResolver.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointResolverAddress.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointResolverFileRegex.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointResolverName.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointSite.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/BreakpointSiteList.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/Stoppoint.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/StoppointCallbackContext.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/StoppointLocation.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/Watchpoint.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/WatchpointList.h vendor/llvm-project/master/lldb/include/lldb/Breakpoint/WatchpointOptions.h vendor/llvm-project/master/lldb/include/lldb/Core/Address.h vendor/llvm-project/master/lldb/include/lldb/Core/AddressRange.h vendor/llvm-project/master/lldb/include/lldb/Core/AddressResolver.h vendor/llvm-project/master/lldb/include/lldb/Core/AddressResolverFileLine.h vendor/llvm-project/master/lldb/include/lldb/Core/AddressResolverName.h vendor/llvm-project/master/lldb/include/lldb/Core/Communication.h vendor/llvm-project/master/lldb/include/lldb/Core/Debugger.h vendor/llvm-project/master/lldb/include/lldb/Core/Disassembler.h vendor/llvm-project/master/lldb/include/lldb/Core/EmulateInstruction.h vendor/llvm-project/master/lldb/include/lldb/Core/FileLineResolver.h vendor/llvm-project/master/lldb/include/lldb/Core/FileSpecList.h vendor/llvm-project/master/lldb/include/lldb/Core/FormatEntity.h vendor/llvm-project/master/lldb/include/lldb/Core/Highlighter.h vendor/llvm-project/master/lldb/include/lldb/Core/IOHandler.h vendor/llvm-project/master/lldb/include/lldb/Core/IOHandlerCursesGUI.h vendor/llvm-project/master/lldb/include/lldb/Core/LoadedModuleInfoList.h vendor/llvm-project/master/lldb/include/lldb/Core/Mangled.h vendor/llvm-project/master/lldb/include/lldb/Core/MappedHash.h vendor/llvm-project/master/lldb/include/lldb/Core/Module.h vendor/llvm-project/master/lldb/include/lldb/Core/ModuleChild.h vendor/llvm-project/master/lldb/include/lldb/Core/ModuleList.h vendor/llvm-project/master/lldb/include/lldb/Core/ModuleSpec.h vendor/llvm-project/master/lldb/include/lldb/Core/Opcode.h vendor/llvm-project/master/lldb/include/lldb/Core/PluginInterface.h vendor/llvm-project/master/lldb/include/lldb/Core/PluginManager.h vendor/llvm-project/master/lldb/include/lldb/Core/PropertiesBase.td vendor/llvm-project/master/lldb/include/lldb/Core/RichManglingContext.h vendor/llvm-project/master/lldb/include/lldb/Core/SearchFilter.h vendor/llvm-project/master/lldb/include/lldb/Core/Section.h vendor/llvm-project/master/lldb/include/lldb/Core/SourceManager.h vendor/llvm-project/master/lldb/include/lldb/Core/StreamAsynchronousIO.h vendor/llvm-project/master/lldb/include/lldb/Core/StreamBuffer.h vendor/llvm-project/master/lldb/include/lldb/Core/StreamFile.h vendor/llvm-project/master/lldb/include/lldb/Core/StructuredDataImpl.h vendor/llvm-project/master/lldb/include/lldb/Core/ThreadSafeDenseMap.h vendor/llvm-project/master/lldb/include/lldb/Core/ThreadSafeValue.h vendor/llvm-project/master/lldb/include/lldb/Core/UniqueCStringMap.h vendor/llvm-project/master/lldb/include/lldb/Core/UserSettingsController.h vendor/llvm-project/master/lldb/include/lldb/Core/Value.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObject.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectCast.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectChild.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectConstResult.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectConstResultCast.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectConstResultChild.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectConstResultImpl.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectDynamicValue.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectList.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectMemory.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectRegister.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h vendor/llvm-project/master/lldb/include/lldb/Core/ValueObjectVariable.h vendor/llvm-project/master/lldb/include/lldb/Core/dwarf.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/CXXFunctionPointer.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/DataVisualization.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/FormatCache.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/FormatClasses.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/FormatManager.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/FormattersContainer.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/FormattersHelpers.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/LanguageCategory.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/StringPrinter.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/TypeCategory.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/TypeCategoryMap.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/TypeFormat.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/TypeSummary.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/TypeSynthetic.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/VectorIterator.h vendor/llvm-project/master/lldb/include/lldb/DataFormatters/VectorType.h vendor/llvm-project/master/lldb/include/lldb/Expression/DWARFExpression.h vendor/llvm-project/master/lldb/include/lldb/Expression/DiagnosticManager.h vendor/llvm-project/master/lldb/include/lldb/Expression/DynamicCheckerFunctions.h vendor/llvm-project/master/lldb/include/lldb/Expression/Expression.h vendor/llvm-project/master/lldb/include/lldb/Expression/ExpressionParser.h vendor/llvm-project/master/lldb/include/lldb/Expression/ExpressionSourceCode.h vendor/llvm-project/master/lldb/include/lldb/Expression/ExpressionTypeSystemHelper.h vendor/llvm-project/master/lldb/include/lldb/Expression/ExpressionVariable.h vendor/llvm-project/master/lldb/include/lldb/Expression/FunctionCaller.h vendor/llvm-project/master/lldb/include/lldb/Expression/IRExecutionUnit.h vendor/llvm-project/master/lldb/include/lldb/Expression/IRInterpreter.h vendor/llvm-project/master/lldb/include/lldb/Expression/IRMemoryMap.h vendor/llvm-project/master/lldb/include/lldb/Expression/LLVMUserExpression.h vendor/llvm-project/master/lldb/include/lldb/Expression/Materializer.h vendor/llvm-project/master/lldb/include/lldb/Expression/REPL.h vendor/llvm-project/master/lldb/include/lldb/Expression/UserExpression.h vendor/llvm-project/master/lldb/include/lldb/Expression/UtilityFunction.h vendor/llvm-project/master/lldb/include/lldb/Host/Config.h.cmake vendor/llvm-project/master/lldb/include/lldb/Host/ConnectionFileDescriptor.h vendor/llvm-project/master/lldb/include/lldb/Host/Debug.h vendor/llvm-project/master/lldb/include/lldb/Host/Editline.h vendor/llvm-project/master/lldb/include/lldb/Host/File.h vendor/llvm-project/master/lldb/include/lldb/Host/FileCache.h vendor/llvm-project/master/lldb/include/lldb/Host/FileSystem.h vendor/llvm-project/master/lldb/include/lldb/Host/Host.h vendor/llvm-project/master/lldb/include/lldb/Host/HostGetOpt.h vendor/llvm-project/master/lldb/include/lldb/Host/HostInfo.h vendor/llvm-project/master/lldb/include/lldb/Host/HostInfoBase.h vendor/llvm-project/master/lldb/include/lldb/Host/HostNativeProcess.h vendor/llvm-project/master/lldb/include/lldb/Host/HostNativeProcessBase.h vendor/llvm-project/master/lldb/include/lldb/Host/HostNativeThread.h vendor/llvm-project/master/lldb/include/lldb/Host/HostNativeThreadBase.h vendor/llvm-project/master/lldb/include/lldb/Host/HostNativeThreadForward.h vendor/llvm-project/master/lldb/include/lldb/Host/HostProcess.h vendor/llvm-project/master/lldb/include/lldb/Host/HostThread.h vendor/llvm-project/master/lldb/include/lldb/Host/LZMA.h vendor/llvm-project/master/lldb/include/lldb/Host/LockFile.h vendor/llvm-project/master/lldb/include/lldb/Host/LockFileBase.h vendor/llvm-project/master/lldb/include/lldb/Host/MainLoop.h vendor/llvm-project/master/lldb/include/lldb/Host/MainLoopBase.h vendor/llvm-project/master/lldb/include/lldb/Host/MonitoringProcessLauncher.h vendor/llvm-project/master/lldb/include/lldb/Host/OptionParser.h vendor/llvm-project/master/lldb/include/lldb/Host/Pipe.h vendor/llvm-project/master/lldb/include/lldb/Host/PipeBase.h vendor/llvm-project/master/lldb/include/lldb/Host/PosixApi.h vendor/llvm-project/master/lldb/include/lldb/Host/ProcessLaunchInfo.h vendor/llvm-project/master/lldb/include/lldb/Host/ProcessLauncher.h vendor/llvm-project/master/lldb/include/lldb/Host/ProcessRunLock.h vendor/llvm-project/master/lldb/include/lldb/Host/PseudoTerminal.h vendor/llvm-project/master/lldb/include/lldb/Host/SafeMachO.h vendor/llvm-project/master/lldb/include/lldb/Host/Socket.h vendor/llvm-project/master/lldb/include/lldb/Host/SocketAddress.h vendor/llvm-project/master/lldb/include/lldb/Host/StringConvert.h vendor/llvm-project/master/lldb/include/lldb/Host/Terminal.h vendor/llvm-project/master/lldb/include/lldb/Host/ThreadLauncher.h vendor/llvm-project/master/lldb/include/lldb/Host/Time.h vendor/llvm-project/master/lldb/include/lldb/Host/XML.h vendor/llvm-project/master/lldb/include/lldb/Host/common/GetOptInc.h vendor/llvm-project/master/lldb/include/lldb/Host/common/NativeBreakpointList.h vendor/llvm-project/master/lldb/include/lldb/Host/common/NativeProcessProtocol.h vendor/llvm-project/master/lldb/include/lldb/Host/common/NativeRegisterContext.h vendor/llvm-project/master/lldb/include/lldb/Host/common/NativeThreadProtocol.h vendor/llvm-project/master/lldb/include/lldb/Host/common/NativeWatchpointList.h vendor/llvm-project/master/lldb/include/lldb/Host/common/TCPSocket.h vendor/llvm-project/master/lldb/include/lldb/Host/common/UDPSocket.h vendor/llvm-project/master/lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h vendor/llvm-project/master/lldb/include/lldb/Host/posix/DomainSocket.h vendor/llvm-project/master/lldb/include/lldb/Host/posix/HostInfoPosix.h vendor/llvm-project/master/lldb/include/lldb/Host/posix/HostProcessPosix.h vendor/llvm-project/master/lldb/include/lldb/Host/posix/HostThreadPosix.h vendor/llvm-project/master/lldb/include/lldb/Host/posix/LockFilePosix.h vendor/llvm-project/master/lldb/include/lldb/Host/posix/PipePosix.h vendor/llvm-project/master/lldb/include/lldb/Host/posix/ProcessLauncherPosixFork.h vendor/llvm-project/master/lldb/include/lldb/Initialization/SystemInitializer.h vendor/llvm-project/master/lldb/include/lldb/Initialization/SystemInitializerCommon.h vendor/llvm-project/master/lldb/include/lldb/Initialization/SystemLifetimeManager.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/CommandAlias.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/CommandCompletions.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/CommandHistory.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/CommandInterpreter.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/CommandObject.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/CommandObjectMultiword.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/CommandOptionValidators.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/CommandReturnObject.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupArchitecture.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupBoolean.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupFile.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupFormat.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupOutputFile.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupPlatform.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupPythonClassWithDict.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupString.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupUInt64.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupUUID.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupVariable.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValue.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueArch.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueArgs.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueArray.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueBoolean.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueChar.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueDictionary.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueEnumeration.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueFileSpec.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueFileSpecList.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueFormat.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueFormatEntity.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueLanguage.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValuePathMappings.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueProperties.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueRegex.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueSInt64.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueString.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueUInt64.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValueUUID.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/OptionValues.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/Options.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/Property.h vendor/llvm-project/master/lldb/include/lldb/Interpreter/ScriptInterpreter.h vendor/llvm-project/master/lldb/include/lldb/Symbol/ArmUnwindInfo.h vendor/llvm-project/master/lldb/include/lldb/Symbol/Block.h vendor/llvm-project/master/lldb/include/lldb/Symbol/CallFrameInfo.h vendor/llvm-project/master/lldb/include/lldb/Symbol/CompactUnwindInfo.h vendor/llvm-project/master/lldb/include/lldb/Symbol/CompileUnit.h vendor/llvm-project/master/lldb/include/lldb/Symbol/CompilerDecl.h vendor/llvm-project/master/lldb/include/lldb/Symbol/CompilerDeclContext.h vendor/llvm-project/master/lldb/include/lldb/Symbol/CompilerType.h vendor/llvm-project/master/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h vendor/llvm-project/master/lldb/include/lldb/Symbol/DebugMacros.h vendor/llvm-project/master/lldb/include/lldb/Symbol/DeclVendor.h vendor/llvm-project/master/lldb/include/lldb/Symbol/Declaration.h vendor/llvm-project/master/lldb/include/lldb/Symbol/FuncUnwinders.h vendor/llvm-project/master/lldb/include/lldb/Symbol/Function.h vendor/llvm-project/master/lldb/include/lldb/Symbol/LineEntry.h vendor/llvm-project/master/lldb/include/lldb/Symbol/LineTable.h vendor/llvm-project/master/lldb/include/lldb/Symbol/LocateSymbolFile.h vendor/llvm-project/master/lldb/include/lldb/Symbol/ObjectContainer.h vendor/llvm-project/master/lldb/include/lldb/Symbol/ObjectFile.h vendor/llvm-project/master/lldb/include/lldb/Symbol/SourceModule.h vendor/llvm-project/master/lldb/include/lldb/Symbol/Symbol.h vendor/llvm-project/master/lldb/include/lldb/Symbol/SymbolContext.h vendor/llvm-project/master/lldb/include/lldb/Symbol/SymbolContextScope.h vendor/llvm-project/master/lldb/include/lldb/Symbol/SymbolFile.h vendor/llvm-project/master/lldb/include/lldb/Symbol/SymbolVendor.h vendor/llvm-project/master/lldb/include/lldb/Symbol/Symtab.h vendor/llvm-project/master/lldb/include/lldb/Symbol/TaggedASTType.h vendor/llvm-project/master/lldb/include/lldb/Symbol/Type.h vendor/llvm-project/master/lldb/include/lldb/Symbol/TypeList.h vendor/llvm-project/master/lldb/include/lldb/Symbol/TypeMap.h vendor/llvm-project/master/lldb/include/lldb/Symbol/TypeSystem.h vendor/llvm-project/master/lldb/include/lldb/Symbol/UnwindPlan.h vendor/llvm-project/master/lldb/include/lldb/Symbol/UnwindTable.h vendor/llvm-project/master/lldb/include/lldb/Symbol/Variable.h vendor/llvm-project/master/lldb/include/lldb/Symbol/VariableList.h vendor/llvm-project/master/lldb/include/lldb/Target/ABI.h vendor/llvm-project/master/lldb/include/lldb/Target/DynamicLoader.h vendor/llvm-project/master/lldb/include/lldb/Target/ExecutionContext.h vendor/llvm-project/master/lldb/include/lldb/Target/ExecutionContextScope.h vendor/llvm-project/master/lldb/include/lldb/Target/InstrumentationRuntime.h vendor/llvm-project/master/lldb/include/lldb/Target/InstrumentationRuntimeStopInfo.h vendor/llvm-project/master/lldb/include/lldb/Target/JITLoader.h vendor/llvm-project/master/lldb/include/lldb/Target/JITLoaderList.h vendor/llvm-project/master/lldb/include/lldb/Target/Language.h vendor/llvm-project/master/lldb/include/lldb/Target/LanguageRuntime.h vendor/llvm-project/master/lldb/include/lldb/Target/Memory.h vendor/llvm-project/master/lldb/include/lldb/Target/MemoryHistory.h vendor/llvm-project/master/lldb/include/lldb/Target/MemoryRegionInfo.h vendor/llvm-project/master/lldb/include/lldb/Target/ModuleCache.h vendor/llvm-project/master/lldb/include/lldb/Target/OperatingSystem.h vendor/llvm-project/master/lldb/include/lldb/Target/PathMappingList.h vendor/llvm-project/master/lldb/include/lldb/Target/Platform.h vendor/llvm-project/master/lldb/include/lldb/Target/Process.h vendor/llvm-project/master/lldb/include/lldb/Target/ProcessStructReader.h vendor/llvm-project/master/lldb/include/lldb/Target/Queue.h vendor/llvm-project/master/lldb/include/lldb/Target/QueueItem.h vendor/llvm-project/master/lldb/include/lldb/Target/QueueList.h vendor/llvm-project/master/lldb/include/lldb/Target/RegisterCheckpoint.h vendor/llvm-project/master/lldb/include/lldb/Target/RegisterContext.h vendor/llvm-project/master/lldb/include/lldb/Target/RegisterNumber.h vendor/llvm-project/master/lldb/include/lldb/Target/RemoteAwarePlatform.h vendor/llvm-project/master/lldb/include/lldb/Target/SectionLoadHistory.h vendor/llvm-project/master/lldb/include/lldb/Target/SectionLoadList.h vendor/llvm-project/master/lldb/include/lldb/Target/StackFrame.h vendor/llvm-project/master/lldb/include/lldb/Target/StackFrameList.h vendor/llvm-project/master/lldb/include/lldb/Target/StackFrameRecognizer.h vendor/llvm-project/master/lldb/include/lldb/Target/StackID.h vendor/llvm-project/master/lldb/include/lldb/Target/StopInfo.h vendor/llvm-project/master/lldb/include/lldb/Target/StructuredDataPlugin.h vendor/llvm-project/master/lldb/include/lldb/Target/SystemRuntime.h vendor/llvm-project/master/lldb/include/lldb/Target/Target.h vendor/llvm-project/master/lldb/include/lldb/Target/TargetList.h vendor/llvm-project/master/lldb/include/lldb/Target/Thread.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadCollection.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadList.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlan.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanBase.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanCallFunction.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanCallOnFunctionExit.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanPython.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanRunToAddress.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanShouldStopHere.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanStepInRange.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanStepInstruction.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanStepOut.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanStepOverRange.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanStepRange.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanStepThrough.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanStepUntil.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadPlanTracer.h vendor/llvm-project/master/lldb/include/lldb/Target/ThreadSpec.h vendor/llvm-project/master/lldb/include/lldb/Target/UnixSignals.h vendor/llvm-project/master/lldb/include/lldb/Target/Unwind.h vendor/llvm-project/master/lldb/include/lldb/Target/UnwindAssembly.h vendor/llvm-project/master/lldb/include/lldb/Utility/AnsiTerminal.h vendor/llvm-project/master/lldb/include/lldb/Utility/ArchSpec.h vendor/llvm-project/master/lldb/include/lldb/Utility/Args.h vendor/llvm-project/master/lldb/include/lldb/Utility/Baton.h vendor/llvm-project/master/lldb/include/lldb/Utility/Broadcaster.h vendor/llvm-project/master/lldb/include/lldb/Utility/CompletionRequest.h vendor/llvm-project/master/lldb/include/lldb/Utility/Connection.h vendor/llvm-project/master/lldb/include/lldb/Utility/ConstString.h vendor/llvm-project/master/lldb/include/lldb/Utility/DataBuffer.h vendor/llvm-project/master/lldb/include/lldb/Utility/DataBufferHeap.h vendor/llvm-project/master/lldb/include/lldb/Utility/DataBufferLLVM.h vendor/llvm-project/master/lldb/include/lldb/Utility/DataEncoder.h vendor/llvm-project/master/lldb/include/lldb/Utility/DataExtractor.h vendor/llvm-project/master/lldb/include/lldb/Utility/Endian.h vendor/llvm-project/master/lldb/include/lldb/Utility/Environment.h vendor/llvm-project/master/lldb/include/lldb/Utility/Event.h vendor/llvm-project/master/lldb/include/lldb/Utility/FileSpec.h vendor/llvm-project/master/lldb/include/lldb/Utility/Flags.h vendor/llvm-project/master/lldb/include/lldb/Utility/GDBRemote.h vendor/llvm-project/master/lldb/include/lldb/Utility/IOObject.h vendor/llvm-project/master/lldb/include/lldb/Utility/Iterable.h vendor/llvm-project/master/lldb/include/lldb/Utility/LLDBAssert.h vendor/llvm-project/master/lldb/include/lldb/Utility/Listener.h vendor/llvm-project/master/lldb/include/lldb/Utility/Predicate.h vendor/llvm-project/master/lldb/include/lldb/Utility/ProcessInfo.h vendor/llvm-project/master/lldb/include/lldb/Utility/RangeMap.h vendor/llvm-project/master/lldb/include/lldb/Utility/RegisterValue.h vendor/llvm-project/master/lldb/include/lldb/Utility/RegularExpression.h vendor/llvm-project/master/lldb/include/lldb/Utility/Reproducer.h vendor/llvm-project/master/lldb/include/lldb/Utility/ReproducerInstrumentation.h vendor/llvm-project/master/lldb/include/lldb/Utility/Scalar.h vendor/llvm-project/master/lldb/include/lldb/Utility/SelectHelper.h vendor/llvm-project/master/lldb/include/lldb/Utility/SharedCluster.h vendor/llvm-project/master/lldb/include/lldb/Utility/Status.h vendor/llvm-project/master/lldb/include/lldb/Utility/Stream.h vendor/llvm-project/master/lldb/include/lldb/Utility/StreamCallback.h vendor/llvm-project/master/lldb/include/lldb/Utility/StreamString.h vendor/llvm-project/master/lldb/include/lldb/Utility/StreamTee.h vendor/llvm-project/master/lldb/include/lldb/Utility/StringExtractor.h vendor/llvm-project/master/lldb/include/lldb/Utility/StringLexer.h vendor/llvm-project/master/lldb/include/lldb/Utility/StringList.h vendor/llvm-project/master/lldb/include/lldb/Utility/StructuredData.h vendor/llvm-project/master/lldb/include/lldb/Utility/TildeExpressionResolver.h vendor/llvm-project/master/lldb/include/lldb/Utility/Timeout.h vendor/llvm-project/master/lldb/include/lldb/Utility/Timer.h vendor/llvm-project/master/lldb/include/lldb/Utility/TraceOptions.h vendor/llvm-project/master/lldb/include/lldb/Utility/UUID.h vendor/llvm-project/master/lldb/include/lldb/Utility/UriParser.h vendor/llvm-project/master/lldb/include/lldb/Utility/UserID.h vendor/llvm-project/master/lldb/include/lldb/Utility/UserIDResolver.h vendor/llvm-project/master/lldb/include/lldb/Utility/VASPrintf.h vendor/llvm-project/master/lldb/include/lldb/Utility/VMRange.h vendor/llvm-project/master/lldb/include/lldb/lldb-defines.h vendor/llvm-project/master/lldb/include/lldb/lldb-enumerations.h vendor/llvm-project/master/lldb/include/lldb/lldb-forward.h vendor/llvm-project/master/lldb/include/lldb/lldb-private-defines.h vendor/llvm-project/master/lldb/include/lldb/lldb-private-enumerations.h vendor/llvm-project/master/lldb/include/lldb/lldb-private-forward.h vendor/llvm-project/master/lldb/include/lldb/lldb-private-interfaces.h vendor/llvm-project/master/lldb/include/lldb/lldb-private-types.h vendor/llvm-project/master/lldb/include/lldb/lldb-private.h vendor/llvm-project/master/lldb/include/lldb/lldb-public.h vendor/llvm-project/master/lldb/include/lldb/lldb-types.h vendor/llvm-project/master/lldb/include/lldb/lldb-versioning.h vendor/llvm-project/master/lldb/include/lldb/module.modulemap vendor/llvm-project/master/lldb/source/API/SBAddress.cpp vendor/llvm-project/master/lldb/source/API/SBAttachInfo.cpp vendor/llvm-project/master/lldb/source/API/SBBlock.cpp vendor/llvm-project/master/lldb/source/API/SBBreakpoint.cpp vendor/llvm-project/master/lldb/source/API/SBBreakpointLocation.cpp vendor/llvm-project/master/lldb/source/API/SBBreakpointName.cpp vendor/llvm-project/master/lldb/source/API/SBBreakpointOptionCommon.cpp vendor/llvm-project/master/lldb/source/API/SBBreakpointOptionCommon.h vendor/llvm-project/master/lldb/source/API/SBBroadcaster.cpp vendor/llvm-project/master/lldb/source/API/SBCommandInterpreter.cpp vendor/llvm-project/master/lldb/source/API/SBCommandReturnObject.cpp vendor/llvm-project/master/lldb/source/API/SBCommunication.cpp vendor/llvm-project/master/lldb/source/API/SBCompileUnit.cpp vendor/llvm-project/master/lldb/source/API/SBData.cpp vendor/llvm-project/master/lldb/source/API/SBDebugger.cpp vendor/llvm-project/master/lldb/source/API/SBDeclaration.cpp vendor/llvm-project/master/lldb/source/API/SBError.cpp vendor/llvm-project/master/lldb/source/API/SBEvent.cpp vendor/llvm-project/master/lldb/source/API/SBExecutionContext.cpp vendor/llvm-project/master/lldb/source/API/SBExpressionOptions.cpp vendor/llvm-project/master/lldb/source/API/SBFile.cpp vendor/llvm-project/master/lldb/source/API/SBFileSpec.cpp vendor/llvm-project/master/lldb/source/API/SBFileSpecList.cpp vendor/llvm-project/master/lldb/source/API/SBFrame.cpp vendor/llvm-project/master/lldb/source/API/SBFunction.cpp vendor/llvm-project/master/lldb/source/API/SBHostOS.cpp vendor/llvm-project/master/lldb/source/API/SBInstruction.cpp vendor/llvm-project/master/lldb/source/API/SBInstructionList.cpp vendor/llvm-project/master/lldb/source/API/SBLanguageRuntime.cpp vendor/llvm-project/master/lldb/source/API/SBLaunchInfo.cpp vendor/llvm-project/master/lldb/source/API/SBLineEntry.cpp vendor/llvm-project/master/lldb/source/API/SBListener.cpp vendor/llvm-project/master/lldb/source/API/SBMemoryRegionInfo.cpp vendor/llvm-project/master/lldb/source/API/SBMemoryRegionInfoList.cpp vendor/llvm-project/master/lldb/source/API/SBModule.cpp vendor/llvm-project/master/lldb/source/API/SBModuleSpec.cpp vendor/llvm-project/master/lldb/source/API/SBPlatform.cpp vendor/llvm-project/master/lldb/source/API/SBProcess.cpp vendor/llvm-project/master/lldb/source/API/SBProcessInfo.cpp vendor/llvm-project/master/lldb/source/API/SBQueue.cpp vendor/llvm-project/master/lldb/source/API/SBQueueItem.cpp vendor/llvm-project/master/lldb/source/API/SBReproducer.cpp vendor/llvm-project/master/lldb/source/API/SBReproducerPrivate.h vendor/llvm-project/master/lldb/source/API/SBSection.cpp vendor/llvm-project/master/lldb/source/API/SBSourceManager.cpp vendor/llvm-project/master/lldb/source/API/SBStream.cpp vendor/llvm-project/master/lldb/source/API/SBStringList.cpp vendor/llvm-project/master/lldb/source/API/SBStructuredData.cpp vendor/llvm-project/master/lldb/source/API/SBSymbol.cpp vendor/llvm-project/master/lldb/source/API/SBSymbolContext.cpp vendor/llvm-project/master/lldb/source/API/SBSymbolContextList.cpp vendor/llvm-project/master/lldb/source/API/SBTarget.cpp vendor/llvm-project/master/lldb/source/API/SBThread.cpp vendor/llvm-project/master/lldb/source/API/SBThreadCollection.cpp vendor/llvm-project/master/lldb/source/API/SBThreadPlan.cpp vendor/llvm-project/master/lldb/source/API/SBTrace.cpp vendor/llvm-project/master/lldb/source/API/SBTraceOptions.cpp vendor/llvm-project/master/lldb/source/API/SBType.cpp vendor/llvm-project/master/lldb/source/API/SBTypeCategory.cpp vendor/llvm-project/master/lldb/source/API/SBTypeEnumMember.cpp vendor/llvm-project/master/lldb/source/API/SBTypeFilter.cpp vendor/llvm-project/master/lldb/source/API/SBTypeFormat.cpp vendor/llvm-project/master/lldb/source/API/SBTypeNameSpecifier.cpp vendor/llvm-project/master/lldb/source/API/SBTypeSummary.cpp vendor/llvm-project/master/lldb/source/API/SBTypeSynthetic.cpp vendor/llvm-project/master/lldb/source/API/SBUnixSignals.cpp vendor/llvm-project/master/lldb/source/API/SBValue.cpp vendor/llvm-project/master/lldb/source/API/SBValueList.cpp vendor/llvm-project/master/lldb/source/API/SBVariablesOptions.cpp vendor/llvm-project/master/lldb/source/API/SBWatchpoint.cpp vendor/llvm-project/master/lldb/source/API/SystemInitializerFull.cpp vendor/llvm-project/master/lldb/source/API/SystemInitializerFull.h vendor/llvm-project/master/lldb/source/API/Utils.h vendor/llvm-project/master/lldb/source/Breakpoint/Breakpoint.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointID.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointIDList.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointList.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointLocation.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointLocationCollection.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointLocationList.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointName.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointOptions.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointPrecondition.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointResolver.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointResolverAddress.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointResolverName.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointResolverScripted.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointSite.cpp vendor/llvm-project/master/lldb/source/Breakpoint/BreakpointSiteList.cpp vendor/llvm-project/master/lldb/source/Breakpoint/Stoppoint.cpp vendor/llvm-project/master/lldb/source/Breakpoint/StoppointCallbackContext.cpp vendor/llvm-project/master/lldb/source/Breakpoint/StoppointLocation.cpp vendor/llvm-project/master/lldb/source/Breakpoint/Watchpoint.cpp vendor/llvm-project/master/lldb/source/Breakpoint/WatchpointList.cpp vendor/llvm-project/master/lldb/source/Breakpoint/WatchpointOptions.cpp vendor/llvm-project/master/lldb/source/Commands/CommandCompletions.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectApropos.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectApropos.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectBreakpoint.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectBreakpoint.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectBreakpointCommand.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectBreakpointCommand.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectCommands.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectCommands.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectDisassemble.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectDisassemble.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectExpression.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectExpression.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectFrame.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectFrame.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectGUI.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectGUI.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectHelp.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectHelp.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectLanguage.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectLanguage.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectLog.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectLog.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectMemory.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectMemory.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectMultiword.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectPlatform.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectPlatform.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectPlugin.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectPlugin.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectProcess.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectProcess.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectQuit.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectQuit.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectRegister.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectRegister.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectReproducer.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectReproducer.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectSettings.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectSettings.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectSource.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectSource.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectStats.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectStats.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectTarget.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectTarget.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectThread.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectThread.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectType.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectType.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectVersion.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectVersion.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectWatchpoint.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectWatchpoint.h vendor/llvm-project/master/lldb/source/Commands/CommandObjectWatchpointCommand.cpp vendor/llvm-project/master/lldb/source/Commands/CommandObjectWatchpointCommand.h vendor/llvm-project/master/lldb/source/Commands/Options.td vendor/llvm-project/master/lldb/source/Core/Address.cpp vendor/llvm-project/master/lldb/source/Core/AddressRange.cpp vendor/llvm-project/master/lldb/source/Core/AddressResolver.cpp vendor/llvm-project/master/lldb/source/Core/AddressResolverFileLine.cpp vendor/llvm-project/master/lldb/source/Core/AddressResolverName.cpp vendor/llvm-project/master/lldb/source/Core/Communication.cpp vendor/llvm-project/master/lldb/source/Core/CoreProperties.td vendor/llvm-project/master/lldb/source/Core/Debugger.cpp vendor/llvm-project/master/lldb/source/Core/Disassembler.cpp vendor/llvm-project/master/lldb/source/Core/DumpDataExtractor.cpp vendor/llvm-project/master/lldb/source/Core/DumpRegisterValue.cpp vendor/llvm-project/master/lldb/source/Core/DynamicLoader.cpp vendor/llvm-project/master/lldb/source/Core/EmulateInstruction.cpp vendor/llvm-project/master/lldb/source/Core/FileLineResolver.cpp vendor/llvm-project/master/lldb/source/Core/FileSpecList.cpp vendor/llvm-project/master/lldb/source/Core/FormatEntity.cpp vendor/llvm-project/master/lldb/source/Core/Highlighter.cpp vendor/llvm-project/master/lldb/source/Core/IOHandler.cpp vendor/llvm-project/master/lldb/source/Core/IOHandlerCursesGUI.cpp vendor/llvm-project/master/lldb/source/Core/Mangled.cpp vendor/llvm-project/master/lldb/source/Core/Module.cpp vendor/llvm-project/master/lldb/source/Core/ModuleChild.cpp vendor/llvm-project/master/lldb/source/Core/ModuleList.cpp vendor/llvm-project/master/lldb/source/Core/Opcode.cpp vendor/llvm-project/master/lldb/source/Core/PluginManager.cpp vendor/llvm-project/master/lldb/source/Core/RichManglingContext.cpp vendor/llvm-project/master/lldb/source/Core/SearchFilter.cpp vendor/llvm-project/master/lldb/source/Core/Section.cpp vendor/llvm-project/master/lldb/source/Core/SourceManager.cpp vendor/llvm-project/master/lldb/source/Core/StreamAsynchronousIO.cpp vendor/llvm-project/master/lldb/source/Core/StreamFile.cpp vendor/llvm-project/master/lldb/source/Core/UserSettingsController.cpp vendor/llvm-project/master/lldb/source/Core/Value.cpp vendor/llvm-project/master/lldb/source/Core/ValueObject.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectCast.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectChild.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectConstResult.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectConstResultCast.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectConstResultChild.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectConstResultImpl.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectDynamicValue.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectList.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectMemory.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectRegister.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectSyntheticFilter.cpp vendor/llvm-project/master/lldb/source/Core/ValueObjectVariable.cpp vendor/llvm-project/master/lldb/source/DataFormatters/CXXFunctionPointer.cpp vendor/llvm-project/master/lldb/source/DataFormatters/DataVisualization.cpp vendor/llvm-project/master/lldb/source/DataFormatters/DumpValueObjectOptions.cpp vendor/llvm-project/master/lldb/source/DataFormatters/FormatCache.cpp vendor/llvm-project/master/lldb/source/DataFormatters/FormatClasses.cpp vendor/llvm-project/master/lldb/source/DataFormatters/FormatManager.cpp vendor/llvm-project/master/lldb/source/DataFormatters/FormattersHelpers.cpp vendor/llvm-project/master/lldb/source/DataFormatters/LanguageCategory.cpp vendor/llvm-project/master/lldb/source/DataFormatters/StringPrinter.cpp vendor/llvm-project/master/lldb/source/DataFormatters/TypeCategory.cpp vendor/llvm-project/master/lldb/source/DataFormatters/TypeCategoryMap.cpp vendor/llvm-project/master/lldb/source/DataFormatters/TypeFormat.cpp vendor/llvm-project/master/lldb/source/DataFormatters/TypeSummary.cpp vendor/llvm-project/master/lldb/source/DataFormatters/TypeSynthetic.cpp vendor/llvm-project/master/lldb/source/DataFormatters/ValueObjectPrinter.cpp vendor/llvm-project/master/lldb/source/DataFormatters/VectorType.cpp vendor/llvm-project/master/lldb/source/Expression/DWARFExpression.cpp vendor/llvm-project/master/lldb/source/Expression/DiagnosticManager.cpp vendor/llvm-project/master/lldb/source/Expression/Expression.cpp vendor/llvm-project/master/lldb/source/Expression/ExpressionVariable.cpp vendor/llvm-project/master/lldb/source/Expression/FunctionCaller.cpp vendor/llvm-project/master/lldb/source/Expression/IRExecutionUnit.cpp vendor/llvm-project/master/lldb/source/Expression/IRInterpreter.cpp vendor/llvm-project/master/lldb/source/Expression/IRMemoryMap.cpp vendor/llvm-project/master/lldb/source/Expression/LLVMUserExpression.cpp vendor/llvm-project/master/lldb/source/Expression/Materializer.cpp vendor/llvm-project/master/lldb/source/Expression/REPL.cpp vendor/llvm-project/master/lldb/source/Expression/UserExpression.cpp vendor/llvm-project/master/lldb/source/Expression/UtilityFunction.cpp vendor/llvm-project/master/lldb/source/Host/common/Editline.cpp vendor/llvm-project/master/lldb/source/Host/common/File.cpp vendor/llvm-project/master/lldb/source/Host/common/FileAction.cpp vendor/llvm-project/master/lldb/source/Host/common/FileCache.cpp vendor/llvm-project/master/lldb/source/Host/common/FileSystem.cpp vendor/llvm-project/master/lldb/source/Host/common/GetOptInc.cpp vendor/llvm-project/master/lldb/source/Host/common/Host.cpp vendor/llvm-project/master/lldb/source/Host/common/HostInfoBase.cpp vendor/llvm-project/master/lldb/source/Host/common/HostNativeThreadBase.cpp vendor/llvm-project/master/lldb/source/Host/common/HostProcess.cpp vendor/llvm-project/master/lldb/source/Host/common/HostThread.cpp vendor/llvm-project/master/lldb/source/Host/common/LZMA.cpp vendor/llvm-project/master/lldb/source/Host/common/LockFileBase.cpp vendor/llvm-project/master/lldb/source/Host/common/MainLoop.cpp vendor/llvm-project/master/lldb/source/Host/common/MonitoringProcessLauncher.cpp vendor/llvm-project/master/lldb/source/Host/common/NativeProcessProtocol.cpp vendor/llvm-project/master/lldb/source/Host/common/NativeRegisterContext.cpp vendor/llvm-project/master/lldb/source/Host/common/NativeThreadProtocol.cpp vendor/llvm-project/master/lldb/source/Host/common/NativeWatchpointList.cpp vendor/llvm-project/master/lldb/source/Host/common/OptionParser.cpp vendor/llvm-project/master/lldb/source/Host/common/PipeBase.cpp vendor/llvm-project/master/lldb/source/Host/common/ProcessLaunchInfo.cpp vendor/llvm-project/master/lldb/source/Host/common/ProcessRunLock.cpp vendor/llvm-project/master/lldb/source/Host/common/PseudoTerminal.cpp vendor/llvm-project/master/lldb/source/Host/common/Socket.cpp vendor/llvm-project/master/lldb/source/Host/common/SocketAddress.cpp vendor/llvm-project/master/lldb/source/Host/common/StringConvert.cpp vendor/llvm-project/master/lldb/source/Host/common/TCPSocket.cpp vendor/llvm-project/master/lldb/source/Host/common/Terminal.cpp vendor/llvm-project/master/lldb/source/Host/common/ThreadLauncher.cpp vendor/llvm-project/master/lldb/source/Host/common/UDPSocket.cpp vendor/llvm-project/master/lldb/source/Host/common/XML.cpp vendor/llvm-project/master/lldb/source/Host/freebsd/Host.cpp vendor/llvm-project/master/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp vendor/llvm-project/master/lldb/source/Host/netbsd/HostInfoNetBSD.cpp vendor/llvm-project/master/lldb/source/Host/openbsd/Host.cpp vendor/llvm-project/master/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp vendor/llvm-project/master/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp vendor/llvm-project/master/lldb/source/Host/posix/DomainSocket.cpp vendor/llvm-project/master/lldb/source/Host/posix/FileSystemPosix.cpp vendor/llvm-project/master/lldb/source/Host/posix/HostInfoPosix.cpp vendor/llvm-project/master/lldb/source/Host/posix/HostProcessPosix.cpp vendor/llvm-project/master/lldb/source/Host/posix/HostThreadPosix.cpp vendor/llvm-project/master/lldb/source/Host/posix/LockFilePosix.cpp vendor/llvm-project/master/lldb/source/Host/posix/PipePosix.cpp vendor/llvm-project/master/lldb/source/Host/posix/ProcessLauncherPosixFork.cpp vendor/llvm-project/master/lldb/source/Initialization/SystemInitializer.cpp vendor/llvm-project/master/lldb/source/Initialization/SystemInitializerCommon.cpp vendor/llvm-project/master/lldb/source/Initialization/SystemLifetimeManager.cpp vendor/llvm-project/master/lldb/source/Interpreter/CommandAlias.cpp vendor/llvm-project/master/lldb/source/Interpreter/CommandHistory.cpp vendor/llvm-project/master/lldb/source/Interpreter/CommandInterpreter.cpp vendor/llvm-project/master/lldb/source/Interpreter/CommandObject.cpp vendor/llvm-project/master/lldb/source/Interpreter/CommandObjectRegexCommand.cpp vendor/llvm-project/master/lldb/source/Interpreter/CommandObjectScript.cpp vendor/llvm-project/master/lldb/source/Interpreter/CommandObjectScript.h vendor/llvm-project/master/lldb/source/Interpreter/CommandOptionValidators.cpp vendor/llvm-project/master/lldb/source/Interpreter/CommandReturnObject.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionArgParser.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupArchitecture.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupBoolean.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupFile.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupFormat.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupOutputFile.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupPlatform.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupPythonClassWithDict.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupString.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupUInt64.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupUUID.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupVariable.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionGroupWatchpoint.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValue.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueArch.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueArgs.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueArray.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueBoolean.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueChar.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueDictionary.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueEnumeration.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueFileSpec.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueFormat.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueFormatEntity.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueLanguage.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValuePathMappings.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueProperties.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueRegex.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueSInt64.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueString.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueUInt64.cpp vendor/llvm-project/master/lldb/source/Interpreter/OptionValueUUID.cpp vendor/llvm-project/master/lldb/source/Interpreter/Options.cpp vendor/llvm-project/master/lldb/source/Interpreter/Property.cpp vendor/llvm-project/master/lldb/source/Interpreter/ScriptInterpreter.cpp vendor/llvm-project/master/lldb/source/Interpreter/embedded_interpreter.py vendor/llvm-project/master/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp vendor/llvm-project/master/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h vendor/llvm-project/master/lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp vendor/llvm-project/master/lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h vendor/llvm-project/master/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.cpp vendor/llvm-project/master/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.h vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.h vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.h vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp vendor/llvm-project/master/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangHost.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h vendor/llvm-project/master/lldb/source/Plugins/ExpressionParser/Clang/ModuleDependencyCollector.h vendor/llvm-project/master/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp vendor/llvm-project/master/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h vendor/llvm-project/master/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.cpp vendor/llvm-project/master/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.h vendor/llvm-project/master/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp vendor/llvm-project/master/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h vendor/llvm-project/master/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp vendor/llvm-project/master/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h vendor/llvm-project/master/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp vendor/llvm-project/master/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h vendor/llvm-project/master/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp vendor/llvm-project/master/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.h vendor/llvm-project/master/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp vendor/llvm-project/master/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.h vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/BlockPointer.h vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxx.h vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.h vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxBitset.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxOptional.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.h vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h vendor/llvm-project/master/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/CF.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/CF.h vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/Cocoa.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/Cocoa.h vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/CoreMedia.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/CoreMedia.h vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSArray.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSDictionary.h vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSError.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSException.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSSet.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSSet.h vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSString.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/NSString.h vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjC/ObjCLanguage.h vendor/llvm-project/master/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.cpp vendor/llvm-project/master/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.h vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp vendor/llvm-project/master/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.h vendor/llvm-project/master/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp vendor/llvm-project/master/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.h vendor/llvm-project/master/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp vendor/llvm-project/master/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.h vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp vendor/llvm-project/master/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h vendor/llvm-project/master/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp vendor/llvm-project/master/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp vendor/llvm-project/master/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h vendor/llvm-project/master/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp vendor/llvm-project/master/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h vendor/llvm-project/master/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp vendor/llvm-project/master/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h vendor/llvm-project/master/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp vendor/llvm-project/master/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h vendor/llvm-project/master/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp vendor/llvm-project/master/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/POSIXStopInfo.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.h vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_powerpc.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_x86.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/POSIX/CrashReason.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/POSIX/NativeProcessELF.h vendor/llvm-project/master/lldb/source/Plugins/Process/POSIX/ProcessMessage.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/ARMDefines.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/ARMUtils.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/AuxVector.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/AuxVector.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/FreeBSDSignals.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/GDBRemoteSignals.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/GDBRemoteSignals.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/HistoryThread.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/HistoryThread.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/HistoryUnwind.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/InstructionUtils.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/LinuxProcMaps.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/LinuxSignals.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/MipsLinuxSignals.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/MipsLinuxSignals.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/NetBSDSignals.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDarwinConstants.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDummy.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextDummy.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_s390x.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_s390x.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMach_arm.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMach_arm.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMach_i386.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMach_i386.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMach_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMach_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextWindows_i386.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContext_mips.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContext_powerpc.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContext_s390x.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterContext_x86.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64le.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64le.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/StopInfoMachException.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/ThreadMemory.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/ThreadMemory.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/lldb-arm-register-enums.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/lldb-arm64-register-enums.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/lldb-mips-freebsd-register-enums.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/lldb-mips-linux-register-enums.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/lldb-ppc64-register-enums.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/lldb-ppc64le-register-enums.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/lldb-s390x-register-enums.h vendor/llvm-project/master/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterUtilities.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/RegisterUtilities.h vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/MinidumpParser.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/MinidumpParser.h vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/MinidumpTypes.h vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/NtStructures.h vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/ProcessMinidump.h vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.h vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.h vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.h vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.h vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/ThreadMinidump.cpp vendor/llvm-project/master/lldb/source/Plugins/Process/minidump/ThreadMinidump.h vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/Lua/Lua.cpp vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp vendor/llvm-project/master/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h vendor/llvm-project/master/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp vendor/llvm-project/master/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DIERef.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/CodeViewRegisterMapping.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/CodeViewRegisterMapping.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h vendor/llvm-project/master/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp vendor/llvm-project/master/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.h vendor/llvm-project/master/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp vendor/llvm-project/master/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h vendor/llvm-project/master/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp vendor/llvm-project/master/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h vendor/llvm-project/master/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp vendor/llvm-project/master/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.h vendor/llvm-project/master/lldb/source/Symbol/ArmUnwindInfo.cpp vendor/llvm-project/master/lldb/source/Symbol/Block.cpp vendor/llvm-project/master/lldb/source/Symbol/CompactUnwindInfo.cpp vendor/llvm-project/master/lldb/source/Symbol/CompileUnit.cpp vendor/llvm-project/master/lldb/source/Symbol/CompilerDecl.cpp vendor/llvm-project/master/lldb/source/Symbol/CompilerDeclContext.cpp vendor/llvm-project/master/lldb/source/Symbol/CompilerType.cpp vendor/llvm-project/master/lldb/source/Symbol/DWARFCallFrameInfo.cpp vendor/llvm-project/master/lldb/source/Symbol/DebugMacros.cpp vendor/llvm-project/master/lldb/source/Symbol/DeclVendor.cpp vendor/llvm-project/master/lldb/source/Symbol/Declaration.cpp vendor/llvm-project/master/lldb/source/Symbol/FuncUnwinders.cpp vendor/llvm-project/master/lldb/source/Symbol/Function.cpp vendor/llvm-project/master/lldb/source/Symbol/LineEntry.cpp vendor/llvm-project/master/lldb/source/Symbol/LineTable.cpp vendor/llvm-project/master/lldb/source/Symbol/LocateSymbolFile.cpp vendor/llvm-project/master/lldb/source/Symbol/LocateSymbolFileMacOSX.cpp vendor/llvm-project/master/lldb/source/Symbol/ObjectFile.cpp vendor/llvm-project/master/lldb/source/Symbol/PostfixExpression.cpp vendor/llvm-project/master/lldb/source/Symbol/Symbol.cpp vendor/llvm-project/master/lldb/source/Symbol/SymbolContext.cpp vendor/llvm-project/master/lldb/source/Symbol/SymbolFile.cpp vendor/llvm-project/master/lldb/source/Symbol/SymbolVendor.cpp vendor/llvm-project/master/lldb/source/Symbol/Symtab.cpp vendor/llvm-project/master/lldb/source/Symbol/Type.cpp vendor/llvm-project/master/lldb/source/Symbol/TypeList.cpp vendor/llvm-project/master/lldb/source/Symbol/TypeMap.cpp vendor/llvm-project/master/lldb/source/Symbol/TypeSystem.cpp vendor/llvm-project/master/lldb/source/Symbol/UnwindPlan.cpp vendor/llvm-project/master/lldb/source/Symbol/UnwindTable.cpp vendor/llvm-project/master/lldb/source/Symbol/Variable.cpp vendor/llvm-project/master/lldb/source/Symbol/VariableList.cpp vendor/llvm-project/master/lldb/source/Target/ABI.cpp vendor/llvm-project/master/lldb/source/Target/ExecutionContext.cpp vendor/llvm-project/master/lldb/source/Target/InstrumentationRuntime.cpp vendor/llvm-project/master/lldb/source/Target/InstrumentationRuntimeStopInfo.cpp vendor/llvm-project/master/lldb/source/Target/JITLoader.cpp vendor/llvm-project/master/lldb/source/Target/JITLoaderList.cpp vendor/llvm-project/master/lldb/source/Target/Language.cpp vendor/llvm-project/master/lldb/source/Target/LanguageRuntime.cpp vendor/llvm-project/master/lldb/source/Target/Memory.cpp vendor/llvm-project/master/lldb/source/Target/MemoryHistory.cpp vendor/llvm-project/master/lldb/source/Target/MemoryRegionInfo.cpp vendor/llvm-project/master/lldb/source/Target/ModuleCache.cpp vendor/llvm-project/master/lldb/source/Target/OperatingSystem.cpp vendor/llvm-project/master/lldb/source/Target/PathMappingList.cpp vendor/llvm-project/master/lldb/source/Target/Platform.cpp vendor/llvm-project/master/lldb/source/Target/Process.cpp vendor/llvm-project/master/lldb/source/Target/Queue.cpp vendor/llvm-project/master/lldb/source/Target/QueueItem.cpp vendor/llvm-project/master/lldb/source/Target/QueueList.cpp vendor/llvm-project/master/lldb/source/Target/RegisterContext.cpp vendor/llvm-project/master/lldb/source/Target/RegisterNumber.cpp vendor/llvm-project/master/lldb/source/Target/RemoteAwarePlatform.cpp vendor/llvm-project/master/lldb/source/Target/SectionLoadHistory.cpp vendor/llvm-project/master/lldb/source/Target/SectionLoadList.cpp vendor/llvm-project/master/lldb/source/Target/StackFrame.cpp vendor/llvm-project/master/lldb/source/Target/StackFrameList.cpp vendor/llvm-project/master/lldb/source/Target/StackFrameRecognizer.cpp vendor/llvm-project/master/lldb/source/Target/StackID.cpp vendor/llvm-project/master/lldb/source/Target/StopInfo.cpp vendor/llvm-project/master/lldb/source/Target/StructuredDataPlugin.cpp vendor/llvm-project/master/lldb/source/Target/SystemRuntime.cpp vendor/llvm-project/master/lldb/source/Target/Target.cpp vendor/llvm-project/master/lldb/source/Target/TargetList.cpp vendor/llvm-project/master/lldb/source/Target/TargetProperties.td vendor/llvm-project/master/lldb/source/Target/Thread.cpp vendor/llvm-project/master/lldb/source/Target/ThreadCollection.cpp vendor/llvm-project/master/lldb/source/Target/ThreadList.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlan.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanBase.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanCallFunction.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanCallUserExpression.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanPython.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanRunToAddress.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanShouldStopHere.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanStepInRange.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanStepInstruction.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanStepOut.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanStepOverRange.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanStepRange.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanStepThrough.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanStepUntil.cpp vendor/llvm-project/master/lldb/source/Target/ThreadPlanTracer.cpp vendor/llvm-project/master/lldb/source/Target/ThreadSpec.cpp vendor/llvm-project/master/lldb/source/Target/UnixSignals.cpp vendor/llvm-project/master/lldb/source/Target/UnwindAssembly.cpp vendor/llvm-project/master/lldb/source/Utility/ARM64_DWARF_Registers.h vendor/llvm-project/master/lldb/source/Utility/ARM64_ehframe_Registers.h vendor/llvm-project/master/lldb/source/Utility/ARM_DWARF_Registers.h vendor/llvm-project/master/lldb/source/Utility/ARM_ehframe_Registers.h vendor/llvm-project/master/lldb/source/Utility/ArchSpec.cpp vendor/llvm-project/master/lldb/source/Utility/Args.cpp vendor/llvm-project/master/lldb/source/Utility/Baton.cpp vendor/llvm-project/master/lldb/source/Utility/Broadcaster.cpp vendor/llvm-project/master/lldb/source/Utility/CompletionRequest.cpp vendor/llvm-project/master/lldb/source/Utility/Connection.cpp vendor/llvm-project/master/lldb/source/Utility/ConstString.cpp vendor/llvm-project/master/lldb/source/Utility/DataBufferHeap.cpp vendor/llvm-project/master/lldb/source/Utility/DataBufferLLVM.cpp vendor/llvm-project/master/lldb/source/Utility/DataEncoder.cpp vendor/llvm-project/master/lldb/source/Utility/DataExtractor.cpp vendor/llvm-project/master/lldb/source/Utility/Environment.cpp vendor/llvm-project/master/lldb/source/Utility/Event.cpp vendor/llvm-project/master/lldb/source/Utility/FileSpec.cpp vendor/llvm-project/master/lldb/source/Utility/IOObject.cpp vendor/llvm-project/master/lldb/source/Utility/LLDBAssert.cpp vendor/llvm-project/master/lldb/source/Utility/Listener.cpp vendor/llvm-project/master/lldb/source/Utility/Log.cpp vendor/llvm-project/master/lldb/source/Utility/Logging.cpp vendor/llvm-project/master/lldb/source/Utility/NameMatches.cpp vendor/llvm-project/master/lldb/source/Utility/PPC64LE_DWARF_Registers.h vendor/llvm-project/master/lldb/source/Utility/PPC64_DWARF_Registers.h vendor/llvm-project/master/lldb/source/Utility/ProcessInfo.cpp vendor/llvm-project/master/lldb/source/Utility/RegisterValue.cpp vendor/llvm-project/master/lldb/source/Utility/RegularExpression.cpp vendor/llvm-project/master/lldb/source/Utility/Reproducer.cpp vendor/llvm-project/master/lldb/source/Utility/ReproducerInstrumentation.cpp vendor/llvm-project/master/lldb/source/Utility/Scalar.cpp vendor/llvm-project/master/lldb/source/Utility/SelectHelper.cpp vendor/llvm-project/master/lldb/source/Utility/State.cpp vendor/llvm-project/master/lldb/source/Utility/Status.cpp vendor/llvm-project/master/lldb/source/Utility/Stream.cpp vendor/llvm-project/master/lldb/source/Utility/StreamCallback.cpp vendor/llvm-project/master/lldb/source/Utility/StreamString.cpp vendor/llvm-project/master/lldb/source/Utility/StringExtractor.cpp vendor/llvm-project/master/lldb/source/Utility/StringExtractorGDBRemote.cpp vendor/llvm-project/master/lldb/source/Utility/StringLexer.cpp vendor/llvm-project/master/lldb/source/Utility/StringList.cpp vendor/llvm-project/master/lldb/source/Utility/StructuredData.cpp vendor/llvm-project/master/lldb/source/Utility/TildeExpressionResolver.cpp vendor/llvm-project/master/lldb/source/Utility/Timer.cpp vendor/llvm-project/master/lldb/source/Utility/UUID.cpp vendor/llvm-project/master/lldb/source/Utility/UriParser.cpp vendor/llvm-project/master/lldb/source/Utility/UserID.cpp vendor/llvm-project/master/lldb/source/Utility/UserIDResolver.cpp vendor/llvm-project/master/lldb/source/Utility/VASprintf.cpp vendor/llvm-project/master/lldb/source/Utility/VMRange.cpp vendor/llvm-project/master/lldb/source/lldb.cpp vendor/llvm-project/master/lldb/tools/driver/Driver.cpp vendor/llvm-project/master/lldb/tools/driver/Driver.h vendor/llvm-project/master/lldb/tools/driver/Options.td vendor/llvm-project/master/lldb/tools/driver/Platform.h vendor/llvm-project/master/lldb/tools/lldb-instr/Instrument.cpp vendor/llvm-project/master/lldb/tools/lldb-server/Acceptor.cpp vendor/llvm-project/master/lldb/tools/lldb-server/Acceptor.h vendor/llvm-project/master/lldb/tools/lldb-server/LLDBServerUtilities.h vendor/llvm-project/master/lldb/tools/lldb-server/SystemInitializerLLGS.h vendor/llvm-project/master/lldb/tools/lldb-server/lldb-platform.cpp vendor/llvm-project/master/lldb/utils/TableGen/LLDBOptionDefEmitter.cpp vendor/llvm-project/master/lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp vendor/llvm-project/master/lldb/utils/TableGen/LLDBTableGenBackends.h vendor/llvm-project/master/lldb/utils/TableGen/LLDBTableGenUtils.h vendor/llvm-project/master/llvm/include/llvm-c/Core.h vendor/llvm-project/master/llvm/include/llvm-c/DataTypes.h vendor/llvm-project/master/llvm/include/llvm-c/DebugInfo.h vendor/llvm-project/master/llvm/include/llvm-c/ExecutionEngine.h vendor/llvm-project/master/llvm/include/llvm-c/Transforms/Coroutines.h vendor/llvm-project/master/llvm/include/llvm-c/lto.h vendor/llvm-project/master/llvm/include/llvm/ADT/APFloat.h vendor/llvm-project/master/llvm/include/llvm/ADT/APInt.h vendor/llvm-project/master/llvm/include/llvm/ADT/AllocatorList.h vendor/llvm-project/master/llvm/include/llvm/ADT/Any.h vendor/llvm-project/master/llvm/include/llvm/ADT/ArrayRef.h vendor/llvm-project/master/llvm/include/llvm/ADT/BitVector.h vendor/llvm-project/master/llvm/include/llvm/ADT/BitmaskEnum.h vendor/llvm-project/master/llvm/include/llvm/ADT/CachedHashString.h vendor/llvm-project/master/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h vendor/llvm-project/master/llvm/include/llvm/ADT/DeltaAlgorithm.h vendor/llvm-project/master/llvm/include/llvm/ADT/DenseMap.h vendor/llvm-project/master/llvm/include/llvm/ADT/DenseMapInfo.h vendor/llvm-project/master/llvm/include/llvm/ADT/DenseSet.h vendor/llvm-project/master/llvm/include/llvm/ADT/EnumeratedArray.h vendor/llvm-project/master/llvm/include/llvm/ADT/FloatingPointMode.h vendor/llvm-project/master/llvm/include/llvm/ADT/FoldingSet.h vendor/llvm-project/master/llvm/include/llvm/ADT/FunctionExtras.h vendor/llvm-project/master/llvm/include/llvm/ADT/Hashing.h vendor/llvm-project/master/llvm/include/llvm/ADT/ImmutableMap.h vendor/llvm-project/master/llvm/include/llvm/ADT/ImmutableSet.h vendor/llvm-project/master/llvm/include/llvm/ADT/IntervalMap.h vendor/llvm-project/master/llvm/include/llvm/ADT/Optional.h vendor/llvm-project/master/llvm/include/llvm/ADT/PointerEmbeddedInt.h vendor/llvm-project/master/llvm/include/llvm/ADT/PointerIntPair.h vendor/llvm-project/master/llvm/include/llvm/ADT/PointerSumType.h vendor/llvm-project/master/llvm/include/llvm/ADT/PointerUnion.h vendor/llvm-project/master/llvm/include/llvm/ADT/PostOrderIterator.h vendor/llvm-project/master/llvm/include/llvm/ADT/PriorityWorklist.h vendor/llvm-project/master/llvm/include/llvm/ADT/SCCIterator.h vendor/llvm-project/master/llvm/include/llvm/ADT/STLExtras.h vendor/llvm-project/master/llvm/include/llvm/ADT/ScopedHashTable.h vendor/llvm-project/master/llvm/include/llvm/ADT/SetOperations.h vendor/llvm-project/master/llvm/include/llvm/ADT/SetVector.h vendor/llvm-project/master/llvm/include/llvm/ADT/SmallBitVector.h vendor/llvm-project/master/llvm/include/llvm/ADT/SmallPtrSet.h vendor/llvm-project/master/llvm/include/llvm/ADT/SmallString.h vendor/llvm-project/master/llvm/include/llvm/ADT/SmallVector.h vendor/llvm-project/master/llvm/include/llvm/ADT/SparseMultiSet.h vendor/llvm-project/master/llvm/include/llvm/ADT/SparseSet.h vendor/llvm-project/master/llvm/include/llvm/ADT/StringExtras.h vendor/llvm-project/master/llvm/include/llvm/ADT/StringMap.h vendor/llvm-project/master/llvm/include/llvm/ADT/StringRef.h vendor/llvm-project/master/llvm/include/llvm/ADT/StringSet.h vendor/llvm-project/master/llvm/include/llvm/ADT/TinyPtrVector.h vendor/llvm-project/master/llvm/include/llvm/ADT/Triple.h vendor/llvm-project/master/llvm/include/llvm/ADT/Twine.h vendor/llvm-project/master/llvm/include/llvm/ADT/bit.h vendor/llvm-project/master/llvm/include/llvm/ADT/fallible_iterator.h vendor/llvm-project/master/llvm/include/llvm/ADT/ilist.h vendor/llvm-project/master/llvm/include/llvm/ADT/ilist_iterator.h vendor/llvm-project/master/llvm/include/llvm/ADT/iterator.h vendor/llvm-project/master/llvm/include/llvm/Analysis/AliasAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/AliasSetTracker.h vendor/llvm-project/master/llvm/include/llvm/Analysis/AssumptionCache.h vendor/llvm-project/master/llvm/include/llvm/Analysis/BasicAliasAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/BlockFrequencyInfo.h vendor/llvm-project/master/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h vendor/llvm-project/master/llvm/include/llvm/Analysis/BranchProbabilityInfo.h vendor/llvm-project/master/llvm/include/llvm/Analysis/CFG.h vendor/llvm-project/master/llvm/include/llvm/Analysis/CFGPrinter.h vendor/llvm-project/master/llvm/include/llvm/Analysis/CGSCCPassManager.h vendor/llvm-project/master/llvm/include/llvm/Analysis/CallGraph.h vendor/llvm-project/master/llvm/include/llvm/Analysis/CallGraphSCCPass.h vendor/llvm-project/master/llvm/include/llvm/Analysis/CaptureTracking.h vendor/llvm-project/master/llvm/include/llvm/Analysis/CodeMetrics.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ConstantFolding.h vendor/llvm-project/master/llvm/include/llvm/Analysis/DDG.h vendor/llvm-project/master/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h vendor/llvm-project/master/llvm/include/llvm/Analysis/DependenceAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/DependenceGraphBuilder.h vendor/llvm-project/master/llvm/include/llvm/Analysis/DivergenceAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/DomTreeUpdater.h vendor/llvm-project/master/llvm/include/llvm/Analysis/DominanceFrontier.h vendor/llvm-project/master/llvm/include/llvm/Analysis/EHPersonalities.h vendor/llvm-project/master/llvm/include/llvm/Analysis/GlobalsModRef.h vendor/llvm-project/master/llvm/include/llvm/Analysis/IVDescriptors.h vendor/llvm-project/master/llvm/include/llvm/Analysis/IndirectCallVisitor.h vendor/llvm-project/master/llvm/include/llvm/Analysis/InlineCost.h vendor/llvm-project/master/llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h vendor/llvm-project/master/llvm/include/llvm/Analysis/InstructionSimplify.h vendor/llvm-project/master/llvm/include/llvm/Analysis/IteratedDominanceFrontier.h vendor/llvm-project/master/llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h vendor/llvm-project/master/llvm/include/llvm/Analysis/LazyCallGraph.h vendor/llvm-project/master/llvm/include/llvm/Analysis/LazyValueInfo.h vendor/llvm-project/master/llvm/include/llvm/Analysis/LegacyDivergenceAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/Loads.h vendor/llvm-project/master/llvm/include/llvm/Analysis/LoopAccessAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/LoopAnalysisManager.h vendor/llvm-project/master/llvm/include/llvm/Analysis/LoopInfo.h vendor/llvm-project/master/llvm/include/llvm/Analysis/LoopInfoImpl.h vendor/llvm-project/master/llvm/include/llvm/Analysis/LoopPass.h vendor/llvm-project/master/llvm/include/llvm/Analysis/MemoryBuiltins.h vendor/llvm-project/master/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/MemoryLocation.h vendor/llvm-project/master/llvm/include/llvm/Analysis/MemorySSA.h vendor/llvm-project/master/llvm/include/llvm/Analysis/MemorySSAUpdater.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ModuleSummaryAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/MustExecute.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ObjCARCInstKind.h vendor/llvm-project/master/llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h vendor/llvm-project/master/llvm/include/llvm/Analysis/Passes.h vendor/llvm-project/master/llvm/include/llvm/Analysis/PhiValues.h vendor/llvm-project/master/llvm/include/llvm/Analysis/PostDominators.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ProfileSummaryInfo.h vendor/llvm-project/master/llvm/include/llvm/Analysis/PtrUseVisitor.h vendor/llvm-project/master/llvm/include/llvm/Analysis/RegionInfo.h vendor/llvm-project/master/llvm/include/llvm/Analysis/RegionInfoImpl.h vendor/llvm-project/master/llvm/include/llvm/Analysis/RegionPass.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ScalarEvolution.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ScalarEvolutionNormalization.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ScopedNoAliasAA.h vendor/llvm-project/master/llvm/include/llvm/Analysis/StackSafetyAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/SyncDependenceAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/SyntheticCountsUtils.h vendor/llvm-project/master/llvm/include/llvm/Analysis/TargetFolder.h vendor/llvm-project/master/llvm/include/llvm/Analysis/TargetLibraryInfo.def vendor/llvm-project/master/llvm/include/llvm/Analysis/TargetLibraryInfo.h vendor/llvm-project/master/llvm/include/llvm/Analysis/TargetTransformInfo.h vendor/llvm-project/master/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h vendor/llvm-project/master/llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h vendor/llvm-project/master/llvm/include/llvm/Analysis/TypeMetadataUtils.h vendor/llvm-project/master/llvm/include/llvm/Analysis/Utils/Local.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ValueLattice.h vendor/llvm-project/master/llvm/include/llvm/Analysis/ValueTracking.h vendor/llvm-project/master/llvm/include/llvm/Analysis/VecFuncs.def vendor/llvm-project/master/llvm/include/llvm/Analysis/VectorUtils.h vendor/llvm-project/master/llvm/include/llvm/AsmParser/Parser.h vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/COFF.h vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/Dwarf.def vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/Dwarf.h vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/ELF.h vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/MachO.h vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/Magic.h vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/MsgPackDocument.h vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/MsgPackReader.h vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/Wasm.h vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/WasmRelocs.def vendor/llvm-project/master/llvm/include/llvm/BinaryFormat/XCOFF.h vendor/llvm-project/master/llvm/include/llvm/Bitcode/BitcodeReader.h vendor/llvm-project/master/llvm/include/llvm/Bitcode/LLVMBitCodes.h vendor/llvm-project/master/llvm/include/llvm/Bitstream/BitstreamReader.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/Analysis.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/AsmPrinter.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/AsmPrinterHandler.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/BasicTTIImpl.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/CallingConvLower.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/DIE.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/DebugHandlerBase.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/EdgeBundles.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ExecutionDomainFix.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/FastISel.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/CombinerInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/Localizer.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/GlobalISel/Utils.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ISDOpcodes.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/IntrinsicLowering.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/LexicalScopes.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/LiveInterval.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/LiveIntervals.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/LiveRangeCalc.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/LiveRangeEdit.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/LiveVariables.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MIRParser/MIParser.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MIRParser/MIRParser.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MIRYamlMapping.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineBasicBlock.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineCombinerPattern.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineConstantPool.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineDominators.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineFrameInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineFunction.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineInstr.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineInstrBundle.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineMemOperand.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineModuleInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineOperand.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachinePipeliner.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachinePostDominators.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineRegisterInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineSSAUpdater.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineScheduler.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/MachineSizeOpts.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ModuloSchedule.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ParallelCG.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/Passes.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/PseudoSourceValue.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/Register.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ResourcePriorityQueue.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ScheduleDAG.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ScheduleDFS.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/SelectionDAG.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/SelectionDAGISel.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/SelectionDAGNodes.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/SlotIndexes.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/StackMaps.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/StackProtector.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/TailDuplicator.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/TargetCallingConv.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/TargetFrameLowering.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/TargetInstrInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/TargetLowering.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/TargetPassConfig.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/TargetRegisterInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/TargetSubtargetInfo.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ValueTypes.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/ValueTypes.td vendor/llvm-project/master/llvm/include/llvm/CodeGen/VirtRegMap.h vendor/llvm-project/master/llvm/include/llvm/CodeGen/WasmEHFuncInfo.h vendor/llvm-project/master/llvm/include/llvm/DWARFLinker/DWARFLinker.h vendor/llvm-project/master/llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h vendor/llvm-project/master/llvm/include/llvm/DWARFLinker/DWARFLinkerDeclContext.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/SimpleTypeSerializer.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/TypeCollection.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/TypeSymbolEmitter.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/CodeView/TypeTableCollection.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DIContext.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFObject.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/GSYM/GsymReader.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/GSYM/LineTable.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/GSYM/LookupResult.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/GSYM/Range.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/GenericError.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/IPDBInjectedSource.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/IPDBLineNumber.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/IPDBSession.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeFunctionSig.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypePointer.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeTypedef.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeUDT.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/PDBSymbol.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h vendor/llvm-project/master/llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h vendor/llvm-project/master/llvm/include/llvm/Demangle/Demangle.h vendor/llvm-project/master/llvm/include/llvm/Demangle/ItaniumDemangle.h vendor/llvm-project/master/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/JITSymbol.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/ObjectCache.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/Core.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/Layer.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/Legacy.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/OrcError.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCSerialization.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/RPC/RPCUtils.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/RPC/RawByteChannel.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/Speculation.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h vendor/llvm-project/master/llvm/include/llvm/ExecutionEngine/SectionMemoryManager.h vendor/llvm-project/master/llvm/include/llvm/Frontend/OpenMP/OMPConstants.h vendor/llvm-project/master/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h vendor/llvm-project/master/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def vendor/llvm-project/master/llvm/include/llvm/FuzzMutate/FuzzerCLI.h vendor/llvm-project/master/llvm/include/llvm/FuzzMutate/Random.h vendor/llvm-project/master/llvm/include/llvm/IR/Argument.h vendor/llvm-project/master/llvm/include/llvm/IR/Attributes.h vendor/llvm-project/master/llvm/include/llvm/IR/Attributes.td vendor/llvm-project/master/llvm/include/llvm/IR/AutoUpgrade.h vendor/llvm-project/master/llvm/include/llvm/IR/BasicBlock.h vendor/llvm-project/master/llvm/include/llvm/IR/CFG.h vendor/llvm-project/master/llvm/include/llvm/IR/Constant.h vendor/llvm-project/master/llvm/include/llvm/IR/ConstantFolder.h vendor/llvm-project/master/llvm/include/llvm/IR/ConstantRange.h vendor/llvm-project/master/llvm/include/llvm/IR/Constants.h vendor/llvm-project/master/llvm/include/llvm/IR/ConstrainedOps.def vendor/llvm-project/master/llvm/include/llvm/IR/DIBuilder.h vendor/llvm-project/master/llvm/include/llvm/IR/DataLayout.h vendor/llvm-project/master/llvm/include/llvm/IR/DebugInfo.h vendor/llvm-project/master/llvm/include/llvm/IR/DebugInfoMetadata.h vendor/llvm-project/master/llvm/include/llvm/IR/DebugLoc.h vendor/llvm-project/master/llvm/include/llvm/IR/DerivedTypes.h vendor/llvm-project/master/llvm/include/llvm/IR/DiagnosticInfo.h vendor/llvm-project/master/llvm/include/llvm/IR/Dominators.h vendor/llvm-project/master/llvm/include/llvm/IR/FPEnv.h vendor/llvm-project/master/llvm/include/llvm/IR/Function.h vendor/llvm-project/master/llvm/include/llvm/IR/GetElementPtrTypeIterator.h vendor/llvm-project/master/llvm/include/llvm/IR/GlobalObject.h vendor/llvm-project/master/llvm/include/llvm/IR/GlobalValue.h vendor/llvm-project/master/llvm/include/llvm/IR/GlobalVariable.h vendor/llvm-project/master/llvm/include/llvm/IR/IRBuilder.h vendor/llvm-project/master/llvm/include/llvm/IR/IRPrintingPasses.h vendor/llvm-project/master/llvm/include/llvm/IR/InlineAsm.h vendor/llvm-project/master/llvm/include/llvm/IR/InstVisitor.h vendor/llvm-project/master/llvm/include/llvm/IR/InstrTypes.h vendor/llvm-project/master/llvm/include/llvm/IR/Instruction.h vendor/llvm-project/master/llvm/include/llvm/IR/Instructions.h vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicInst.h vendor/llvm-project/master/llvm/include/llvm/IR/Intrinsics.h vendor/llvm-project/master/llvm/include/llvm/IR/Intrinsics.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsAArch64.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsAMDGPU.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsARM.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsBPF.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsHexagon.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsMips.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsNVVM.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsPowerPC.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsRISCV.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsSystemZ.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsWebAssembly.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsX86.td vendor/llvm-project/master/llvm/include/llvm/IR/IntrinsicsXCore.td vendor/llvm-project/master/llvm/include/llvm/IR/LLVMContext.h vendor/llvm-project/master/llvm/include/llvm/IR/LegacyPassManagers.h vendor/llvm-project/master/llvm/include/llvm/IR/LegacyPassNameParser.h vendor/llvm-project/master/llvm/include/llvm/IR/Mangler.h vendor/llvm-project/master/llvm/include/llvm/IR/Metadata.h vendor/llvm-project/master/llvm/include/llvm/IR/Module.h vendor/llvm-project/master/llvm/include/llvm/IR/ModuleSummaryIndex.h vendor/llvm-project/master/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h vendor/llvm-project/master/llvm/include/llvm/IR/NoFolder.h vendor/llvm-project/master/llvm/include/llvm/IR/Operator.h vendor/llvm-project/master/llvm/include/llvm/IR/PassInstrumentation.h vendor/llvm-project/master/llvm/include/llvm/IR/PassManager.h vendor/llvm-project/master/llvm/include/llvm/IR/PassTimingInfo.h vendor/llvm-project/master/llvm/include/llvm/IR/PatternMatch.h vendor/llvm-project/master/llvm/include/llvm/IR/ProfileSummary.h vendor/llvm-project/master/llvm/include/llvm/IR/RuntimeLibcalls.def vendor/llvm-project/master/llvm/include/llvm/IR/Statepoint.h vendor/llvm-project/master/llvm/include/llvm/IR/Type.h vendor/llvm-project/master/llvm/include/llvm/IR/Use.h vendor/llvm-project/master/llvm/include/llvm/IR/User.h vendor/llvm-project/master/llvm/include/llvm/IR/Value.h vendor/llvm-project/master/llvm/include/llvm/IR/ValueHandle.h vendor/llvm-project/master/llvm/include/llvm/IR/ValueMap.h vendor/llvm-project/master/llvm/include/llvm/IRReader/IRReader.h vendor/llvm-project/master/llvm/include/llvm/InitializePasses.h vendor/llvm-project/master/llvm/include/llvm/LTO/Config.h vendor/llvm-project/master/llvm/include/llvm/LTO/LTO.h vendor/llvm-project/master/llvm/include/llvm/LTO/LTOBackend.h vendor/llvm-project/master/llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h vendor/llvm-project/master/llvm/include/llvm/LTO/legacy/LTOModule.h vendor/llvm-project/master/llvm/include/llvm/LinkAllPasses.h vendor/llvm-project/master/llvm/include/llvm/MC/ConstantPools.h vendor/llvm-project/master/llvm/include/llvm/MC/LaneBitmask.h vendor/llvm-project/master/llvm/include/llvm/MC/MCAsmBackend.h vendor/llvm-project/master/llvm/include/llvm/MC/MCAsmInfo.h vendor/llvm-project/master/llvm/include/llvm/MC/MCAsmLayout.h vendor/llvm-project/master/llvm/include/llvm/MC/MCAssembler.h vendor/llvm-project/master/llvm/include/llvm/MC/MCContext.h vendor/llvm-project/master/llvm/include/llvm/MC/MCDirectives.h vendor/llvm-project/master/llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h vendor/llvm-project/master/llvm/include/llvm/MC/MCDwarf.h vendor/llvm-project/master/llvm/include/llvm/MC/MCELFObjectWriter.h vendor/llvm-project/master/llvm/include/llvm/MC/MCELFStreamer.h vendor/llvm-project/master/llvm/include/llvm/MC/MCExpr.h vendor/llvm-project/master/llvm/include/llvm/MC/MCFixup.h vendor/llvm-project/master/llvm/include/llvm/MC/MCFixupKindInfo.h vendor/llvm-project/master/llvm/include/llvm/MC/MCFragment.h vendor/llvm-project/master/llvm/include/llvm/MC/MCInstPrinter.h vendor/llvm-project/master/llvm/include/llvm/MC/MCInstrDesc.h vendor/llvm-project/master/llvm/include/llvm/MC/MCInstrInfo.h vendor/llvm-project/master/llvm/include/llvm/MC/MCInstrItineraries.h vendor/llvm-project/master/llvm/include/llvm/MC/MCMachObjectWriter.h vendor/llvm-project/master/llvm/include/llvm/MC/MCObjectFileInfo.h vendor/llvm-project/master/llvm/include/llvm/MC/MCObjectStreamer.h vendor/llvm-project/master/llvm/include/llvm/MC/MCObjectWriter.h vendor/llvm-project/master/llvm/include/llvm/MC/MCParser/AsmLexer.h vendor/llvm-project/master/llvm/include/llvm/MC/MCParser/MCAsmParser.h vendor/llvm-project/master/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h vendor/llvm-project/master/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h vendor/llvm-project/master/llvm/include/llvm/MC/MCRegister.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSchedule.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSection.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSectionCOFF.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSectionELF.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSectionMachO.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSectionWasm.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSectionXCOFF.h vendor/llvm-project/master/llvm/include/llvm/MC/MCStreamer.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSubtargetInfo.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSymbolWasm.h vendor/llvm-project/master/llvm/include/llvm/MC/MCSymbolXCOFF.h vendor/llvm-project/master/llvm/include/llvm/MC/MCTargetOptions.h vendor/llvm-project/master/llvm/include/llvm/MC/MCValue.h vendor/llvm-project/master/llvm/include/llvm/MC/MCWasmObjectWriter.h vendor/llvm-project/master/llvm/include/llvm/MC/MCWasmStreamer.h vendor/llvm-project/master/llvm/include/llvm/MC/MCWinCOFFObjectWriter.h vendor/llvm-project/master/llvm/include/llvm/MC/MCWinCOFFStreamer.h vendor/llvm-project/master/llvm/include/llvm/MC/MCXCOFFObjectWriter.h vendor/llvm-project/master/llvm/include/llvm/MC/MCXCOFFStreamer.h vendor/llvm-project/master/llvm/include/llvm/MC/StringTableBuilder.h vendor/llvm-project/master/llvm/include/llvm/MC/SubtargetFeature.h vendor/llvm-project/master/llvm/include/llvm/MCA/CodeEmitter.h vendor/llvm-project/master/llvm/include/llvm/MCA/HardwareUnits/LSUnit.h vendor/llvm-project/master/llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h vendor/llvm-project/master/llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h vendor/llvm-project/master/llvm/include/llvm/MCA/Pipeline.h vendor/llvm-project/master/llvm/include/llvm/MCA/Stages/DispatchStage.h vendor/llvm-project/master/llvm/include/llvm/Object/ArchiveWriter.h vendor/llvm-project/master/llvm/include/llvm/Object/Binary.h vendor/llvm-project/master/llvm/include/llvm/Object/COFF.h vendor/llvm-project/master/llvm/include/llvm/Object/COFFImportFile.h vendor/llvm-project/master/llvm/include/llvm/Object/ELF.h vendor/llvm-project/master/llvm/include/llvm/Object/ELFObjectFile.h vendor/llvm-project/master/llvm/include/llvm/Object/ELFTypes.h vendor/llvm-project/master/llvm/include/llvm/Object/Error.h vendor/llvm-project/master/llvm/include/llvm/Object/IRObjectFile.h vendor/llvm-project/master/llvm/include/llvm/Object/IRSymtab.h vendor/llvm-project/master/llvm/include/llvm/Object/MachO.h vendor/llvm-project/master/llvm/include/llvm/Object/MachOUniversal.h vendor/llvm-project/master/llvm/include/llvm/Object/ModuleSymbolTable.h vendor/llvm-project/master/llvm/include/llvm/Object/ObjectFile.h vendor/llvm-project/master/llvm/include/llvm/Object/SymbolicFile.h vendor/llvm-project/master/llvm/include/llvm/Object/TapiFile.h vendor/llvm-project/master/llvm/include/llvm/Object/TapiUniversal.h vendor/llvm-project/master/llvm/include/llvm/Object/Wasm.h vendor/llvm-project/master/llvm/include/llvm/Object/XCOFFObjectFile.h vendor/llvm-project/master/llvm/include/llvm/ObjectYAML/DWARFEmitter.h vendor/llvm-project/master/llvm/include/llvm/ObjectYAML/DWARFYAML.h vendor/llvm-project/master/llvm/include/llvm/ObjectYAML/ELFYAML.h vendor/llvm-project/master/llvm/include/llvm/ObjectYAML/MachOYAML.h vendor/llvm-project/master/llvm/include/llvm/ObjectYAML/WasmYAML.h vendor/llvm-project/master/llvm/include/llvm/ObjectYAML/yaml2obj.h vendor/llvm-project/master/llvm/include/llvm/Option/OptParser.td vendor/llvm-project/master/llvm/include/llvm/Option/Option.h vendor/llvm-project/master/llvm/include/llvm/Pass.h vendor/llvm-project/master/llvm/include/llvm/PassAnalysisSupport.h vendor/llvm-project/master/llvm/include/llvm/PassSupport.h vendor/llvm-project/master/llvm/include/llvm/Passes/PassBuilder.h vendor/llvm-project/master/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h vendor/llvm-project/master/llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h vendor/llvm-project/master/llvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h vendor/llvm-project/master/llvm/include/llvm/ProfileData/GCOV.h vendor/llvm-project/master/llvm/include/llvm/ProfileData/InstrProf.h vendor/llvm-project/master/llvm/include/llvm/ProfileData/InstrProfData.inc vendor/llvm-project/master/llvm/include/llvm/ProfileData/ProfileCommon.h vendor/llvm-project/master/llvm/include/llvm/ProfileData/SampleProf.h vendor/llvm-project/master/llvm/include/llvm/ProfileData/SampleProfReader.h vendor/llvm-project/master/llvm/include/llvm/ProfileData/SampleProfWriter.h vendor/llvm-project/master/llvm/include/llvm/Remarks/Remark.h vendor/llvm-project/master/llvm/include/llvm/Remarks/RemarkLinker.h vendor/llvm-project/master/llvm/include/llvm/Remarks/RemarkStringTable.h vendor/llvm-project/master/llvm/include/llvm/Support/AArch64TargetParser.def vendor/llvm-project/master/llvm/include/llvm/Support/AArch64TargetParser.h vendor/llvm-project/master/llvm/include/llvm/Support/AMDGPUMetadata.h vendor/llvm-project/master/llvm/include/llvm/Support/ARMAttributeParser.h vendor/llvm-project/master/llvm/include/llvm/Support/ARMBuildAttributes.h vendor/llvm-project/master/llvm/include/llvm/Support/ARMTargetParser.def vendor/llvm-project/master/llvm/include/llvm/Support/ARMTargetParser.h vendor/llvm-project/master/llvm/include/llvm/Support/Alignment.h vendor/llvm-project/master/llvm/include/llvm/Support/Allocator.h vendor/llvm-project/master/llvm/include/llvm/Support/AtomicOrdering.h vendor/llvm-project/master/llvm/include/llvm/Support/BinaryStreamArray.h vendor/llvm-project/master/llvm/include/llvm/Support/BinaryStreamReader.h vendor/llvm-project/master/llvm/include/llvm/Support/BinaryStreamWriter.h vendor/llvm-project/master/llvm/include/llvm/Support/BranchProbability.h vendor/llvm-project/master/llvm/include/llvm/Support/CFGUpdate.h vendor/llvm-project/master/llvm/include/llvm/Support/CachePruning.h vendor/llvm-project/master/llvm/include/llvm/Support/Casting.h vendor/llvm-project/master/llvm/include/llvm/Support/CheckedArithmetic.h vendor/llvm-project/master/llvm/include/llvm/Support/Chrono.h vendor/llvm-project/master/llvm/include/llvm/Support/CommandLine.h vendor/llvm-project/master/llvm/include/llvm/Support/Compiler.h vendor/llvm-project/master/llvm/include/llvm/Support/CrashRecoveryContext.h vendor/llvm-project/master/llvm/include/llvm/Support/DataExtractor.h vendor/llvm-project/master/llvm/include/llvm/Support/DebugCounter.h vendor/llvm-project/master/llvm/include/llvm/Support/Endian.h vendor/llvm-project/master/llvm/include/llvm/Support/Errno.h vendor/llvm-project/master/llvm/include/llvm/Support/Error.h vendor/llvm-project/master/llvm/include/llvm/Support/ErrorHandling.h vendor/llvm-project/master/llvm/include/llvm/Support/ErrorOr.h vendor/llvm-project/master/llvm/include/llvm/Support/FileCheck.h vendor/llvm-project/master/llvm/include/llvm/Support/FileCollector.h vendor/llvm-project/master/llvm/include/llvm/Support/FileOutputBuffer.h vendor/llvm-project/master/llvm/include/llvm/Support/FormatAdapters.h vendor/llvm-project/master/llvm/include/llvm/Support/FormatProviders.h vendor/llvm-project/master/llvm/include/llvm/Support/FormatVariadic.h vendor/llvm-project/master/llvm/include/llvm/Support/FormatVariadicDetails.h vendor/llvm-project/master/llvm/include/llvm/Support/FormattedStream.h vendor/llvm-project/master/llvm/include/llvm/Support/GenericDomTree.h vendor/llvm-project/master/llvm/include/llvm/Support/GenericDomTreeConstruction.h vendor/llvm-project/master/llvm/include/llvm/Support/GenericIteratedDominanceFrontier.h vendor/llvm-project/master/llvm/include/llvm/Support/GlobPattern.h vendor/llvm-project/master/llvm/include/llvm/Support/GraphWriter.h vendor/llvm-project/master/llvm/include/llvm/Support/Host.h vendor/llvm-project/master/llvm/include/llvm/Support/ItaniumManglingCanonicalizer.h vendor/llvm-project/master/llvm/include/llvm/Support/JSON.h vendor/llvm-project/master/llvm/include/llvm/Support/KnownBits.h vendor/llvm-project/master/llvm/include/llvm/Support/LEB128.h vendor/llvm-project/master/llvm/include/llvm/Support/LockFileManager.h vendor/llvm-project/master/llvm/include/llvm/Support/LowLevelTypeImpl.h vendor/llvm-project/master/llvm/include/llvm/Support/MD5.h vendor/llvm-project/master/llvm/include/llvm/Support/MSVCErrorWorkarounds.h vendor/llvm-project/master/llvm/include/llvm/Support/MachineValueType.h vendor/llvm-project/master/llvm/include/llvm/Support/ManagedStatic.h vendor/llvm-project/master/llvm/include/llvm/Support/MathExtras.h vendor/llvm-project/master/llvm/include/llvm/Support/MemAlloc.h vendor/llvm-project/master/llvm/include/llvm/Support/MemoryBuffer.h vendor/llvm-project/master/llvm/include/llvm/Support/NativeFormatting.h vendor/llvm-project/master/llvm/include/llvm/Support/Parallel.h vendor/llvm-project/master/llvm/include/llvm/Support/Path.h vendor/llvm-project/master/llvm/include/llvm/Support/PointerLikeTypeTraits.h vendor/llvm-project/master/llvm/include/llvm/Support/PrettyStackTrace.h vendor/llvm-project/master/llvm/include/llvm/Support/Process.h vendor/llvm-project/master/llvm/include/llvm/Support/Program.h vendor/llvm-project/master/llvm/include/llvm/Support/Regex.h vendor/llvm-project/master/llvm/include/llvm/Support/SHA1.h vendor/llvm-project/master/llvm/include/llvm/Support/ScaledNumber.h vendor/llvm-project/master/llvm/include/llvm/Support/SmallVectorMemoryBuffer.h vendor/llvm-project/master/llvm/include/llvm/Support/SourceMgr.h vendor/llvm-project/master/llvm/include/llvm/Support/SpecialCaseList.h vendor/llvm-project/master/llvm/include/llvm/Support/SwapByteOrder.h vendor/llvm-project/master/llvm/include/llvm/Support/SystemUtils.h vendor/llvm-project/master/llvm/include/llvm/Support/TargetOpcodes.def vendor/llvm-project/master/llvm/include/llvm/Support/TargetParser.h vendor/llvm-project/master/llvm/include/llvm/Support/TaskQueue.h vendor/llvm-project/master/llvm/include/llvm/Support/ThreadPool.h vendor/llvm-project/master/llvm/include/llvm/Support/Threading.h vendor/llvm-project/master/llvm/include/llvm/Support/TimeProfiler.h vendor/llvm-project/master/llvm/include/llvm/Support/Timer.h vendor/llvm-project/master/llvm/include/llvm/Support/ToolOutputFile.h vendor/llvm-project/master/llvm/include/llvm/Support/TrailingObjects.h vendor/llvm-project/master/llvm/include/llvm/Support/TrigramIndex.h vendor/llvm-project/master/llvm/include/llvm/Support/TypeSize.h vendor/llvm-project/master/llvm/include/llvm/Support/VersionTuple.h vendor/llvm-project/master/llvm/include/llvm/Support/VirtualFileSystem.h vendor/llvm-project/master/llvm/include/llvm/Support/WithColor.h vendor/llvm-project/master/llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h vendor/llvm-project/master/llvm/include/llvm/Support/X86TargetParser.def vendor/llvm-project/master/llvm/include/llvm/Support/YAMLParser.h vendor/llvm-project/master/llvm/include/llvm/Support/YAMLTraits.h vendor/llvm-project/master/llvm/include/llvm/Support/circular_raw_ostream.h vendor/llvm-project/master/llvm/include/llvm/Support/raw_ostream.h vendor/llvm-project/master/llvm/include/llvm/Support/type_traits.h vendor/llvm-project/master/llvm/include/llvm/TableGen/Main.h vendor/llvm-project/master/llvm/include/llvm/TableGen/Record.h vendor/llvm-project/master/llvm/include/llvm/TableGen/StringToOffsetTable.h vendor/llvm-project/master/llvm/include/llvm/Target/GenericOpcodes.td vendor/llvm-project/master/llvm/include/llvm/Target/GlobalISel/Combine.td vendor/llvm-project/master/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td vendor/llvm-project/master/llvm/include/llvm/Target/GlobalISel/Target.td vendor/llvm-project/master/llvm/include/llvm/Target/Target.td vendor/llvm-project/master/llvm/include/llvm/Target/TargetCallingConv.td vendor/llvm-project/master/llvm/include/llvm/Target/TargetIntrinsicInfo.h vendor/llvm-project/master/llvm/include/llvm/Target/TargetItinerary.td vendor/llvm-project/master/llvm/include/llvm/Target/TargetLoweringObjectFile.h vendor/llvm-project/master/llvm/include/llvm/Target/TargetMachine.h vendor/llvm-project/master/llvm/include/llvm/Target/TargetOptions.h vendor/llvm-project/master/llvm/include/llvm/Target/TargetSchedule.td vendor/llvm-project/master/llvm/include/llvm/Target/TargetSelectionDAG.td vendor/llvm-project/master/llvm/include/llvm/Testing/Support/Annotations.h vendor/llvm-project/master/llvm/include/llvm/Testing/Support/Error.h vendor/llvm-project/master/llvm/include/llvm/TextAPI/ELF/TBEHandler.h vendor/llvm-project/master/llvm/include/llvm/TextAPI/MachO/Architecture.def vendor/llvm-project/master/llvm/include/llvm/TextAPI/MachO/Architecture.h vendor/llvm-project/master/llvm/include/llvm/TextAPI/MachO/ArchitectureSet.h vendor/llvm-project/master/llvm/include/llvm/TextAPI/MachO/InterfaceFile.h vendor/llvm-project/master/llvm/include/llvm/TextAPI/MachO/PackedVersion.h vendor/llvm-project/master/llvm/include/llvm/TextAPI/MachO/TextAPIReader.h vendor/llvm-project/master/llvm/include/llvm/TextAPI/MachO/TextAPIWriter.h vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO.h vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO/ArgumentPromotion.h vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO/Attributor.h vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO/FunctionImport.h vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO/Inliner.h vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO/LowerTypeTests.h vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO/SyntheticCountsPropagation.h vendor/llvm-project/master/llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h vendor/llvm-project/master/llvm/include/llvm/Transforms/InstCombine/InstCombine.h vendor/llvm-project/master/llvm/include/llvm/Transforms/InstCombine/InstCombineWorklist.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Instrumentation.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Instrumentation/CGProfile.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/Float2Int.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/GVN.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/GVNExpression.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/InductiveRangeCheckElimination.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/JumpThreading.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Scalar/Reassociate.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/Cloning.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/CodeExtractor.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/Debugify.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/Evaluator.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/FunctionComparator.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/Local.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/LoopSimplify.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/LoopUtils.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/LoopVersioning.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/ModuleUtils.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/PredicateInfo.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/SizeOpts.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/UnrollLoop.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Utils/VNCoercion.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Vectorize.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h vendor/llvm-project/master/llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h vendor/llvm-project/master/llvm/include/llvm/XRay/Graph.h vendor/llvm-project/master/llvm/include/llvm/XRay/InstrumentationMap.h vendor/llvm-project/master/llvm/include/llvm/module.modulemap vendor/llvm-project/master/llvm/lib/Analysis/AliasAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp vendor/llvm-project/master/llvm/lib/Analysis/AliasAnalysisSummary.cpp vendor/llvm-project/master/llvm/lib/Analysis/AliasAnalysisSummary.h vendor/llvm-project/master/llvm/lib/Analysis/AliasSetTracker.cpp vendor/llvm-project/master/llvm/lib/Analysis/AssumptionCache.cpp vendor/llvm-project/master/llvm/lib/Analysis/BasicAliasAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/BlockFrequencyInfo.cpp vendor/llvm-project/master/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp vendor/llvm-project/master/llvm/lib/Analysis/BranchProbabilityInfo.cpp vendor/llvm-project/master/llvm/lib/Analysis/CFG.cpp vendor/llvm-project/master/llvm/lib/Analysis/CFGPrinter.cpp vendor/llvm-project/master/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/CGSCCPassManager.cpp vendor/llvm-project/master/llvm/lib/Analysis/CallGraph.cpp vendor/llvm-project/master/llvm/lib/Analysis/CallGraphSCCPass.cpp vendor/llvm-project/master/llvm/lib/Analysis/CallPrinter.cpp vendor/llvm-project/master/llvm/lib/Analysis/CaptureTracking.cpp vendor/llvm-project/master/llvm/lib/Analysis/CodeMetrics.cpp vendor/llvm-project/master/llvm/lib/Analysis/ConstantFolding.cpp vendor/llvm-project/master/llvm/lib/Analysis/DDG.cpp vendor/llvm-project/master/llvm/lib/Analysis/DependenceAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/DependenceGraphBuilder.cpp vendor/llvm-project/master/llvm/lib/Analysis/DivergenceAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/DomPrinter.cpp vendor/llvm-project/master/llvm/lib/Analysis/DomTreeUpdater.cpp vendor/llvm-project/master/llvm/lib/Analysis/GlobalsModRef.cpp vendor/llvm-project/master/llvm/lib/Analysis/GuardUtils.cpp vendor/llvm-project/master/llvm/lib/Analysis/IVDescriptors.cpp vendor/llvm-project/master/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/InlineCost.cpp vendor/llvm-project/master/llvm/lib/Analysis/InstructionPrecedenceTracking.cpp vendor/llvm-project/master/llvm/lib/Analysis/InstructionSimplify.cpp vendor/llvm-project/master/llvm/lib/Analysis/LazyCallGraph.cpp vendor/llvm-project/master/llvm/lib/Analysis/LazyValueInfo.cpp vendor/llvm-project/master/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/Lint.cpp vendor/llvm-project/master/llvm/lib/Analysis/Loads.cpp vendor/llvm-project/master/llvm/lib/Analysis/LoopAccessAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/LoopAnalysisManager.cpp vendor/llvm-project/master/llvm/lib/Analysis/LoopCacheAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/LoopInfo.cpp vendor/llvm-project/master/llvm/lib/Analysis/LoopPass.cpp vendor/llvm-project/master/llvm/lib/Analysis/LoopUnrollAnalyzer.cpp vendor/llvm-project/master/llvm/lib/Analysis/MemDepPrinter.cpp vendor/llvm-project/master/llvm/lib/Analysis/MemDerefPrinter.cpp vendor/llvm-project/master/llvm/lib/Analysis/MemoryBuiltins.cpp vendor/llvm-project/master/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/MemoryLocation.cpp vendor/llvm-project/master/llvm/lib/Analysis/MemorySSA.cpp vendor/llvm-project/master/llvm/lib/Analysis/MemorySSAUpdater.cpp vendor/llvm-project/master/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/MustExecute.cpp vendor/llvm-project/master/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/ObjCARCInstKind.cpp vendor/llvm-project/master/llvm/lib/Analysis/OptimizationRemarkEmitter.cpp vendor/llvm-project/master/llvm/lib/Analysis/ProfileSummaryInfo.cpp vendor/llvm-project/master/llvm/lib/Analysis/RegionPrinter.cpp vendor/llvm-project/master/llvm/lib/Analysis/ScalarEvolution.cpp vendor/llvm-project/master/llvm/lib/Analysis/StackSafetyAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/SyncDependenceAnalysis.cpp vendor/llvm-project/master/llvm/lib/Analysis/SyntheticCountsUtils.cpp vendor/llvm-project/master/llvm/lib/Analysis/TargetLibraryInfo.cpp vendor/llvm-project/master/llvm/lib/Analysis/TargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Analysis/TypeMetadataUtils.cpp vendor/llvm-project/master/llvm/lib/Analysis/VFABIDemangling.cpp vendor/llvm-project/master/llvm/lib/Analysis/ValueLattice.cpp vendor/llvm-project/master/llvm/lib/Analysis/ValueLatticeUtils.cpp vendor/llvm-project/master/llvm/lib/Analysis/ValueTracking.cpp vendor/llvm-project/master/llvm/lib/Analysis/VectorUtils.cpp vendor/llvm-project/master/llvm/lib/AsmParser/LLLexer.cpp vendor/llvm-project/master/llvm/lib/AsmParser/LLLexer.h vendor/llvm-project/master/llvm/lib/AsmParser/LLParser.cpp vendor/llvm-project/master/llvm/lib/AsmParser/LLParser.h vendor/llvm-project/master/llvm/lib/AsmParser/LLToken.h vendor/llvm-project/master/llvm/lib/AsmParser/Parser.cpp vendor/llvm-project/master/llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp vendor/llvm-project/master/llvm/lib/BinaryFormat/Dwarf.cpp vendor/llvm-project/master/llvm/lib/BinaryFormat/Magic.cpp vendor/llvm-project/master/llvm/lib/BinaryFormat/MsgPackDocument.cpp vendor/llvm-project/master/llvm/lib/BinaryFormat/Wasm.cpp vendor/llvm-project/master/llvm/lib/BinaryFormat/XCOFF.cpp vendor/llvm-project/master/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp vendor/llvm-project/master/llvm/lib/Bitcode/Reader/BitcodeReader.cpp vendor/llvm-project/master/llvm/lib/Bitcode/Reader/MetadataLoader.cpp vendor/llvm-project/master/llvm/lib/Bitcode/Reader/MetadataLoader.h vendor/llvm-project/master/llvm/lib/Bitcode/Reader/ValueList.cpp vendor/llvm-project/master/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp vendor/llvm-project/master/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp vendor/llvm-project/master/llvm/lib/Bitcode/Writer/ValueEnumerator.h vendor/llvm-project/master/llvm/lib/Bitstream/Reader/BitstreamReader.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h vendor/llvm-project/master/llvm/lib/CodeGen/AllocationOrder.h vendor/llvm-project/master/llvm/lib/CodeGen/Analysis.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/ByteStreamer.h vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DIE.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DIEHash.h vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfException.h vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/WasmException.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/WinException.cpp vendor/llvm-project/master/llvm/lib/CodeGen/AsmPrinter/WinException.h vendor/llvm-project/master/llvm/lib/CodeGen/AtomicExpandPass.cpp vendor/llvm-project/master/llvm/lib/CodeGen/BranchFolding.cpp vendor/llvm-project/master/llvm/lib/CodeGen/BranchFolding.h vendor/llvm-project/master/llvm/lib/CodeGen/BranchRelaxation.cpp vendor/llvm-project/master/llvm/lib/CodeGen/BreakFalseDeps.cpp vendor/llvm-project/master/llvm/lib/CodeGen/CFIInstrInserter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/CalcSpillWeights.cpp vendor/llvm-project/master/llvm/lib/CodeGen/CallingConvLower.cpp vendor/llvm-project/master/llvm/lib/CodeGen/CodeGen.cpp vendor/llvm-project/master/llvm/lib/CodeGen/CodeGenPrepare.cpp vendor/llvm-project/master/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp vendor/llvm-project/master/llvm/lib/CodeGen/CriticalAntiDepBreaker.h vendor/llvm-project/master/llvm/lib/CodeGen/DwarfEHPrepare.cpp vendor/llvm-project/master/llvm/lib/CodeGen/EarlyIfConversion.cpp vendor/llvm-project/master/llvm/lib/CodeGen/EdgeBundles.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ExpandMemCmp.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ExpandReductions.cpp vendor/llvm-project/master/llvm/lib/CodeGen/FEntryInserter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/FaultMaps.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GCMetadata.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GCRootLowering.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/GISelChangeObserver.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/Localizer.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalISel/Utils.cpp vendor/llvm-project/master/llvm/lib/CodeGen/GlobalMerge.cpp vendor/llvm-project/master/llvm/lib/CodeGen/HardwareLoops.cpp vendor/llvm-project/master/llvm/lib/CodeGen/IfConversion.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ImplicitNullChecks.cpp vendor/llvm-project/master/llvm/lib/CodeGen/InlineSpiller.cpp vendor/llvm-project/master/llvm/lib/CodeGen/InterferenceCache.h vendor/llvm-project/master/llvm/lib/CodeGen/InterleavedAccessPass.cpp vendor/llvm-project/master/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp vendor/llvm-project/master/llvm/lib/CodeGen/IntrinsicLowering.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LLVMTargetMachine.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LexicalScopes.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LiveDebugValues.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LiveDebugVariables.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LiveDebugVariables.h vendor/llvm-project/master/llvm/lib/CodeGen/LiveIntervals.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LivePhysRegs.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LiveRangeCalc.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LiveRangeEdit.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LiveRangeShrink.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LiveVariables.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LowLevelType.cpp vendor/llvm-project/master/llvm/lib/CodeGen/LowerEmuTLS.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MIRCanonicalizerPass.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MIRParser/MILexer.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MIRParser/MILexer.h vendor/llvm-project/master/llvm/lib/CodeGen/MIRParser/MIParser.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MIRParser/MIRParser.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MIRPrinter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MIRVRegNamerUtils.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MIRVRegNamerUtils.h vendor/llvm-project/master/llvm/lib/CodeGen/MachineBasicBlock.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineBlockPlacement.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineCSE.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineCombiner.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineCopyPropagation.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineFrameInfo.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineFunction.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineInstr.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineInstrBundle.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineLICM.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineLoopUtils.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineModuleInfo.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineOperand.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineOutliner.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachinePipeliner.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineSSAUpdater.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineScheduler.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineSink.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineSizeOpts.cpp vendor/llvm-project/master/llvm/lib/CodeGen/MachineVerifier.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ModuloSchedule.cpp vendor/llvm-project/master/llvm/lib/CodeGen/PHIElimination.cpp vendor/llvm-project/master/llvm/lib/CodeGen/PHIEliminationUtils.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ParallelCG.cpp vendor/llvm-project/master/llvm/lib/CodeGen/PatchableFunction.cpp vendor/llvm-project/master/llvm/lib/CodeGen/PeepholeOptimizer.cpp vendor/llvm-project/master/llvm/lib/CodeGen/PostRASchedulerList.cpp vendor/llvm-project/master/llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp vendor/llvm-project/master/llvm/lib/CodeGen/PrologEpilogInserter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ReachingDefAnalysis.cpp vendor/llvm-project/master/llvm/lib/CodeGen/RegAllocBase.cpp vendor/llvm-project/master/llvm/lib/CodeGen/RegAllocBase.h vendor/llvm-project/master/llvm/lib/CodeGen/RegAllocBasic.cpp vendor/llvm-project/master/llvm/lib/CodeGen/RegAllocFast.cpp vendor/llvm-project/master/llvm/lib/CodeGen/RegAllocGreedy.cpp vendor/llvm-project/master/llvm/lib/CodeGen/RegAllocPBQP.cpp vendor/llvm-project/master/llvm/lib/CodeGen/RegUsageInfoPropagate.cpp vendor/llvm-project/master/llvm/lib/CodeGen/RegisterCoalescer.cpp vendor/llvm-project/master/llvm/lib/CodeGen/RegisterPressure.cpp vendor/llvm-project/master/llvm/lib/CodeGen/RegisterScavenging.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SafeStack.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SafeStackLayout.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SafeStackLayout.h vendor/llvm-project/master/llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ScheduleDAG.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.h vendor/llvm-project/master/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ShrinkWrap.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SjLjEHPrepare.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SlotIndexes.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SplitKit.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SplitKit.h vendor/llvm-project/master/llvm/lib/CodeGen/StackColoring.cpp vendor/llvm-project/master/llvm/lib/CodeGen/StackMaps.cpp vendor/llvm-project/master/llvm/lib/CodeGen/StackProtector.cpp vendor/llvm-project/master/llvm/lib/CodeGen/StackSlotColoring.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SwiftErrorValueTracking.cpp vendor/llvm-project/master/llvm/lib/CodeGen/SwitchLoweringUtils.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TailDuplication.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TailDuplicator.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TargetInstrInfo.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TargetLoweringBase.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TargetOptionsImpl.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TargetPassConfig.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TargetRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp vendor/llvm-project/master/llvm/lib/CodeGen/TypePromotion.cpp vendor/llvm-project/master/llvm/lib/CodeGen/UnreachableBlockElim.cpp vendor/llvm-project/master/llvm/lib/CodeGen/ValueTypes.cpp vendor/llvm-project/master/llvm/lib/CodeGen/VirtRegMap.cpp vendor/llvm-project/master/llvm/lib/CodeGen/WasmEHPrepare.cpp vendor/llvm-project/master/llvm/lib/CodeGen/WinEHPrepare.cpp vendor/llvm-project/master/llvm/lib/CodeGen/XRayInstrumentation.cpp vendor/llvm-project/master/llvm/lib/DWARFLinker/DWARFLinker.cpp vendor/llvm-project/master/llvm/lib/DWARFLinker/DWARFLinkerCompileUnit.cpp vendor/llvm-project/master/llvm/lib/DWARFLinker/DWARFLinkerDeclContext.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/AppendingTypeTableBuilder.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/MergingTypeTableBuilder.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/RecordName.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/CodeView/TypeTableCollection.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/GSYM/GsymCreator.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/GSYM/GsymReader.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/GSYM/InlineInfo.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/GSYM/LookupResult.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/GSYM/Range.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/EnumTables.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeCompilandSymbol.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeEnumInjectedSources.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeSymbolEnumerator.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeTypeArray.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeTypeTypedef.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/NativeTypeUDT.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/PDB/PDB.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp vendor/llvm-project/master/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.h vendor/llvm-project/master/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp vendor/llvm-project/master/llvm/lib/Demangle/Demangle.cpp vendor/llvm-project/master/llvm/lib/Demangle/ItaniumDemangle.cpp vendor/llvm-project/master/llvm/lib/Demangle/MicrosoftDemangle.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/ExecutionEngine.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/MachO.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/Core.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/Layer.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/Orc/Speculation.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/OrcError/OrcError.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFI386.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h vendor/llvm-project/master/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h vendor/llvm-project/master/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp vendor/llvm-project/master/llvm/lib/FuzzMutate/FuzzerCLI.cpp vendor/llvm-project/master/llvm/lib/FuzzMutate/Operations.cpp vendor/llvm-project/master/llvm/lib/IR/AbstractCallSite.cpp vendor/llvm-project/master/llvm/lib/IR/AsmWriter.cpp vendor/llvm-project/master/llvm/lib/IR/AttributeImpl.h vendor/llvm-project/master/llvm/lib/IR/Attributes.cpp vendor/llvm-project/master/llvm/lib/IR/AutoUpgrade.cpp vendor/llvm-project/master/llvm/lib/IR/BasicBlock.cpp vendor/llvm-project/master/llvm/lib/IR/ConstantFold.cpp vendor/llvm-project/master/llvm/lib/IR/ConstantFold.h vendor/llvm-project/master/llvm/lib/IR/ConstantRange.cpp vendor/llvm-project/master/llvm/lib/IR/Constants.cpp vendor/llvm-project/master/llvm/lib/IR/ConstantsContext.h vendor/llvm-project/master/llvm/lib/IR/Core.cpp vendor/llvm-project/master/llvm/lib/IR/DIBuilder.cpp vendor/llvm-project/master/llvm/lib/IR/DataLayout.cpp vendor/llvm-project/master/llvm/lib/IR/DebugInfo.cpp vendor/llvm-project/master/llvm/lib/IR/DebugInfoMetadata.cpp vendor/llvm-project/master/llvm/lib/IR/DebugLoc.cpp vendor/llvm-project/master/llvm/lib/IR/DiagnosticInfo.cpp vendor/llvm-project/master/llvm/lib/IR/Dominators.cpp vendor/llvm-project/master/llvm/lib/IR/FPEnv.cpp vendor/llvm-project/master/llvm/lib/IR/Function.cpp vendor/llvm-project/master/llvm/lib/IR/Globals.cpp vendor/llvm-project/master/llvm/lib/IR/IRBuilder.cpp vendor/llvm-project/master/llvm/lib/IR/InlineAsm.cpp vendor/llvm-project/master/llvm/lib/IR/Instruction.cpp vendor/llvm-project/master/llvm/lib/IR/Instructions.cpp vendor/llvm-project/master/llvm/lib/IR/IntrinsicInst.cpp vendor/llvm-project/master/llvm/lib/IR/LLVMContext.cpp vendor/llvm-project/master/llvm/lib/IR/LLVMContextImpl.cpp vendor/llvm-project/master/llvm/lib/IR/LLVMContextImpl.h vendor/llvm-project/master/llvm/lib/IR/LegacyPassManager.cpp vendor/llvm-project/master/llvm/lib/IR/MDBuilder.cpp vendor/llvm-project/master/llvm/lib/IR/Mangler.cpp vendor/llvm-project/master/llvm/lib/IR/Metadata.cpp vendor/llvm-project/master/llvm/lib/IR/Module.cpp vendor/llvm-project/master/llvm/lib/IR/ModuleSummaryIndex.cpp vendor/llvm-project/master/llvm/lib/IR/Operator.cpp vendor/llvm-project/master/llvm/lib/IR/Pass.cpp vendor/llvm-project/master/llvm/lib/IR/PassManager.cpp vendor/llvm-project/master/llvm/lib/IR/PassRegistry.cpp vendor/llvm-project/master/llvm/lib/IR/PassTimingInfo.cpp vendor/llvm-project/master/llvm/lib/IR/ProfileSummary.cpp vendor/llvm-project/master/llvm/lib/IR/SafepointIRVerifier.cpp vendor/llvm-project/master/llvm/lib/IR/Statepoint.cpp vendor/llvm-project/master/llvm/lib/IR/SymbolTableListTraitsImpl.h vendor/llvm-project/master/llvm/lib/IR/Type.cpp vendor/llvm-project/master/llvm/lib/IR/Use.cpp vendor/llvm-project/master/llvm/lib/IR/User.cpp vendor/llvm-project/master/llvm/lib/IR/Value.cpp vendor/llvm-project/master/llvm/lib/IR/ValueSymbolTable.cpp vendor/llvm-project/master/llvm/lib/IR/Verifier.cpp vendor/llvm-project/master/llvm/lib/IRReader/IRReader.cpp vendor/llvm-project/master/llvm/lib/LTO/Caching.cpp vendor/llvm-project/master/llvm/lib/LTO/LTO.cpp vendor/llvm-project/master/llvm/lib/LTO/LTOBackend.cpp vendor/llvm-project/master/llvm/lib/LTO/LTOCodeGenerator.cpp vendor/llvm-project/master/llvm/lib/LTO/LTOModule.cpp vendor/llvm-project/master/llvm/lib/LTO/ThinLTOCodeGenerator.cpp vendor/llvm-project/master/llvm/lib/LTO/UpdateCompilerUsed.cpp vendor/llvm-project/master/llvm/lib/LineEditor/LineEditor.cpp vendor/llvm-project/master/llvm/lib/Linker/IRMover.cpp vendor/llvm-project/master/llvm/lib/MC/ConstantPools.cpp vendor/llvm-project/master/llvm/lib/MC/ELFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/MC/MCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/MC/MCAsmInfoCOFF.cpp vendor/llvm-project/master/llvm/lib/MC/MCAsmInfoDarwin.cpp vendor/llvm-project/master/llvm/lib/MC/MCAsmInfoXCOFF.cpp vendor/llvm-project/master/llvm/lib/MC/MCAsmStreamer.cpp vendor/llvm-project/master/llvm/lib/MC/MCAssembler.cpp vendor/llvm-project/master/llvm/lib/MC/MCCodeView.cpp vendor/llvm-project/master/llvm/lib/MC/MCContext.cpp vendor/llvm-project/master/llvm/lib/MC/MCDisassembler/MCDisassembler.cpp vendor/llvm-project/master/llvm/lib/MC/MCDwarf.cpp vendor/llvm-project/master/llvm/lib/MC/MCELFStreamer.cpp vendor/llvm-project/master/llvm/lib/MC/MCExpr.cpp vendor/llvm-project/master/llvm/lib/MC/MCFragment.cpp vendor/llvm-project/master/llvm/lib/MC/MCInstPrinter.cpp vendor/llvm-project/master/llvm/lib/MC/MCInstrAnalysis.cpp vendor/llvm-project/master/llvm/lib/MC/MCInstrDesc.cpp vendor/llvm-project/master/llvm/lib/MC/MCMachOStreamer.cpp vendor/llvm-project/master/llvm/lib/MC/MCNullStreamer.cpp vendor/llvm-project/master/llvm/lib/MC/MCObjectFileInfo.cpp vendor/llvm-project/master/llvm/lib/MC/MCObjectStreamer.cpp vendor/llvm-project/master/llvm/lib/MC/MCParser/AsmLexer.cpp vendor/llvm-project/master/llvm/lib/MC/MCParser/AsmParser.cpp vendor/llvm-project/master/llvm/lib/MC/MCParser/COFFAsmParser.cpp vendor/llvm-project/master/llvm/lib/MC/MCParser/DarwinAsmParser.cpp vendor/llvm-project/master/llvm/lib/MC/MCParser/ELFAsmParser.cpp vendor/llvm-project/master/llvm/lib/MC/MCParser/MCAsmParser.cpp vendor/llvm-project/master/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp vendor/llvm-project/master/llvm/lib/MC/MCParser/WasmAsmParser.cpp vendor/llvm-project/master/llvm/lib/MC/MCSection.cpp vendor/llvm-project/master/llvm/lib/MC/MCSectionCOFF.cpp vendor/llvm-project/master/llvm/lib/MC/MCSectionELF.cpp vendor/llvm-project/master/llvm/lib/MC/MCSectionMachO.cpp vendor/llvm-project/master/llvm/lib/MC/MCSectionWasm.cpp vendor/llvm-project/master/llvm/lib/MC/MCSectionXCOFF.cpp vendor/llvm-project/master/llvm/lib/MC/MCStreamer.cpp vendor/llvm-project/master/llvm/lib/MC/MCSubtargetInfo.cpp vendor/llvm-project/master/llvm/lib/MC/MCTargetOptions.cpp vendor/llvm-project/master/llvm/lib/MC/MCWasmStreamer.cpp vendor/llvm-project/master/llvm/lib/MC/MCWin64EH.cpp vendor/llvm-project/master/llvm/lib/MC/MCWinCOFFStreamer.cpp vendor/llvm-project/master/llvm/lib/MC/MCXCOFFStreamer.cpp vendor/llvm-project/master/llvm/lib/MC/MachObjectWriter.cpp vendor/llvm-project/master/llvm/lib/MC/SubtargetFeature.cpp vendor/llvm-project/master/llvm/lib/MC/WasmObjectWriter.cpp vendor/llvm-project/master/llvm/lib/MC/WinCOFFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/MC/XCOFFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/MCA/CodeEmitter.cpp vendor/llvm-project/master/llvm/lib/MCA/HardwareUnits/LSUnit.cpp vendor/llvm-project/master/llvm/lib/MCA/InstrBuilder.cpp vendor/llvm-project/master/llvm/lib/Object/Archive.cpp vendor/llvm-project/master/llvm/lib/Object/ArchiveWriter.cpp vendor/llvm-project/master/llvm/lib/Object/COFFImportFile.cpp vendor/llvm-project/master/llvm/lib/Object/COFFModuleDefinition.cpp vendor/llvm-project/master/llvm/lib/Object/COFFObjectFile.cpp vendor/llvm-project/master/llvm/lib/Object/ELF.cpp vendor/llvm-project/master/llvm/lib/Object/ELFObjectFile.cpp vendor/llvm-project/master/llvm/lib/Object/Error.cpp vendor/llvm-project/master/llvm/lib/Object/IRObjectFile.cpp vendor/llvm-project/master/llvm/lib/Object/IRSymtab.cpp vendor/llvm-project/master/llvm/lib/Object/MachOObjectFile.cpp vendor/llvm-project/master/llvm/lib/Object/ModuleSymbolTable.cpp vendor/llvm-project/master/llvm/lib/Object/ObjectFile.cpp vendor/llvm-project/master/llvm/lib/Object/RecordStreamer.cpp vendor/llvm-project/master/llvm/lib/Object/RecordStreamer.h vendor/llvm-project/master/llvm/lib/Object/RelocationResolver.cpp vendor/llvm-project/master/llvm/lib/Object/SymbolSize.cpp vendor/llvm-project/master/llvm/lib/Object/TapiFile.cpp vendor/llvm-project/master/llvm/lib/Object/TapiUniversal.cpp vendor/llvm-project/master/llvm/lib/Object/WasmObjectFile.cpp vendor/llvm-project/master/llvm/lib/Object/WindowsResource.cpp vendor/llvm-project/master/llvm/lib/Object/XCOFFObjectFile.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/COFFEmitter.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/DWARFEmitter.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/DWARFVisitor.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/DWARFVisitor.h vendor/llvm-project/master/llvm/lib/ObjectYAML/DWARFYAML.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/ELFEmitter.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/ELFYAML.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/MachOEmitter.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/MachOYAML.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/WasmEmitter.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/WasmYAML.cpp vendor/llvm-project/master/llvm/lib/ObjectYAML/yaml2obj.cpp vendor/llvm-project/master/llvm/lib/Option/Arg.cpp vendor/llvm-project/master/llvm/lib/Option/ArgList.cpp vendor/llvm-project/master/llvm/lib/Option/OptTable.cpp vendor/llvm-project/master/llvm/lib/Passes/PassBuilder.cpp vendor/llvm-project/master/llvm/lib/Passes/PassRegistry.def vendor/llvm-project/master/llvm/lib/Passes/StandardInstrumentations.cpp vendor/llvm-project/master/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp vendor/llvm-project/master/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp vendor/llvm-project/master/llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp vendor/llvm-project/master/llvm/lib/ProfileData/GCOV.cpp vendor/llvm-project/master/llvm/lib/ProfileData/InstrProf.cpp vendor/llvm-project/master/llvm/lib/ProfileData/InstrProfReader.cpp vendor/llvm-project/master/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp vendor/llvm-project/master/llvm/lib/ProfileData/SampleProf.cpp vendor/llvm-project/master/llvm/lib/ProfileData/SampleProfReader.cpp vendor/llvm-project/master/llvm/lib/ProfileData/SampleProfWriter.cpp vendor/llvm-project/master/llvm/lib/Remarks/BitstreamRemarkParser.cpp vendor/llvm-project/master/llvm/lib/Remarks/Remark.cpp vendor/llvm-project/master/llvm/lib/Remarks/RemarkLinker.cpp vendor/llvm-project/master/llvm/lib/Remarks/RemarkStringTable.cpp vendor/llvm-project/master/llvm/lib/Remarks/YAMLRemarkParser.cpp vendor/llvm-project/master/llvm/lib/Remarks/YAMLRemarkParser.h vendor/llvm-project/master/llvm/lib/Support/AArch64TargetParser.cpp vendor/llvm-project/master/llvm/lib/Support/AMDGPUMetadata.cpp vendor/llvm-project/master/llvm/lib/Support/APFloat.cpp vendor/llvm-project/master/llvm/lib/Support/APInt.cpp vendor/llvm-project/master/llvm/lib/Support/APSInt.cpp vendor/llvm-project/master/llvm/lib/Support/ARMAttributeParser.cpp vendor/llvm-project/master/llvm/lib/Support/ARMBuildAttrs.cpp vendor/llvm-project/master/llvm/lib/Support/ARMTargetParser.cpp vendor/llvm-project/master/llvm/lib/Support/BranchProbability.cpp vendor/llvm-project/master/llvm/lib/Support/CRC.cpp vendor/llvm-project/master/llvm/lib/Support/CachePruning.cpp vendor/llvm-project/master/llvm/lib/Support/CodeGenCoverage.cpp vendor/llvm-project/master/llvm/lib/Support/CommandLine.cpp vendor/llvm-project/master/llvm/lib/Support/Compression.cpp vendor/llvm-project/master/llvm/lib/Support/ConvertUTFWrapper.cpp vendor/llvm-project/master/llvm/lib/Support/CrashRecoveryContext.cpp vendor/llvm-project/master/llvm/lib/Support/DataExtractor.cpp vendor/llvm-project/master/llvm/lib/Support/Debug.cpp vendor/llvm-project/master/llvm/lib/Support/DebugCounter.cpp vendor/llvm-project/master/llvm/lib/Support/ErrorHandling.cpp vendor/llvm-project/master/llvm/lib/Support/FileCheck.cpp vendor/llvm-project/master/llvm/lib/Support/FileCheckImpl.h vendor/llvm-project/master/llvm/lib/Support/FileCollector.cpp vendor/llvm-project/master/llvm/lib/Support/FileOutputBuffer.cpp vendor/llvm-project/master/llvm/lib/Support/FileUtilities.cpp vendor/llvm-project/master/llvm/lib/Support/FoldingSet.cpp vendor/llvm-project/master/llvm/lib/Support/FormatVariadic.cpp vendor/llvm-project/master/llvm/lib/Support/FormattedStream.cpp vendor/llvm-project/master/llvm/lib/Support/GraphWriter.cpp vendor/llvm-project/master/llvm/lib/Support/Host.cpp vendor/llvm-project/master/llvm/lib/Support/InitLLVM.cpp vendor/llvm-project/master/llvm/lib/Support/IntEqClasses.cpp vendor/llvm-project/master/llvm/lib/Support/IntervalMap.cpp vendor/llvm-project/master/llvm/lib/Support/ItaniumManglingCanonicalizer.cpp vendor/llvm-project/master/llvm/lib/Support/KnownBits.cpp vendor/llvm-project/master/llvm/lib/Support/LockFileManager.cpp vendor/llvm-project/master/llvm/lib/Support/MD5.cpp vendor/llvm-project/master/llvm/lib/Support/MemoryBuffer.cpp vendor/llvm-project/master/llvm/lib/Support/NativeFormatting.cpp vendor/llvm-project/master/llvm/lib/Support/Parallel.cpp vendor/llvm-project/master/llvm/lib/Support/Path.cpp vendor/llvm-project/master/llvm/lib/Support/PrettyStackTrace.cpp vendor/llvm-project/master/llvm/lib/Support/Process.cpp vendor/llvm-project/master/llvm/lib/Support/Program.cpp vendor/llvm-project/master/llvm/lib/Support/RandomNumberGenerator.cpp vendor/llvm-project/master/llvm/lib/Support/Regex.cpp vendor/llvm-project/master/llvm/lib/Support/SHA1.cpp vendor/llvm-project/master/llvm/lib/Support/Signals.cpp vendor/llvm-project/master/llvm/lib/Support/SmallVector.cpp vendor/llvm-project/master/llvm/lib/Support/SourceMgr.cpp vendor/llvm-project/master/llvm/lib/Support/SpecialCaseList.cpp vendor/llvm-project/master/llvm/lib/Support/Statistic.cpp vendor/llvm-project/master/llvm/lib/Support/StringExtras.cpp vendor/llvm-project/master/llvm/lib/Support/StringMap.cpp vendor/llvm-project/master/llvm/lib/Support/StringRef.cpp vendor/llvm-project/master/llvm/lib/Support/SystemUtils.cpp vendor/llvm-project/master/llvm/lib/Support/TarWriter.cpp vendor/llvm-project/master/llvm/lib/Support/TargetParser.cpp vendor/llvm-project/master/llvm/lib/Support/ThreadPool.cpp vendor/llvm-project/master/llvm/lib/Support/Threading.cpp vendor/llvm-project/master/llvm/lib/Support/TimeProfiler.cpp vendor/llvm-project/master/llvm/lib/Support/Timer.cpp vendor/llvm-project/master/llvm/lib/Support/ToolOutputFile.cpp vendor/llvm-project/master/llvm/lib/Support/TrigramIndex.cpp vendor/llvm-project/master/llvm/lib/Support/Triple.cpp vendor/llvm-project/master/llvm/lib/Support/Unix/Host.inc vendor/llvm-project/master/llvm/lib/Support/Unix/Memory.inc vendor/llvm-project/master/llvm/lib/Support/Unix/Path.inc vendor/llvm-project/master/llvm/lib/Support/Unix/Process.inc vendor/llvm-project/master/llvm/lib/Support/Unix/Program.inc vendor/llvm-project/master/llvm/lib/Support/Unix/Threading.inc vendor/llvm-project/master/llvm/lib/Support/Unix/Unix.h vendor/llvm-project/master/llvm/lib/Support/VersionTuple.cpp vendor/llvm-project/master/llvm/lib/Support/VirtualFileSystem.cpp vendor/llvm-project/master/llvm/lib/Support/Windows/DynamicLibrary.inc vendor/llvm-project/master/llvm/lib/Support/Windows/Host.inc vendor/llvm-project/master/llvm/lib/Support/Windows/Memory.inc vendor/llvm-project/master/llvm/lib/Support/Windows/Path.inc vendor/llvm-project/master/llvm/lib/Support/Windows/Process.inc vendor/llvm-project/master/llvm/lib/Support/Windows/Program.inc vendor/llvm-project/master/llvm/lib/Support/Windows/Signals.inc vendor/llvm-project/master/llvm/lib/Support/Windows/ThreadLocal.inc vendor/llvm-project/master/llvm/lib/Support/Windows/Threading.inc vendor/llvm-project/master/llvm/lib/Support/WithColor.cpp vendor/llvm-project/master/llvm/lib/Support/YAMLParser.cpp vendor/llvm-project/master/llvm/lib/Support/YAMLTraits.cpp vendor/llvm-project/master/llvm/lib/Support/Z3Solver.cpp vendor/llvm-project/master/llvm/lib/Support/raw_ostream.cpp vendor/llvm-project/master/llvm/lib/TableGen/Main.cpp vendor/llvm-project/master/llvm/lib/TableGen/Record.cpp vendor/llvm-project/master/llvm/lib/TableGen/SetTheory.cpp vendor/llvm-project/master/llvm/lib/TableGen/TGLexer.cpp vendor/llvm-project/master/llvm/lib/TableGen/TGLexer.h vendor/llvm-project/master/llvm/lib/TableGen/TGParser.cpp vendor/llvm-project/master/llvm/lib/TableGen/TGParser.h vendor/llvm-project/master/llvm/lib/TableGen/TableGenBackend.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64BranchTargets.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64CallingConvention.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64CallingConvention.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64Combine.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64FastISel.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64FrameLowering.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64ISelLowering.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64InstrFormats.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64InstrInfo.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64InstrInfo.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64RegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64RegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedA53.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedA57.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedCyclone.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedFalkor.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedFalkorDetails.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedKryo.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedKryoDetails.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedThunderX.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64StackOffset.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64StackTagging.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64Subtarget.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64Subtarget.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64SystemOperands.td vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64TargetMachine.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64TargetObjectFile.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/AArch64/SVEInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPU.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPU.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUFeatures.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUGISel.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUInline.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPULibFunc.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUPropagateAttributes.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/BUFInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/CaymanInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/DSInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/EvergreenInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/FLATInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNProcessors.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNRegPressure.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/MIMGInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600AsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600AsmPrinter.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600FrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600FrameLowering.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600Instructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600RegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/R600RegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIAddIMGInit.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIDefines.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIISelLowering.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIInsertSkips.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIMachineScheduler.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIModeRegister.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIRemoveShortExecBranches.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SISchedule.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SMInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/SOPInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp vendor/llvm-project/master/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.h vendor/llvm-project/master/llvm/lib/Target/AMDGPU/VOP1Instructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/VOP2Instructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/VOP3Instructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/VOP3PInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/VOPCInstructions.td vendor/llvm-project/master/llvm/lib/Target/AMDGPU/VOPInstructions.td vendor/llvm-project/master/llvm/lib/Target/ARC/ARCAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/ARC/ARCFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/ARC/ARCFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/ARC/ARCISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/ARC/ARCInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/ARC/ARCInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARC/ARCInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/ARC/ARCInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/ARC/ARCMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/ARC/ARCRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARC/ARCRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/ARC/ARCRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/ARC/ARCTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARM.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARM.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMAsmPrinter.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMBaseInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMBasicBlockInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMBasicBlockInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMCallLowering.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMCallingConv.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMCallingConv.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMConstantPoolValue.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMConstantPoolValue.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMFastISel.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMISelLowering.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstrMVE.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstrNEON.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstrThumb.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstrThumb2.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstrVFP.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMInstructionSelector.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMLegalizerInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMMCInstLower.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMParallelDSP.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMPredicates.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMScheduleA57.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMScheduleSwift.td vendor/llvm-project/master/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMSelectionDAGInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMSubtarget.h vendor/llvm-project/master/llvm/lib/Target/ARM/ARMTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ARMTargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h vendor/llvm-project/master/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MVETailPredication.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/MVEVPTBlockPass.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/Thumb1FrameLowering.h vendor/llvm-project/master/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/Thumb1InstrInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/Thumb2InstrInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ThumbRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/ThumbRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/ARM/Utils/ARMBaseInfo.cpp vendor/llvm-project/master/llvm/lib/Target/ARM/Utils/ARMBaseInfo.h vendor/llvm-project/master/llvm/lib/Target/AVR/AVRAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AVRCallingConv.td vendor/llvm-project/master/llvm/lib/Target/AVR/AVRDevices.td vendor/llvm-project/master/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AVRFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AVRFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AVRISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AVRISelLowering.h vendor/llvm-project/master/llvm/lib/Target/AVR/AVRInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/AVR/AVRInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AVRInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/AVR/AVRInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/AVR/AVRMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/AVR/AVRRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AVRRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/AVR/AVRRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/AVR/AVRSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AVRSubtarget.h vendor/llvm-project/master/llvm/lib/Target/AVR/AVRTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AVRTargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRFixupKinds.h vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/AVR/MCTargetDesc/AVRTargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BPF.h vendor/llvm-project/master/llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BPFAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BPFCORE.h vendor/llvm-project/master/llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BPFISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BPFISelLowering.h vendor/llvm-project/master/llvm/lib/Target/BPF/BPFInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BPFInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/BPF/BPFInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/BPF/BPFMCInstLower.h vendor/llvm-project/master/llvm/lib/Target/BPF/BPFMIPeephole.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BPFSelectionDAGInfo.h vendor/llvm-project/master/llvm/lib/Target/BPF/BPFTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BTFDebug.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/BTFDebug.h vendor/llvm-project/master/llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h vendor/llvm-project/master/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/BitTracker.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/Hexagon.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonAsmPrinter.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonBitTracker.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonCallingConv.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepArch.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepArch.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepDecoders.inc vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepIICHVX.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepIICScalar.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepITypes.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepITypes.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepMappings.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepOperands.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonDepTimingClasses.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonIICScalar.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonISelLowering.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonInstrFormatsV65.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonIntrinsics.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonIntrinsicsV60.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonPatterns.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonPeephole.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonPseudo.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonSchedule.td vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonSubtarget.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonTargetStreamer.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonVExtract.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/HexagonVectorPrint.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFCopy.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFCopy.h vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFDeadCode.cpp vendor/llvm-project/master/llvm/lib/Target/Hexagon/RDFDeadCode.h vendor/llvm-project/master/llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/Lanai.h vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiMCInstLower.h vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiMachineFunctionInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiSelectionDAGInfo.h vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiTargetMachine.h vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiTargetObjectFile.h vendor/llvm-project/master/llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h vendor/llvm-project/master/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430.h vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430FrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430FrameLowering.h vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430ISelLowering.h vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430InstrInfo.h vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430MCInstLower.h vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430MachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430RegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430Subtarget.cpp vendor/llvm-project/master/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MicroMipsInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/Mips/MicroMipsInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/Mips.td vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16FrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16FrameLowering.h vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16HardFloat.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16ISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16InstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16InstrInfo.h vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16InstrInfo.td vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16RegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/Mips16RegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/Mips/Mips64InstrInfo.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsAsmPrinter.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsBranchExpansion.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsCCState.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsCallLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsDSPInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsFastISel.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsISelLowering.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsInstrFPU.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsInstructionSelector.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsLegalizerInfo.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsMSAInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsMachineFunction.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsMachineFunction.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsOptimizePICCall.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsRegisterBankInfo.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSEFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSEISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSEInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSERegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSchedule.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsScheduleGeneric.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsScheduleP5600.td vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsSubtarget.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/Mips/MipsTargetObjectFile.h vendor/llvm-project/master/llvm/lib/Target/Mips/MipsTargetStreamer.h vendor/llvm-project/master/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h vendor/llvm-project/master/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTX.h vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTX.td vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXISelLowering.h vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXTargetObjectFile.h vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/NVPTX/NVPTXUtilities.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/P9InstrResources.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPC.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPC.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCBranchSelector.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCCallingConv.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCExpandISEL.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCFastISel.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCISelLowering.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstr64Bit.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrAltivec.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrHTM.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrQPX.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrSPE.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCInstrVSX.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCMachineScheduler.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCScheduleP9.td vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCSubtarget.h vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCV.h vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCV.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVISelLowering.h vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfoA.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfoC.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfoD.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfoF.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstrInfoM.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVInstructionSelector.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVSubtarget.h vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVSystemOperands.td vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVTargetObjectFile.h vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp vendor/llvm-project/master/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h vendor/llvm-project/master/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/LeonFeatures.td vendor/llvm-project/master/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/Sparc/Sparc.h vendor/llvm-project/master/llvm/lib/Target/Sparc/Sparc.td vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcCallingConv.td vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcISelLowering.h vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcInstrAliases.td vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcSchedule.td vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZ.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZAsmPrinter.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZCallingConv.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZConstantPoolValue.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZConstantPoolValue.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZFeatures.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZISelLowering.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZInstrBuilder.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZInstrFP.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZInstrVector.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZOperands.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZOperators.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZPatterns.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZProcessors.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZShortenInst.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZSubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZSubtarget.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZTDC.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZTargetMachine.h vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/Target.cpp vendor/llvm-project/master/llvm/lib/Target/TargetLoweringObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/TargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/TargetMachineC.cpp vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/VE/TargetInfo/VETargetInfo.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VE.h vendor/llvm-project/master/llvm/lib/Target/VE/VE.td vendor/llvm-project/master/llvm/lib/Target/VE/VEAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VECallingConv.td vendor/llvm-project/master/llvm/lib/Target/VE/VEFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VEFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/VE/VEISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VEISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VEISelLowering.h vendor/llvm-project/master/llvm/lib/Target/VE/VEInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/VE/VEInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VEInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/VE/VEInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/VE/VEMCInstLower.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VERegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VERegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/VE/VERegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/VE/VESubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VESubtarget.h vendor/llvm-project/master/llvm/lib/Target/VE/VETargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/VE/VETargetMachine.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyFixupKinds.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssembly.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssembly.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyISD.def vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyPeephole.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp vendor/llvm-project/master/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h vendor/llvm-project/master/llvm/lib/Target/WebAssembly/known_gcc_test_failures.txt vendor/llvm-project/master/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp vendor/llvm-project/master/llvm/lib/Target/X86/AsmParser/X86Operand.h vendor/llvm-project/master/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp vendor/llvm-project/master/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.h vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86.h vendor/llvm-project/master/llvm/lib/Target/X86/X86.td vendor/llvm-project/master/llvm/lib/Target/X86/X86AsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86AsmPrinter.h vendor/llvm-project/master/llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86AvoidTrailingCall.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86CallFrameOptimization.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86CallLowering.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86CallLowering.h vendor/llvm-project/master/llvm/lib/Target/X86/X86CallingConv.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86CallingConv.td vendor/llvm-project/master/llvm/lib/Target/X86/X86CmovConversion.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86DiscriminateMemOps.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86DomainReassignment.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86EvexToVex.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86ExpandPseudo.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86FastISel.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86FixupBWInsts.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86FixupLEAs.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86FixupSetCC.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86FloatingPoint.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86FrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86FrameLowering.h vendor/llvm-project/master/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86ISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86ISelLowering.h vendor/llvm-project/master/llvm/lib/Target/X86/X86IndirectBranchTracking.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86InsertPrefetch.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrAVX512.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrArithmetic.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrBuilder.h vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrCompiler.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrControl.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrFMA.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrFMA3Info.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrFMA3Info.h vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrFPStack.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrFoldTables.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrFoldTables.h vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrFormats.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrInfo.h vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrInfo.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrMMX.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrSGX.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrSSE.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrShiftRotate.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrSystem.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrTSX.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrVMX.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstrXOP.td vendor/llvm-project/master/llvm/lib/Target/X86/X86InstructionSelector.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86InterleavedAccess.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86IntrinsicsInfo.h vendor/llvm-project/master/llvm/lib/Target/X86/X86LegalizerInfo.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86LegalizerInfo.h vendor/llvm-project/master/llvm/lib/Target/X86/X86MCInstLower.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86MachineFunctionInfo.h vendor/llvm-project/master/llvm/lib/Target/X86/X86MacroFusion.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86MacroFusion.h vendor/llvm-project/master/llvm/lib/Target/X86/X86OptimizeLEAs.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86PadShortFunction.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86PfmCounters.td vendor/llvm-project/master/llvm/lib/Target/X86/X86RegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86RegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/X86/X86RegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/X86/X86SchedBroadwell.td vendor/llvm-project/master/llvm/lib/Target/X86/X86SchedHaswell.td vendor/llvm-project/master/llvm/lib/Target/X86/X86SchedSandyBridge.td vendor/llvm-project/master/llvm/lib/Target/X86/X86SchedSkylakeClient.td vendor/llvm-project/master/llvm/lib/Target/X86/X86SchedSkylakeServer.td vendor/llvm-project/master/llvm/lib/Target/X86/X86Schedule.td vendor/llvm-project/master/llvm/lib/Target/X86/X86ScheduleAtom.td vendor/llvm-project/master/llvm/lib/Target/X86/X86ScheduleBdVer2.td vendor/llvm-project/master/llvm/lib/Target/X86/X86ScheduleBtVer2.td vendor/llvm-project/master/llvm/lib/Target/X86/X86ScheduleSLM.td vendor/llvm-project/master/llvm/lib/Target/X86/X86ScheduleZnver1.td vendor/llvm-project/master/llvm/lib/Target/X86/X86ScheduleZnver2.td vendor/llvm-project/master/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86SelectionDAGInfo.h vendor/llvm-project/master/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.h vendor/llvm-project/master/llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86Subtarget.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86Subtarget.h vendor/llvm-project/master/llvm/lib/Target/X86/X86TargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86TargetMachine.h vendor/llvm-project/master/llvm/lib/Target/X86/X86TargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86TargetObjectFile.h vendor/llvm-project/master/llvm/lib/Target/X86/X86TargetTransformInfo.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86TargetTransformInfo.h vendor/llvm-project/master/llvm/lib/Target/X86/X86VZeroUpper.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86WinAllocaExpander.cpp vendor/llvm-project/master/llvm/lib/Target/X86/X86WinEHState.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h vendor/llvm-project/master/llvm/lib/Target/XCore/XCore.h vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreFrameLowering.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreFrameLowering.h vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreISelLowering.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreISelLowering.h vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreInstrInfo.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreInstrInfo.h vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreInstrInfo.td vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreMCInstLower.h vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreRegisterInfo.h vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreRegisterInfo.td vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.h vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreTargetMachine.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreTargetObjectFile.cpp vendor/llvm-project/master/llvm/lib/Target/XCore/XCoreTargetObjectFile.h vendor/llvm-project/master/llvm/lib/TextAPI/MachO/Architecture.cpp vendor/llvm-project/master/llvm/lib/TextAPI/MachO/ArchitectureSet.cpp vendor/llvm-project/master/llvm/lib/TextAPI/MachO/InterfaceFile.cpp vendor/llvm-project/master/llvm/lib/TextAPI/MachO/TextAPIContext.h vendor/llvm-project/master/llvm/lib/TextAPI/MachO/TextStub.cpp vendor/llvm-project/master/llvm/lib/TextAPI/MachO/TextStubCommon.cpp vendor/llvm-project/master/llvm/lib/TextAPI/MachO/TextStubCommon.h vendor/llvm-project/master/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp vendor/llvm-project/master/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp vendor/llvm-project/master/llvm/lib/ToolDrivers/llvm-lib/Options.td vendor/llvm-project/master/llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp vendor/llvm-project/master/llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombineInternal.h vendor/llvm-project/master/llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp vendor/llvm-project/master/llvm/lib/Transforms/CFGuard/CFGuard.cpp vendor/llvm-project/master/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp vendor/llvm-project/master/llvm/lib/Transforms/Coroutines/CoroEarly.cpp vendor/llvm-project/master/llvm/lib/Transforms/Coroutines/CoroElide.cpp vendor/llvm-project/master/llvm/lib/Transforms/Coroutines/CoroFrame.cpp vendor/llvm-project/master/llvm/lib/Transforms/Coroutines/CoroInstr.h vendor/llvm-project/master/llvm/lib/Transforms/Coroutines/CoroInternal.h vendor/llvm-project/master/llvm/lib/Transforms/Coroutines/CoroSplit.cpp vendor/llvm-project/master/llvm/lib/Transforms/Coroutines/Coroutines.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/AlwaysInliner.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/Attributor.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/BlockExtractor.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/CalledValuePropagation.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/ConstantMerge.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/ExtractGV.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/FunctionAttrs.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/FunctionImport.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/GlobalDCE.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/GlobalOpt.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/GlobalSplit.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/HotColdSplitting.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/IPO.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/InlineSimple.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/Inliner.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/LoopExtractor.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/LowerTypeTests.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/MergeFunctions.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/PartialInlining.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/PruneEH.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/SampleProfile.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/StripSymbols.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp vendor/llvm-project/master/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineInternal.h vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp vendor/llvm-project/master/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/CFGMST.h vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/CGProfile.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/Instrumentation.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/ValueProfileCollector.cpp vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/ValueProfileCollector.h vendor/llvm-project/master/llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc vendor/llvm-project/master/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h vendor/llvm-project/master/llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp vendor/llvm-project/master/llvm/lib/Transforms/ObjCARC/ObjCARC.h vendor/llvm-project/master/llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp vendor/llvm-project/master/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp vendor/llvm-project/master/llvm/lib/Transforms/ObjCARC/ObjCARCExpand.cpp vendor/llvm-project/master/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/ADCE.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/BDCE.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/DCE.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/DivRemPairs.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/EarlyCSE.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/Float2Int.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/GVN.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/GVNHoist.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/GVNSink.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/InstSimplifyPass.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/JumpThreading.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LICM.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopDeletion.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopDistribute.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopFuse.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopInterchange.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopPassManager.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopPredication.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopRotation.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LowerAtomic.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/NaryReassociate.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/NewGVN.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/Reassociate.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/SCCP.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/SROA.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/Scalarizer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/Sink.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp vendor/llvm-project/master/llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/BuildLibCalls.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/CloneFunction.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/CodeExtractor.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/CodeMoverUtils.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/Debugify.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/EscapeEnumerator.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/Evaluator.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/FlattenCFG.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/FunctionComparator.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/GlobalStatus.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/InjectTLIMappings.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/InlineFunction.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/InstructionNamer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LCSSA.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/Local.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LoopRotationUtils.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LoopSimplify.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LoopUnroll.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LoopUtils.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LoopVersioning.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LowerInvoke.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/LowerSwitch.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/ModuleUtils.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/NameAnonGlobals.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/PredicateInfo.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/SSAUpdater.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/SimplifyCFG.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/SizeOpts.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/StripGCRelocates.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/SymbolRewriter.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/Utils.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/VNCoercion.cpp vendor/llvm-project/master/llvm/lib/Transforms/Utils/ValueMapper.cpp vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VPlan.cpp vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VPlan.h vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VPlanDominatorTree.h vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VPlanTransforms.h vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VPlanValue.h vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/VPlanVerifier.h vendor/llvm-project/master/llvm/lib/Transforms/Vectorize/Vectorize.cpp vendor/llvm-project/master/llvm/lib/XRay/FDRTraceExpander.cpp vendor/llvm-project/master/llvm/lib/XRay/FDRTraceWriter.cpp vendor/llvm-project/master/llvm/lib/XRay/InstrumentationMap.cpp vendor/llvm-project/master/llvm/lib/XRay/Trace.cpp vendor/llvm-project/master/llvm/tools/bugpoint/CrashDebugger.cpp vendor/llvm-project/master/llvm/tools/bugpoint/ExecutionDriver.cpp vendor/llvm-project/master/llvm/tools/bugpoint/Miscompilation.cpp vendor/llvm-project/master/llvm/tools/bugpoint/OptimizerDriver.cpp vendor/llvm-project/master/llvm/tools/bugpoint/ToolRunner.cpp vendor/llvm-project/master/llvm/tools/bugpoint/ToolRunner.h vendor/llvm-project/master/llvm/tools/bugpoint/bugpoint.cpp vendor/llvm-project/master/llvm/tools/llc/llc.cpp vendor/llvm-project/master/llvm/tools/lli/lli.cpp vendor/llvm-project/master/llvm/tools/llvm-ar/llvm-ar.cpp vendor/llvm-project/master/llvm/tools/llvm-as/llvm-as.cpp vendor/llvm-project/master/llvm/tools/llvm-cov/CodeCoverage.cpp vendor/llvm-project/master/llvm/tools/llvm-cov/CoverageExporterJson.cpp vendor/llvm-project/master/llvm/tools/llvm-cov/CoverageExporterLcov.cpp vendor/llvm-project/master/llvm/tools/llvm-cov/CoverageFilters.cpp vendor/llvm-project/master/llvm/tools/llvm-cov/CoverageFilters.h vendor/llvm-project/master/llvm/tools/llvm-cov/CoverageReport.cpp vendor/llvm-project/master/llvm/tools/llvm-cov/CoverageSummaryInfo.cpp vendor/llvm-project/master/llvm/tools/llvm-cov/SourceCoverageView.cpp vendor/llvm-project/master/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp vendor/llvm-project/master/llvm/tools/llvm-cov/gcov.cpp vendor/llvm-project/master/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp vendor/llvm-project/master/llvm/tools/llvm-diff/DiffConsumer.cpp vendor/llvm-project/master/llvm/tools/llvm-diff/DifferenceEngine.cpp vendor/llvm-project/master/llvm/tools/llvm-dwarfdump/Statistics.cpp vendor/llvm-project/master/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp vendor/llvm-project/master/llvm/tools/llvm-extract/llvm-extract.cpp vendor/llvm-project/master/llvm/tools/llvm-link/llvm-link.cpp vendor/llvm-project/master/llvm/tools/llvm-lto/llvm-lto.cpp vendor/llvm-project/master/llvm/tools/llvm-lto2/llvm-lto2.cpp vendor/llvm-project/master/llvm/tools/llvm-mc/Disassembler.cpp vendor/llvm-project/master/llvm/tools/llvm-mc/llvm-mc.cpp vendor/llvm-project/master/llvm/tools/llvm-mca/CodeRegion.h vendor/llvm-project/master/llvm/tools/llvm-mca/CodeRegionGenerator.cpp vendor/llvm-project/master/llvm/tools/llvm-mca/llvm-mca.cpp vendor/llvm-project/master/llvm/tools/llvm-nm/llvm-nm.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/COFF/Reader.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/COFF/Writer.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/COFF/Writer.h vendor/llvm-project/master/llvm/tools/llvm-objcopy/CopyConfig.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/CopyConfig.h vendor/llvm-project/master/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/ELF/Object.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/ELF/Object.h vendor/llvm-project/master/llvm/tools/llvm-objcopy/InstallNameToolOpts.td vendor/llvm-project/master/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/MachO/MachOReader.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/MachO/MachOReader.h vendor/llvm-project/master/llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/MachO/MachOWriter.h vendor/llvm-project/master/llvm/tools/llvm-objcopy/MachO/Object.cpp vendor/llvm-project/master/llvm/tools/llvm-objcopy/MachO/Object.h vendor/llvm-project/master/llvm/tools/llvm-objcopy/StripOpts.td vendor/llvm-project/master/llvm/tools/llvm-objcopy/llvm-objcopy.cpp vendor/llvm-project/master/llvm/tools/llvm-objdump/COFFDump.cpp vendor/llvm-project/master/llvm/tools/llvm-objdump/ELFDump.cpp vendor/llvm-project/master/llvm/tools/llvm-objdump/MachODump.cpp vendor/llvm-project/master/llvm/tools/llvm-objdump/WasmDump.cpp vendor/llvm-project/master/llvm/tools/llvm-objdump/llvm-objdump.cpp vendor/llvm-project/master/llvm/tools/llvm-objdump/llvm-objdump.h vendor/llvm-project/master/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp vendor/llvm-project/master/llvm/tools/llvm-pdbutil/FormatUtil.cpp vendor/llvm-project/master/llvm/tools/llvm-pdbutil/FormatUtil.h vendor/llvm-project/master/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp vendor/llvm-project/master/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp vendor/llvm-project/master/llvm/tools/llvm-pdbutil/StreamUtil.cpp vendor/llvm-project/master/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp vendor/llvm-project/master/llvm/tools/llvm-pdbutil/llvm-pdbutil.h vendor/llvm-project/master/llvm/tools/llvm-profdata/llvm-profdata.cpp vendor/llvm-project/master/llvm/tools/llvm-readobj/COFFDumper.cpp vendor/llvm-project/master/llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h vendor/llvm-project/master/llvm/tools/llvm-readobj/ELFDumper.cpp vendor/llvm-project/master/llvm/tools/llvm-readobj/ObjDumper.cpp vendor/llvm-project/master/llvm/tools/llvm-readobj/ObjDumper.h vendor/llvm-project/master/llvm/tools/llvm-readobj/WasmDumper.cpp vendor/llvm-project/master/llvm/tools/llvm-readobj/XCOFFDumper.cpp vendor/llvm-project/master/llvm/tools/llvm-readobj/llvm-readobj.cpp vendor/llvm-project/master/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp vendor/llvm-project/master/llvm/tools/llvm-stress/llvm-stress.cpp vendor/llvm-project/master/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp vendor/llvm-project/master/llvm/tools/llvm-xray/trie-node.h vendor/llvm-project/master/llvm/tools/llvm-xray/xray-color-helper.cpp vendor/llvm-project/master/llvm/tools/llvm-xray/xray-extract.cpp vendor/llvm-project/master/llvm/tools/llvm-xray/xray-graph-diff.cpp vendor/llvm-project/master/llvm/tools/llvm-xray/xray-graph.cpp vendor/llvm-project/master/llvm/tools/llvm-xray/xray-stacks.cpp vendor/llvm-project/master/llvm/tools/opt/AnalysisWrappers.cpp vendor/llvm-project/master/llvm/tools/opt/NewPMDriver.cpp vendor/llvm-project/master/llvm/tools/opt/NewPMDriver.h vendor/llvm-project/master/llvm/tools/opt/PassPrinters.cpp vendor/llvm-project/master/llvm/tools/opt/PassPrinters.h vendor/llvm-project/master/llvm/tools/opt/PrintSCC.cpp vendor/llvm-project/master/llvm/tools/opt/opt.cpp vendor/llvm-project/master/llvm/utils/TableGen/AsmMatcherEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/AsmWriterEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/AsmWriterInst.cpp vendor/llvm-project/master/llvm/utils/TableGen/AsmWriterInst.h vendor/llvm-project/master/llvm/utils/TableGen/Attributes.cpp vendor/llvm-project/master/llvm/utils/TableGen/CallingConvEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/CodeEmitterGen.cpp vendor/llvm-project/master/llvm/utils/TableGen/CodeGenDAGPatterns.cpp vendor/llvm-project/master/llvm/utils/TableGen/CodeGenDAGPatterns.h vendor/llvm-project/master/llvm/utils/TableGen/CodeGenHwModes.cpp vendor/llvm-project/master/llvm/utils/TableGen/CodeGenHwModes.h vendor/llvm-project/master/llvm/utils/TableGen/CodeGenInstruction.cpp vendor/llvm-project/master/llvm/utils/TableGen/CodeGenInstruction.h vendor/llvm-project/master/llvm/utils/TableGen/CodeGenIntrinsics.h vendor/llvm-project/master/llvm/utils/TableGen/CodeGenMapTable.cpp vendor/llvm-project/master/llvm/utils/TableGen/CodeGenRegisters.cpp vendor/llvm-project/master/llvm/utils/TableGen/CodeGenRegisters.h vendor/llvm-project/master/llvm/utils/TableGen/CodeGenSchedule.cpp vendor/llvm-project/master/llvm/utils/TableGen/CodeGenSchedule.h vendor/llvm-project/master/llvm/utils/TableGen/CodeGenTarget.cpp vendor/llvm-project/master/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/DAGISelMatcherGen.cpp vendor/llvm-project/master/llvm/utils/TableGen/DFAEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/DFAEmitter.h vendor/llvm-project/master/llvm/utils/TableGen/DFAPacketizerEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/DisassemblerEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/ExegesisEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/FastISelEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/GICombinerEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/GlobalISel/GIMatchTree.cpp vendor/llvm-project/master/llvm/utils/TableGen/GlobalISelEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/InstrDocsEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/InstrInfoEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/IntrinsicEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/OptParserEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/OptRSTEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/RISCVCompressInstEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/RegisterBankEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/RegisterInfoEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/SearchableTableEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/SequenceToOffsetTable.h vendor/llvm-project/master/llvm/utils/TableGen/SubtargetEmitter.cpp vendor/llvm-project/master/llvm/utils/TableGen/SubtargetFeatureInfo.cpp vendor/llvm-project/master/llvm/utils/TableGen/TableGen.cpp vendor/llvm-project/master/llvm/utils/TableGen/TableGenBackends.h vendor/llvm-project/master/llvm/utils/TableGen/X86DisassemblerTables.cpp vendor/llvm-project/master/llvm/utils/TableGen/X86ModRMFilters.cpp vendor/llvm-project/master/llvm/utils/TableGen/X86ModRMFilters.h vendor/llvm-project/master/llvm/utils/TableGen/X86RecognizableInstr.cpp vendor/llvm-project/master/llvm/utils/TableGen/X86RecognizableInstr.h vendor/llvm-project/master/openmp/runtime/src/dllexports vendor/llvm-project/master/openmp/runtime/src/exports_so.txt vendor/llvm-project/master/openmp/runtime/src/i18n/en_US.txt vendor/llvm-project/master/openmp/runtime/src/include/omp.h.var vendor/llvm-project/master/openmp/runtime/src/include/omp_lib.f.var vendor/llvm-project/master/openmp/runtime/src/include/omp_lib.f90.var vendor/llvm-project/master/openmp/runtime/src/include/omp_lib.h.var vendor/llvm-project/master/openmp/runtime/src/kmp.h vendor/llvm-project/master/openmp/runtime/src/kmp_affinity.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_affinity.h vendor/llvm-project/master/openmp/runtime/src/kmp_alloc.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_barrier.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_csupport.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_dispatch.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_dispatch.h vendor/llvm-project/master/openmp/runtime/src/kmp_dispatch_hier.h vendor/llvm-project/master/openmp/runtime/src/kmp_environment.h vendor/llvm-project/master/openmp/runtime/src/kmp_ftn_entry.h vendor/llvm-project/master/openmp/runtime/src/kmp_ftn_os.h vendor/llvm-project/master/openmp/runtime/src/kmp_gsupport.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_i18n.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_i18n.h vendor/llvm-project/master/openmp/runtime/src/kmp_lock.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_lock.h vendor/llvm-project/master/openmp/runtime/src/kmp_omp.h vendor/llvm-project/master/openmp/runtime/src/kmp_runtime.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_sched.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_settings.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_settings.h vendor/llvm-project/master/openmp/runtime/src/kmp_stats.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_stats.h vendor/llvm-project/master/openmp/runtime/src/kmp_str.h vendor/llvm-project/master/openmp/runtime/src/kmp_stub.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_taskdeps.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_tasking.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_utility.cpp vendor/llvm-project/master/openmp/runtime/src/kmp_version.h vendor/llvm-project/master/openmp/runtime/src/kmp_wrapper_malloc.h vendor/llvm-project/master/openmp/runtime/src/ompt-internal.h vendor/llvm-project/master/openmp/runtime/src/ompt-specific.cpp vendor/llvm-project/master/openmp/runtime/src/ompt-specific.h vendor/llvm-project/master/openmp/runtime/src/thirdparty/ittnotify/ittnotify.h vendor/llvm-project/master/openmp/runtime/src/thirdparty/ittnotify/ittnotify_static.cpp vendor/llvm-project/master/openmp/runtime/src/z_Linux_util.cpp Modified: vendor/llvm-project/master/clang/include/clang-c/BuildSystem.h ============================================================================== --- vendor/llvm-project/master/clang/include/clang-c/BuildSystem.h Sun Jul 26 19:18:55 2020 (r363577) +++ vendor/llvm-project/master/clang/include/clang-c/BuildSystem.h Sun Jul 26 19:36:28 2020 (r363578) @@ -117,7 +117,7 @@ clang_ModuleMapDescriptor_setFrameworkModuleName(CXMod const char *name); /** - * Sets the umbrealla header name that the module.map describes. + * Sets the umbrella header name that the module.map describes. * \returns 0 for success, non-zero to indicate an error. */ CINDEX_LINKAGE enum CXErrorCode Modified: vendor/llvm-project/master/clang/include/clang-c/Index.h ============================================================================== --- vendor/llvm-project/master/clang/include/clang-c/Index.h Sun Jul 26 19:18:55 2020 (r363577) +++ vendor/llvm-project/master/clang/include/clang-c/Index.h Sun Jul 26 19:36:28 2020 (r363578) @@ -33,24 +33,19 @@ * compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable. */ #define CINDEX_VERSION_MAJOR 0 -#define CINDEX_VERSION_MINOR 59 +#define CINDEX_VERSION_MINOR 60 -#define CINDEX_VERSION_ENCODE(major, minor) ( \ - ((major) * 10000) \ - + ((minor) * 1)) +#define CINDEX_VERSION_ENCODE(major, minor) (((major)*10000) + ((minor)*1)) -#define CINDEX_VERSION CINDEX_VERSION_ENCODE( \ - CINDEX_VERSION_MAJOR, \ - CINDEX_VERSION_MINOR ) +#define CINDEX_VERSION \ + CINDEX_VERSION_ENCODE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR) -#define CINDEX_VERSION_STRINGIZE_(major, minor) \ - #major"."#minor -#define CINDEX_VERSION_STRINGIZE(major, minor) \ - CINDEX_VERSION_STRINGIZE_(major, minor) +#define CINDEX_VERSION_STRINGIZE_(major, minor) #major "." #minor +#define CINDEX_VERSION_STRINGIZE(major, minor) \ + CINDEX_VERSION_STRINGIZE_(major, minor) -#define CINDEX_VERSION_STRING CINDEX_VERSION_STRINGIZE( \ - CINDEX_VERSION_MAJOR, \ - CINDEX_VERSION_MINOR) +#define CINDEX_VERSION_STRING \ + CINDEX_VERSION_STRINGIZE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR) LLVM_CLANG_C_EXTERN_C_BEGIN @@ -382,7 +377,7 @@ typedef struct { * \param outID stores the returned CXFileUniqueID. * \returns If there was a failure getting the unique ID, returns non-zero, * otherwise returns 0. -*/ + */ CINDEX_LINKAGE int clang_getFileUniqueID(CXFile file, CXFileUniqueID *outID); /** @@ -390,8 +385,8 @@ CINDEX_LINKAGE int clang_getFileUniqueID(CXFile file, * multiple inclusions, either with the conventional * \#ifndef/\#define/\#endif macro guards or with \#pragma once. */ -CINDEX_LINKAGE unsigned -clang_isFileMultipleIncludeGuarded(CXTranslationUnit tu, CXFile file); +CINDEX_LINKAGE unsigned clang_isFileMultipleIncludeGuarded(CXTranslationUnit tu, + CXFile file); /** * Retrieve a file handle within the given translation unit. @@ -496,8 +491,7 @@ CINDEX_LINKAGE unsigned clang_equalLocations(CXSourceL * in a particular translation unit. */ CINDEX_LINKAGE CXSourceLocation clang_getLocation(CXTranslationUnit tu, - CXFile file, - unsigned line, + CXFile file, unsigned line, unsigned column); /** * Retrieves the source location associated with a given character offset @@ -566,8 +560,7 @@ CINDEX_LINKAGE int clang_Range_isNull(CXSourceRange ra * buffer to which the given source location points. */ CINDEX_LINKAGE void clang_getExpansionLocation(CXSourceLocation location, - CXFile *file, - unsigned *line, + CXFile *file, unsigned *line, unsigned *column, unsigned *offset); @@ -613,8 +606,7 @@ CINDEX_LINKAGE void clang_getExpansionLocation(CXSourc */ CINDEX_LINKAGE void clang_getPresumedLocation(CXSourceLocation location, CXString *filename, - unsigned *line, - unsigned *column); + unsigned *line, unsigned *column); /** * Legacy API to retrieve the file, line, column, and offset represented @@ -625,8 +617,7 @@ CINDEX_LINKAGE void clang_getPresumedLocation(CXSource * details. */ CINDEX_LINKAGE void clang_getInstantiationLocation(CXSourceLocation location, - CXFile *file, - unsigned *line, + CXFile *file, unsigned *line, unsigned *column, unsigned *offset); @@ -653,8 +644,7 @@ CINDEX_LINKAGE void clang_getInstantiationLocation(CXS * buffer to which the given source location points. */ CINDEX_LINKAGE void clang_getSpellingLocation(CXSourceLocation location, - CXFile *file, - unsigned *line, + CXFile *file, unsigned *line, unsigned *column, unsigned *offset); @@ -682,10 +672,8 @@ CINDEX_LINKAGE void clang_getSpellingLocation(CXSource * buffer to which the given source location points. */ CINDEX_LINKAGE void clang_getFileLocation(CXSourceLocation location, - CXFile *file, - unsigned *line, - unsigned *column, - unsigned *offset); + CXFile *file, unsigned *line, + unsigned *column, unsigned *offset); /** * Retrieve a source location representing the first character within a @@ -727,7 +715,8 @@ CINDEX_LINKAGE CXSourceRangeList *clang_getSkippedRang * The preprocessor will skip lines when they are surrounded by an * if/ifdef/ifndef directive whose condition does not evaluate to true. */ -CINDEX_LINKAGE CXSourceRangeList *clang_getAllSkippedRanges(CXTranslationUnit tu); +CINDEX_LINKAGE CXSourceRangeList * +clang_getAllSkippedRanges(CXTranslationUnit tu); /** * Destroy the given \c CXSourceRangeList. @@ -758,7 +747,7 @@ enum CXDiagnosticSeverity { * This diagnostic is a note that should be attached to the * previous (non-note) diagnostic. */ - CXDiagnostic_Note = 1, + CXDiagnostic_Note = 1, /** * This diagnostic indicates suspicious code that may not be @@ -769,14 +758,14 @@ enum CXDiagnosticSeverity { /** * This diagnostic indicates that the code is ill-formed. */ - CXDiagnostic_Error = 3, + CXDiagnostic_Error = 3, /** * This diagnostic indicates that the code is ill-formed such * that future parser recovery is unlikely to produce useful * results. */ - CXDiagnostic_Fatal = 4 + CXDiagnostic_Fatal = 4 }; /** @@ -849,9 +838,8 @@ enum CXLoadDiag_Error { * \returns A loaded CXDiagnosticSet if successful, and NULL otherwise. These * diagnostics should be released using clang_disposeDiagnosticSet(). */ -CINDEX_LINKAGE CXDiagnosticSet clang_loadDiagnostics(const char *file, - enum CXLoadDiag_Error *error, - CXString *errorString); +CINDEX_LINKAGE CXDiagnosticSet clang_loadDiagnostics( + const char *file, enum CXLoadDiag_Error *error, CXString *errorString); /** * Release a CXDiagnosticSet and all of its contained diagnostics. @@ -891,7 +879,7 @@ CINDEX_LINKAGE CXDiagnostic clang_getDiagnostic(CXTran * \param Unit the translation unit to query. */ CINDEX_LINKAGE CXDiagnosticSet - clang_getDiagnosticSetFromTU(CXTranslationUnit Unit); +clang_getDiagnosticSetFromTU(CXTranslationUnit Unit); /** * Destroy a diagnostic. @@ -997,7 +985,7 @@ CINDEX_LINKAGE unsigned clang_defaultDiagnosticDisplay * Determine the severity of the given diagnostic. */ CINDEX_LINKAGE enum CXDiagnosticSeverity -clang_getDiagnosticSeverity(CXDiagnostic); + clang_getDiagnosticSeverity(CXDiagnostic); /** * Retrieve the source location of the given diagnostic. @@ -1049,8 +1037,8 @@ CINDEX_LINKAGE unsigned clang_getDiagnosticCategory(CX * * \returns The name of the given diagnostic category. */ -CINDEX_DEPRECATED CINDEX_LINKAGE -CXString clang_getDiagnosticCategoryName(unsigned Category); +CINDEX_DEPRECATED CINDEX_LINKAGE CXString +clang_getDiagnosticCategoryName(unsigned Category); /** * Retrieve the diagnostic category text for a given diagnostic. @@ -1112,9 +1100,8 @@ CINDEX_LINKAGE unsigned clang_getDiagnosticNumFixIts(C * \returns A string containing text that should be replace the source * code indicated by the \c ReplacementRange. */ -CINDEX_LINKAGE CXString clang_getDiagnosticFixIt(CXDiagnostic Diagnostic, - unsigned FixIt, - CXSourceRange *ReplacementRange); +CINDEX_LINKAGE CXString clang_getDiagnosticFixIt( + CXDiagnostic Diagnostic, unsigned FixIt, CXSourceRange *ReplacementRange); /** * @} @@ -1177,12 +1164,9 @@ clang_getTranslationUnitSpelling(CXTranslationUnit CTU * guarantee their validity until the call to this function returns. */ CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnitFromSourceFile( - CXIndex CIdx, - const char *source_filename, - int num_clang_command_line_args, - const char * const *clang_command_line_args, - unsigned num_unsaved_files, - struct CXUnsavedFile *unsaved_files); + CXIndex CIdx, const char *source_filename, int num_clang_command_line_args, + const char *const *clang_command_line_args, unsigned num_unsaved_files, + struct CXUnsavedFile *unsaved_files); /** * Same as \c clang_createTranslationUnit2, but returns @@ -1190,9 +1174,8 @@ CINDEX_LINKAGE CXTranslationUnit clang_createTranslati * routine returns a \c NULL \c CXTranslationUnit, without further detailed * error codes. */ -CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnit( - CXIndex CIdx, - const char *ast_filename); +CINDEX_LINKAGE CXTranslationUnit +clang_createTranslationUnit(CXIndex CIdx, const char *ast_filename); /** * Create a translation unit from an AST file (\c -emit-ast). @@ -1202,10 +1185,9 @@ CINDEX_LINKAGE CXTranslationUnit clang_createTranslati * * \returns Zero on success, otherwise returns an error code. */ -CINDEX_LINKAGE enum CXErrorCode clang_createTranslationUnit2( - CXIndex CIdx, - const char *ast_filename, - CXTranslationUnit *out_TU); +CINDEX_LINKAGE enum CXErrorCode +clang_createTranslationUnit2(CXIndex CIdx, const char *ast_filename, + CXTranslationUnit *out_TU); /** * Flags that control the creation of translation units. @@ -1383,14 +1365,11 @@ CINDEX_LINKAGE unsigned clang_defaultEditingTranslatio * routine returns a \c NULL \c CXTranslationUnit, without further detailed * error codes. */ -CINDEX_LINKAGE CXTranslationUnit -clang_parseTranslationUnit(CXIndex CIdx, - const char *source_filename, - const char *const *command_line_args, - int num_command_line_args, - struct CXUnsavedFile *unsaved_files, - unsigned num_unsaved_files, - unsigned options); +CINDEX_LINKAGE CXTranslationUnit clang_parseTranslationUnit( + CXIndex CIdx, const char *source_filename, + const char *const *command_line_args, int num_command_line_args, + struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, + unsigned options); /** * Parse the given source file and the translation unit corresponding @@ -1436,15 +1415,11 @@ clang_parseTranslationUnit(CXIndex CIdx, * * \returns Zero on success, otherwise returns an error code. */ -CINDEX_LINKAGE enum CXErrorCode -clang_parseTranslationUnit2(CXIndex CIdx, - const char *source_filename, - const char *const *command_line_args, - int num_command_line_args, - struct CXUnsavedFile *unsaved_files, - unsigned num_unsaved_files, - unsigned options, - CXTranslationUnit *out_TU); +CINDEX_LINKAGE enum CXErrorCode clang_parseTranslationUnit2( + CXIndex CIdx, const char *source_filename, + const char *const *command_line_args, int num_command_line_args, + struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, + unsigned options, CXTranslationUnit *out_TU); /** * Same as clang_parseTranslationUnit2 but requires a full command line @@ -1623,14 +1598,14 @@ CINDEX_LINKAGE unsigned clang_defaultReparseOptions(CX * \c clang_disposeTranslationUnit(TU). The error codes returned by this * routine are described by the \c CXErrorCode enum. */ -CINDEX_LINKAGE int clang_reparseTranslationUnit(CXTranslationUnit TU, - unsigned num_unsaved_files, - struct CXUnsavedFile *unsaved_files, - unsigned options); +CINDEX_LINKAGE int +clang_reparseTranslationUnit(CXTranslationUnit TU, unsigned num_unsaved_files, + struct CXUnsavedFile *unsaved_files, + unsigned options); /** - * Categorizes how memory is being used by a translation unit. - */ + * Categorizes how memory is being used by a translation unit. + */ enum CXTUResourceUsageKind { CXTUResourceUsage_AST = 1, CXTUResourceUsage_Identifiers = 2, @@ -1648,16 +1623,16 @@ enum CXTUResourceUsageKind { CXTUResourceUsage_Preprocessor_HeaderSearch = 14, CXTUResourceUsage_MEMORY_IN_BYTES_BEGIN = CXTUResourceUsage_AST, CXTUResourceUsage_MEMORY_IN_BYTES_END = - CXTUResourceUsage_Preprocessor_HeaderSearch, + CXTUResourceUsage_Preprocessor_HeaderSearch, CXTUResourceUsage_First = CXTUResourceUsage_AST, CXTUResourceUsage_Last = CXTUResourceUsage_Preprocessor_HeaderSearch }; /** - * Returns the human-readable null-terminated C string that represents - * the name of the memory category. This string should never be freed. - */ + * Returns the human-readable null-terminated C string that represents + * the name of the memory category. This string should never be freed. + */ CINDEX_LINKAGE const char *clang_getTUResourceUsageName(enum CXTUResourceUsageKind kind); @@ -1670,8 +1645,8 @@ typedef struct CXTUResourceUsageEntry { } CXTUResourceUsageEntry; /** - * The memory usage of a CXTranslationUnit, broken into categories. - */ + * The memory usage of a CXTranslationUnit, broken into categories. + */ typedef struct CXTUResourceUsage { /* Private data member, used for queries. */ void *data; @@ -1686,10 +1661,11 @@ typedef struct CXTUResourceUsage { } CXTUResourceUsage; /** - * Return the memory usage of a translation unit. This object - * should be released with clang_disposeCXTUResourceUsage(). - */ -CINDEX_LINKAGE CXTUResourceUsage clang_getCXTUResourceUsage(CXTranslationUnit TU); + * Return the memory usage of a translation unit. This object + * should be released with clang_disposeCXTUResourceUsage(). + */ +CINDEX_LINKAGE CXTUResourceUsage +clang_getCXTUResourceUsage(CXTranslationUnit TU); CINDEX_LINKAGE void clang_disposeCXTUResourceUsage(CXTUResourceUsage usage); @@ -1704,24 +1680,21 @@ clang_getTranslationUnitTargetInfo(CXTranslationUnit C /** * Destroy the CXTargetInfo object. */ -CINDEX_LINKAGE void -clang_TargetInfo_dispose(CXTargetInfo Info); +CINDEX_LINKAGE void clang_TargetInfo_dispose(CXTargetInfo Info); /** * Get the normalized target triple as a string. * * Returns the empty string in case of any error. */ -CINDEX_LINKAGE CXString -clang_TargetInfo_getTriple(CXTargetInfo Info); +CINDEX_LINKAGE CXString clang_TargetInfo_getTriple(CXTargetInfo Info); /** * Get the pointer width of the target in bits. * * Returns -1 in case of error. */ -CINDEX_LINKAGE int -clang_TargetInfo_getPointerWidth(CXTargetInfo Info); +CINDEX_LINKAGE int clang_TargetInfo_getPointerWidth(CXTargetInfo Info); /** * @} @@ -1741,95 +1714,95 @@ enum CXCursorKind { * spelling, find their definitions, etc. However, the specific kind * of the declaration is not reported. */ - CXCursor_UnexposedDecl = 1, + CXCursor_UnexposedDecl = 1, /** A C or C++ struct. */ - CXCursor_StructDecl = 2, + CXCursor_StructDecl = 2, /** A C or C++ union. */ - CXCursor_UnionDecl = 3, + CXCursor_UnionDecl = 3, /** A C++ class. */ - CXCursor_ClassDecl = 4, + CXCursor_ClassDecl = 4, /** An enumeration. */ - CXCursor_EnumDecl = 5, + CXCursor_EnumDecl = 5, /** * A field (in C) or non-static data member (in C++) in a * struct, union, or C++ class. */ - CXCursor_FieldDecl = 6, + CXCursor_FieldDecl = 6, /** An enumerator constant. */ - CXCursor_EnumConstantDecl = 7, + CXCursor_EnumConstantDecl = 7, /** A function. */ - CXCursor_FunctionDecl = 8, + CXCursor_FunctionDecl = 8, /** A variable. */ - CXCursor_VarDecl = 9, + CXCursor_VarDecl = 9, /** A function or method parameter. */ - CXCursor_ParmDecl = 10, + CXCursor_ParmDecl = 10, /** An Objective-C \@interface. */ - CXCursor_ObjCInterfaceDecl = 11, + CXCursor_ObjCInterfaceDecl = 11, /** An Objective-C \@interface for a category. */ - CXCursor_ObjCCategoryDecl = 12, + CXCursor_ObjCCategoryDecl = 12, /** An Objective-C \@protocol declaration. */ - CXCursor_ObjCProtocolDecl = 13, + CXCursor_ObjCProtocolDecl = 13, /** An Objective-C \@property declaration. */ - CXCursor_ObjCPropertyDecl = 14, + CXCursor_ObjCPropertyDecl = 14, /** An Objective-C instance variable. */ - CXCursor_ObjCIvarDecl = 15, + CXCursor_ObjCIvarDecl = 15, /** An Objective-C instance method. */ - CXCursor_ObjCInstanceMethodDecl = 16, + CXCursor_ObjCInstanceMethodDecl = 16, /** An Objective-C class method. */ - CXCursor_ObjCClassMethodDecl = 17, + CXCursor_ObjCClassMethodDecl = 17, /** An Objective-C \@implementation. */ - CXCursor_ObjCImplementationDecl = 18, + CXCursor_ObjCImplementationDecl = 18, /** An Objective-C \@implementation for a category. */ - CXCursor_ObjCCategoryImplDecl = 19, + CXCursor_ObjCCategoryImplDecl = 19, /** A typedef. */ - CXCursor_TypedefDecl = 20, + CXCursor_TypedefDecl = 20, /** A C++ class method. */ - CXCursor_CXXMethod = 21, + CXCursor_CXXMethod = 21, /** A C++ namespace. */ - CXCursor_Namespace = 22, + CXCursor_Namespace = 22, /** A linkage specification, e.g. 'extern "C"'. */ - CXCursor_LinkageSpec = 23, + CXCursor_LinkageSpec = 23, /** A C++ constructor. */ - CXCursor_Constructor = 24, + CXCursor_Constructor = 24, /** A C++ destructor. */ - CXCursor_Destructor = 25, + CXCursor_Destructor = 25, /** A C++ conversion function. */ - CXCursor_ConversionFunction = 26, + CXCursor_ConversionFunction = 26, /** A C++ template type parameter. */ - CXCursor_TemplateTypeParameter = 27, + CXCursor_TemplateTypeParameter = 27, /** A C++ non-type template parameter. */ - CXCursor_NonTypeTemplateParameter = 28, + CXCursor_NonTypeTemplateParameter = 28, /** A C++ template template parameter. */ - CXCursor_TemplateTemplateParameter = 29, + CXCursor_TemplateTemplateParameter = 29, /** A C++ function template. */ - CXCursor_FunctionTemplate = 30, + CXCursor_FunctionTemplate = 30, /** A C++ class template. */ - CXCursor_ClassTemplate = 31, + CXCursor_ClassTemplate = 31, /** A C++ class template partial specialization. */ CXCursor_ClassTemplatePartialSpecialization = 32, /** A C++ namespace alias declaration. */ - CXCursor_NamespaceAlias = 33, + CXCursor_NamespaceAlias = 33, /** A C++ using directive. */ - CXCursor_UsingDirective = 34, + CXCursor_UsingDirective = 34, /** A C++ using declaration. */ - CXCursor_UsingDeclaration = 35, + CXCursor_UsingDeclaration = 35, /** A C++ alias declaration */ - CXCursor_TypeAliasDecl = 36, + CXCursor_TypeAliasDecl = 36, /** An Objective-C \@synthesize definition. */ - CXCursor_ObjCSynthesizeDecl = 37, + CXCursor_ObjCSynthesizeDecl = 37, /** An Objective-C \@dynamic definition. */ - CXCursor_ObjCDynamicDecl = 38, + CXCursor_ObjCDynamicDecl = 38, /** An access specifier. */ - CXCursor_CXXAccessSpecifier = 39, + CXCursor_CXXAccessSpecifier = 39, - CXCursor_FirstDecl = CXCursor_UnexposedDecl, - CXCursor_LastDecl = CXCursor_CXXAccessSpecifier, + CXCursor_FirstDecl = CXCursor_UnexposedDecl, + CXCursor_LastDecl = CXCursor_CXXAccessSpecifier, /* References */ - CXCursor_FirstRef = 40, /* Decl references */ - CXCursor_ObjCSuperClassRef = 40, - CXCursor_ObjCProtocolRef = 41, - CXCursor_ObjCClassRef = 42, + CXCursor_FirstRef = 40, /* Decl references */ + CXCursor_ObjCSuperClassRef = 40, + CXCursor_ObjCProtocolRef = 41, + CXCursor_ObjCClassRef = 42, /** * A reference to a type declaration. * @@ -1845,22 +1818,22 @@ enum CXCursorKind { * while the type of the variable "size" is referenced. The cursor * referenced by the type of size is the typedef for size_type. */ - CXCursor_TypeRef = 43, - CXCursor_CXXBaseSpecifier = 44, + CXCursor_TypeRef = 43, + CXCursor_CXXBaseSpecifier = 44, /** * A reference to a class template, function template, template * template parameter, or class template partial specialization. */ - CXCursor_TemplateRef = 45, + CXCursor_TemplateRef = 45, /** * A reference to a namespace or namespace alias. */ - CXCursor_NamespaceRef = 46, + CXCursor_NamespaceRef = 46, /** * A reference to a member of a struct, union, or class that occurs in * some non-expression context, e.g., a designated initializer. */ - CXCursor_MemberRef = 47, + CXCursor_MemberRef = 47, /** * A reference to a labeled statement. * @@ -1876,7 +1849,7 @@ enum CXCursorKind { * * A label reference cursor refers to a label statement. */ - CXCursor_LabelRef = 48, + CXCursor_LabelRef = 48, /** * A reference to a set of overloaded functions or function templates @@ -1914,26 +1887,26 @@ enum CXCursorKind { * \c clang_getOverloadedDecl() can be used to retrieve the definitions * referenced by this cursor. */ - CXCursor_OverloadedDeclRef = 49, + CXCursor_OverloadedDeclRef = 49, /** * A reference to a variable that occurs in some non-expression * context, e.g., a C++ lambda capture list. */ - CXCursor_VariableRef = 50, + CXCursor_VariableRef = 50, - CXCursor_LastRef = CXCursor_VariableRef, + CXCursor_LastRef = CXCursor_VariableRef, /* Error conditions */ - CXCursor_FirstInvalid = 70, - CXCursor_InvalidFile = 70, - CXCursor_NoDeclFound = 71, - CXCursor_NotImplemented = 72, - CXCursor_InvalidCode = 73, - CXCursor_LastInvalid = CXCursor_InvalidCode, + CXCursor_FirstInvalid = 70, + CXCursor_InvalidFile = 70, + CXCursor_NoDeclFound = 71, + CXCursor_NotImplemented = 72, + CXCursor_InvalidCode = 73, + CXCursor_LastInvalid = CXCursor_InvalidCode, /* Expressions */ - CXCursor_FirstExpr = 100, + CXCursor_FirstExpr = 100, /** * An expression whose specific kind is not exposed via this @@ -1944,104 +1917,104 @@ enum CXCursorKind { * spelling, children, etc. However, the specific kind of the * expression is not reported. */ - CXCursor_UnexposedExpr = 100, + CXCursor_UnexposedExpr = 100, /** * An expression that refers to some value declaration, such * as a function, variable, or enumerator. */ - CXCursor_DeclRefExpr = 101, + CXCursor_DeclRefExpr = 101, /** * An expression that refers to a member of a struct, union, * class, Objective-C class, etc. */ - CXCursor_MemberRefExpr = 102, + CXCursor_MemberRefExpr = 102, /** An expression that calls a function. */ - CXCursor_CallExpr = 103, + CXCursor_CallExpr = 103, /** An expression that sends a message to an Objective-C object or class. */ - CXCursor_ObjCMessageExpr = 104, + CXCursor_ObjCMessageExpr = 104, /** An expression that represents a block literal. */ - CXCursor_BlockExpr = 105, + CXCursor_BlockExpr = 105, /** An integer literal. */ - CXCursor_IntegerLiteral = 106, + CXCursor_IntegerLiteral = 106, /** A floating point number literal. */ - CXCursor_FloatingLiteral = 107, + CXCursor_FloatingLiteral = 107, /** An imaginary number literal. */ - CXCursor_ImaginaryLiteral = 108, + CXCursor_ImaginaryLiteral = 108, /** A string literal. */ - CXCursor_StringLiteral = 109, + CXCursor_StringLiteral = 109, /** A character literal. */ - CXCursor_CharacterLiteral = 110, + CXCursor_CharacterLiteral = 110, /** A parenthesized expression, e.g. "(1)". * * This AST node is only formed if full location information is requested. */ - CXCursor_ParenExpr = 111, + CXCursor_ParenExpr = 111, /** This represents the unary-expression's (except sizeof and * alignof). */ - CXCursor_UnaryOperator = 112, + CXCursor_UnaryOperator = 112, /** [C99 6.5.2.1] Array Subscripting. */ - CXCursor_ArraySubscriptExpr = 113, + CXCursor_ArraySubscriptExpr = 113, /** A builtin binary operation expression such as "x + y" or * "x <= y". */ - CXCursor_BinaryOperator = 114, + CXCursor_BinaryOperator = 114, /** Compound assignment such as "+=". */ - CXCursor_CompoundAssignOperator = 115, + CXCursor_CompoundAssignOperator = 115, /** The ?: ternary operator. */ - CXCursor_ConditionalOperator = 116, + CXCursor_ConditionalOperator = 116, /** An explicit cast in C (C99 6.5.4) or a C-style cast in C++ * (C++ [expr.cast]), which uses the syntax (Type)expr. * * For example: (int)f. */ - CXCursor_CStyleCastExpr = 117, + CXCursor_CStyleCastExpr = 117, /** [C99 6.5.2.5] */ - CXCursor_CompoundLiteralExpr = 118, + CXCursor_CompoundLiteralExpr = 118, /** Describes an C or C++ initializer list. */ - CXCursor_InitListExpr = 119, + CXCursor_InitListExpr = 119, /** The GNU address of label extension, representing &&label. */ - CXCursor_AddrLabelExpr = 120, + CXCursor_AddrLabelExpr = 120, /** This is the GNU Statement Expression extension: ({int X=4; X;}) */ - CXCursor_StmtExpr = 121, + CXCursor_StmtExpr = 121, /** Represents a C11 generic selection. */ - CXCursor_GenericSelectionExpr = 122, + CXCursor_GenericSelectionExpr = 122, /** Implements the GNU __null extension, which is a name for a null * pointer constant that has integral type (e.g., int or long) and is the same @@ -2051,23 +2024,23 @@ enum CXCursorKind { * NULL as __null in C++ rather than using 0 (which is an integer that may not * match the size of a pointer). */ - CXCursor_GNUNullExpr = 123, + CXCursor_GNUNullExpr = 123, /** C++'s static_cast<> expression. */ - CXCursor_CXXStaticCastExpr = 124, + CXCursor_CXXStaticCastExpr = 124, /** C++'s dynamic_cast<> expression. */ - CXCursor_CXXDynamicCastExpr = 125, + CXCursor_CXXDynamicCastExpr = 125, /** C++'s reinterpret_cast<> expression. */ - CXCursor_CXXReinterpretCastExpr = 126, + CXCursor_CXXReinterpretCastExpr = 126, /** C++'s const_cast<> expression. */ - CXCursor_CXXConstCastExpr = 127, + CXCursor_CXXConstCastExpr = 127, /** Represents an explicit C++ type conversion that uses "functional" * notion (C++ [expr.type.conv]). @@ -2077,60 +2050,64 @@ enum CXCursorKind { * x = int(0.5); * \endcode */ - CXCursor_CXXFunctionalCastExpr = 128, + CXCursor_CXXFunctionalCastExpr = 128, + /** OpenCL's addrspace_cast<> expression. + */ + CXCursor_CXXAddrspaceCastExpr = 129, + /** A C++ typeid expression (C++ [expr.typeid]). */ - CXCursor_CXXTypeidExpr = 129, + CXCursor_CXXTypeidExpr = 130, /** [C++ 2.13.5] C++ Boolean Literal. */ - CXCursor_CXXBoolLiteralExpr = 130, + CXCursor_CXXBoolLiteralExpr = 131, /** [C++0x 2.14.7] C++ Pointer Literal. */ - CXCursor_CXXNullPtrLiteralExpr = 131, + CXCursor_CXXNullPtrLiteralExpr = 132, /** Represents the "this" expression in C++ */ - CXCursor_CXXThisExpr = 132, + CXCursor_CXXThisExpr = 133, /** [C++ 15] C++ Throw Expression. * * This handles 'throw' and 'throw' assignment-expression. When * assignment-expression isn't present, Op will be null. */ - CXCursor_CXXThrowExpr = 133, + CXCursor_CXXThrowExpr = 134, /** A new expression for memory allocation and constructor calls, e.g: * "new CXXNewExpr(foo)". */ - CXCursor_CXXNewExpr = 134, + CXCursor_CXXNewExpr = 135, /** A delete expression for memory deallocation and destructor calls, * e.g. "delete[] pArray". */ - CXCursor_CXXDeleteExpr = 135, + CXCursor_CXXDeleteExpr = 136, /** A unary expression. (noexcept, sizeof, or other traits) */ - CXCursor_UnaryExpr = 136, + CXCursor_UnaryExpr = 137, /** An Objective-C string literal i.e. @"foo". */ - CXCursor_ObjCStringLiteral = 137, + CXCursor_ObjCStringLiteral = 138, /** An Objective-C \@encode expression. */ - CXCursor_ObjCEncodeExpr = 138, + CXCursor_ObjCEncodeExpr = 139, /** An Objective-C \@selector expression. */ - CXCursor_ObjCSelectorExpr = 139, + CXCursor_ObjCSelectorExpr = 140, /** An Objective-C \@protocol expression. */ - CXCursor_ObjCProtocolExpr = 140, + CXCursor_ObjCProtocolExpr = 141, /** An Objective-C "bridged" cast expression, which casts between * Objective-C pointers and C pointers, transferring ownership in the process. @@ -2139,7 +2116,7 @@ enum CXCursorKind { * NSString *str = (__bridge_transfer NSString *)CFCreateString(); * \endcode */ - CXCursor_ObjCBridgedCastExpr = 141, + CXCursor_ObjCBridgedCastExpr = 142, /** Represents a C++0x pack expansion that produces a sequence of * expressions. @@ -2154,7 +2131,7 @@ enum CXCursorKind { * } * \endcode */ - CXCursor_PackExpansionExpr = 142, + CXCursor_PackExpansionExpr = 143, /** Represents an expression that computes the length of a parameter * pack. @@ -2166,7 +2143,7 @@ enum CXCursorKind { * }; * \endcode */ - CXCursor_SizeOfPackExpr = 143, + CXCursor_SizeOfPackExpr = 144, /* Represents a C++ lambda expression that produces a local function * object. @@ -2180,33 +2157,42 @@ enum CXCursorKind { * } * \endcode */ - CXCursor_LambdaExpr = 144, + CXCursor_LambdaExpr = 145, /** Objective-c Boolean Literal. */ - CXCursor_ObjCBoolLiteralExpr = 145, + CXCursor_ObjCBoolLiteralExpr = 146, /** Represents the "self" expression in an Objective-C method. */ - CXCursor_ObjCSelfExpr = 146, + CXCursor_ObjCSelfExpr = 147, - /** OpenMP 4.0 [2.4, Array Section]. + /** OpenMP 5.0 [2.1.5, Array Section]. */ - CXCursor_OMPArraySectionExpr = 147, + CXCursor_OMPArraySectionExpr = 148, /** Represents an @available(...) check. */ - CXCursor_ObjCAvailabilityCheckExpr = 148, + CXCursor_ObjCAvailabilityCheckExpr = 149, /** * Fixed point literal */ - CXCursor_FixedPointLiteral = 149, + CXCursor_FixedPointLiteral = 150, - CXCursor_LastExpr = CXCursor_FixedPointLiteral, + /** OpenMP 5.0 [2.1.4, Array Shaping]. + */ + CXCursor_OMPArrayShapingExpr = 151, + /** + * OpenMP 5.0 [2.1.6 Iterators] + */ + CXCursor_OMPIteratorExpr = 152, + + CXCursor_LastExpr = CXCursor_OMPIteratorExpr, + /* Statements */ - CXCursor_FirstStmt = 200, + CXCursor_FirstStmt = 200, /** * A statement whose specific kind is not exposed via this * interface. @@ -2216,7 +2202,7 @@ enum CXCursorKind { * children, etc. However, the specific kind of the statement is not * reported. */ - CXCursor_UnexposedStmt = 200, + CXCursor_UnexposedStmt = 200, /** A labelled statement in a function. * @@ -2229,226 +2215,226 @@ enum CXCursorKind { * \endcode * */ - CXCursor_LabelStmt = 201, + CXCursor_LabelStmt = 201, /** A group of statements like { stmt stmt }. * * This cursor kind is used to describe compound statements, e.g. function * bodies. */ - CXCursor_CompoundStmt = 202, + CXCursor_CompoundStmt = 202, /** A case statement. */ - CXCursor_CaseStmt = 203, + CXCursor_CaseStmt = 203, /** A default statement. */ - CXCursor_DefaultStmt = 204, + CXCursor_DefaultStmt = 204, /** An if statement */ - CXCursor_IfStmt = 205, + CXCursor_IfStmt = 205, /** A switch statement. */ - CXCursor_SwitchStmt = 206, + CXCursor_SwitchStmt = 206, /** A while statement. */ - CXCursor_WhileStmt = 207, + CXCursor_WhileStmt = 207, /** A do statement. */ - CXCursor_DoStmt = 208, + CXCursor_DoStmt = 208, /** A for statement. */ - CXCursor_ForStmt = 209, + CXCursor_ForStmt = 209, /** A goto statement. */ - CXCursor_GotoStmt = 210, + CXCursor_GotoStmt = 210, /** An indirect goto statement. */ - CXCursor_IndirectGotoStmt = 211, + CXCursor_IndirectGotoStmt = 211, /** A continue statement. */ - CXCursor_ContinueStmt = 212, + CXCursor_ContinueStmt = 212, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sun Jul 26 19:39:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BC480369B0A; Sun, 26 Jul 2020 19:39:02 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFCtG4f2Yz40HC; Sun, 26 Jul 2020 19:39:02 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7F08011E23; Sun, 26 Jul 2020 19:39:02 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QJd20I079734; Sun, 26 Jul 2020 19:39:02 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QJd273079733; Sun, 26 Jul 2020 19:39:02 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202007261939.06QJd273079733@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 26 Jul 2020 19:39:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r363579 - vendor/llvm-project/llvmorg-11-init-20887-g2e10b7a39b9 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/llvm-project/llvmorg-11-init-20887-g2e10b7a39b9 X-SVN-Commit-Revision: 363579 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 19:39:02 -0000 Author: dim Date: Sun Jul 26 19:39:02 2020 New Revision: 363579 URL: https://svnweb.freebsd.org/changeset/base/363579 Log: Tag llvm-project master 2e10b7a39b9, the last commit before the llvmorg-12-init tag, from which release/11.x was branched. Added: vendor/llvm-project/llvmorg-11-init-20887-g2e10b7a39b9/ - copied from r363578, vendor/llvm-project/master/ From owner-svn-src-all@freebsd.org Sun Jul 26 19:40:37 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D77F7369A99; Sun, 26 Jul 2020 19:40:37 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFCw55MVmz40SV; Sun, 26 Jul 2020 19:40:37 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 839F311CC2; Sun, 26 Jul 2020 19:40:37 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QJebve080433; Sun, 26 Jul 2020 19:40:37 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QJebYY080425; Sun, 26 Jul 2020 19:40:37 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202007261940.06QJebYY080425@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 26 Jul 2020 19:40:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r363580 - vendor/llvm-project/release-11.x X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/llvm-project/release-11.x X-SVN-Commit-Revision: 363580 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 19:40:37 -0000 Author: dim Date: Sun Jul 26 19:40:37 2020 New Revision: 363580 URL: https://svnweb.freebsd.org/changeset/base/363580 Log: Branch vendor/llvm-project/master to vendor/llvm-project/release-11.x, to allow for independent merges of the upstream master and release-11.x branches. Added: vendor/llvm-project/release-11.x/ - copied from r363579, vendor/llvm-project/master/ From owner-svn-src-all@freebsd.org Sun Jul 26 19:46:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6A0FE369BA1; Sun, 26 Jul 2020 19:46:34 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFD2y2Nzgz40dD; Sun, 26 Jul 2020 19:46:34 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1CBCD11F54; Sun, 26 Jul 2020 19:46:34 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QJkYSH085866; Sun, 26 Jul 2020 19:46:34 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QJkTII085839; Sun, 26 Jul 2020 19:46:29 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202007261946.06QJkTII085839@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 26 Jul 2020 19:46:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r363581 - in vendor/llvm-project/release-11.x: clang/include/clang/Driver clang/include/clang/Sema clang/lib/AST clang/lib/Basic/Targets clang/lib/CodeGen clang/lib/Driver clang/lib/Dri... X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/llvm-project/release-11.x: clang/include/clang/Driver clang/include/clang/Sema clang/lib/AST clang/lib/Basic/Targets clang/lib/CodeGen clang/lib/Driver clang/lib/Driver/ToolChains clang/lib/... X-SVN-Commit-Revision: 363581 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 19:46:34 -0000 Author: dim Date: Sun Jul 26 19:46:28 2020 New Revision: 363581 URL: https://svnweb.freebsd.org/changeset/base/363581 Log: Vendor import of llvm-project branch release/11.x llvmorg-11-init-20933-g3c1fca803bc. Added: vendor/llvm-project/release-11.x/llvm/include/llvm/Support/RISCVTargetParser.def Modified: vendor/llvm-project/release-11.x/clang/include/clang/Driver/Options.td vendor/llvm-project/release-11.x/clang/include/clang/Sema/SemaInternal.h vendor/llvm-project/release-11.x/clang/lib/AST/ExprConstant.cpp vendor/llvm-project/release-11.x/clang/lib/Basic/Targets/RISCV.cpp vendor/llvm-project/release-11.x/clang/lib/Basic/Targets/RISCV.h vendor/llvm-project/release-11.x/clang/lib/CodeGen/CGOpenMPRuntime.cpp vendor/llvm-project/release-11.x/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp vendor/llvm-project/release-11.x/clang/lib/CodeGen/CodeGenFunction.cpp vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Arch/RISCV.cpp vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Clang.cpp vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/CommonArgs.cpp vendor/llvm-project/release-11.x/clang/lib/Driver/Types.cpp vendor/llvm-project/release-11.x/clang/lib/Frontend/CompilerInvocation.cpp vendor/llvm-project/release-11.x/clang/lib/Sema/SemaExprCXX.cpp vendor/llvm-project/release-11.x/clang/lib/Sema/SemaOpenMP.cpp vendor/llvm-project/release-11.x/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp vendor/llvm-project/release-11.x/lld/COFF/SymbolTable.cpp vendor/llvm-project/release-11.x/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp vendor/llvm-project/release-11.x/llvm/include/llvm/IR/IRBuilder.h vendor/llvm-project/release-11.x/llvm/include/llvm/Support/TargetParser.h vendor/llvm-project/release-11.x/llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h vendor/llvm-project/release-11.x/llvm/lib/Analysis/AssumeBundleQueries.cpp vendor/llvm-project/release-11.x/llvm/lib/Analysis/ConstantFolding.cpp vendor/llvm-project/release-11.x/llvm/lib/Analysis/InstructionSimplify.cpp vendor/llvm-project/release-11.x/llvm/lib/Analysis/ScalarEvolution.cpp vendor/llvm-project/release-11.x/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp vendor/llvm-project/release-11.x/llvm/lib/IR/ConstantFold.cpp vendor/llvm-project/release-11.x/llvm/lib/IR/IRBuilder.cpp vendor/llvm-project/release-11.x/llvm/lib/IR/Verifier.cpp vendor/llvm-project/release-11.x/llvm/lib/MC/MCParser/MasmParser.cpp vendor/llvm-project/release-11.x/llvm/lib/Object/RelocationResolver.cpp vendor/llvm-project/release-11.x/llvm/lib/Support/TargetParser.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/PowerPC/PPCISelLowering.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/PowerPC/PPCInstr64Bit.td vendor/llvm-project/release-11.x/llvm/lib/Target/PowerPC/PPCInstrInfo.td vendor/llvm-project/release-11.x/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/RISCV/RISCV.td vendor/llvm-project/release-11.x/llvm/lib/Target/X86/AsmParser/X86Operand.h vendor/llvm-project/release-11.x/llvm/lib/Target/X86/X86ISelLowering.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/X86/X86InstrInfo.td vendor/llvm-project/release-11.x/llvm/lib/Target/X86/X86InstrSystem.td vendor/llvm-project/release-11.x/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp vendor/llvm-project/release-11.x/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp vendor/llvm-project/release-11.x/llvm/lib/Transforms/InstCombine/InstCombineInternal.h vendor/llvm-project/release-11.x/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp vendor/llvm-project/release-11.x/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp vendor/llvm-project/release-11.x/llvm/utils/TableGen/X86RecognizableInstr.cpp Modified: vendor/llvm-project/release-11.x/clang/include/clang/Driver/Options.td ============================================================================== --- vendor/llvm-project/release-11.x/clang/include/clang/Driver/Options.td Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/include/clang/Driver/Options.td Sun Jul 26 19:46:28 2020 (r363581) @@ -1440,6 +1440,10 @@ def fpch_instantiate_templates: def fno_pch_instantiate_templates: Flag <["-"], "fno-pch-instantiate-templates">, Group, Flags<[CC1Option]>; +defm pch_codegen: OptInFFlag<"pch-codegen", "Generate ", "Do not generate ", + "code for uses of this PCH that assumes an explicit object file will be built for the PCH">; +defm pch_debuginfo: OptInFFlag<"pch-debuginfo", "Generate ", "Do not generate ", + "debug info for types in an object file built from this PCH and do not generate them elsewhere">; def fmodules : Flag <["-"], "fmodules">, Group, Flags<[DriverOption, CC1Option]>, Modified: vendor/llvm-project/release-11.x/clang/include/clang/Sema/SemaInternal.h ============================================================================== --- vendor/llvm-project/release-11.x/clang/include/clang/Sema/SemaInternal.h Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/include/clang/Sema/SemaInternal.h Sun Jul 26 19:46:28 2020 (r363581) @@ -168,6 +168,11 @@ class TypoCorrectionConsumer : public VisibleDeclConsu return TC; } + /// In the case of deeply invalid expressions, `getNextCorrection()` will + /// never be called since the transform never makes progress. If we don't + /// detect this we risk trying to correct typos forever. + bool hasMadeAnyCorrectionProgress() const { return CurrentTCIndex != 0; } + /// Reset the consumer's position in the stream of viable corrections /// (i.e. getNextCorrection() will return each of the previously returned /// corrections in order before returning any new corrections). Modified: vendor/llvm-project/release-11.x/clang/lib/AST/ExprConstant.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/AST/ExprConstant.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/AST/ExprConstant.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -9930,8 +9930,7 @@ namespace { const ConstantArrayType *CAT = Info.Ctx.getAsConstantArrayType(E->getType()); if (!CAT) { - if (const IncompleteArrayType *IAT = - Info.Ctx.getAsIncompleteArrayType(E->getType())) { + if (E->getType()->isIncompleteArrayType()) { // We can be asked to zero-initialize a flexible array member; this // is represented as an ImplicitValueInitExpr of incomplete array // type. In this case, the array has zero elements. Modified: vendor/llvm-project/release-11.x/clang/lib/Basic/Targets/RISCV.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Basic/Targets/RISCV.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/Basic/Targets/RISCV.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -13,6 +13,7 @@ #include "RISCV.h" #include "clang/Basic/MacroBuilder.h" #include "llvm/ADT/StringSwitch.h" +#include "llvm/Support/TargetParser.h" using namespace clang; using namespace clang::targets; @@ -165,4 +166,24 @@ bool RISCVTargetInfo::handleTargetFeatures(std::vector } return true; +} + +bool RISCV32TargetInfo::isValidCPUName(StringRef Name) const { + return llvm::RISCV::checkCPUKind(llvm::RISCV::parseCPUKind(Name), + /*Is64Bit=*/false); +} + +void RISCV32TargetInfo::fillValidCPUList( + SmallVectorImpl &Values) const { + llvm::RISCV::fillValidCPUArchList(Values, false); +} + +bool RISCV64TargetInfo::isValidCPUName(StringRef Name) const { + return llvm::RISCV::checkCPUKind(llvm::RISCV::parseCPUKind(Name), + /*Is64Bit=*/true); +} + +void RISCV64TargetInfo::fillValidCPUList( + SmallVectorImpl &Values) const { + llvm::RISCV::fillValidCPUArchList(Values, true); } Modified: vendor/llvm-project/release-11.x/clang/lib/Basic/Targets/RISCV.h ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Basic/Targets/RISCV.h Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/Basic/Targets/RISCV.h Sun Jul 26 19:46:28 2020 (r363581) @@ -24,7 +24,7 @@ namespace targets { // RISC-V Target class RISCVTargetInfo : public TargetInfo { protected: - std::string ABI; + std::string ABI, CPU; bool HasM; bool HasA; bool HasF; @@ -44,6 +44,13 @@ class RISCVTargetInfo : public TargetInfo { (public) WIntType = UnsignedInt; } + bool setCPU(const std::string &Name) override { + if (!isValidCPUName(Name)) + return false; + CPU = Name; + return true; + } + StringRef getABI() const override { return ABI; } void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override; @@ -97,6 +104,9 @@ class LLVM_LIBRARY_VISIBILITY RISCV32TargetInfo : publ return false; } + bool isValidCPUName(StringRef Name) const override; + void fillValidCPUList(SmallVectorImpl &Values) const override; + void setMaxAtomicWidth() override { MaxAtomicPromoteWidth = 128; @@ -120,6 +130,9 @@ class LLVM_LIBRARY_VISIBILITY RISCV64TargetInfo : publ } return false; } + + bool isValidCPUName(StringRef Name) const override; + void fillValidCPUList(SmallVectorImpl &Values) const override; void setMaxAtomicWidth() override { MaxAtomicPromoteWidth = 128; Modified: vendor/llvm-project/release-11.x/clang/lib/CodeGen/CGOpenMPRuntime.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/CodeGen/CGOpenMPRuntime.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/CodeGen/CGOpenMPRuntime.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -886,8 +886,11 @@ void ReductionCodeGen::emitInitialization( SharedType, SharedAddresses[N].first.getBaseInfo(), CGF.CGM.getTBAAInfoForSubobject(SharedAddresses[N].first, SharedType)); if (CGF.getContext().getAsArrayType(PrivateVD->getType())) { + if (DRD && DRD->getInitializer()) + (void)DefaultInit(CGF); emitAggregateInitialization(CGF, N, PrivateAddr, SharedLVal, DRD); } else if (DRD && (DRD->getInitializer() || !PrivateVD->hasInit())) { + (void)DefaultInit(CGF); emitInitWithReductionInitializer(CGF, DRD, ClausesData[N].ReductionOp, PrivateAddr, SharedLVal.getAddress(CGF), SharedLVal.getType()); Modified: vendor/llvm-project/release-11.x/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -4770,6 +4770,7 @@ Address CGOpenMPRuntimeNVPTX::getAddressOfLocalVariabl const VarDecl *VD) { if (VD && VD->hasAttr()) { const auto *A = VD->getAttr(); + auto AS = LangAS::Default; switch (A->getAllocatorType()) { // Use the default allocator here as by default local vars are // threadlocal. @@ -4783,42 +4784,30 @@ Address CGOpenMPRuntimeNVPTX::getAddressOfLocalVariabl case OMPAllocateDeclAttr::OMPUserDefinedMemAlloc: // TODO: implement aupport for user-defined allocators. return Address::invalid(); - case OMPAllocateDeclAttr::OMPConstMemAlloc: { - llvm::Type *VarTy = CGF.ConvertTypeForMem(VD->getType()); - auto *GV = new llvm::GlobalVariable( - CGM.getModule(), VarTy, /*isConstant=*/false, - llvm::GlobalValue::InternalLinkage, - llvm::Constant::getNullValue(VarTy), VD->getName(), - /*InsertBefore=*/nullptr, llvm::GlobalValue::NotThreadLocal, - CGM.getContext().getTargetAddressSpace(LangAS::cuda_constant)); - CharUnits Align = CGM.getContext().getDeclAlign(VD); - GV->setAlignment(Align.getAsAlign()); - return Address(GV, Align); - } - case OMPAllocateDeclAttr::OMPPTeamMemAlloc: { - llvm::Type *VarTy = CGF.ConvertTypeForMem(VD->getType()); - auto *GV = new llvm::GlobalVariable( - CGM.getModule(), VarTy, /*isConstant=*/false, - llvm::GlobalValue::InternalLinkage, - llvm::Constant::getNullValue(VarTy), VD->getName(), - /*InsertBefore=*/nullptr, llvm::GlobalValue::NotThreadLocal, - CGM.getContext().getTargetAddressSpace(LangAS::cuda_shared)); - CharUnits Align = CGM.getContext().getDeclAlign(VD); - GV->setAlignment(Align.getAsAlign()); - return Address(GV, Align); - } + case OMPAllocateDeclAttr::OMPConstMemAlloc: + AS = LangAS::cuda_constant; + break; + case OMPAllocateDeclAttr::OMPPTeamMemAlloc: + AS = LangAS::cuda_shared; + break; case OMPAllocateDeclAttr::OMPLargeCapMemAlloc: - case OMPAllocateDeclAttr::OMPCGroupMemAlloc: { - llvm::Type *VarTy = CGF.ConvertTypeForMem(VD->getType()); - auto *GV = new llvm::GlobalVariable( - CGM.getModule(), VarTy, /*isConstant=*/false, - llvm::GlobalValue::InternalLinkage, - llvm::Constant::getNullValue(VarTy), VD->getName()); - CharUnits Align = CGM.getContext().getDeclAlign(VD); - GV->setAlignment(Align.getAsAlign()); - return Address(GV, Align); + case OMPAllocateDeclAttr::OMPCGroupMemAlloc: + break; } - } + llvm::Type *VarTy = CGF.ConvertTypeForMem(VD->getType()); + auto *GV = new llvm::GlobalVariable( + CGM.getModule(), VarTy, /*isConstant=*/false, + llvm::GlobalValue::InternalLinkage, llvm::Constant::getNullValue(VarTy), + VD->getName(), + /*InsertBefore=*/nullptr, llvm::GlobalValue::NotThreadLocal, + CGM.getContext().getTargetAddressSpace(AS)); + CharUnits Align = CGM.getContext().getDeclAlign(VD); + GV->setAlignment(Align.getAsAlign()); + return Address( + CGF.Builder.CreatePointerBitCastOrAddrSpaceCast( + GV, VarTy->getPointerTo(CGM.getContext().getTargetAddressSpace( + VD->getType().getAddressSpace()))), + Align); } if (getDataSharingMode(CGM) != CGOpenMPRuntimeNVPTX::Generic) Modified: vendor/llvm-project/release-11.x/clang/lib/CodeGen/CodeGenFunction.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/CodeGen/CodeGenFunction.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/CodeGen/CodeGenFunction.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -2154,39 +2154,13 @@ void CodeGenFunction::emitAlignmentAssumption(llvm::Va SourceLocation AssumptionLoc, llvm::Value *Alignment, llvm::Value *OffsetValue) { - if (Alignment->getType() != IntPtrTy) - Alignment = - Builder.CreateIntCast(Alignment, IntPtrTy, false, "casted.align"); - if (OffsetValue && OffsetValue->getType() != IntPtrTy) - OffsetValue = - Builder.CreateIntCast(OffsetValue, IntPtrTy, true, "casted.offset"); - llvm::Value *TheCheck = nullptr; + llvm::Value *TheCheck; + llvm::Instruction *Assumption = Builder.CreateAlignmentAssumption( + CGM.getDataLayout(), PtrValue, Alignment, OffsetValue, &TheCheck); if (SanOpts.has(SanitizerKind::Alignment)) { - llvm::Value *PtrIntValue = - Builder.CreatePtrToInt(PtrValue, IntPtrTy, "ptrint"); - - if (OffsetValue) { - bool IsOffsetZero = false; - if (const auto *CI = dyn_cast(OffsetValue)) - IsOffsetZero = CI->isZero(); - - if (!IsOffsetZero) - PtrIntValue = Builder.CreateSub(PtrIntValue, OffsetValue, "offsetptr"); - } - - llvm::Value *Zero = llvm::ConstantInt::get(IntPtrTy, 0); - llvm::Value *Mask = - Builder.CreateSub(Alignment, llvm::ConstantInt::get(IntPtrTy, 1)); - llvm::Value *MaskedPtr = Builder.CreateAnd(PtrIntValue, Mask, "maskedptr"); - TheCheck = Builder.CreateICmpEQ(MaskedPtr, Zero, "maskcond"); + emitAlignmentAssumptionCheck(PtrValue, Ty, Loc, AssumptionLoc, Alignment, + OffsetValue, TheCheck, Assumption); } - llvm::Instruction *Assumption = Builder.CreateAlignmentAssumption( - CGM.getDataLayout(), PtrValue, Alignment, OffsetValue); - - if (!SanOpts.has(SanitizerKind::Alignment)) - return; - emitAlignmentAssumptionCheck(PtrValue, Ty, Loc, AssumptionLoc, Alignment, - OffsetValue, TheCheck, Assumption); } void CodeGenFunction::emitAlignmentAssumption(llvm::Value *PtrValue, Modified: vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Arch/RISCV.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Arch/RISCV.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Arch/RISCV.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -446,6 +446,19 @@ static bool getArchFeatures(const Driver &D, StringRef return true; } +// Get features except standard extension feature +void getRISCFeaturesFromMcpu(const Driver &D, const llvm::Triple &Triple, + const llvm::opt::ArgList &Args, + const llvm::opt::Arg *A, StringRef Mcpu, + std::vector &Features) { + bool Is64Bit = (Triple.getArch() == llvm::Triple::riscv64); + llvm::RISCV::CPUKind CPUKind = llvm::RISCV::parseCPUKind(Mcpu); + if (!llvm::RISCV::checkCPUKind(CPUKind, Is64Bit) || + !llvm::RISCV::getCPUFeaturesExceptStdExt(CPUKind, Features)) { + D.Diag(clang::diag::err_drv_clang_unsupported) << A->getAsString(Args); + } +} + void riscv::getRISCVTargetFeatures(const Driver &D, const llvm::Triple &Triple, const ArgList &Args, std::vector &Features) { @@ -454,6 +467,11 @@ void riscv::getRISCVTargetFeatures(const Driver &D, co if (!getArchFeatures(D, MArch, Features, Args)) return; + // If users give march and mcpu, get std extension feature from MArch + // and other features (ex. mirco architecture feature) from mcpu + if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) + getRISCFeaturesFromMcpu(D, Triple, Args, A, A->getValue(), Features); + // Handle features corresponding to "-ffixed-X" options if (Args.hasArg(options::OPT_ffixed_x1)) Features.push_back("+reserve-x1"); @@ -543,11 +561,9 @@ StringRef riscv::getRISCVABI(const ArgList &Args, cons // GCC's logic around choosing a default `-mabi=` is complex. If GCC is not // configured using `--with-abi=`, then the logic for the default choice is - // defined in config.gcc. This function is based on the logic in GCC 9.2.0. We - // deviate from GCC's default only on baremetal targets (UnknownOS) where - // neither `-march` nor `-mabi` is specified. + // defined in config.gcc. This function is based on the logic in GCC 9.2.0. // - // The logic uses the following, in order: + // The logic used in GCC 9.2.0 is the following, in order: // 1. Explicit choices using `--with-abi=` // 2. A default based on `--with-arch=`, if provided // 3. A default based on the target triple's arch @@ -556,38 +572,40 @@ StringRef riscv::getRISCVABI(const ArgList &Args, cons // // Clang does not have `--with-arch=` or `--with-abi=`, so we use `-march=` // and `-mabi=` respectively instead. + // + // In order to make chosing logic more clear, Clang uses the following logic, + // in order: + // 1. Explicit choices using `-mabi=` + // 2. A default based on the architecture as determined by getRISCVArch + // 3. Choose a default based on the triple // 1. If `-mabi=` is specified, use it. if (const Arg *A = Args.getLastArg(options::OPT_mabi_EQ)) return A->getValue(); - // 2. Choose a default based on `-march=` + // 2. Choose a default based on the target architecture. // // rv32g | rv32*d -> ilp32d // rv32e -> ilp32e // rv32* -> ilp32 // rv64g | rv64*d -> lp64d // rv64* -> lp64 - if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { - StringRef MArch = A->getValue(); + StringRef MArch = getRISCVArch(Args, Triple); - if (MArch.startswith_lower("rv32")) { - // FIXME: parse `March` to find `D` extension properly - if (MArch.substr(4).contains_lower("d") || - MArch.startswith_lower("rv32g")) - return "ilp32d"; - else if (MArch.startswith_lower("rv32e")) - return "ilp32e"; - else - return "ilp32"; - } else if (MArch.startswith_lower("rv64")) { - // FIXME: parse `March` to find `D` extension properly - if (MArch.substr(4).contains_lower("d") || - MArch.startswith_lower("rv64g")) - return "lp64d"; - else - return "lp64"; - } + if (MArch.startswith_lower("rv32")) { + // FIXME: parse `March` to find `D` extension properly + if (MArch.substr(4).contains_lower("d") || MArch.startswith_lower("rv32g")) + return "ilp32d"; + else if (MArch.startswith_lower("rv32e")) + return "ilp32e"; + else + return "ilp32"; + } else if (MArch.startswith_lower("rv64")) { + // FIXME: parse `March` to find `D` extension properly + if (MArch.substr(4).contains_lower("d") || MArch.startswith_lower("rv64g")) + return "lp64d"; + else + return "lp64"; } // 3. Choose a default based on the triple @@ -617,10 +635,11 @@ StringRef riscv::getRISCVArch(const llvm::opt::ArgList // GCC's logic around choosing a default `-march=` is complex. If GCC is not // configured using `--with-arch=`, then the logic for the default choice is // defined in config.gcc. This function is based on the logic in GCC 9.2.0. We - // deviate from GCC's default only on baremetal targets (UnknownOS) where - // neither `-march` nor `-mabi` is specified. + // deviate from GCC's default on additional `-mcpu` option (GCC does not + // support `-mcpu`) and baremetal targets (UnknownOS) where neither `-march` + // nor `-mabi` is specified. // - // The logic uses the following, in order: + // The logic used in GCC 9.2.0 is the following, in order: // 1. Explicit choices using `--with-arch=` // 2. A default based on `--with-abi=`, if provided // 3. A default based on the target triple's arch @@ -630,6 +649,12 @@ StringRef riscv::getRISCVArch(const llvm::opt::ArgList // Clang does not have `--with-arch=` or `--with-abi=`, so we use `-march=` // and `-mabi=` respectively instead. // + // Clang uses the following logic, in order: + // 1. Explicit choices using `-march=` + // 2. Based on `-mcpu` if the target CPU has a default ISA string + // 3. A default based on `-mabi`, if provided + // 4. A default based on the target triple's arch + // // Clang does not yet support MULTILIB_REUSE, so we use `rv{XLEN}imafdc` // instead of `rv{XLEN}gc` though they are (currently) equivalent. @@ -637,7 +662,15 @@ StringRef riscv::getRISCVArch(const llvm::opt::ArgList if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) return A->getValue(); - // 2. Choose a default based on `-mabi=` + // 2. Get march (isa string) based on `-mcpu=` + if (const Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) { + StringRef MArch = llvm::RISCV::getMArchFromMcpu(A->getValue()); + // Bypass if target cpu's default march is empty. + if (MArch != "") + return MArch; + } + + // 3. Choose a default based on `-mabi=` // // ilp32e -> rv32e // ilp32 | ilp32f | ilp32d -> rv32imafdc @@ -653,7 +686,7 @@ StringRef riscv::getRISCVArch(const llvm::opt::ArgList return "rv64imafdc"; } - // 3. Choose a default based on the triple + // 4. Choose a default based on the triple // // We deviate from GCC's defaults here: // - On `riscv{XLEN}-unknown-elf` we default to `rv{XLEN}imac` Modified: vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Clang.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Clang.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/Clang.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -5627,6 +5627,12 @@ void Clang::ConstructJob(Compilation &C, const JobActi if (Args.hasFlag(options::OPT_fpch_instantiate_templates, options::OPT_fno_pch_instantiate_templates, false)) CmdArgs.push_back("-fpch-instantiate-templates"); + if (Args.hasFlag(options::OPT_fpch_codegen, options::OPT_fno_pch_codegen, + false)) + CmdArgs.push_back("-fmodules-codegen"); + if (Args.hasFlag(options::OPT_fpch_debuginfo, options::OPT_fno_pch_debuginfo, + false)) + CmdArgs.push_back("-fmodules-debuginfo"); Args.AddLastArg(CmdArgs, options::OPT_fexperimental_new_pass_manager, options::OPT_fno_experimental_new_pass_manager); Modified: vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/CommonArgs.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/CommonArgs.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/Driver/ToolChains/CommonArgs.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -333,6 +333,11 @@ std::string tools::getCPUName(const ArgList &Args, con return TargetCPUName; } + case llvm::Triple::riscv32: + case llvm::Triple::riscv64: + if (const Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) + return A->getValue(); + return ""; case llvm::Triple::bpfel: case llvm::Triple::bpfeb: Modified: vendor/llvm-project/release-11.x/clang/lib/Driver/Types.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Driver/Types.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/Driver/Types.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -141,7 +141,7 @@ bool types::isAcceptedByClang(ID Id) { case TY_CXXHeader: case TY_PP_CXXHeader: case TY_ObjCXXHeader: case TY_PP_ObjCXXHeader: case TY_CXXModule: case TY_PP_CXXModule: - case TY_AST: case TY_ModuleFile: + case TY_AST: case TY_ModuleFile: case TY_PCH: case TY_LLVM_IR: case TY_LLVM_BC: return true; } Modified: vendor/llvm-project/release-11.x/clang/lib/Frontend/CompilerInvocation.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Frontend/CompilerInvocation.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/Frontend/CompilerInvocation.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -2022,8 +2022,9 @@ static InputKind ParseFrontendArgs(FrontendOptions &Op // FIXME: Supporting '-header-cpp-output' would be useful. bool Preprocessed = XValue.consume_back("-cpp-output"); bool ModuleMap = XValue.consume_back("-module-map"); - IsHeaderFile = - !Preprocessed && !ModuleMap && XValue.consume_back("-header"); + IsHeaderFile = !Preprocessed && !ModuleMap && + XValue != "precompiled-header" && + XValue.consume_back("-header"); // Principal languages. DashX = llvm::StringSwitch(XValue) @@ -2050,7 +2051,7 @@ static InputKind ParseFrontendArgs(FrontendOptions &Op DashX = llvm::StringSwitch(XValue) .Case("cpp-output", InputKind(Language::C).getPreprocessed()) .Case("assembler-with-cpp", Language::Asm) - .Cases("ast", "pcm", + .Cases("ast", "pcm", "precompiled-header", InputKind(Language::Unknown, InputKind::Precompiled)) .Case("ir", Language::LLVM_IR) .Default(Language::Unknown); Modified: vendor/llvm-project/release-11.x/clang/lib/Sema/SemaExprCXX.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Sema/SemaExprCXX.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/Sema/SemaExprCXX.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -7977,19 +7977,26 @@ class TransformTypos : public TreeTransformhasMadeAnyCorrectionProgress()) + return false; if (!State.Consumer->finished()) return true; State.Consumer->resetCorrectionStream(); Modified: vendor/llvm-project/release-11.x/clang/lib/Sema/SemaOpenMP.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Sema/SemaOpenMP.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/clang/lib/Sema/SemaOpenMP.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -15153,6 +15153,7 @@ static bool actOnOMPReductionKindClause( auto *DRDRef = DeclareReductionRef.getAs(); auto *DRD = cast(DRDRef->getDecl()); if (DRD->getInitializer()) { + S.ActOnUninitializedDecl(PrivateVD); Init = DRDRef; RHSVD->setInit(DRDRef); RHSVD->setInitStyle(VarDecl::CallInit); @@ -15259,10 +15260,19 @@ static bool actOnOMPReductionKindClause( llvm_unreachable("Unexpected reduction operation"); } } - if (Init && DeclareReductionRef.isUnset()) + if (Init && DeclareReductionRef.isUnset()) { S.AddInitializerToDecl(RHSVD, Init, /*DirectInit=*/false); - else if (!Init) + // Store initializer for single element in private copy. Will be used + // during codegen. + PrivateVD->setInit(RHSVD->getInit()); + PrivateVD->setInitStyle(RHSVD->getInitStyle()); + } else if (!Init) { S.ActOnUninitializedDecl(RHSVD); + // Store initializer for single element in private copy. Will be used + // during codegen. + PrivateVD->setInit(RHSVD->getInit()); + PrivateVD->setInitStyle(RHSVD->getInitStyle()); + } if (RHSVD->isInvalidDecl()) continue; if (!RHSVD->hasInit() && @@ -15276,10 +15286,6 @@ static bool actOnOMPReductionKindClause( << D; continue; } - // Store initializer for single element in private copy. Will be used during - // codegen. - PrivateVD->setInit(RHSVD->getInit()); - PrivateVD->setInitStyle(RHSVD->getInitStyle()); DeclRefExpr *PrivateDRE = buildDeclRefExpr(S, PrivateVD, PrivateTy, ELoc); ExprResult ReductionOp; if (DeclareReductionRef.isUsable()) { Modified: vendor/llvm-project/release-11.x/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp ============================================================================== --- vendor/llvm-project/release-11.x/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -439,65 +439,61 @@ void RestoreStack(int tid, const u64 epoch, VarSizeSta ExtractTagFromStack(stk, tag); } -static bool HandleRacyStacks(ThreadState *thr, VarSizeStackTrace traces[2], - uptr addr_min, uptr addr_max) { - bool equal_stack = false; +static bool FindRacyStacks(const RacyStacks &hash) { + for (uptr i = 0; i < ctx->racy_stacks.Size(); i++) { + if (hash == ctx->racy_stacks[i]) { + VPrintf(2, "ThreadSanitizer: suppressing report as doubled (stack)\n"); + return true; + } + } + return false; +} + +static bool HandleRacyStacks(ThreadState *thr, VarSizeStackTrace traces[2]) { + if (!flags()->suppress_equal_stacks) + return false; RacyStacks hash; - bool equal_address = false; - RacyAddress ra0 = {addr_min, addr_max}; + hash.hash[0] = md5_hash(traces[0].trace, traces[0].size * sizeof(uptr)); + hash.hash[1] = md5_hash(traces[1].trace, traces[1].size * sizeof(uptr)); { ReadLock lock(&ctx->racy_mtx); - if (flags()->suppress_equal_stacks) { - hash.hash[0] = md5_hash(traces[0].trace, traces[0].size * sizeof(uptr)); - hash.hash[1] = md5_hash(traces[1].trace, traces[1].size * sizeof(uptr)); - for (uptr i = 0; i < ctx->racy_stacks.Size(); i++) { - if (hash == ctx->racy_stacks[i]) { - VPrintf(2, - "ThreadSanitizer: suppressing report as doubled (stack)\n"); - equal_stack = true; - break; - } - } + if (FindRacyStacks(hash)) + return true; + } + Lock lock(&ctx->racy_mtx); + if (FindRacyStacks(hash)) + return true; + ctx->racy_stacks.PushBack(hash); + return false; +} + +static bool FindRacyAddress(const RacyAddress &ra0) { + for (uptr i = 0; i < ctx->racy_addresses.Size(); i++) { + RacyAddress ra2 = ctx->racy_addresses[i]; + uptr maxbeg = max(ra0.addr_min, ra2.addr_min); + uptr minend = min(ra0.addr_max, ra2.addr_max); + if (maxbeg < minend) { + VPrintf(2, "ThreadSanitizer: suppressing report as doubled (addr)\n"); + return true; } - if (flags()->suppress_equal_addresses) { - for (uptr i = 0; i < ctx->racy_addresses.Size(); i++) { - RacyAddress ra2 = ctx->racy_addresses[i]; - uptr maxbeg = max(ra0.addr_min, ra2.addr_min); - uptr minend = min(ra0.addr_max, ra2.addr_max); - if (maxbeg < minend) { - VPrintf(2, "ThreadSanitizer: suppressing report as doubled (addr)\n"); - equal_address = true; - break; - } - } - } } - if (!equal_stack && !equal_address) - return false; - if (!equal_stack) { - Lock lock(&ctx->racy_mtx); - ctx->racy_stacks.PushBack(hash); - } - if (!equal_address) { - Lock lock(&ctx->racy_mtx); - ctx->racy_addresses.PushBack(ra0); - } - return true; + return false; } -static void AddRacyStacks(ThreadState *thr, VarSizeStackTrace traces[2], - uptr addr_min, uptr addr_max) { - Lock lock(&ctx->racy_mtx); - if (flags()->suppress_equal_stacks) { - RacyStacks hash; - hash.hash[0] = md5_hash(traces[0].trace, traces[0].size * sizeof(uptr)); - hash.hash[1] = md5_hash(traces[1].trace, traces[1].size * sizeof(uptr)); - ctx->racy_stacks.PushBack(hash); +static bool HandleRacyAddress(ThreadState *thr, uptr addr_min, uptr addr_max) { + if (!flags()->suppress_equal_addresses) + return false; + RacyAddress ra0 = {addr_min, addr_max}; + { + ReadLock lock(&ctx->racy_mtx); + if (FindRacyAddress(ra0)) + return true; } - if (flags()->suppress_equal_addresses) { - RacyAddress ra0 = {addr_min, addr_max}; - ctx->racy_addresses.PushBack(ra0); - } + Lock lock(&ctx->racy_mtx); + if (FindRacyAddress(ra0)) + return true; + ctx->racy_addresses.PushBack(ra0); + return false; } bool OutputReport(ThreadState *thr, const ScopedReport &srep) { @@ -618,6 +614,8 @@ void ReportRace(ThreadState *thr) { if (IsExpectedReport(addr_min, addr_max - addr_min)) return; } + if (HandleRacyAddress(thr, addr_min, addr_max)) + return; ReportType typ = ReportTypeRace; if (thr->is_vptr_access && freed) @@ -668,7 +666,7 @@ void ReportRace(ThreadState *thr) { if (IsFiredSuppression(ctx, typ, traces[1])) return; - if (HandleRacyStacks(thr, traces, addr_min, addr_max)) + if (HandleRacyStacks(thr, traces)) return; // If any of the accesses has a tag, treat this as an "external" race. @@ -711,7 +709,6 @@ void ReportRace(ThreadState *thr) { if (!OutputReport(thr, rep)) return; - AddRacyStacks(thr, traces, addr_min, addr_max); } void PrintCurrentStack(ThreadState *thr, uptr pc) { Modified: vendor/llvm-project/release-11.x/lld/COFF/SymbolTable.cpp ============================================================================== --- vendor/llvm-project/release-11.x/lld/COFF/SymbolTable.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/lld/COFF/SymbolTable.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -136,12 +136,16 @@ getFileLine(const SectionChunk *c, uint32_t addr) { // of all references to that symbol from that file. If no debug information is // available, returns just the name of the file, else one string per actual // reference as described in the debug info. -std::vector getSymbolLocations(ObjFile *file, uint32_t symIndex) { +// Returns up to maxStrings string descriptions, along with the total number of +// locations found. +static std::pair, size_t> +getSymbolLocations(ObjFile *file, uint32_t symIndex, size_t maxStrings) { struct Location { Symbol *sym; std::pair fileLine; }; std::vector locations; + size_t numLocations = 0; for (Chunk *c : file->getChunks()) { auto *sc = dyn_cast(c); @@ -150,6 +154,10 @@ std::vector getSymbolLocations(ObjFile *f for (const coff_relocation &r : sc->getRelocs()) { if (r.SymbolTableIndex != symIndex) continue; + numLocations++; + if (locations.size() >= maxStrings) + continue; + Optional> fileLine = getFileLine(sc, r.VirtualAddress); Symbol *sym = getSymbol(sc, r.VirtualAddress); @@ -160,9 +168,13 @@ std::vector getSymbolLocations(ObjFile *f } } - if (locations.empty()) - return std::vector({"\n>>> referenced by " + toString(file)}); + if (maxStrings == 0) + return std::make_pair(std::vector(), numLocations); + if (numLocations == 0) + return std::make_pair( + std::vector{"\n>>> referenced by " + toString(file)}, 1); + std::vector symbolLocations(locations.size()); size_t i = 0; for (Location loc : locations) { @@ -175,17 +187,26 @@ std::vector getSymbolLocations(ObjFile *f if (loc.sym) os << ":(" << toString(*loc.sym) << ')'; } - return symbolLocations; + return std::make_pair(symbolLocations, numLocations); } -std::vector getSymbolLocations(InputFile *file, - uint32_t symIndex) { +std::vector getSymbolLocations(ObjFile *file, uint32_t symIndex) { + return getSymbolLocations(file, symIndex, SIZE_MAX).first; +} + +static std::pair, size_t> +getSymbolLocations(InputFile *file, uint32_t symIndex, size_t maxStrings) { if (auto *o = dyn_cast(file)) - return getSymbolLocations(o, symIndex); - if (auto *b = dyn_cast(file)) - return getSymbolLocations(b); + return getSymbolLocations(o, symIndex, maxStrings); + if (auto *b = dyn_cast(file)) { + std::vector symbolLocations = getSymbolLocations(b); + size_t numLocations = symbolLocations.size(); + if (symbolLocations.size() > maxStrings) + symbolLocations.resize(maxStrings); + return std::make_pair(symbolLocations, numLocations); + } llvm_unreachable("unsupported file type passed to getSymbolLocations"); - return {}; + return std::make_pair(std::vector(), (size_t)0); } // For an undefined symbol, stores all files referencing it and the index of @@ -205,20 +226,21 @@ static void reportUndefinedSymbol(const UndefinedDiag os << "undefined symbol: " << toString(*undefDiag.sym); const size_t maxUndefReferences = 3; - size_t i = 0, numRefs = 0; + size_t numDisplayedRefs = 0, numRefs = 0; for (const UndefinedDiag::File &ref : undefDiag.files) { - std::vector symbolLocations = - getSymbolLocations(ref.file, ref.symIndex); - numRefs += symbolLocations.size(); + std::vector symbolLocations; + size_t totalLocations = 0; + std::tie(symbolLocations, totalLocations) = getSymbolLocations( + ref.file, ref.symIndex, maxUndefReferences - numDisplayedRefs); + + numRefs += totalLocations; + numDisplayedRefs += symbolLocations.size(); for (const std::string &s : symbolLocations) { - if (i >= maxUndefReferences) - break; os << s; - i++; } } - if (i < numRefs) - os << "\n>>> referenced " << numRefs - i << " more times"; + if (numDisplayedRefs < numRefs) + os << "\n>>> referenced " << numRefs - numDisplayedRefs << " more times"; errorOrWarn(os.str()); } Modified: vendor/llvm-project/release-11.x/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp ============================================================================== --- vendor/llvm-project/release-11.x/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -1036,18 +1036,20 @@ bool SymbolFileDWARF::ParseLineTable(CompileUnit &comp // FIXME: Rather than parsing the whole line table and then copying it over // into LLDB, we should explore using a callback to populate the line table // while we parse to reduce memory usage. - std::unique_ptr sequence = - LineTable::CreateLineSequenceContainer(); std::vector> sequences; - for (auto &row : line_table->Rows) { - LineTable::AppendLineEntryToSequence( - sequence.get(), row.Address.Address, row.Line, row.Column, row.File, - row.IsStmt, row.BasicBlock, row.PrologueEnd, row.EpilogueBegin, - row.EndSequence); - if (row.EndSequence) { - sequences.push_back(std::move(sequence)); - sequence = LineTable::CreateLineSequenceContainer(); + // The Sequences view contains only valid line sequences. Don't iterate over + // the Rows directly. + for (const llvm::DWARFDebugLine::Sequence &seq : line_table->Sequences) { + std::unique_ptr sequence = + LineTable::CreateLineSequenceContainer(); + for (unsigned idx = seq.FirstRowIndex; idx < seq.LastRowIndex; ++idx) { + const llvm::DWARFDebugLine::Row &row = line_table->Rows[idx]; + LineTable::AppendLineEntryToSequence( + sequence.get(), row.Address.Address, row.Line, row.Column, row.File, + row.IsStmt, row.BasicBlock, row.PrologueEnd, row.EpilogueBegin, + row.EndSequence); } + sequences.push_back(std::move(sequence)); } std::unique_ptr line_table_up = Modified: vendor/llvm-project/release-11.x/llvm/include/llvm/IR/IRBuilder.h ============================================================================== --- vendor/llvm-project/release-11.x/llvm/include/llvm/IR/IRBuilder.h Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/llvm/include/llvm/IR/IRBuilder.h Sun Jul 26 19:46:28 2020 (r363581) @@ -782,11 +782,7 @@ class IRBuilderBase { (public) /// Create an assume intrinsic call that allows the optimizer to /// assume that the provided condition will be true. - /// - /// The optional argument \p OpBundles specifies operand bundles that are - /// added to the call instruction. - CallInst *CreateAssumption(Value *Cond, - ArrayRef OpBundles = llvm::None); + CallInst *CreateAssumption(Value *Cond); /// Create a call to the experimental.gc.statepoint intrinsic to /// start a new statepoint sequence. @@ -2506,11 +2502,13 @@ class IRBuilderBase { (public) private: /// Helper function that creates an assume intrinsic call that - /// represents an alignment assumption on the provided pointer \p PtrValue - /// with offset \p OffsetValue and alignment value \p AlignValue. + /// represents an alignment assumption on the provided Ptr, Mask, Type + /// and Offset. It may be sometimes useful to do some other logic + /// based on this alignment check, thus it can be stored into 'TheCheck'. CallInst *CreateAlignmentAssumptionHelper(const DataLayout &DL, - Value *PtrValue, Value *AlignValue, - Value *OffsetValue); + Value *PtrValue, Value *Mask, + Type *IntPtrTy, Value *OffsetValue, + Value **TheCheck); public: /// Create an assume intrinsic call that represents an alignment @@ -2519,9 +2517,13 @@ class IRBuilderBase { (public) /// An optional offset can be provided, and if it is provided, the offset /// must be subtracted from the provided pointer to get the pointer with the /// specified alignment. + /// + /// It may be sometimes useful to do some other logic + /// based on this alignment check, thus it can be stored into 'TheCheck'. CallInst *CreateAlignmentAssumption(const DataLayout &DL, Value *PtrValue, unsigned Alignment, - Value *OffsetValue = nullptr); + Value *OffsetValue = nullptr, + Value **TheCheck = nullptr); /// Create an assume intrinsic call that represents an alignment /// assumption on the provided pointer. @@ -2530,11 +2532,15 @@ class IRBuilderBase { (public) /// must be subtracted from the provided pointer to get the pointer with the /// specified alignment. /// + /// It may be sometimes useful to do some other logic + /// based on this alignment check, thus it can be stored into 'TheCheck'. + /// /// This overload handles the condition where the Alignment is dependent /// on an existing value rather than a static value. CallInst *CreateAlignmentAssumption(const DataLayout &DL, Value *PtrValue, Value *Alignment, - Value *OffsetValue = nullptr); + Value *OffsetValue = nullptr, + Value **TheCheck = nullptr); }; /// This provides a uniform API for creating instructions and inserting Added: vendor/llvm-project/release-11.x/llvm/include/llvm/Support/RISCVTargetParser.def ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/llvm-project/release-11.x/llvm/include/llvm/Support/RISCVTargetParser.def Sun Jul 26 19:46:28 2020 (r363581) @@ -0,0 +1,13 @@ +#ifndef PROC +#define PROC(ENUM, NAME, FEATURES, DEFAULT_MARCH) +#endif + +PROC(INVALID, {"invalid"}, FK_INVALID, {""}) +PROC(GENERIC_RV32, {"generic-rv32"}, FK_NONE, {""}) +PROC(GENERIC_RV64, {"generic-rv64"}, FK_64BIT, {""}) +PROC(ROCKET_RV32, {"rocket-rv32"}, FK_NONE, {""}) +PROC(ROCKET_RV64, {"rocket-rv64"}, FK_64BIT, {""}) +PROC(SIFIVE_E31, {"sifive-e31"}, FK_NONE, {"rv32imac"}) +PROC(SIFIVE_U54, {"sifive-u54"}, FK_64BIT, {"rv64gc"}) + +#undef PROC Modified: vendor/llvm-project/release-11.x/llvm/include/llvm/Support/TargetParser.h ============================================================================== --- vendor/llvm-project/release-11.x/llvm/include/llvm/Support/TargetParser.h Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/llvm/include/llvm/Support/TargetParser.h Sun Jul 26 19:46:28 2020 (r363581) @@ -130,6 +130,32 @@ IsaVersion getIsaVersion(StringRef GPU); } // namespace AMDGPU +namespace RISCV { + +enum CPUKind : unsigned { +#define PROC(ENUM, NAME, FEATURES, DEFAULT_MARCH) CK_##ENUM, +#include "RISCVTargetParser.def" +}; + +enum FeatureKind : unsigned { + FK_INVALID = 0, + FK_NONE = 1, + FK_STDEXTM = 1 << 2, + FK_STDEXTA = 1 << 3, + FK_STDEXTF = 1 << 4, + FK_STDEXTD = 1 << 5, + FK_STDEXTC = 1 << 6, + FK_64BIT = 1 << 7, +}; + +bool checkCPUKind(CPUKind Kind, bool IsRV64); +CPUKind parseCPUKind(StringRef CPU); +StringRef getMArchFromMcpu(StringRef CPU); +void fillValidCPUArchList(SmallVectorImpl &Values, bool IsRV64); +bool getCPUFeaturesExceptStdExt(CPUKind Kind, std::vector &Features); + +} // namespace RISCV + } // namespace llvm #endif Modified: vendor/llvm-project/release-11.x/llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h ============================================================================== --- vendor/llvm-project/release-11.x/llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h Sun Jul 26 19:46:28 2020 (r363581) @@ -37,9 +37,9 @@ struct AlignmentFromAssumptionsPass ScalarEvolution *SE = nullptr; DominatorTree *DT = nullptr; - bool extractAlignmentInfo(CallInst *I, unsigned Idx, Value *&AAPtr, - const SCEV *&AlignSCEV, const SCEV *&OffSCEV); - bool processAssumption(CallInst *I, unsigned Idx); + bool extractAlignmentInfo(CallInst *I, Value *&AAPtr, const SCEV *&AlignSCEV, + const SCEV *&OffSCEV); + bool processAssumption(CallInst *I); }; } Modified: vendor/llvm-project/release-11.x/llvm/lib/Analysis/AssumeBundleQueries.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/Analysis/AssumeBundleQueries.cpp Sun Jul 26 19:40:37 2020 (r363580) +++ vendor/llvm-project/release-11.x/llvm/lib/Analysis/AssumeBundleQueries.cpp Sun Jul 26 19:46:28 2020 (r363581) @@ -108,17 +108,10 @@ llvm::getKnowledgeFromBundle(CallInst &Assume, Result.AttrKind = Attribute::getAttrKindFromName(BOI.Tag->getKey()); if (bundleHasArgument(BOI, ABA_WasOn)) Result.WasOn = getValueFromBundleOpInfo(Assume, BOI, ABA_WasOn); - auto GetArgOr1 = [&](unsigned Idx) -> unsigned { - if (auto *ConstInt = dyn_cast( - getValueFromBundleOpInfo(Assume, BOI, ABA_Argument + Idx))) - return ConstInt->getZExtValue(); - return 1; - }; if (BOI.End - BOI.Begin > ABA_Argument) - Result.ArgValue = GetArgOr1(0); - if (Result.AttrKind == Attribute::Alignment) - if (BOI.End - BOI.Begin > ABA_Argument + 1) - Result.ArgValue = MinAlign(Result.ArgValue, GetArgOr1(1)); + Result.ArgValue = + cast(getValueFromBundleOpInfo(Assume, BOI, ABA_Argument)) + ->getZExtValue(); return Result; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sun Jul 26 19:48:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DB907369686; Sun, 26 Jul 2020 19:48:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFD4n5T9wz40vx; Sun, 26 Jul 2020 19:48:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8501711CE5; Sun, 26 Jul 2020 19:48:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QJm9Rr086091; Sun, 26 Jul 2020 19:48:09 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QJm9ra086090; Sun, 26 Jul 2020 19:48:09 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202007261948.06QJm9ra086090@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 26 Jul 2020 19:48:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r363582 - vendor/llvm-project/llvmorg-11-init-20933-g3c1fca803bc X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/llvm-project/llvmorg-11-init-20933-g3c1fca803bc X-SVN-Commit-Revision: 363582 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 19:48:09 -0000 Author: dim Date: Sun Jul 26 19:48:09 2020 New Revision: 363582 URL: https://svnweb.freebsd.org/changeset/base/363582 Log: Tag llvm-project branch release/11.x llvmorg-11-init-20933-g3c1fca803bc. Added: vendor/llvm-project/llvmorg-11-init-20933-g3c1fca803bc/ - copied from r363581, vendor/llvm-project/release-11.x/ From owner-svn-src-all@freebsd.org Sun Jul 26 20:36:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A487A36B036; Sun, 26 Jul 2020 20:36:24 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFF8S3vz1z43RQ; Sun, 26 Jul 2020 20:36:24 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.codepro.be", Issuer "Let's Encrypt Authority X3" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4FDA0169B2; Sun, 26 Jul 2020 20:36:24 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id C5F234A418; Sun, 26 Jul 2020 22:36:22 +0200 (CEST) From: "Kristof Provost" To: "mike tancsa" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: Re: svn commit: r363568 - stable/12/sys/net Date: Sun, 26 Jul 2020 22:36:19 +0200 X-Mailer: MailMate (1.13.1r5671) Message-ID: In-Reply-To: <9e260355-3bba-a615-8536-da17c3158141@sentex.net> References: <202007261744.06QHi3iB011159@repo.freebsd.org> <9e260355-3bba-a615-8536-da17c3158141@sentex.net> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 20:36:24 -0000 On 26 Jul 2020, at 21:21, mike tancsa wrote: > Hi Kristof, > >     First off, thank you for all your efforts in pf and > if_bridge.  I > have trying to track down a problem with a golang app (sysutils/zrepl) > that started acting up around the time the if_bridge stuff was > commited > (june 26th).  The problem would manifest in stalls of the daemon and > am > wondering this might have played a role.  The june 10th kernel I had > seemed to work just fine with the app, although I just rebooted to > that > to confirm as around that time we added more RAM to the server in > question and put the app under slightly higher load too. I have yet to > boot to a kernel post this being reverted.  But apart from the panics > some people saw could other 'odd' things pop up as well if traffic was > coming in a bridge interface using an igb0 nic ? > I wouldn’t think so, no. The epoch change mostly removed locks and opportunities to stall (I know it fixes at least one deadlock). If there are bugs it’s pretty much always going to manifest as a crash (or assertion failure). Best regards, Kristof From owner-svn-src-all@freebsd.org Sun Jul 26 22:30:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5B9B436EAAC; Sun, 26 Jul 2020 22:30:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFHgZ1qlwz49Bn; Sun, 26 Jul 2020 22:30:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 237C814104; Sun, 26 Jul 2020 22:30:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QMU2NA084794; Sun, 26 Jul 2020 22:30:02 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QMU1Xw084792; Sun, 26 Jul 2020 22:30:01 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202007262230.06QMU1Xw084792@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sun, 26 Jul 2020 22:30:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363584 - head/sys/geom X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/sys/geom X-SVN-Commit-Revision: 363584 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 22:30:02 -0000 Author: delphij Date: Sun Jul 26 22:30:01 2020 New Revision: 363584 URL: https://svnweb.freebsd.org/changeset/base/363584 Log: geom_map and geom_redboot: Remove unused ctlreq handler. The two classes do not take any verbs and always gctl_error for all requests, so don't bother to provide a ctlreq handler. Reviewed by: mav MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25810 Modified: head/sys/geom/geom_map.c head/sys/geom/geom_redboot.c Modified: head/sys/geom/geom_map.c ============================================================================== --- head/sys/geom/geom_map.c Sun Jul 26 19:51:42 2020 (r363583) +++ head/sys/geom/geom_map.c Sun Jul 26 22:30:01 2020 (r363584) @@ -387,24 +387,11 @@ g_map_taste(struct g_class *mp, struct g_provider *pp, return (gp); } -static void -g_map_config(struct gctl_req *req, struct g_class *mp, const char *verb) -{ - struct g_geom *gp; - - g_topology_assert(); - gp = gctl_get_geom(req, mp, "geom"); - if (gp == NULL) - return; - gctl_error(req, "Unknown verb"); -} - static struct g_class g_map_class = { .name = MAP_CLASS_NAME, .version = G_VERSION, .taste = g_map_taste, .dumpconf = g_map_dumpconf, - .ctlreq = g_map_config, }; DECLARE_GEOM_CLASS(g_map_class, g_map); MODULE_VERSION(geom_map, 0); Modified: head/sys/geom/geom_redboot.c ============================================================================== --- head/sys/geom/geom_redboot.c Sun Jul 26 19:51:42 2020 (r363583) +++ head/sys/geom/geom_redboot.c Sun Jul 26 22:30:01 2020 (r363584) @@ -336,24 +336,11 @@ again: return (gp); } -static void -g_redboot_config(struct gctl_req *req, struct g_class *mp, const char *verb) -{ - struct g_geom *gp; - - g_topology_assert(); - gp = gctl_get_geom(req, mp, "geom"); - if (gp == NULL) - return; - gctl_error(req, "Unknown verb"); -} - static struct g_class g_redboot_class = { .name = REDBOOT_CLASS_NAME, .version = G_VERSION, .taste = g_redboot_taste, .dumpconf = g_redboot_dumpconf, - .ctlreq = g_redboot_config, .ioctl = g_redboot_ioctl, }; DECLARE_GEOM_CLASS(g_redboot_class, g_redboot); From owner-svn-src-all@freebsd.org Sun Jul 26 22:30:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 16A5636EB97; Sun, 26 Jul 2020 22:30:56 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFHhb6vYQz49cw; Sun, 26 Jul 2020 22:30:55 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B6EA713F9C; Sun, 26 Jul 2020 22:30:55 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QMUtuL085626; Sun, 26 Jul 2020 22:30:55 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QMUtBi085623; Sun, 26 Jul 2020 22:30:55 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202007262230.06QMUtBi085623@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sun, 26 Jul 2020 22:30:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363585 - head/sys/geom X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/sys/geom X-SVN-Commit-Revision: 363585 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 22:30:56 -0000 Author: delphij Date: Sun Jul 26 22:30:55 2020 New Revision: 363585 URL: https://svnweb.freebsd.org/changeset/base/363585 Log: gctl_get_geom: Skip validation of g_class. The caller from kernel is expected to provide an valid g_class pointer, instead of traversing the global g_class list, just use that pointer directly instead. Reviewed by: mav MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25811 Modified: head/sys/geom/geom.h head/sys/geom/geom_ctl.c Modified: head/sys/geom/geom.h ============================================================================== --- head/sys/geom/geom.h Sun Jul 26 22:30:01 2020 (r363584) +++ head/sys/geom/geom.h Sun Jul 26 22:30:55 2020 (r363585) @@ -434,7 +434,7 @@ void *gctl_get_paraml(struct gctl_req *req, const char void *gctl_get_paraml_opt(struct gctl_req *req, const char *param, int len); int gctl_error(struct gctl_req *req, const char *fmt, ...) __printflike(2, 3); struct g_class *gctl_get_class(struct gctl_req *req, char const *arg); -struct g_geom *gctl_get_geom(struct gctl_req *req, struct g_class *mpr, char const *arg); +struct g_geom *gctl_get_geom(struct gctl_req *req, struct g_class *mp, char const *arg); struct g_provider *gctl_get_provider(struct gctl_req *req, char const *arg); #endif /* _GEOM_GEOM_H_ */ Modified: head/sys/geom/geom_ctl.c ============================================================================== --- head/sys/geom/geom_ctl.c Sun Jul 26 22:30:01 2020 (r363584) +++ head/sys/geom/geom_ctl.c Sun Jul 26 22:30:55 2020 (r363585) @@ -409,25 +409,20 @@ gctl_get_class(struct gctl_req *req, char const *arg) } struct g_geom * -gctl_get_geom(struct gctl_req *req, struct g_class *mpr, char const *arg) +gctl_get_geom(struct gctl_req *req, struct g_class *mp, char const *arg) { char const *p; - struct g_class *mp; struct g_geom *gp; + MPASS(mp != NULL); p = gctl_get_asciiparam(req, arg); if (p == NULL) { gctl_error(req, "Missing %s argument", arg); return (NULL); } - LIST_FOREACH(mp, &g_classes, class) { - if (mpr != NULL && mpr != mp) - continue; - LIST_FOREACH(gp, &mp->geom, geom) { - if (!strcmp(p, gp->name)) - return (gp); - } - } + LIST_FOREACH(gp, &mp->geom, geom) + if (!strcmp(p, gp->name)) + return (gp); gctl_error(req, "Geom not found: \"%s\"", p); return (NULL); } From owner-svn-src-all@freebsd.org Sun Jul 26 23:03:42 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 24FBF36F7D0; Sun, 26 Jul 2020 23:03:42 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFJQQ09LCz4Bly; Sun, 26 Jul 2020 23:03:42 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C2EA9142F5; Sun, 26 Jul 2020 23:03:41 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QN3fRt009027; Sun, 26 Jul 2020 23:03:41 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QN3f14009026; Sun, 26 Jul 2020 23:03:41 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202007262303.06QN3f14009026@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sun, 26 Jul 2020 23:03:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363586 - head/sys/fs/nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsserver X-SVN-Commit-Revision: 363586 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 23:03:42 -0000 Author: rmacklem Date: Sun Jul 26 23:03:41 2020 New Revision: 363586 URL: https://svnweb.freebsd.org/changeset/base/363586 Log: Fix the NFS server so that it sets va_birthtime. r362490 marked that the NFSv4 attribute TimeCreate (va_birthtime) is supported, but it did not change the NFS server code to actually do it. As such, errors could occur when unrolling a tarball onto an NFSv4 mounted volume, since setting TimeCreate would fail with a NFSERR_ATTRNOTSUPP reply. This patch fixes the server so that it does TimeCreate and also makes sure that TimeCreate will not be set for a DS file for a pNFS server. A separate commit will add a check to the NFSv4 client for support of the TimeCreate attribute before attempting to set it, to avoid a problem when mounting a server that does not support the attribute. The failures will still occur for r362490 or later kernels that do not have this patch, since they indicate support for the attribute, but do not actually support the attribute. Modified: head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Sun Jul 26 22:30:55 2020 (r363585) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Sun Jul 26 23:03:41 2020 (r363586) @@ -459,6 +459,7 @@ nfsvno_setattr(struct vnode *vp, struct nfsvattr *nvap { u_quad_t savsize = 0; int error, savedit; + time_t savbtime; /* * If this is an exported file system and a pNFS service is running, @@ -490,9 +491,13 @@ nfsvno_setattr(struct vnode *vp, struct nfsvattr *nvap nvap->na_vattr.va_mode != (mode_t)VNOVAL || nvap->na_vattr.va_atime.tv_sec != VNOVAL || nvap->na_vattr.va_mtime.tv_sec != VNOVAL)) { + /* Never modify birthtime on a DS file. */ + savbtime = nvap->na_vattr.va_birthtime.tv_sec; + nvap->na_vattr.va_birthtime.tv_sec = VNOVAL; /* For a pNFS server, set the attributes on the DS file. */ error = nfsrv_proxyds(vp, 0, 0, cred, p, NFSPROC_SETATTR, NULL, NULL, NULL, nvap, NULL, NULL, 0, NULL); + nvap->na_vattr.va_birthtime.tv_sec = savbtime; if (error == ENOENT) error = 0; } @@ -2914,8 +2919,7 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, str break; case NFSATTRBIT_TIMECREATE: NFSM_DISSECT(tl, u_int32_t *, NFSX_V4TIME); - if (!nd->nd_repstat) - nd->nd_repstat = NFSERR_ATTRNOTSUPP; + fxdr_nfsv4time(tl, &nvap->na_btime); attrsum += NFSX_V4TIME; break; case NFSATTRBIT_TIMEMODIFYSET: From owner-svn-src-all@freebsd.org Sun Jul 26 23:13:11 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A115436F82C; Sun, 26 Jul 2020 23:13:11 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFJdM3jvwz4CLL; Sun, 26 Jul 2020 23:13:11 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6415214918; Sun, 26 Jul 2020 23:13:11 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06QNDBRs014916; Sun, 26 Jul 2020 23:13:11 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06QNDBJu014915; Sun, 26 Jul 2020 23:13:11 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202007262313.06QNDBJu014915@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sun, 26 Jul 2020 23:13:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363587 - head/sys/fs/nfs X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfs X-SVN-Commit-Revision: 363587 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 23:13:11 -0000 Author: rmacklem Date: Sun Jul 26 23:13:10 2020 New Revision: 363587 URL: https://svnweb.freebsd.org/changeset/base/363587 Log: Fix the NFSv4 client so that it checks for support of TimeCreate before trying to set it. r362490 added support for setting of the TimeCreate (va_birthtime) attribute, but it does so without checking to see if the server supports the attribute. This could result in NFSERR_ATTRNOTSUPP error replies to the Setattr operation. This patch adds code to check that the server supports TimeCreate before attempting to do a Setattr of it to avoid these error returns. Modified: head/sys/fs/nfs/nfs_commonsubs.c Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Sun Jul 26 23:03:41 2020 (r363586) +++ head/sys/fs/nfs/nfs_commonsubs.c Sun Jul 26 23:13:10 2020 (r363587) @@ -504,6 +504,7 @@ nfscl_fillsattr(struct nfsrv_descript *nd, struct vatt u_int32_t *tl; struct nfsv2_sattr *sp; nfsattrbit_t attrbits; + struct nfsnode *np; switch (nd->nd_flag & (ND_NFSV2 | ND_NFSV3 | ND_NFSV4)) { case ND_NFSV2: @@ -605,8 +606,18 @@ nfscl_fillsattr(struct nfsrv_descript *nd, struct vatt NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_TIMEACCESSSET); if (vap->va_mtime.tv_sec != VNOVAL) NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_TIMEMODIFYSET); - if (vap->va_birthtime.tv_sec != VNOVAL) - NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_TIMECREATE); + if (vap->va_birthtime.tv_sec != VNOVAL && + strcmp(vp->v_mount->mnt_vfc->vfc_name, "nfs") == 0) { + /* + * We can only test for support of TimeCreate if + * the "vp" argument is for an NFS vnode. + */ + np = VTONFS(vp); + if (NFSISSET_ATTRBIT(&np->n_vattr.na_suppattr, + NFSATTRBIT_TIMECREATE)) + NFSSETBIT_ATTRBIT(&attrbits, + NFSATTRBIT_TIMECREATE); + } (void) nfsv4_fillattr(nd, vp->v_mount, vp, NULL, vap, NULL, 0, &attrbits, NULL, NULL, 0, 0, 0, 0, (uint64_t)0, NULL); break; From owner-svn-src-all@freebsd.org Mon Jul 27 00:25:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1A18037113C; Mon, 27 Jul 2020 00:25:57 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFLFJ6xFpz4FdM; Mon, 27 Jul 2020 00:25:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CCB94155EA; Mon, 27 Jul 2020 00:25:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06R0PuqG058435; Mon, 27 Jul 2020 00:25:56 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06R0PuNF058434; Mon, 27 Jul 2020 00:25:56 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202007270025.06R0PuNF058434@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 27 Jul 2020 00:25:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363588 - stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h X-SVN-Group: stable-12 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h X-SVN-Commit-Revision: 363588 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 00:25:57 -0000 Author: mav Date: Mon Jul 27 00:25:56 2020 New Revision: 363588 URL: https://svnweb.freebsd.org/changeset/base/363588 Log: MFC r355666: libpmc: sort some amdfam17h entries to make valid json Modified: stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h/core.json stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h/memory.json Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h/core.json ============================================================================== --- stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h/core.json Sun Jul 26 23:13:10 2020 (r363587) +++ stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h/core.json Mon Jul 27 00:25:56 2020 (r363588) @@ -2,20 +2,20 @@ { "EventName": "ex_ret_instr", "EventCode": "0xc0", + "SampleAfterValue": "2000003", "BriefDescription": "Retired Instructions." - "SampleAfterValue": "2000003", }, { "EventName": "ex_ret_cops", "EventCode": "0xc1", + "SampleAfterValue": "2000003", "BriefDescription": "The number of uOps retired. This includes all processor activity (instructions, exceptions, interrupts, microcode assists, etc.). The number of events logged per cycle can vary from 0 to 4." - "SampleAfterValue": "2000003", }, { "EventName": "ex_ret_brn", "EventCode": "0xc2", + "SampleAfterValue": "2000003", "BriefDescription": "The number of branch instructions retired. This includes all types of architectural control flow changes, including exceptions and interrupts." - "SampleAfterValue": "2000003", }, { "EventName": "ex_ret_brn_misp", Modified: stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h/memory.json ============================================================================== --- stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h/memory.json Sun Jul 26 23:13:10 2020 (r363587) +++ stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h/memory.json Mon Jul 27 00:25:56 2020 (r363588) @@ -220,7 +220,7 @@ { "EventName": "ls_not_halted_cyc", "EventCode": "0x76", - "BriefDescription": "Cycles not in Halt." "SampleAfterValue": "2000003", + "BriefDescription": "Cycles not in Halt." } ] From owner-svn-src-all@freebsd.org Mon Jul 27 00:26:55 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B9E06371291; Mon, 27 Jul 2020 00:26:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFLGR4Y0vz4GBf; Mon, 27 Jul 2020 00:26:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7FBEA15172; Mon, 27 Jul 2020 00:26:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06R0QtRT058533; Mon, 27 Jul 2020 00:26:55 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06R0Qt1B058532; Mon, 27 Jul 2020 00:26:55 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202007270026.06R0Qt1B058532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 27 Jul 2020 00:26:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363589 - in stable/12/lib/libpmc/pmu-events/arch/x86: . amdfam17h amdzen1 amdzen2 X-SVN-Group: stable-12 X-SVN-Commit-Author: mav X-SVN-Commit-Paths: in stable/12/lib/libpmc/pmu-events/arch/x86: . amdfam17h amdzen1 amdzen2 X-SVN-Commit-Revision: 363589 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 00:26:55 -0000 Author: mav Date: Mon Jul 27 00:26:54 2020 New Revision: 363589 URL: https://svnweb.freebsd.org/changeset/base/363589 Log: MFC r363157: Update AMD Zen1 and add Zen2 events mapping. Added: stable/12/lib/libpmc/pmu-events/arch/x86/amdzen1/ - copied from r363157, head/lib/libpmc/pmu-events/arch/x86/amdzen1/ stable/12/lib/libpmc/pmu-events/arch/x86/amdzen2/ - copied from r363157, head/lib/libpmc/pmu-events/arch/x86/amdzen2/ Deleted: stable/12/lib/libpmc/pmu-events/arch/x86/amdfam17h/ Modified: stable/12/lib/libpmc/pmu-events/arch/x86/mapfile.csv Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libpmc/pmu-events/arch/x86/mapfile.csv ============================================================================== --- stable/12/lib/libpmc/pmu-events/arch/x86/mapfile.csv Mon Jul 27 00:25:56 2020 (r363588) +++ stable/12/lib/libpmc/pmu-events/arch/x86/mapfile.csv Mon Jul 27 00:26:54 2020 (r363589) @@ -37,9 +37,6 @@ GenuineIntel-6-55-[56789ABCDEF],v1,cascadelakex,core GenuineIntel-6-7D,v1,icelake,core GenuineIntel-6-7E,v1,icelake,core GenuineIntel-6-86,v1,tremontx,core -AuthenticAMD-23-01,v1,amdfam17h,core -AuthenticAMD-23-02,v1,amdfam17h,core -AuthenticAMD-23-03,v1,amdfam17h,core -AuthenticAMD-23-04,v1,amdfam17h,core -AuthenticAMD-23-05,v1,amdfam17h,core -HygonGenuine-24-00,v1,amdfam17h,core +AuthenticAMD-23-[012][0-9A-F],v2,amdzen1,core +AuthenticAMD-23-[[:xdigit:]]+,v1,amdzen2,core +HygonGenuine-24-00,v2,amdzen1,core From owner-svn-src-all@freebsd.org Mon Jul 27 01:18:00 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5B74137215F; Mon, 27 Jul 2020 01:18:00 +0000 (UTC) (envelope-from mmacy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFMPN1kBsz4J98; Mon, 27 Jul 2020 01:18:00 +0000 (UTC) (envelope-from mmacy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1A03315F89; Mon, 27 Jul 2020 01:18:00 +0000 (UTC) (envelope-from mmacy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06R1Hx9f089243; Mon, 27 Jul 2020 01:17:59 GMT (envelope-from mmacy@FreeBSD.org) Received: (from mmacy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06R1HxSX089242; Mon, 27 Jul 2020 01:17:59 GMT (envelope-from mmacy@FreeBSD.org) Message-Id: <202007270117.06R1HxSX089242@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mmacy set sender to mmacy@FreeBSD.org using -f From: Matt Macy Date: Mon, 27 Jul 2020 01:17:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363590 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: mmacy X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 363590 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 01:18:00 -0000 Author: mmacy Date: Mon Jul 27 01:17:59 2020 New Revision: 363590 URL: https://svnweb.freebsd.org/changeset/base/363590 Log: iflib: fix LOR with bpf detach Reported by: grehan@ Approved by: grehan@ MFC after: 1 week Sponsored by: Netgate Differential Revision: https://reviews.freebsd.org/D25530 Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Mon Jul 27 00:26:54 2020 (r363589) +++ head/sys/net/iflib.c Mon Jul 27 01:17:59 2020 (r363590) @@ -4192,7 +4192,9 @@ iflib_if_ioctl(if_t ifp, u_long command, caddr_t data) if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) { if ((if_getflags(ifp) ^ ctx->ifc_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) { + CTX_UNLOCK(ctx); err = IFDI_PROMISC_SET(ctx, if_getflags(ifp)); + CTX_LOCK(ctx); } } else reinit = 1; From owner-svn-src-all@freebsd.org Mon Jul 27 01:38:15 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 90743372F63; Mon, 27 Jul 2020 01:38:15 +0000 (UTC) (envelope-from mmacy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFMrl3JRnz4K9b; Mon, 27 Jul 2020 01:38:15 +0000 (UTC) (envelope-from mmacy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 51AF115F67; Mon, 27 Jul 2020 01:38:15 +0000 (UTC) (envelope-from mmacy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06R1cF4h001414; Mon, 27 Jul 2020 01:38:15 GMT (envelope-from mmacy@FreeBSD.org) Received: (from mmacy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06R1cFwL001413; Mon, 27 Jul 2020 01:38:15 GMT (envelope-from mmacy@FreeBSD.org) Message-Id: <202007270138.06R1cFwL001413@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mmacy set sender to mmacy@FreeBSD.org using -f From: Matt Macy Date: Mon, 27 Jul 2020 01:38:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363592 - stable/12/sys/net X-SVN-Group: stable-12 X-SVN-Commit-Author: mmacy X-SVN-Commit-Paths: stable/12/sys/net X-SVN-Commit-Revision: 363592 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 01:38:15 -0000 Author: mmacy Date: Mon Jul 27 01:38:14 2020 New Revision: 363592 URL: https://svnweb.freebsd.org/changeset/base/363592 Log: Fix panics when using iflib pseudo device support Reviewed by: gallatin@, hselasky@ Sponsored by: Netgate, Inc. Differential Revision: https://reviews.freebsd.org/D23710 Modified: stable/12/sys/net/iflib.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/net/iflib.c ============================================================================== --- stable/12/sys/net/iflib.c Mon Jul 27 01:20:49 2020 (r363591) +++ stable/12/sys/net/iflib.c Mon Jul 27 01:38:14 2020 (r363592) @@ -4874,6 +4874,7 @@ iflib_pseudo_register(device_t dev, if_shared_ctx_t sc if_setgetcounterfn(ctx->ifc_ifp, iflib_if_get_counter); iflib_add_device_sysctl_post(ctx); ctx->ifc_flags |= IFC_INIT_DONE; + CTX_UNLOCK(ctx); return (0); } _iflib_pre_assert(scctx); @@ -5325,7 +5326,8 @@ iflib_register(if_ctx_t ctx) device_t dev = ctx->ifc_dev; if_t ifp; - _iflib_assert(sctx); + if ((sctx->isc_flags & IFLIB_PSEUDO) == 0) + _iflib_assert(sctx); CTX_LOCK_INIT(ctx); STATE_LOCK_INIT(ctx, device_get_nameunit(ctx->ifc_dev)); From owner-svn-src-all@freebsd.org Mon Jul 27 01:53:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0CB603733C4; Mon, 27 Jul 2020 01:53:28 +0000 (UTC) (envelope-from mmacy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFNBH6dDWz4L6l; Mon, 27 Jul 2020 01:53:27 +0000 (UTC) (envelope-from mmacy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C69F116623; Mon, 27 Jul 2020 01:53:27 +0000 (UTC) (envelope-from mmacy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06R1rRcr013874; Mon, 27 Jul 2020 01:53:27 GMT (envelope-from mmacy@FreeBSD.org) Received: (from mmacy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06R1rREL013872; Mon, 27 Jul 2020 01:53:27 GMT (envelope-from mmacy@FreeBSD.org) Message-Id: <202007270153.06R1rREL013872@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mmacy set sender to mmacy@FreeBSD.org using -f From: Matt Macy Date: Mon, 27 Jul 2020 01:53:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363594 - stable/12/sys/net X-SVN-Group: stable-12 X-SVN-Commit-Author: mmacy X-SVN-Commit-Paths: stable/12/sys/net X-SVN-Commit-Revision: 363594 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 01:53:28 -0000 Author: mmacy Date: Mon Jul 27 01:53:27 2020 New Revision: 363594 URL: https://svnweb.freebsd.org/changeset/base/363594 Log: iflib: fix cloneattach fail and generalize pseudo device handling - a cloneattach failure will not currently be handled correctly, jump to the right target - pseudo devices are all treat as if they're ethernet devices - this often doesn't make sense Sponsored by: Netgate, Inc. Differential Revision: https://reviews.freebsd.org/D25083 Modified: stable/12/sys/net/iflib.c stable/12/sys/net/iflib.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/net/iflib.c ============================================================================== --- stable/12/sys/net/iflib.c Mon Jul 27 01:51:33 2020 (r363593) +++ stable/12/sys/net/iflib.c Mon Jul 27 01:53:27 2020 (r363594) @@ -4838,11 +4838,8 @@ iflib_pseudo_register(device_t dev, if_shared_ctx_t sc if ((err = IFDI_CLONEATTACH(ctx, clctx->cc_ifc, clctx->cc_name, clctx->cc_params)) != 0) { device_printf(dev, "IFDI_CLONEATTACH failed %d\n", err); - goto fail_ctx_free; + goto fail_unlock; } - ifmedia_add(&ctx->ifc_media, IFM_ETHER | IFM_1000_T | IFM_FDX, 0, NULL); - ifmedia_add(&ctx->ifc_media, IFM_ETHER | IFM_AUTO, 0, NULL); - ifmedia_set(&ctx->ifc_media, IFM_ETHER | IFM_AUTO); #ifdef INVARIANTS if (scctx->isc_capabilities & IFCAP_TXCSUM) @@ -4854,8 +4851,16 @@ iflib_pseudo_register(device_t dev, if_shared_ctx_t sc ifp->if_flags |= IFF_NOGROUP; if (sctx->isc_flags & IFLIB_PSEUDO) { - ether_ifattach(ctx->ifc_ifp, ctx->ifc_mac); + ifmedia_add(&ctx->ifc_media, IFM_ETHER | IFM_AUTO, 0, NULL); + ifmedia_set(&ctx->ifc_media, IFM_ETHER | IFM_AUTO); + if (sctx->isc_flags & IFLIB_PSEUDO_ETHER) { + ether_ifattach(ctx->ifc_ifp, ctx->ifc_mac); + } else { + if_attach(ctx->ifc_ifp); + bpfattach(ctx->ifc_ifp, DLT_NULL, sizeof(u_int32_t)); + } + if ((err = IFDI_ATTACH_POST(ctx)) != 0) { device_printf(dev, "IFDI_ATTACH_POST failed %d\n", err); goto fail_detach; @@ -4877,6 +4882,10 @@ iflib_pseudo_register(device_t dev, if_shared_ctx_t sc CTX_UNLOCK(ctx); return (0); } + ifmedia_add(&ctx->ifc_media, IFM_ETHER | IFM_1000_T | IFM_FDX, 0, NULL); + ifmedia_add(&ctx->ifc_media, IFM_ETHER | IFM_AUTO, 0, NULL); + ifmedia_set(&ctx->ifc_media, IFM_ETHER | IFM_AUTO); + _iflib_pre_assert(scctx); ctx->ifc_txrx = *scctx->isc_txrx; @@ -4992,6 +5001,7 @@ int iflib_pseudo_deregister(if_ctx_t ctx) { if_t ifp = ctx->ifc_ifp; + if_shared_ctx_t sctx = ctx->ifc_sctx; iflib_txq_t txq; iflib_rxq_t rxq; int i, j; @@ -5001,7 +5011,13 @@ iflib_pseudo_deregister(if_ctx_t ctx) /* Unregister VLAN event handlers early */ iflib_unregister_vlan_handlers(ctx); - ether_ifdetach(ifp); + if ((sctx->isc_flags & IFLIB_PSEUDO) && + (sctx->isc_flags & IFLIB_PSEUDO_ETHER) == 0) { + bpfdetach(ifp); + if_detach(ifp); + } else { + ether_ifdetach(ifp); + } /* XXX drain any dependent tasks */ tqg = qgroup_if_io_tqg; for (txq = ctx->ifc_txqs, i = 0; i < NTXQSETS(ctx); i++, txq++) { @@ -5325,13 +5341,22 @@ iflib_register(if_ctx_t ctx) driver_t *driver = sctx->isc_driver; device_t dev = ctx->ifc_dev; if_t ifp; + u_char type; + int iflags; if ((sctx->isc_flags & IFLIB_PSEUDO) == 0) _iflib_assert(sctx); CTX_LOCK_INIT(ctx); STATE_LOCK_INIT(ctx, device_get_nameunit(ctx->ifc_dev)); - ifp = ctx->ifc_ifp = if_alloc(IFT_ETHER); + if (sctx->isc_flags & IFLIB_PSEUDO) { + if (sctx->isc_flags & IFLIB_PSEUDO_ETHER) + type = IFT_ETHER; + else + type = IFT_PPP; + } else + type = IFT_ETHER; + ifp = ctx->ifc_ifp = if_alloc(type); if (ifp == NULL) { device_printf(dev, "can not allocate ifnet structure\n"); return (ENOMEM); @@ -5356,8 +5381,14 @@ iflib_register(if_ctx_t ctx) if_settransmitfn(ifp, iflib_if_transmit); #endif if_setqflushfn(ifp, iflib_if_qflush); - if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + iflags = IFF_MULTICAST; + if ((sctx->isc_flags & IFLIB_PSEUDO) && + (sctx->isc_flags & IFLIB_PSEUDO_ETHER) == 0) + iflags |= IFF_POINTOPOINT; + else + iflags |= IFF_BROADCAST | IFF_SIMPLEX; + if_setflags(ifp, iflags); ctx->ifc_vlan_attach_event = EVENTHANDLER_REGISTER(vlan_config, iflib_vlan_register, ctx, EVENTHANDLER_PRI_FIRST); Modified: stable/12/sys/net/iflib.h ============================================================================== --- stable/12/sys/net/iflib.h Mon Jul 27 01:51:33 2020 (r363593) +++ stable/12/sys/net/iflib.h Mon Jul 27 01:53:27 2020 (r363594) @@ -366,6 +366,11 @@ typedef enum { * interrupts instead of doing combined RX/TX processing. */ #define IFLIB_SINGLE_IRQ_RX_ONLY 0x40000 +/* + * Don't need/want most of the niceties of + * emulating ethernet + */ +#define IFLIB_PSEUDO_ETHER 0x80000 /* From owner-svn-src-all@freebsd.org Mon Jul 27 03:13:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0500337536B; Mon, 27 Jul 2020 03:13:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFPyW6J5Xz4PXL; Mon, 27 Jul 2020 03:13:23 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BB76117428; Mon, 27 Jul 2020 03:13:23 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06R3DNf9063937; Mon, 27 Jul 2020 03:13:23 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06R3DN0c063936; Mon, 27 Jul 2020 03:13:23 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202007270313.06R3DN0c063936@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 27 Jul 2020 03:13:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363595 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363595 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 03:13:24 -0000 Author: kevans Date: Mon Jul 27 03:13:23 2020 New Revision: 363595 URL: https://svnweb.freebsd.org/changeset/base/363595 Log: makesyscalls.sh: spit out a deprecation notice to stderr This has for a while been replaced by makesyscalls.lua in the stock FreeBSD build. Ensure downstreams get some notice that it'a going away if they're reliant on it, maybe. Modified: head/sys/kern/makesyscalls.sh Modified: head/sys/kern/makesyscalls.sh ============================================================================== --- head/sys/kern/makesyscalls.sh Mon Jul 27 01:53:27 2020 (r363594) +++ head/sys/kern/makesyscalls.sh Mon Jul 27 03:13:23 2020 (r363595) @@ -60,6 +60,8 @@ case $# in ;; esac +1>&2 echo "$0: This script is deprecated and will be removed before FreeBSD 13." + if [ -n "$2" ]; then . "$2" fi From owner-svn-src-all@freebsd.org Mon Jul 27 07:56:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1748C379C0B; Mon, 27 Jul 2020 07:56:56 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFXFh0BhMz4bfL; Mon, 27 Jul 2020 07:56:56 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DDDE21A6E9; Mon, 27 Jul 2020 07:56:55 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06R7utY1035265; Mon, 27 Jul 2020 07:56:55 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06R7ut6m035264; Mon, 27 Jul 2020 07:56:55 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <202007270756.06R7ut6m035264@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Mon, 27 Jul 2020 07:56:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363596 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: grehan X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 363596 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 07:56:56 -0000 Author: grehan Date: Mon Jul 27 07:56:55 2020 New Revision: 363596 URL: https://svnweb.freebsd.org/changeset/base/363596 Log: Support the setting of additional AHCI controller parameters. Allow the serial number, firmware revision, model number and nominal media rotation rate (nmrr) parameters to be set from the command line. Note that setting the nmrr value can be used to indicate the AHCI device is an SSD. Submitted by: Wanpeng Qian Reviewed by: jhb, grehan (#bhyve) Approved by: jhb, grehan MFC after: 3 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D24174 Modified: head/usr.sbin/bhyve/bhyve.8 head/usr.sbin/bhyve/pci_ahci.c Modified: head/usr.sbin/bhyve/bhyve.8 ============================================================================== --- head/usr.sbin/bhyve/bhyve.8 Mon Jul 27 03:13:23 2020 (r363595) +++ head/usr.sbin/bhyve/bhyve.8 Mon Jul 27 07:56:55 2020 (r363596) @@ -540,6 +540,18 @@ Sector size (defaults to blockif sector size). Serial number with maximum 20 characters. .El .Pp +AHCI devices: +.Bl -tag -width 10n +.It Li nmrr +Nominal Media Rotation Rate, known as RPM. value 1 will indicate device as Solid State Disk. default value is 0, not report. +.It Li ser +Serial Number with maximum 20 characters. +.It Li rev +Revision Number with maximum 8 characters. +.It Li model +Model Number with maximum 40 characters. +.El +.Pp HD Audio devices: .Bl -tag -width 10n .It Li play Modified: head/usr.sbin/bhyve/pci_ahci.c ============================================================================== --- head/usr.sbin/bhyve/pci_ahci.c Mon Jul 27 03:13:23 2020 (r363595) +++ head/usr.sbin/bhyve/pci_ahci.c Mon Jul 27 07:56:55 2020 (r363596) @@ -139,9 +139,9 @@ struct ahci_ioreq { struct ahci_port { struct blockif_ctxt *bctx; struct pci_ahci_softc *pr_sc; + struct ata_params ata_ident; uint8_t *cmd_lst; uint8_t *rfis; - char ident[AHCI_PORT_IDENT]; int port; int atapi; int reset; @@ -987,7 +987,49 @@ handle_identify(struct ahci_port *p, int slot, uint8_t ahci_write_fis_d2h(p, slot, cfis, (ATA_E_ABORT << 8) | ATA_S_READY | ATA_S_ERROR); } else { - uint16_t buf[256]; + ahci_write_fis_piosetup(p); + write_prdt(p, slot, cfis, (void*)&p->ata_ident, sizeof(struct ata_params)); + ahci_write_fis_d2h(p, slot, cfis, ATA_S_DSC | ATA_S_READY); + } +} + +static void +ata_identify_init(struct ahci_port* p, int atapi) +{ + struct ata_params* ata_ident = &p->ata_ident; + + if (atapi) { + ata_ident->config = (2 << 14 | 5 << 8 | 1 << 7 | 2 << 5); + ata_ident->capabilities1 = ATA_SUPPORT_LBA | + ATA_SUPPORT_DMA; + ata_ident->capabilities2 = (1 << 14 | 1); + ata_ident->atavalid = ATA_FLAG_54_58 | ATA_FLAG_64_70; + ata_ident->obsolete62 = 0x3f; + ata_ident->mwdmamodes = 7; + if (p->xfermode & ATA_WDMA0) + ata_ident->mwdmamodes |= (1 << ((p->xfermode & 7) + 8)); + ata_ident->apiomodes = 3; + ata_ident->mwdmamin = 0x0078; + ata_ident->mwdmarec = 0x0078; + ata_ident->pioblind = 0x0078; + ata_ident->pioiordy = 0x0078; + ata_ident->satacapabilities = (ATA_SATA_GEN1 | ATA_SATA_GEN2 | ATA_SATA_GEN3); + ata_ident->satacapabilities2 = ((p->ssts & ATA_SS_SPD_MASK) >> 3); + ata_ident->satasupport = ATA_SUPPORT_NCQ_STREAM; + ata_ident->version_major = 0x3f0; + ata_ident->support.command1 = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_PACKET | + ATA_SUPPORT_RESET | ATA_SUPPORT_NOP); + ata_ident->support.command2 = (1 << 14); + ata_ident->support.extension = (1 << 14); + ata_ident->enabled.command1 = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_PACKET | + ATA_SUPPORT_RESET | ATA_SUPPORT_NOP); + ata_ident->enabled.extension = (1 << 14); + ata_ident->udmamodes = 0x7f; + if (p->xfermode & ATA_UDMA0) + ata_ident->udmamodes |= (1 << ((p->xfermode & 7) + 8)); + ata_ident->transport_major = 0x1020; + ata_ident->integrity = 0x00a5; + } else { uint64_t sectors; int sectsz, psectsz, psectoff, candelete, ro; uint16_t cyl; @@ -999,87 +1041,85 @@ handle_identify(struct ahci_port *p, int slot, uint8_t sectors = blockif_size(p->bctx) / sectsz; blockif_chs(p->bctx, &cyl, &heads, &sech); blockif_psectsz(p->bctx, &psectsz, &psectoff); - memset(buf, 0, sizeof(buf)); - buf[0] = 0x0040; - buf[1] = cyl; - buf[3] = heads; - buf[6] = sech; - ata_string((uint8_t *)(buf+10), p->ident, 20); - ata_string((uint8_t *)(buf+23), "001", 8); - ata_string((uint8_t *)(buf+27), "BHYVE SATA DISK", 40); - buf[47] = (0x8000 | 128); - buf[48] = 0; - buf[49] = (1 << 8 | 1 << 9 | 1 << 11); - buf[50] = (1 << 14); - buf[53] = (1 << 1 | 1 << 2); + ata_ident->config = ATA_DRQ_FAST; + ata_ident->cylinders = cyl; + ata_ident->heads = heads; + ata_ident->sectors = sech; + + ata_ident->sectors_intr = (0x8000 | 128); + ata_ident->tcg = 0; + + ata_ident->capabilities1 = ATA_SUPPORT_DMA | + ATA_SUPPORT_LBA | ATA_SUPPORT_IORDY; + ata_ident->capabilities2 = (1 << 14); + ata_ident->atavalid = ATA_FLAG_54_58 | + ATA_FLAG_64_70; if (p->mult_sectors) - buf[59] = (0x100 | p->mult_sectors); + ata_ident->multi = (ATA_MULTI_VALID | p->mult_sectors); if (sectors <= 0x0fffffff) { - buf[60] = sectors; - buf[61] = (sectors >> 16); + ata_ident->lba_size_1 = sectors; + ata_ident->lba_size_2 = (sectors >> 16); } else { - buf[60] = 0xffff; - buf[61] = 0x0fff; + ata_ident->lba_size_1 = 0xffff; + ata_ident->lba_size_2 = 0x0fff; } - buf[63] = 0x7; + ata_ident->mwdmamodes = 0x7; if (p->xfermode & ATA_WDMA0) - buf[63] |= (1 << ((p->xfermode & 7) + 8)); - buf[64] = 0x3; - buf[65] = 120; - buf[66] = 120; - buf[67] = 120; - buf[68] = 120; - buf[69] = 0; - buf[75] = 31; - buf[76] = (ATA_SATA_GEN1 | ATA_SATA_GEN2 | ATA_SATA_GEN3 | - ATA_SUPPORT_NCQ); - buf[77] = (ATA_SUPPORT_RCVSND_FPDMA_QUEUED | - (p->ssts & ATA_SS_SPD_MASK) >> 3); - buf[80] = 0x3f0; - buf[81] = 0x28; - buf[82] = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_WRITECACHE| - ATA_SUPPORT_LOOKAHEAD | ATA_SUPPORT_NOP); - buf[83] = (ATA_SUPPORT_ADDRESS48 | ATA_SUPPORT_FLUSHCACHE | - ATA_SUPPORT_FLUSHCACHE48 | 1 << 14); - buf[84] = (1 << 14); - buf[85] = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_WRITECACHE| - ATA_SUPPORT_LOOKAHEAD | ATA_SUPPORT_NOP); - buf[86] = (ATA_SUPPORT_ADDRESS48 | ATA_SUPPORT_FLUSHCACHE | - ATA_SUPPORT_FLUSHCACHE48 | 1 << 15); - buf[87] = (1 << 14); - buf[88] = 0x7f; + ata_ident->mwdmamodes |= (1 << ((p->xfermode & 7) + 8)); + ata_ident->apiomodes = 0x3; + ata_ident->mwdmamin = 0x0078; + ata_ident->mwdmarec = 0x0078; + ata_ident->pioblind = 0x0078; + ata_ident->pioiordy = 0x0078; + ata_ident->support3 = 0; + ata_ident->queue = 31; + ata_ident->satacapabilities = (ATA_SATA_GEN1 | ATA_SATA_GEN2 | ATA_SATA_GEN3 | + ATA_SUPPORT_NCQ); + ata_ident->satacapabilities2 = (ATA_SUPPORT_RCVSND_FPDMA_QUEUED | + (p->ssts & ATA_SS_SPD_MASK) >> 3); + ata_ident->version_major = 0x3f0; + ata_ident->version_minor = 0x28; + ata_ident->support.command1 = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_WRITECACHE | + ATA_SUPPORT_LOOKAHEAD | ATA_SUPPORT_NOP); + ata_ident->support.command2 = (ATA_SUPPORT_ADDRESS48 | ATA_SUPPORT_FLUSHCACHE | + ATA_SUPPORT_FLUSHCACHE48 | 1 << 14); + ata_ident->support.extension = (1 << 14); + ata_ident->enabled.command1 = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_WRITECACHE | + ATA_SUPPORT_LOOKAHEAD | ATA_SUPPORT_NOP); + ata_ident->enabled.command2 = (ATA_SUPPORT_ADDRESS48 | ATA_SUPPORT_FLUSHCACHE | + ATA_SUPPORT_FLUSHCACHE48 | 1 << 15); + ata_ident->enabled.extension = (1 << 14); + ata_ident->udmamodes = 0x7f; if (p->xfermode & ATA_UDMA0) - buf[88] |= (1 << ((p->xfermode & 7) + 8)); - buf[100] = sectors; - buf[101] = (sectors >> 16); - buf[102] = (sectors >> 32); - buf[103] = (sectors >> 48); + ata_ident->udmamodes |= (1 << ((p->xfermode & 7) + 8)); + ata_ident->lba_size48_1 = sectors; + ata_ident->lba_size48_2 = (sectors >> 16); + ata_ident->lba_size48_3 = (sectors >> 32); + ata_ident->lba_size48_4 = (sectors >> 48); + if (candelete && !ro) { - buf[69] |= ATA_SUPPORT_RZAT | ATA_SUPPORT_DRAT; - buf[105] = 1; - buf[169] = ATA_SUPPORT_DSM_TRIM; + ata_ident->support3 |= ATA_SUPPORT_RZAT | ATA_SUPPORT_DRAT; + ata_ident->max_dsm_blocks = 1; + ata_ident->support_dsm = ATA_SUPPORT_DSM_TRIM; } - buf[106] = 0x4000; - buf[209] = 0x4000; + ata_ident->pss = ATA_PSS_VALID_VALUE; + ata_ident->lsalign = 0x4000; if (psectsz > sectsz) { - buf[106] |= 0x2000; - buf[106] |= ffsl(psectsz / sectsz) - 1; - buf[209] |= (psectoff / sectsz); + ata_ident->pss |= ATA_PSS_MULTLS; + ata_ident->pss |= ffsl(psectsz / sectsz) - 1; + ata_ident->lsalign |= (psectoff / sectsz); } if (sectsz > 512) { - buf[106] |= 0x1000; - buf[117] = sectsz / 2; - buf[118] = ((sectsz / 2) >> 16); + ata_ident->pss |= ATA_PSS_LSSABOVE512; + ata_ident->lss_1 = sectsz / 2; + ata_ident->lss_2 = ((sectsz / 2) >> 16); } - buf[119] = (ATA_SUPPORT_RWLOGDMAEXT | 1 << 14); - buf[120] = (ATA_SUPPORT_RWLOGDMAEXT | 1 << 14); - buf[222] = 0x1020; - buf[255] = 0x00a5; - ahci_checksum((uint8_t *)buf, sizeof(buf)); - ahci_write_fis_piosetup(p); - write_prdt(p, slot, cfis, (void *)buf, sizeof(buf)); - ahci_write_fis_d2h(p, slot, cfis, ATA_S_DSC | ATA_S_READY); + ata_ident->support2 = (ATA_SUPPORT_RWLOGDMAEXT | 1 << 14); + ata_ident->enabled2 = (ATA_SUPPORT_RWLOGDMAEXT | 1 << 14); + ata_ident->transport_major = 0x1020; + ata_ident->integrity = 0x00a5; } + ahci_checksum((uint8_t*)ata_ident, sizeof(struct ata_params)); } static void @@ -1089,44 +1129,8 @@ handle_atapi_identify(struct ahci_port *p, int slot, u ahci_write_fis_d2h(p, slot, cfis, (ATA_E_ABORT << 8) | ATA_S_READY | ATA_S_ERROR); } else { - uint16_t buf[256]; - - memset(buf, 0, sizeof(buf)); - buf[0] = (2 << 14 | 5 << 8 | 1 << 7 | 2 << 5); - ata_string((uint8_t *)(buf+10), p->ident, 20); - ata_string((uint8_t *)(buf+23), "001", 8); - ata_string((uint8_t *)(buf+27), "BHYVE SATA DVD ROM", 40); - buf[49] = (1 << 9 | 1 << 8); - buf[50] = (1 << 14 | 1); - buf[53] = (1 << 2 | 1 << 1); - buf[62] = 0x3f; - buf[63] = 7; - if (p->xfermode & ATA_WDMA0) - buf[63] |= (1 << ((p->xfermode & 7) + 8)); - buf[64] = 3; - buf[65] = 120; - buf[66] = 120; - buf[67] = 120; - buf[68] = 120; - buf[76] = (ATA_SATA_GEN1 | ATA_SATA_GEN2 | ATA_SATA_GEN3); - buf[77] = ((p->ssts & ATA_SS_SPD_MASK) >> 3); - buf[78] = (1 << 5); - buf[80] = 0x3f0; - buf[82] = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_PACKET | - ATA_SUPPORT_RESET | ATA_SUPPORT_NOP); - buf[83] = (1 << 14); - buf[84] = (1 << 14); - buf[85] = (ATA_SUPPORT_POWERMGT | ATA_SUPPORT_PACKET | - ATA_SUPPORT_RESET | ATA_SUPPORT_NOP); - buf[87] = (1 << 14); - buf[88] = 0x7f; - if (p->xfermode & ATA_UDMA0) - buf[88] |= (1 << ((p->xfermode & 7) + 8)); - buf[222] = 0x1020; - buf[255] = 0x00a5; - ahci_checksum((uint8_t *)buf, sizeof(buf)); ahci_write_fis_piosetup(p); - write_prdt(p, slot, cfis, (void *)buf, sizeof(buf)); + write_prdt(p, slot, cfis, (void *)&p->ata_ident, sizeof(struct ata_params)); ahci_write_fis_d2h(p, slot, cfis, ATA_S_DSC | ATA_S_READY); } } @@ -2319,6 +2323,10 @@ pci_ahci_init(struct vmctx *ctx, struct pci_devinst *p MD5_CTX mdctx; u_char digest[16]; char *next, *next2; + char *bopt, *uopt, *xopts, *config; + FILE* fp; + size_t block_len; + int comma, optpos; ret = 0; @@ -2335,6 +2343,9 @@ pci_ahci_init(struct vmctx *ctx, struct pci_devinst *p slots = 32; for (p = 0; p < MAX_PORTS && opts != NULL; p++, opts = next) { + struct ata_params *ata_ident = &sc->port[p].ata_ident; + memset(ata_ident, 0, sizeof(struct ata_params)); + /* Identify and cut off type of present port. */ if (strncmp(opts, "hd:", 3) == 0) { atapi = 0; @@ -2357,13 +2368,82 @@ pci_ahci_init(struct vmctx *ctx, struct pci_devinst *p if (opts[0] == 0) continue; + uopt = strdup(opts); + bopt = NULL; + fp = open_memstream(&bopt, &block_len); + comma = 0; + optpos = 0; + + for (xopts = strtok(uopt, ","); + xopts != NULL; + xopts = strtok(NULL, ",")) { + + /* First option assume as block filename. */ + if (optpos == 0) { + /* + * Create an identifier for the backing file. + * Use parts of the md5 sum of the filename + */ + char ident[AHCI_PORT_IDENT]; + MD5Init(&mdctx); + MD5Update(&mdctx, opts, strlen(opts)); + MD5Final(digest, &mdctx); + snprintf(ident, AHCI_PORT_IDENT, + "BHYVE-%02X%02X-%02X%02X-%02X%02X", + digest[0], digest[1], digest[2], digest[3], digest[4], + digest[5]); + ata_string((uint8_t*)&ata_ident->serial, ident, 20); + ata_string((uint8_t*)&ata_ident->revision, "001", 8); + if (atapi) { + ata_string((uint8_t*)&ata_ident->model, "BHYVE SATA DVD ROM", 40); + } + else { + ata_string((uint8_t*)&ata_ident->model, "BHYVE SATA DISK", 40); + } + } + + if ((config = strchr(xopts, '=')) != NULL) { + *config++ = '\0'; + if (!strcmp("nmrr", xopts)) { + ata_ident->media_rotation_rate = atoi(config); + } + else if (!strcmp("ser", xopts)) { + ata_string((uint8_t*)(&ata_ident->serial), config, 20); + } + else if (!strcmp("rev", xopts)) { + ata_string((uint8_t*)(&ata_ident->revision), config, 8); + } + else if (!strcmp("model", xopts)) { + ata_string((uint8_t*)(&ata_ident->model), config, 40); + } + else { + /* Pass all other options to blockif_open. */ + *--config = '='; + fprintf(fp, "%s%s", comma ? "," : "", xopts); + comma = 1; + } + } + else { + /* Pass all other options to blockif_open. */ + fprintf(fp, "%s%s", comma ? "," : "", xopts); + comma = 1; + } + optpos++; + } + free(uopt); + fclose(fp); + + DPRINTF("%s\n", bopt); + /* * Attempt to open the backing image. Use the PCI slot/func * and the port number for the identifier string. */ snprintf(bident, sizeof(bident), "%d:%d:%d", pi->pi_slot, pi->pi_func, p); - bctxt = blockif_open(opts, bident); + bctxt = blockif_open(bopt, bident); + free(bopt); + if (bctxt == NULL) { sc->ports = p; ret = 1; @@ -2374,17 +2454,7 @@ pci_ahci_init(struct vmctx *ctx, struct pci_devinst *p sc->port[p].port = p; sc->port[p].atapi = atapi; - /* - * Create an identifier for the backing file. - * Use parts of the md5 sum of the filename - */ - MD5Init(&mdctx); - MD5Update(&mdctx, opts, strlen(opts)); - MD5Final(digest, &mdctx); - snprintf(sc->port[p].ident, AHCI_PORT_IDENT, - "BHYVE-%02X%02X-%02X%02X-%02X%02X", - digest[0], digest[1], digest[2], digest[3], digest[4], - digest[5]); + ata_identify_init(&sc->port[p], atapi); /* * Allocate blockif request structures and add them From owner-svn-src-all@freebsd.org Mon Jul 27 09:01:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4C82037B3EE; Mon, 27 Jul 2020 09:01:56 +0000 (UTC) (envelope-from agapon@gmail.com) Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFYhg3Gldz4gYG; Mon, 27 Jul 2020 09:01:55 +0000 (UTC) (envelope-from agapon@gmail.com) Received: by mail-lf1-f48.google.com with SMTP id 140so8585162lfi.5; Mon, 27 Jul 2020 02:01:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=OkJ99ADtUm7YdFrtQtXjUO9LfDRfNi2bE7Ux9La+lE8=; b=VzaCK9TvObBbgUzpzPM7+oFSoBezld6lOMXvAdzmdFOFW6S8j6bdt1SsAHqaUUurhH uRYDD4FK2jI2TDKz38kHSB0V9qcf1FJGCUXqWT9AzvFQSirCuQvofyG1kF6/IAo3KPLh JynX7N2VsCh9pbvxB0GziL/c6oWnOkb81RsI87Og5XLbgcyLtlkEH/WCjseUibfpoPOI BBBrPmM4VavH1bRmNSXXhMrzCdLNaIalkFruRYDdeypqDT1NCN3E0G5NA0zEG7n10vlt lhtVKsIUzyKkKFOXhUAWE6RfgReA1XEnArSWuHKRfnKBQDpOzXD7EfnzOqC1nGPRT/NB /MxQ== X-Gm-Message-State: AOAM5333JSAt+7zbtOYleQKtxhXpFblW7cawLjnz9tHWmAVevIj99afc OcHN9S3VXdk7l5mjmr8EU3C5ENa3 X-Google-Smtp-Source: ABdhPJzj/cBRYQWJOqyfpoOfKn2Uedti3krBL9nsagGvQxb9Vd+GkqDPq1upkhzEvlQ5Lh5KbyzPsw== X-Received: by 2002:a19:8295:: with SMTP id e143mr11029930lfd.95.1595840513239; Mon, 27 Jul 2020 02:01:53 -0700 (PDT) Received: from [192.168.0.88] (east.meadow.volia.net. [93.72.151.96]) by smtp.googlemail.com with ESMTPSA id z12sm2903256lfh.61.2020.07.27.02.01.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Jul 2020 02:01:52 -0700 (PDT) Subject: Re: svn commit: r363382 - head/sys/dev/gpio To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202007210735.06L7Z4HM057413@repo.freebsd.org> From: Andriy Gapon Openpgp: preference=signencrypt Autocrypt: addr=avg@FreeBSD.org; prefer-encrypt=mutual; keydata= mQINBFm4LIgBEADNB/3lT7f15UKeQ52xCFQx/GqHkSxEdVyLFZTmY3KyNPQGBtyvVyBfprJ7 mAeXZWfhat6cKNRAGZcL5EmewdQuUfQfBdYmKjbw3a9GFDsDNuhDA2QwFt8BmkiVMRYyvI7l N0eVzszWCUgdc3qqM6qqcgBaqsVmJluwpvwp4ZBXmch5BgDDDb1MPO8AZ2QZfIQmplkj8Y6Z AiNMknkmgaekIINSJX8IzRzKD5WwMsin70psE8dpL/iBsA2cpJGzWMObVTtCxeDKlBCNqM1i gTXta1ukdUT7JgLEFZk9ceYQQMJJtUwzWu1UHfZn0Fs29HTqawfWPSZVbulbrnu5q55R4PlQ /xURkWQUTyDpqUvb4JK371zhepXiXDwrrpnyyZABm3SFLkk2bHlheeKU6Yql4pcmSVym1AS4 dV8y0oHAfdlSCF6tpOPf2+K9nW1CFA8b/tw4oJBTtfZ1kxXOMdyZU5fiG7xb1qDgpQKgHUX8 7Rd2T1UVLVeuhYlXNw2F+a2ucY+cMoqz3LtpksUiBppJhw099gEXehcN2JbUZ2TueJdt1FdS ztnZmsHUXLxrRBtGwqnFL7GSd6snpGIKuuL305iaOGODbb9c7ne1JqBbkw1wh8ci6vvwGlzx rexzimRaBzJxlkjNfMx8WpCvYebGMydNoeEtkWldtjTNVsUAtQARAQABtB5BbmRyaXkgR2Fw b24gPGF2Z0BGcmVlQlNELm9yZz6JAlQEEwEIAD4WIQS+LEO7ngQnXA4Bjr538m7TUc1yjwUC WbgsiAIbIwUJBaOagAULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRB38m7TUc1yj+JAEACV l9AK/nOWAt/9cufV2fRj0hdOqB1aCshtSrwHk/exXsDa4/FkmegxXQGY+3GWX3deIyesbVRL rYdtdK0dqJyT1SBqXK1h3/at9rxr9GQA6KWOxTjUFURsU7ok/6SIlm8uLRPNKO+yq0GDjgaO LzN+xykuBA0FlhQAXJnpZLcVfPJdWv7sSHGedL5ln8P8rxR+XnmsA5TUaaPcbhTB+mG+iKFj GghASDSfGqLWFPBlX/fpXikBDZ1gvOr8nyMY9nXhgfXpq3B6QCRYKPy58ChrZ5weeJZ29b7/ QdEO8NFNWHjSD9meiLdWQaqo9Y7uUxN3wySc/YUZxtS0bhAd8zJdNPsJYG8sXgKjeBQMVGuT eCAJFEYJqbwWvIXMfVWop4+O4xB+z2YE3jAbG/9tB/GSnQdVSj3G8MS80iLS58frnt+RSEw/ psahrfh0dh6SFHttE049xYiC+cM8J27Aaf0i9RflyITq57NuJm+AHJoU9SQUkIF0nc6lfA+o JRiyRlHZHKoRQkIg4aiKaZSWjQYRl5Txl0IZUP1dSWMX4s3XTMurC/pnja45dge/4ESOtJ9R 8XuIWg45Oq6MeIWdjKddGhRj3OohsltKgkEU3eLKYtB6qRTQypHHUawCXz88uYt5e3w4V16H lCpSTZV/EVHnNe45FVBlvK7k7HFfDDkryLkCDQRZuCyIARAAlq0slcsVboY/+IUJdcbEiJRW be9HKVz4SUchq0z9MZPX/0dcnvz/gkyYA+OuM78dNS7Mbby5dTvOqfpLJfCuhaNYOhlE0wY+ 1T6Tf1f4c/uA3U/YiadukQ3+6TJuYGAdRZD5EqYFIkreARTVWg87N9g0fT9BEqLw9lJtEGDY EWUE7L++B8o4uu3LQFEYxcrb4K/WKmgtmFcm77s0IKDrfcX4doV92QTIpLiRxcOmCC/OCYuO jB1oaaqXQzZrCutXRK0L5XN1Y1PYjIrEzHMIXmCDlLYnpFkK+itlXwlE2ZQxkfMruCWdQXye syl2fynAe8hvp7Mms9qU2r2K9EcJiR5N1t1C2/kTKNUhcRv7Yd/vwusK7BqJbhlng5ZgRx0m WxdntU/JLEntz3QBsBsWM9Y9wf2V4tLv6/DuDBta781RsCB/UrU2zNuOEkSixlUiHxw1dccI 6CVlaWkkJBxmHX22GdDFrcjvwMNIbbyfQLuBq6IOh8nvu9vuItup7qemDG3Ms6TVwA7BD3j+ 3fGprtyW8Fd/RR2bW2+LWkMrqHffAr6Y6V3h5kd2G9Q8ZWpEJk+LG6Mk3fhZhmCnHhDu6CwN MeUvxXDVO+fqc3JjFm5OxhmfVeJKrbCEUJyM8ESWLoNHLqjywdZga4Q7P12g8DUQ1mRxYg/L HgZY3zfKOqcAEQEAAYkCPAQYAQgAJhYhBL4sQ7ueBCdcDgGOvnfybtNRzXKPBQJZuCyIAhsM BQkFo5qAAAoJEHfybtNRzXKPBVwQAKfFy9P7N3OsLDMB56A4Kf+ZT+d5cIx0Yiaf4n6w7m3i ImHHHk9FIetI4Xe54a2IXh4Bq5UkAGY0667eIs+Z1Ea6I2i27Sdo7DxGwq09Qnm/Y65ADvXs 3aBvokCcm7FsM1wky395m8xUos1681oV5oxgqeRI8/76qy0hD9WR65UW+HQgZRIcIjSel9vR XDaD2HLGPTTGr7u4v00UeTMs6qvPsa2PJagogrKY8RXdFtXvweQFz78NbXhluwix2Tb9ETPk LIpDrtzV73CaE2aqBG/KrboXT2C67BgFtnk7T7Y7iKq4/XvEdDWscz2wws91BOXuMMd4c/c4 OmGW9m3RBLufFrOag1q5yUS9QbFfyqL6dftJP3Zq/xe+mr7sbWbhPVCQFrH3r26mpmy841ym dwQnNcsbIGiBASBSKksOvIDYKa2Wy8htPmWFTEOPRpFXdGQ27awcjjnB42nngyCK5ukZDHi6 w0qK5DNQQCkiweevCIC6wc3p67jl1EMFY5+z+zdTPb3h7LeVnGqW0qBQl99vVFgzLxchKcl0 R/paSFgwqXCZhAKMuUHncJuynDOP7z5LirUeFI8qsBAJi1rXpQoLJTVcW72swZ42IdPiboqx NbTMiNOiE36GqMcTPfKylCbF45JNX4nF9ElM0E+Y8gi4cizJYBRr2FBJgay0b9Cp Message-ID: Date: Mon, 27 Jul 2020 12:01:50 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Firefox/60.0 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <202007210735.06L7Z4HM057413@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BFYhg3Gldz4gYG X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of agapon@gmail.com designates 209.85.167.48 as permitted sender) smtp.mailfrom=agapon@gmail.com X-Spamd-Result: default: False [-0.11 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; ARC_NA(0.00)[]; DMARC_NA(0.00)[FreeBSD.org]; NEURAL_HAM_LONG(-0.06)[-0.059]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_HAM_MEDIUM(-0.29)[-0.291]; NEURAL_SPAM_SHORT(0.24)[0.241]; RCVD_IN_DNSWL_NONE(0.00)[209.85.167.48:from]; FORGED_SENDER(0.30)[avg@FreeBSD.org,agapon@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.167.48:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RCVD_TLS_ALL(0.00)[]; FROM_NEQ_ENVFROM(0.00)[avg@FreeBSD.org,agapon@gmail.com]; RECEIVED_SPAMHAUS_PBL(0.00)[93.72.151.96:received] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 09:01:56 -0000 On 21/07/2020 10:35, Andriy Gapon wrote: > Author: avg > Date: Tue Jul 21 07:35:03 2020 > New Revision: 363382 > URL: https://svnweb.freebsd.org/changeset/base/363382 > > Log: > gpioiic: never drive lines active high > > I2C communication is done by a combination of driving a line low or > letting it float, so that it is either pulled up or driven low by > another party. > > r355276 besides the stated goal of the change -- using the new GPIO API > -- also changed the logic, so that active state is signaled by actively > driving a line. Actually, the code was not incorrect. Ian pointed out something that I overlooked. The driver configures I2C pins as GPIO_PIN_OPENDRAIN and that alone should have ensured the correct behavior of setting active and inactive output states (that is, active == hi-Z). The real problem is that only a few drivers implement or emulate that configuration bit. Far from all hardware provides that option natively too. > That worked with iicbb prior to r362042, but stopped working after that > commit on at least some hardware. My guess that the breakage was > related to getting an ACK bit. A device expected to be able to drive > SDA actively low, but controller was actively driving it high for some > time. > > Anyway, this change seems to fix the problem. > Tested using gpioiic on Orange Pi PC Plus with HTU21 sensor. > > Reported by: Nick Kostirya > Reviewed by: manu > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D25684 > > Modified: > head/sys/dev/gpio/gpioiic.c > > Modified: head/sys/dev/gpio/gpioiic.c > ============================================================================== > --- head/sys/dev/gpio/gpioiic.c Mon Jul 20 23:57:53 2020 (r363381) > +++ head/sys/dev/gpio/gpioiic.c Tue Jul 21 07:35:03 2020 (r363382) > @@ -191,16 +191,14 @@ static void > gpioiic_setsda(device_t dev, int val) > { > struct gpioiic_softc *sc = device_get_softc(dev); > - int err; > > - /* > - * Some controllers cannot set an output value while a pin is in input > - * mode; in that case we set the pin again after changing mode. > - */ > - err = gpio_pin_set_active(sc->sdapin, val); > - gpio_pin_setflags(sc->sdapin, GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN); > - if (err != 0) > - gpio_pin_set_active(sc->sdapin, val); > + if (val) { > + gpio_pin_setflags(sc->sdapin, GPIO_PIN_INPUT); > + } else { > + gpio_pin_setflags(sc->sdapin, > + GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN); > + gpio_pin_set_active(sc->sdapin, 0); > + } > } > > static void > @@ -208,8 +206,13 @@ gpioiic_setscl(device_t dev, int val) > { > struct gpioiic_softc *sc = device_get_softc(dev); > > - gpio_pin_setflags(sc->sclpin, GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN); > - gpio_pin_set_active(sc->sclpin, val); > + if (val) { > + gpio_pin_setflags(sc->sclpin, GPIO_PIN_INPUT); > + } else { > + gpio_pin_setflags(sc->sclpin, > + GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN); > + gpio_pin_set_active(sc->sclpin, 0); > + } > } > > static int > -- Andriy Gapon From owner-svn-src-all@freebsd.org Mon Jul 27 09:10:03 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6A8C337BA29; Mon, 27 Jul 2020 09:10:03 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFYt32BXzz4gtq; Mon, 27 Jul 2020 09:10:03 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2B7401B3F7; Mon, 27 Jul 2020 09:10:03 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06R9A2PM078339; Mon, 27 Jul 2020 09:10:02 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06R9A2Ok078338; Mon, 27 Jul 2020 09:10:02 GMT (envelope-from avg@FreeBSD.org) Message-Id: <202007270910.06R9A2Ok078338@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Mon, 27 Jul 2020 09:10:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363597 - head/sys/arm/allwinner/clkng X-SVN-Group: head X-SVN-Commit-Author: avg X-SVN-Commit-Paths: head/sys/arm/allwinner/clkng X-SVN-Commit-Revision: 363597 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 09:10:03 -0000 Author: avg Date: Mon Jul 27 09:10:02 2020 New Revision: 363597 URL: https://svnweb.freebsd.org/changeset/base/363597 Log: actually enable gate control for allwinner's r-ccu ir clock The gate control bit offset was correctly specified, but AW_CLK_HAS_GATE flag was not set. Tested with (C)IR receiver on Orange Pi PC Plus. Reviewed by: manu MFC after: 1 week Modified: head/sys/arm/allwinner/clkng/ccu_sun8i_r.c Modified: head/sys/arm/allwinner/clkng/ccu_sun8i_r.c ============================================================================== --- head/sys/arm/allwinner/clkng/ccu_sun8i_r.c Mon Jul 27 07:56:55 2020 (r363596) +++ head/sys/arm/allwinner/clkng/ccu_sun8i_r.c Mon Jul 27 09:10:02 2020 (r363597) @@ -122,7 +122,7 @@ NM_CLK(r_ccu_ir_clk, 16, 2, 0, 0, /* M flags */ 24, 2, /* mux */ 31, /* gate */ - AW_CLK_HAS_MUX | AW_CLK_REPARENT); /* flags */ + AW_CLK_HAS_MUX | AW_CLK_REPARENT | AW_CLK_HAS_GATE);/* flags */ static const char *a83t_ir_parents[] = {"osc16M", "osc24M"}; static struct aw_clk_nm_def a83t_ir_clk = { From owner-svn-src-all@freebsd.org Mon Jul 27 09:33:35 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4D20037C393; Mon, 27 Jul 2020 09:33:35 +0000 (UTC) (envelope-from ronald-lists@klop.ws) Received: from smtp-relay-int.realworks.nl (smtp-relay-int.realworks.nl [194.109.157.24]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFZPB2gSrz4jCq; Mon, 27 Jul 2020 09:33:33 +0000 (UTC) (envelope-from ronald-lists@klop.ws) Date: Mon, 27 Jul 2020 11:33:29 +0200 (CEST) From: Ronald Klop To: Kyle Evans Cc: svn-src-all@freebsd.org, svn-src-head@freebsd.org, src-committers@freebsd.org Message-ID: <2138073301.3.1595842409922@localhost> In-Reply-To: <202007270313.06R3DN0c063936@repo.freebsd.org> References: <202007270313.06R3DN0c063936@repo.freebsd.org> Subject: Re: svn commit: r363595 - head/sys/kern MIME-Version: 1.0 X-Mailer: Realworks (518.382.73a5c78e092) Importance: Normal X-Priority: 3 (Normal) X-Rspamd-Queue-Id: 4BFZPB2gSrz4jCq X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:3265, ipnet:194.109.0.0/16, country:NL] Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 09:33:35 -0000 Hi, Helpful addition. Might it help people more to make the message point to the replacement of the deprecated functionality? Regards, Ronald. Van: Kyle Evans Datum: maandag, 27 juli 2020 05:13 Aan: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Onderwerp: svn commit: r363595 - head/sys/kern > > Author: kevans > Date: Mon Jul 27 03:13:23 2020 > New Revision: 363595 > URL: https://svnweb.freebsd.org/changeset/base/363595 > > Log: > makesyscalls.sh: spit out a deprecation notice to stderr > > This has for a while been replaced by makesyscalls.lua in the stock FreeBSD > build. Ensure downstreams get some notice that it'a going away if they're > reliant on it, maybe. > > Modified: > head/sys/kern/makesyscalls.sh > > Modified: head/sys/kern/makesyscalls.sh > ============================================================================== > --- head/sys/kern/makesyscalls.sh Mon Jul 27 01:53:27 2020 (r363594) > +++ head/sys/kern/makesyscalls.sh Mon Jul 27 03:13:23 2020 (r363595) > @@ -60,6 +60,8 @@ case $# in > ;; > esac > > +1>&2 echo "$0: This script is deprecated and will be removed before FreeBSD 13." > + > if [ -n "$2" ]; then > . "$2" > fi > _______________________________________________ > svn-src-all@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" > > > From owner-svn-src-all@freebsd.org Mon Jul 27 10:45:47 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E868C37DD43; Mon, 27 Jul 2020 10:45:47 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFc0W5sDPz4nPJ; Mon, 27 Jul 2020 10:45:47 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A895C1CA04; Mon, 27 Jul 2020 10:45:47 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RAjlGS039880; Mon, 27 Jul 2020 10:45:47 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RAjlfP039879; Mon, 27 Jul 2020 10:45:47 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007271045.06RAjlfP039879@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Mon, 27 Jul 2020 10:45:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363598 - head/usr.sbin/nologin X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/usr.sbin/nologin X-SVN-Commit-Revision: 363598 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 10:45:48 -0000 Author: 0mp (doc,ports committer) Date: Mon Jul 27 10:45:47 2020 New Revision: 363598 URL: https://svnweb.freebsd.org/changeset/base/363598 Log: nologin.8: Improve wording Reported by: yuripv Reviewed by: bcr, yuripv MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D25814 Modified: head/usr.sbin/nologin/nologin.8 Modified: head/usr.sbin/nologin/nologin.8 ============================================================================== --- head/usr.sbin/nologin/nologin.8 Mon Jul 27 09:10:02 2020 (r363597) +++ head/usr.sbin/nologin/nologin.8 Mon Jul 27 10:45:47 2020 (r363598) @@ -44,7 +44,7 @@ have been disabled. .Pp When executed, .Nm -first writes about the login attempt to +first logs about the login attempt using .Xr syslog 3 and then displays a message that an account is not available. .Pp From owner-svn-src-all@freebsd.org Mon Jul 27 11:42:23 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 594B037F390; Mon, 27 Jul 2020 11:42:23 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFdFq1lVlz4rms; Mon, 27 Jul 2020 11:42:23 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1F52B1D13C; Mon, 27 Jul 2020 11:42:23 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RBgNFP076122; Mon, 27 Jul 2020 11:42:23 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RBgMUD076121; Mon, 27 Jul 2020 11:42:22 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007271142.06RBgMUD076121@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Mon, 27 Jul 2020 11:42:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363599 - head/share/man/man3 X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/share/man/man3 X-SVN-Commit-Revision: 363599 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 11:42:23 -0000 Author: 0mp (doc,ports committer) Date: Mon Jul 27 11:42:22 2020 New Revision: 363599 URL: https://svnweb.freebsd.org/changeset/base/363599 Log: tree.3: Bump date after 363450 (WAVL) While here: - Address whitespace warnings. - Start sentences on a new line. Modified: head/share/man/man3/tree.3 Modified: head/share/man/man3/tree.3 ============================================================================== --- head/share/man/man3/tree.3 Mon Jul 27 10:45:47 2020 (r363598) +++ head/share/man/man3/tree.3 Mon Jul 27 11:42:22 2020 (r363599) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 25, 2020 +.Dd July 27, 2020 .Dt TREE 3 .Os .Sh NAME @@ -371,7 +371,7 @@ Each tree node has an associated rank. Balance conditions are expressed by conditions on the differences in rank between any node and its children. Rank differences are stored in each tree node. -.Pp +.Pp The balance conditions implemented by the RB macros lead to weak AVL (wavl) trees, which combine the best aspects of AVL and red-black trees. @@ -380,7 +380,8 @@ with the same worst-case time as red-black trees offer better balance in the resulting tree. Wavl trees rebalance after a removal in a way that requires less restructuring, in the worst case, than either AVL or red-black trees -do. Removals can lead to a tree almost as unbalanced as a red-black +do. +Removals can lead to a tree almost as unbalanced as a red-black tree; insertions lead to a tree becoming as balanced as an AVL tree. .Pp A rank-balanced tree is headed by a structure defined by the From owner-svn-src-all@freebsd.org Mon Jul 27 14:08:30 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 693A83636DC; Mon, 27 Jul 2020 14:08:30 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFhVQ23vfz3WsY; Mon, 27 Jul 2020 14:08:30 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 26C481EABB; Mon, 27 Jul 2020 14:08:30 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RE8TTB063098; Mon, 27 Jul 2020 14:08:29 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RE8TH3063097; Mon, 27 Jul 2020 14:08:29 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271408.06RE8TH3063097@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:08:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363600 - stable/12/contrib/elftoolchain/libdwarf X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/contrib/elftoolchain/libdwarf X-SVN-Commit-Revision: 363600 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:08:30 -0000 Author: markj Date: Mon Jul 27 14:08:29 2020 New Revision: 363600 URL: https://svnweb.freebsd.org/changeset/base/363600 Log: MFC r363375: libdwarf: Hide SHT_NOBITS sections. PR: 239516 Modified: stable/12/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Directory Properties: stable/12/ (props changed) Modified: stable/12/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c ============================================================================== --- stable/12/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Mon Jul 27 11:42:22 2020 (r363599) +++ stable/12/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Mon Jul 27 14:08:29 2020 (r363600) @@ -260,6 +260,9 @@ _dwarf_elf_init(Dwarf_Debug dbg, Elf *elf, Dwarf_Error goto fail_cleanup; } + if (sh.sh_type == SHT_NOBITS) + continue; + if ((name = elf_strptr(elf, e->eo_strndx, sh.sh_name)) == NULL) { DWARF_SET_ELF_ERROR(dbg, error); @@ -312,6 +315,9 @@ _dwarf_elf_init(Dwarf_Debug dbg, Elf *elf, Dwarf_Error ret = DW_DLE_ELF; goto fail_cleanup; } + + if (sh.sh_type == SHT_NOBITS) + continue; memcpy(&e->eo_shdr[j], &sh, sizeof(sh)); From owner-svn-src-all@freebsd.org Mon Jul 27 14:09:38 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A2D02363859; Mon, 27 Jul 2020 14:09:38 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFhWk3ty2z3XHb; Mon, 27 Jul 2020 14:09:38 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 696551ED32; Mon, 27 Jul 2020 14:09:38 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RE9cRb063209; Mon, 27 Jul 2020 14:09:38 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RE9cq3063208; Mon, 27 Jul 2020 14:09:38 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271409.06RE9cq3063208@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:09:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363601 - stable/11/contrib/elftoolchain/libdwarf X-SVN-Group: stable-11 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/11/contrib/elftoolchain/libdwarf X-SVN-Commit-Revision: 363601 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:09:38 -0000 Author: markj Date: Mon Jul 27 14:09:37 2020 New Revision: 363601 URL: https://svnweb.freebsd.org/changeset/base/363601 Log: MFC r363375: libdwarf: Hide SHT_NOBITS sections. PR: 239516 Modified: stable/11/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c ============================================================================== --- stable/11/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Mon Jul 27 14:08:29 2020 (r363600) +++ stable/11/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Mon Jul 27 14:09:37 2020 (r363601) @@ -260,6 +260,9 @@ _dwarf_elf_init(Dwarf_Debug dbg, Elf *elf, Dwarf_Error goto fail_cleanup; } + if (sh.sh_type == SHT_NOBITS) + continue; + if ((name = elf_strptr(elf, e->eo_strndx, sh.sh_name)) == NULL) { DWARF_SET_ELF_ERROR(dbg, error); @@ -312,6 +315,9 @@ _dwarf_elf_init(Dwarf_Debug dbg, Elf *elf, Dwarf_Error ret = DW_DLE_ELF; goto fail_cleanup; } + + if (sh.sh_type == SHT_NOBITS) + continue; memcpy(&e->eo_shdr[j], &sh, sizeof(sh)); From owner-svn-src-all@freebsd.org Mon Jul 27 14:10:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7D347363A4E; Mon, 27 Jul 2020 14:10:13 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFhXP2mjpz3XLj; Mon, 27 Jul 2020 14:10:13 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 423E81ED33; Mon, 27 Jul 2020 14:10:13 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06READkK063331; Mon, 27 Jul 2020 14:10:13 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06READ2l063330; Mon, 27 Jul 2020 14:10:13 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271410.06READ2l063330@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:10:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363602 - stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 363602 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:10:13 -0000 Author: markj Date: Mon Jul 27 14:10:12 2020 New Revision: 363602 URL: https://svnweb.freebsd.org/changeset/base/363602 Log: MFC r363373: Fix a memory leak in dsl_scan_visitbp(). PR: 247445 Modified: stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Jul 27 14:09:37 2020 (r363601) +++ stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Jul 27 14:10:12 2020 (r363602) @@ -1786,7 +1786,7 @@ dsl_scan_visitbp(blkptr_t *bp, const zbookmark_phys_t *bp_toread = *bp; if (dsl_scan_recurse(scn, ds, ostype, dnp, bp_toread, zb, tx) != 0) - return; + goto out; /* * If dsl_scan_ddt() has already visited this block, it will have From owner-svn-src-all@freebsd.org Mon Jul 27 14:11:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 67C5C363CBA; Mon, 27 Jul 2020 14:11:09 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFhYT29zjz3XSf; Mon, 27 Jul 2020 14:11:09 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2E50E1ED3B; Mon, 27 Jul 2020 14:11:09 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06REB9lc066837; Mon, 27 Jul 2020 14:11:09 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06REB9Hs066836; Mon, 27 Jul 2020 14:11:09 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271411.06REB9Hs066836@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:11:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363603 - stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-11 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 363603 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:11:09 -0000 Author: markj Date: Mon Jul 27 14:11:08 2020 New Revision: 363603 URL: https://svnweb.freebsd.org/changeset/base/363603 Log: MFC r363373: Fix a memory leak in dsl_scan_visitbp(). PR: 247445 Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Jul 27 14:10:12 2020 (r363602) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Mon Jul 27 14:11:08 2020 (r363603) @@ -1791,7 +1791,7 @@ dsl_scan_visitbp(blkptr_t *bp, const zbookmark_phys_t *bp_toread = *bp; if (dsl_scan_recurse(scn, ds, ostype, dnp, bp_toread, zb, tx) != 0) - return; + goto out; /* * If dsl_scan_ddt() has already visited this block, it will have From owner-svn-src-all@freebsd.org Mon Jul 27 14:14:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 30AC6363C56; Mon, 27 Jul 2020 14:14:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFhcw0cfXz3Xlf; Mon, 27 Jul 2020 14:14:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EC9171F130; Mon, 27 Jul 2020 14:14:07 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06REE7J9069190; Mon, 27 Jul 2020 14:14:07 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06REE6Ec069185; Mon, 27 Jul 2020 14:14:06 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271414.06REE6Ec069185@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:14:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363604 - stable/12/sys/fs/ext2fs X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/fs/ext2fs X-SVN-Commit-Revision: 363604 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:14:08 -0000 Author: markj Date: Mon Jul 27 14:14:06 2020 New Revision: 363604 URL: https://svnweb.freebsd.org/changeset/base/363604 Log: MFC r363367: ext2fs: Stop checking for failures from malloc(M_WAITOK). PR: 240545 Modified: stable/12/sys/fs/ext2fs/ext2_acl.c stable/12/sys/fs/ext2fs/ext2_alloc.c stable/12/sys/fs/ext2fs/ext2_extents.c stable/12/sys/fs/ext2fs/ext2_lookup.c stable/12/sys/fs/ext2fs/ext2_vnops.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/fs/ext2fs/ext2_acl.c ============================================================================== --- stable/12/sys/fs/ext2fs/ext2_acl.c Mon Jul 27 14:11:08 2020 (r363603) +++ stable/12/sys/fs/ext2fs/ext2_acl.c Mon Jul 27 14:14:06 2020 (r363604) @@ -234,8 +234,6 @@ ext2_getacl_posix1e(struct vop_getacl_args *ap) len = sizeof(*ap->a_aclp) + sizeof(struct ext2_acl_header); value = malloc(len, M_ACL, M_WAITOK); - if (!value) - return (ENOMEM); error = vn_extattr_get(ap->a_vp, IO_NODELOCKED, attrnamespace, attrname, &len, value, ap->a_td); Modified: stable/12/sys/fs/ext2fs/ext2_alloc.c ============================================================================== --- stable/12/sys/fs/ext2fs/ext2_alloc.c Mon Jul 27 14:11:08 2020 (r363603) +++ stable/12/sys/fs/ext2fs/ext2_alloc.c Mon Jul 27 14:14:06 2020 (r363604) @@ -424,9 +424,6 @@ ext2_valloc(struct vnode *pvp, int mode, struct ucred } ip = malloc(sizeof(struct inode), M_EXT2NODE, M_WAITOK | M_ZERO); - if (ip == NULL) { - return (ENOMEM); - } /* Allocate a new vnode/inode. */ if ((error = getnewvnode("ext2fs", ump->um_mountp, &ext2_vnodeops, &vp)) != 0) { Modified: stable/12/sys/fs/ext2fs/ext2_extents.c ============================================================================== --- stable/12/sys/fs/ext2fs/ext2_extents.c Mon Jul 27 14:11:08 2020 (r363603) +++ stable/12/sys/fs/ext2fs/ext2_extents.c Mon Jul 27 14:14:06 2020 (r363604) @@ -319,9 +319,6 @@ ext4_ext_fill_path_bdata(struct ext4_extent_path *path ("ext4_ext_fill_path_bdata: bad ep_data")); path->ep_data = malloc(bp->b_bufsize, M_EXT2EXTENTS, M_WAITOK); - if (!path->ep_data) - return (ENOMEM); - memcpy(path->ep_data, bp->b_data, bp->b_bufsize); path->ep_blk = blk; @@ -394,9 +391,6 @@ ext4_ext_find_extent(struct inode *ip, daddr_t block, path = malloc(EXT4_EXT_DEPTH_MAX * sizeof(struct ext4_extent_path), M_EXT2EXTENTS, M_WAITOK | M_ZERO); - if (!path) - return (ENOMEM); - *ppath = path; alloc = 1; } @@ -758,8 +752,6 @@ ext4_ext_split(struct inode *ip, struct ext4_extent_pa /* Allocate new blocks. */ ablks = malloc(sizeof(e4fs_daddr_t) * depth, M_EXT2EXTENTS, M_WAITOK | M_ZERO); - if (!ablks) - return (ENOMEM); for (a = 0; a < depth - at; a++) { newblk = ext4_ext_alloc_meta(ip); if (newblk == 0) @@ -1510,9 +1502,6 @@ ext4_ext_remove_space(struct inode *ip, off_t length, path = malloc(sizeof(struct ext4_extent_path) * (depth + 1), M_EXT2EXTENTS, M_WAITOK | M_ZERO); - if (!path) - return (ENOMEM); - path[0].ep_header = ehp; path[0].ep_depth = depth; i = 0; Modified: stable/12/sys/fs/ext2fs/ext2_lookup.c ============================================================================== --- stable/12/sys/fs/ext2fs/ext2_lookup.c Mon Jul 27 14:11:08 2020 (r363603) +++ stable/12/sys/fs/ext2fs/ext2_lookup.c Mon Jul 27 14:14:06 2020 (r363604) @@ -891,10 +891,6 @@ ext2_add_first_entry(struct vnode *dvp, struct ext2fs_ EXT2F_ROCOMPAT_METADATA_CKSUM)) { entry->e2d_reclen = dirblksize - sizeof(struct ext2fs_direct_tail); buf = malloc(dirblksize, M_TEMP, M_WAITOK); - if (!buf) { - error = ENOMEM; - goto out; - } memcpy(buf, entry, EXT2_DIR_REC_LEN(entry->e2d_namlen)); ext2_init_dirent_tail(EXT2_DIRENT_TAIL(buf, dirblksize)); ext2_dirent_csum_set(dp, (struct ext2fs_direct_2 *)buf); Modified: stable/12/sys/fs/ext2fs/ext2_vnops.c ============================================================================== --- stable/12/sys/fs/ext2fs/ext2_vnops.c Mon Jul 27 14:11:08 2020 (r363603) +++ stable/12/sys/fs/ext2fs/ext2_vnops.c Mon Jul 27 14:14:06 2020 (r363604) @@ -1075,10 +1075,6 @@ abortit: ext2_dec_nlink(dp); dp->i_flag |= IN_CHANGE; dirbuf = malloc(dp->i_e2fs->e2fs_bsize, M_TEMP, M_WAITOK | M_ZERO); - if (!dirbuf) { - error = ENOMEM; - goto bad; - } error = vn_rdwr(UIO_READ, fvp, (caddr_t)dirbuf, ip->i_e2fs->e2fs_bsize, (off_t)0, UIO_SYSSPACE, IO_NODELOCKED | IO_NOMACCHECK, @@ -1388,12 +1384,6 @@ ext2_mkdir(struct vop_mkdir_args *ap) #define DIRBLKSIZ VTOI(dvp)->i_e2fs->e2fs_bsize dirtemplate.dotdot_reclen = DIRBLKSIZ - 12; buf = malloc(DIRBLKSIZ, M_TEMP, M_WAITOK | M_ZERO); - if (!buf) { - error = ENOMEM; - ext2_dec_nlink(dp); - dp->i_flag |= IN_CHANGE; - goto bad; - } if (EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) { dirtemplate.dotdot_reclen -= sizeof(struct ext2fs_direct_tail); ext2_init_dirent_tail(EXT2_DIRENT_TAIL(buf, DIRBLKSIZ)); From owner-svn-src-all@freebsd.org Mon Jul 27 14:15:52 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1F918364253; Mon, 27 Jul 2020 14:15:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFhfw0MJgz3YNM; Mon, 27 Jul 2020 14:15:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E440D1F196; Mon, 27 Jul 2020 14:15:51 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06REFpN2069366; Mon, 27 Jul 2020 14:15:51 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06REFoI5069357; Mon, 27 Jul 2020 14:15:50 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271415.06REFoI5069357@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:15:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363605 - stable/12/sbin/ipfw X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sbin/ipfw X-SVN-Commit-Revision: 363605 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:15:52 -0000 Author: markj Date: Mon Jul 27 14:15:50 2020 New Revision: 363605 URL: https://svnweb.freebsd.org/changeset/base/363605 Log: MFC r363164, r363166: ipfw(8): Fix most warnings with the default WARNS level. Modified: stable/12/sbin/ipfw/Makefile stable/12/sbin/ipfw/altq.c stable/12/sbin/ipfw/dummynet.c stable/12/sbin/ipfw/ipfw2.c stable/12/sbin/ipfw/ipfw2.h stable/12/sbin/ipfw/ipv6.c stable/12/sbin/ipfw/main.c stable/12/sbin/ipfw/nat.c stable/12/sbin/ipfw/nat64clat.c stable/12/sbin/ipfw/nat64lsn.c stable/12/sbin/ipfw/nat64stl.c stable/12/sbin/ipfw/nptv6.c stable/12/sbin/ipfw/tables.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sbin/ipfw/Makefile ============================================================================== --- stable/12/sbin/ipfw/Makefile Mon Jul 27 14:14:06 2020 (r363604) +++ stable/12/sbin/ipfw/Makefile Mon Jul 27 14:15:50 2020 (r363605) @@ -6,7 +6,6 @@ PACKAGE=ipfw PROG= ipfw SRCS= ipfw2.c dummynet.c ipv6.c main.c nat.c tables.c SRCS+= nat64clat.c nat64lsn.c nat64stl.c nptv6.c -WARNS?= 2 .if ${MK_PF} != "no" SRCS+= altq.c @@ -17,3 +16,5 @@ LIBADD= jail util MAN= ipfw.8 .include + +CWARNFLAGS+= -Wno-cast-align Modified: stable/12/sbin/ipfw/altq.c ============================================================================== --- stable/12/sbin/ipfw/altq.c Mon Jul 27 14:14:06 2020 (r363604) +++ stable/12/sbin/ipfw/altq.c Mon Jul 27 14:15:50 2020 (r363605) @@ -140,7 +140,7 @@ altq_qid_to_name(u_int32_t qid) } void -print_altq_cmd(struct buf_pr *bp, ipfw_insn_altq *altqptr) +print_altq_cmd(struct buf_pr *bp, const ipfw_insn_altq *altqptr) { if (altqptr) { const char *qname; Modified: stable/12/sbin/ipfw/dummynet.c ============================================================================== --- stable/12/sbin/ipfw/dummynet.c Mon Jul 27 14:14:06 2020 (r363604) +++ stable/12/sbin/ipfw/dummynet.c Mon Jul 27 14:15:50 2020 (r363605) @@ -166,8 +166,8 @@ enum { #define PIE_SCALE (1L<type, oid->id); break; case DN_SCH: { @@ -636,7 +636,7 @@ list_pipes(struct dn_id *oid, struct dn_id *end) sprintf(bwbuf, "%7.3f bit/s ", b); if (humanize_number(burst, sizeof(burst), p->burst, - "", HN_AUTOSCALE, 0) < 0 || co.verbose) + "", HN_AUTOSCALE, 0) < 0 || g_co.verbose) sprintf(burst, "%d", (int)p->burst); sprintf(buf, "%05d: %s %4d ms burst %s", p->link_nr % DN_MAX_ID, bwbuf, p->delay, burst); @@ -1317,7 +1317,7 @@ ipfw_config_pipe(int ac, char **av) o_next(&buf, sizeof(struct dn_id), DN_CMD_CONFIG); base->id = DN_API_VERSION; - switch (co.do_pipe) { + switch (g_co.do_pipe) { case 1: /* "pipe N config ..." */ /* Allocate space for the WF2Q+ scheduler, its link * and the FIFO flowset. Set the number, but leave @@ -1893,7 +1893,7 @@ parse_range(int ac, char *av[], uint32_t *v, int len) } n++; /* translate if 'pipe list' */ - if (co.do_pipe == 1) { + if (g_co.do_pipe == 1) { v[0] += DN_MAX_ID; v[1] += DN_MAX_ID; } @@ -1947,7 +1947,7 @@ dummynet_list(int ac, char *av[], int show_counters) if (max_size < sizeof(struct dn_flow)) max_size = sizeof(struct dn_flow); - switch (co.do_pipe) { + switch (g_co.do_pipe) { case 1: oid->subtype = DN_LINK; /* list pipe */ break; Modified: stable/12/sbin/ipfw/ipfw2.c ============================================================================== --- stable/12/sbin/ipfw/ipfw2.c Mon Jul 27 14:14:06 2020 (r363604) +++ stable/12/sbin/ipfw/ipfw2.c Mon Jul 27 14:15:50 2020 (r363605) @@ -57,7 +57,7 @@ #include #include -struct cmdline_opts co; /* global options */ +struct cmdline_opts g_co; /* global options */ struct format_opts { int bcwidth; @@ -74,7 +74,7 @@ struct format_opts { int resvd_set_number = RESVD_SET; -int ipfw_socket = -1; +static int ipfw_socket = -1; #define CHECK_LENGTH(v, len) do { \ if ((v) < (len)) \ @@ -395,8 +395,8 @@ static int ipfw_show_config(struct cmdline_opts *co, s static void ipfw_list_tifaces(void); struct tidx; -static uint16_t pack_object(struct tidx *tstate, char *name, int otype); -static uint16_t pack_table(struct tidx *tstate, char *name); +static uint16_t pack_object(struct tidx *tstate, const char *name, int otype); +static uint16_t pack_table(struct tidx *tstate, const char *name); static char *table_search_ctlv(ipfw_obj_ctlv *ctlv, uint16_t idx); static void object_sort_ctlv(ipfw_obj_ctlv *ctlv); @@ -456,7 +456,7 @@ bp_flush(struct buf_pr *b) * Returns number of bytes that should have been printed. */ int -bprintf(struct buf_pr *b, char *format, ...) +bprintf(struct buf_pr *b, const char *format, ...) { va_list args; int i; @@ -466,7 +466,7 @@ bprintf(struct buf_pr *b, char *format, ...) i = vsnprintf(b->ptr, b->avail, format, args); va_end(args); - if (i > b->avail || i < 0) { + if (i < 0 || (size_t)i > b->avail) { /* Overflow or print error */ b->avail = 0; } else { @@ -501,7 +501,7 @@ bprint_uint_arg(struct buf_pr *bp, const char *str, ui * otherwise, return the required width. */ int -pr_u64(struct buf_pr *b, uint64_t *pd, int width) +pr_u64(struct buf_pr *b, void *pd, int width) { #ifdef TCC #define U64_FMT "I64" @@ -569,7 +569,7 @@ do_cmd(int optname, void *optval, uintptr_t optlen) { int i; - if (co.test_only) + if (g_co.test_only) return 0; if (ipfw_socket == -1) @@ -606,7 +606,7 @@ int do_set3(int optname, ip_fw3_opheader *op3, size_t optlen) { - if (co.test_only) + if (g_co.test_only) return (0); if (ipfw_socket == -1) @@ -635,7 +635,7 @@ do_get3(int optname, ip_fw3_opheader *op3, size_t *opt int error; socklen_t len; - if (co.test_only) + if (g_co.test_only) return (0); if (ipfw_socket == -1) @@ -725,7 +725,8 @@ match_value(struct _s_x *p, int value) } size_t -concat_tokens(char *buf, size_t bufsize, struct _s_x *table, char *delimiter) +concat_tokens(char *buf, size_t bufsize, struct _s_x *table, + const char *delimiter) { struct _s_x *pt; int l; @@ -788,7 +789,7 @@ print_flags_buffer(char *buf, size_t sz, struct _s_x * set &= ~list[i].x; l = snprintf(buf, sz, "%s%s", comma, list[i].s); - if (l >= sz) + if (l < 0 || (size_t)l >= sz) return; comma = ","; buf += l; @@ -856,13 +857,13 @@ print_port(struct buf_pr *bp, int proto, uint16_t port if (proto == IPPROTO_ETHERTYPE) { char const *s; - if (co.do_resolv && (s = match_value(ether_types, port)) ) + if (g_co.do_resolv && (s = match_value(ether_types, port)) ) bprintf(bp, "%s", s); else bprintf(bp, "0x%04x", port); } else { struct servent *se = NULL; - if (co.do_resolv) { + if (g_co.do_resolv) { struct protoent *pe = getprotobynumber(proto); se = getservbyport(htons(port), pe ? pe->p_name : NULL); @@ -893,9 +894,9 @@ static struct _s_x _port_name[] = { * XXX todo: add support for mask. */ static void -print_newports(struct buf_pr *bp, ipfw_insn_u16 *cmd, int proto, int opcode) +print_newports(struct buf_pr *bp, const ipfw_insn_u16 *cmd, int proto, int opcode) { - uint16_t *p = cmd->ports; + const uint16_t *p = cmd->ports; int i; char const *sep; @@ -906,7 +907,7 @@ print_newports(struct buf_pr *bp, ipfw_insn_u16 *cmd, bprintf(bp, " %s", sep); } sep = " "; - for (i = F_LEN((ipfw_insn *)cmd) - 1; i > 0; i--, p += 2) { + for (i = F_LEN((const ipfw_insn *)cmd) - 1; i > 0; i--, p += 2) { bprintf(bp, "%s", sep); print_port(bp, proto, p[0]); if (p[0] != p[1]) { @@ -1134,7 +1135,7 @@ print_reject_code(struct buf_pr *bp, uint16_t code) * len is the max length in bits. */ int -contigmask(uint8_t *p, int len) +contigmask(const uint8_t *p, int len) { int i, n; @@ -1152,7 +1153,7 @@ contigmask(uint8_t *p, int len) * There is a specialized check for f_tcpflags. */ static void -print_flags(struct buf_pr *bp, char const *name, ipfw_insn *cmd, +print_flags(struct buf_pr *bp, char const *name, const ipfw_insn *cmd, struct _s_x *list) { char const *comma = ""; @@ -1185,12 +1186,13 @@ print_flags(struct buf_pr *bp, char const *name, ipfw_ * Print the ip address contained in a command. */ static void -print_ip(struct buf_pr *bp, const struct format_opts *fo, ipfw_insn_ip *cmd) +print_ip(struct buf_pr *bp, const struct format_opts *fo, + const ipfw_insn_ip *cmd) { struct hostent *he = NULL; - struct in_addr *ia; - uint32_t len = F_LEN((ipfw_insn *)cmd); - uint32_t *a = ((ipfw_insn_u32 *)cmd)->d; + const struct in_addr *ia; + const uint32_t *a = ((const ipfw_insn_u32 *)cmd)->d; + uint32_t len = F_LEN((const ipfw_insn *)cmd); char *t; bprintf(bp, " "); @@ -1200,7 +1202,8 @@ print_ip(struct buf_pr *bp, const struct format_opts * if (d < sizeof(lookup_key)/sizeof(lookup_key[0])) arg = match_value(rule_options, lookup_key[d]); - t = table_search_ctlv(fo->tstate, ((ipfw_insn *)cmd)->arg1); + t = table_search_ctlv(fo->tstate, + ((const ipfw_insn *)cmd)->arg1); bprintf(bp, "lookup %s %s", arg, t); return; } @@ -1210,7 +1213,8 @@ print_ip(struct buf_pr *bp, const struct format_opts * } if (cmd->o.opcode == O_IP_SRC_LOOKUP || cmd->o.opcode == O_IP_DST_LOOKUP) { - t = table_search_ctlv(fo->tstate, ((ipfw_insn *)cmd)->arg1); + t = table_search_ctlv(fo->tstate, + ((const ipfw_insn *)cmd)->arg1); bprintf(bp, "table(%s", t); if (len == F_INSN_SIZE(ipfw_insn_u32)) bprintf(bp, ",%u", *a); @@ -1218,16 +1222,18 @@ print_ip(struct buf_pr *bp, const struct format_opts * return; } if (cmd->o.opcode == O_IP_SRC_SET || cmd->o.opcode == O_IP_DST_SET) { - uint32_t x, *map = (uint32_t *)&(cmd->mask); + const uint32_t *map = (const uint32_t *)&cmd->mask; + struct in_addr addr; + uint32_t x; int i, j; char comma = '{'; x = cmd->o.arg1 - 1; - x = htonl( ~x ); - cmd->addr.s_addr = htonl(cmd->addr.s_addr); - bprintf(bp, "%s/%d", inet_ntoa(cmd->addr), - contigmask((uint8_t *)&x, 32)); - x = cmd->addr.s_addr = htonl(cmd->addr.s_addr); + x = htonl(~x); + addr.s_addr = htonl(cmd->addr.s_addr); + bprintf(bp, "%s/%d", inet_ntoa(addr), + contigmask((uint8_t *)&x, 32)); + x = cmd->addr.s_addr; x &= 0xff; /* base */ /* * Print bits and ranges. @@ -1258,19 +1264,19 @@ print_ip(struct buf_pr *bp, const struct format_opts * for (len = len / 2; len > 0; len--, a += 2) { int mb = /* mask length */ (cmd->o.opcode == O_IP_SRC || cmd->o.opcode == O_IP_DST) ? - 32 : contigmask((uint8_t *)&(a[1]), 32); - if (mb == 32 && co.do_resolv) - he = gethostbyaddr((char *)&(a[0]), sizeof(in_addr_t), + 32 : contigmask((const uint8_t *)&(a[1]), 32); + if (mb == 32 && g_co.do_resolv) + he = gethostbyaddr((const char *)&(a[0]), sizeof(in_addr_t), AF_INET); if (he != NULL) /* resolved to name */ bprintf(bp, "%s", he->h_name); else if (mb == 0) /* any */ bprintf(bp, "any"); else { /* numeric IP followed by some kind of mask */ - ia = (struct in_addr *)&a[0]; + ia = (const struct in_addr *)&a[0]; bprintf(bp, "%s", inet_ntoa(*ia)); if (mb < 0) { - ia = (struct in_addr *)&a[1]; + ia = (const struct in_addr *)&a[1]; bprintf(bp, ":%s", inet_ntoa(*ia)); } else if (mb < 32) bprintf(bp, "/%d", mb); @@ -1284,7 +1290,7 @@ print_ip(struct buf_pr *bp, const struct format_opts * * prints a MAC address/mask pair */ static void -format_mac(struct buf_pr *bp, uint8_t *addr, uint8_t *mask) +format_mac(struct buf_pr *bp, const uint8_t *addr, const uint8_t *mask) { int l = contigmask(mask, 48); @@ -1303,7 +1309,7 @@ format_mac(struct buf_pr *bp, uint8_t *addr, uint8_t * } static void -print_mac(struct buf_pr *bp, ipfw_insn_mac *mac) +print_mac(struct buf_pr *bp, const ipfw_insn_mac *mac) { bprintf(bp, " MAC"); @@ -1336,7 +1342,7 @@ fill_icmptypes(ipfw_insn_u32 *cmd, char *av) } static void -print_icmptypes(struct buf_pr *bp, ipfw_insn_u32 *cmd) +print_icmptypes(struct buf_pr *bp, const ipfw_insn_u32 *cmd) { int i; char sep= ' '; @@ -1351,12 +1357,12 @@ print_icmptypes(struct buf_pr *bp, ipfw_insn_u32 *cmd) } static void -print_dscp(struct buf_pr *bp, ipfw_insn_u32 *cmd) +print_dscp(struct buf_pr *bp, const ipfw_insn_u32 *cmd) { + const uint32_t *v; + const char *code; int i = 0; - uint32_t *v; char sep= ' '; - const char *code; bprintf(bp, " dscp"); v = cmd->d; @@ -1374,7 +1380,7 @@ print_dscp(struct buf_pr *bp, ipfw_insn_u32 *cmd) } } -#define insntod(cmd, type) ((ipfw_insn_ ## type *)(cmd)) +#define insntod(cmd, type) ((const ipfw_insn_ ## type *)(cmd)) struct show_state { struct ip_fw_rule *rule; const ipfw_insn *eaction; @@ -1443,7 +1449,7 @@ print_limit_mask(struct buf_pr *bp, const ipfw_insn_li static int print_instruction(struct buf_pr *bp, const struct format_opts *fo, - struct show_state *state, ipfw_insn *cmd) + struct show_state *state, const ipfw_insn *cmd) { struct protoent *pe; struct passwd *pwd; @@ -1685,7 +1691,7 @@ print_instruction(struct buf_pr *bp, const struct form bprintf(bp, " ipsec"); break; case O_NOP: - bprintf(bp, " // %s", (char *)(cmd + 1)); + bprintf(bp, " // %s", (const char *)(cmd + 1)); break; case O_KEEP_STATE: if (state->flags & HAVE_PROBE_STATE) @@ -1777,8 +1783,8 @@ static void print_fwd(struct buf_pr *bp, const ipfw_insn *cmd) { char buf[INET6_ADDRSTRLEN + IF_NAMESIZE + 2]; - ipfw_insn_sa6 *sa6; - ipfw_insn_sa *sa; + const ipfw_insn_sa6 *sa6; + const ipfw_insn_sa *sa; uint16_t port; if (cmd->opcode == O_FORWARD_IP) { @@ -2056,7 +2062,7 @@ print_proto(struct buf_pr *bp, struct format_opts *fo, static int match_opcode(int opcode, const int opcodes[], size_t nops) { - int i; + size_t i; for (i = 0; i < nops; i++) if (opcode == opcodes[i]) @@ -2138,10 +2144,10 @@ static void show_static_rule(struct cmdline_opts *co, struct format_opts *fo, struct buf_pr *bp, struct ip_fw_rule *rule, struct ip_fw_bcounter *cntr) { + static int twidth = 0; struct show_state state; ipfw_insn *cmd; - static int twidth = 0; - int i; + size_t i; /* Print # DISABLED or skip the rule */ if ((fo->set_mask & (1 << rule->set)) == 0) { @@ -2361,7 +2367,7 @@ void ipfw_sets_handler(char *av[]) { ipfw_range_tlv rt; - char *msg; + const char *msg; size_t size; uint32_t masks[2]; int i; @@ -2378,7 +2384,7 @@ ipfw_sets_handler(char *av[]) ipfw_cfg_lheader *cfg; memset(&fo, 0, sizeof(fo)); - if (ipfw_get_config(&co, &fo, &cfg, &size) != 0) + if (ipfw_get_config(&g_co, &fo, &cfg, &size) != 0) err(EX_OSERR, "requesting config failed"); for (i = 0, msg = "disable"; i < RESVD_SET; i++) @@ -2507,7 +2513,7 @@ typedef void state_cb(struct cmdline_opts *co, struct static void prepare_format_dyn(struct cmdline_opts *co, struct format_opts *fo, - void *arg, void *_state) + void *arg __unused, void *_state) { ipfw_dyn_rule *d; int width; @@ -2701,11 +2707,11 @@ ipfw_list(int ac, char *av[], int show_counters) uint32_t rnum; char *endptr; - if (co.test_only) { + if (g_co.test_only) { fprintf(stderr, "Testing only, list disabled\n"); return; } - if (co.do_pipe) { + if (g_co.do_pipe) { dummynet_list(ac, av, show_counters); return; } @@ -2731,17 +2737,17 @@ ipfw_list(int ac, char *av[], int show_counters) /* get configuraion from kernel */ cfg = NULL; sfo.show_counters = show_counters; - sfo.show_time = co.do_time; - if (co.do_dynamic != 2) + sfo.show_time = g_co.do_time; + if (g_co.do_dynamic != 2) sfo.flags |= IPFW_CFG_GET_STATIC; - if (co.do_dynamic != 0) + if (g_co.do_dynamic != 0) sfo.flags |= IPFW_CFG_GET_STATES; if ((sfo.show_counters | sfo.show_time) != 0) sfo.flags |= IPFW_CFG_GET_COUNTERS; - if (ipfw_get_config(&co, &sfo, &cfg, &sz) != 0) + if (ipfw_get_config(&g_co, &sfo, &cfg, &sz) != 0) err(EX_OSERR, "retrieving config failed"); - error = ipfw_show_config(&co, &sfo, cfg, sz, ac, av); + error = ipfw_show_config(&g_co, &sfo, cfg, sz, ac, av); free(cfg); @@ -2974,7 +2980,8 @@ ipfw_check_object_name(const char *name) return (0); } -static char *default_state_name = "default"; +static const char *default_state_name = "default"; + static int state_check_name(const char *name) { @@ -3000,10 +3007,10 @@ eaction_check_name(const char *name) } static uint16_t -pack_object(struct tidx *tstate, char *name, int otype) +pack_object(struct tidx *tstate, const char *name, int otype) { - int i; ipfw_obj_ntlv *ntlv; + uint32_t i; for (i = 0; i < tstate->count; i++) { if (strcmp(tstate->idx[i].name, name) != 0) @@ -3037,7 +3044,7 @@ pack_object(struct tidx *tstate, char *name, int otype } static uint16_t -pack_table(struct tidx *tstate, char *name) +pack_table(struct tidx *tstate, const char *name) { if (table_check_name(name) != 0) @@ -3116,7 +3123,7 @@ fill_ip(ipfw_insn_ip *cmd, char *av, int cblen, struct int masklen; char md, nd = '\0'; - CHECK_LENGTH(cblen, F_INSN_SIZE(ipfw_insn) + 2 + len); + CHECK_LENGTH(cblen, (int)F_INSN_SIZE(ipfw_insn) + 2 + len); if (p) { md = *p; @@ -3314,7 +3321,7 @@ ipfw_delete(char *av[]) /* Do not allow using the following syntax: * ipfw set N delete set M */ - if (co.use_set) + if (g_co.use_set) errx(EX_DATAERR, "invalid syntax"); do_set = 1; /* delete set */ av++; @@ -3327,10 +3334,10 @@ ipfw_delete(char *av[]) if (*sep== '-') j = strtol(sep + 1, NULL, 10); av++; - if (co.do_nat) { + if (g_co.do_nat) { exitval = ipfw_delete_nat(i); - } else if (co.do_pipe) { - exitval = ipfw_delete_pipe(co.do_pipe, i); + } else if (g_co.do_pipe) { + exitval = ipfw_delete_pipe(g_co.do_pipe, i); } else { memset(&rt, 0, sizeof(rt)); if (do_set != 0) { @@ -3343,24 +3350,24 @@ ipfw_delete(char *av[]) rt.flags |= IPFW_RCFLAG_ALL; else rt.flags |= IPFW_RCFLAG_RANGE; - if (co.use_set != 0) { - rt.set = co.use_set - 1; + if (g_co.use_set != 0) { + rt.set = g_co.use_set - 1; rt.flags |= IPFW_RCFLAG_SET; } } - if (co.do_dynamic == 2) + if (g_co.do_dynamic == 2) rt.flags |= IPFW_RCFLAG_DYNAMIC; i = do_range_cmd(IP_FW_XDEL, &rt); if (i != 0) { exitval = EX_UNAVAILABLE; - if (co.do_quiet) + if (g_co.do_quiet) continue; warn("rule %u: setsockopt(IP_FW_XDEL)", rt.start_rule); } else if (rt.new_set == 0 && do_set == 0 && - co.do_dynamic != 2) { + g_co.do_dynamic != 2) { exitval = EX_UNAVAILABLE; - if (co.do_quiet) + if (g_co.do_quiet) continue; if (rt.start_rule != rt.end_rule) warnx("no rules rules in %u-%u range", @@ -3371,7 +3378,7 @@ ipfw_delete(char *av[]) } } } - if (exitval != EX_OK && co.do_force == 0) + if (exitval != EX_OK && g_co.do_force == 0) exit(exitval); } @@ -3696,7 +3703,7 @@ add_src(ipfw_insn *cmd, char *av, u_char proto, int cb struct in6_addr a; char *host, *ch, buf[INET6_ADDRSTRLEN]; ipfw_insn *ret = NULL; - int len; + size_t len; /* Copy first address in set if needed */ if ((ch = strpbrk(av, "/,")) != NULL) { @@ -3727,7 +3734,7 @@ add_dst(ipfw_insn *cmd, char *av, u_char proto, int cb struct in6_addr a; char *host, *ch, buf[INET6_ADDRSTRLEN]; ipfw_insn *ret = NULL; - int len; + size_t len; /* Copy first address in set if needed */ if ((ch = strpbrk(av, "/,")) != NULL) { @@ -3764,7 +3771,7 @@ add_dst(ipfw_insn *cmd, char *av, u_char proto, int cb * various match patterns, log/altq actions, and the actual action. * */ -void +static void compile_rule(char *av[], uint32_t *rbuf, int *rbufsize, struct tidx *tstate) { /* @@ -4250,7 +4257,7 @@ chkarg: len = sizeof(c->max_log); if (sysctlbyname("net.inet.ip.fw.verbose_limit", &c->max_log, &len, NULL, 0) == -1) { - if (co.test_only) { + if (g_co.test_only) { c->max_log = 0; break; } @@ -5138,10 +5145,10 @@ done: static int compare_ntlv(const void *_a, const void *_b) { - ipfw_obj_ntlv *a, *b; + const ipfw_obj_ntlv *a, *b; - a = (ipfw_obj_ntlv *)_a; - b = (ipfw_obj_ntlv *)_b; + a = (const ipfw_obj_ntlv *)_a; + b = (const ipfw_obj_ntlv *)_b; if (a->set < b->set) return (-1); @@ -5178,11 +5185,11 @@ struct object_kt { static int compare_object_kntlv(const void *k, const void *v) { - ipfw_obj_ntlv *ntlv; + const ipfw_obj_ntlv *ntlv; struct object_kt key; - key = *((struct object_kt *)k); - ntlv = (ipfw_obj_ntlv *)v; + key = *((const struct object_kt *)k); + ntlv = (const ipfw_obj_ntlv *)v; if (key.uidx < ntlv->idx) return (-1); @@ -5318,14 +5325,14 @@ ipfw_add(char *av[]) if (do_get3(IP_FW_XADD, op3, &sz) != 0) err(EX_UNAVAILABLE, "getsockopt(%s)", "IP_FW_XADD"); - if (!co.do_quiet) { + if (!g_co.do_quiet) { struct format_opts sfo; struct buf_pr bp; memset(&sfo, 0, sizeof(sfo)); sfo.tstate = tstate; sfo.set_mask = (uint32_t)(-1); bp_alloc(&bp, 4096); - show_static_rule(&co, &sfo, &bp, rule, NULL); + show_static_rule(&g_co, &sfo, &bp, rule, NULL); printf("%s", bp.buf); bp_free(&bp); } @@ -5361,7 +5368,7 @@ ipfw_zero(int ac, char *av[], int optname) rt.flags = IPFW_RCFLAG_ALL; if (do_range_cmd(optname, &rt) < 0) err(EX_UNAVAILABLE, "setsockopt(IP_FW_X%s)", name); - if (!co.do_quiet) + if (!g_co.do_quiet) printf("%s.\n", optname == IP_FW_XZERO ? "Accounting cleared":"Logging counts reset"); @@ -5379,8 +5386,8 @@ ipfw_zero(int ac, char *av[], int optname) rt.start_rule = arg; rt.end_rule = arg; rt.flags |= IPFW_RCFLAG_RANGE; - if (co.use_set != 0) { - rt.set = co.use_set - 1; + if (g_co.use_set != 0) { + rt.set = g_co.use_set - 1; rt.flags |= IPFW_RCFLAG_SET; } if (do_range_cmd(optname, &rt) != 0) { @@ -5390,7 +5397,7 @@ ipfw_zero(int ac, char *av[], int optname) } else if (rt.new_set == 0) { printf("Entry %d not found\n", arg); failed = EX_UNAVAILABLE; - } else if (!co.do_quiet) + } else if (!g_co.do_quiet) printf("Entry %d %s.\n", arg, optname == IP_FW_XZERO ? "cleared" : "logging count reset"); @@ -5408,7 +5415,7 @@ ipfw_flush(int force) { ipfw_range_tlv rt; - if (!force && !co.do_quiet) { /* need to ask user */ + if (!force && !g_co.do_quiet) { /* need to ask user */ int c; printf("Are you sure? [yn] "); @@ -5423,21 +5430,21 @@ ipfw_flush(int force) if (c == 'N') /* user said no */ return; } - if (co.do_pipe) { + if (g_co.do_pipe) { dummynet_flush(); return; } /* `ipfw set N flush` - is the same that `ipfw delete set N` */ memset(&rt, 0, sizeof(rt)); - if (co.use_set != 0) { - rt.set = co.use_set - 1; + if (g_co.use_set != 0) { + rt.set = g_co.use_set - 1; rt.flags = IPFW_RCFLAG_SET; } else rt.flags = IPFW_RCFLAG_ALL; if (do_range_cmd(IP_FW_XDEL, &rt) != 0) err(EX_UNAVAILABLE, "setsockopt(IP_FW_XDEL)"); - if (!co.do_quiet) - printf("Flushed all %s.\n", co.do_pipe ? "pipes" : "rules"); + if (!g_co.do_quiet) + printf("Flushed all %s.\n", g_co.do_pipe ? "pipes" : "rules"); } static struct _s_x intcmds[] = { @@ -5473,13 +5480,13 @@ lookup_eaction_name(ipfw_obj_ntlv *ntlv, int cnt, uint } static void -ipfw_list_objects(int ac, char *av[]) +ipfw_list_objects(int ac __unused, char *av[] __unused) { ipfw_obj_lheader req, *olh; ipfw_obj_ntlv *ntlv; const char *name; size_t sz; - int i; + uint32_t i; memset(&req, 0, sizeof(req)); sz = sizeof(req); @@ -5577,10 +5584,10 @@ ipfw_get_tracked_ifaces(ipfw_obj_lheader **polh) static int ifinfo_cmp(const void *a, const void *b) { - ipfw_iface_info *ia, *ib; + const ipfw_iface_info *ia, *ib; - ia = (ipfw_iface_info *)a; - ib = (ipfw_iface_info *)b; + ia = (const ipfw_iface_info *)a; + ib = (const ipfw_iface_info *)b; return (stringnum_cmp(ia->ifname, ib->ifname)); } @@ -5591,11 +5598,12 @@ ifinfo_cmp(const void *a, const void *b) * Returns 0 on success. */ static void -ipfw_list_tifaces() +ipfw_list_tifaces(void) { ipfw_obj_lheader *olh; ipfw_iface_info *info; - int i, error; + uint32_t i; + int error; if ((error = ipfw_get_tracked_ifaces(&olh)) != 0) err(EX_OSERR, "Unable to request ipfw tracked interface list"); Modified: stable/12/sbin/ipfw/ipfw2.h ============================================================================== --- stable/12/sbin/ipfw/ipfw2.h Mon Jul 27 14:14:06 2020 (r363604) +++ stable/12/sbin/ipfw/ipfw2.h Mon Jul 27 14:15:50 2020 (r363605) @@ -51,7 +51,7 @@ struct cmdline_opts { int do_sort; /* field to sort results (0 = no) */ /* valid fields are 1 and above */ - int use_set; /* work with specified set number */ + uint32_t use_set; /* work with specified set number */ /* 0 means all sets, otherwise apply to set use_set - 1 */ }; @@ -62,7 +62,7 @@ enum { TIMESTAMP_NUMERIC, }; -extern struct cmdline_opts co; +extern struct cmdline_opts g_co; /* * _s_x is a structure that stores a string <-> token pairs, used in @@ -328,10 +328,10 @@ struct buf_pr { size_t needed; /* length needed */ }; -int pr_u64(struct buf_pr *bp, uint64_t *pd, int width); +int pr_u64(struct buf_pr *bp, void *pd, int width); int bp_alloc(struct buf_pr *b, size_t size); void bp_free(struct buf_pr *b); -int bprintf(struct buf_pr *b, char *format, ...); +int bprintf(struct buf_pr *b, const char *format, ...); /* memory allocation support */ @@ -349,7 +349,7 @@ int match_token_relaxed(struct _s_x *table, const char int get_token(struct _s_x *table, const char *string, const char *errbase); char const *match_value(struct _s_x *p, int value); size_t concat_tokens(char *buf, size_t bufsize, struct _s_x *table, - char *delimiter); + const char *delimiter); int fill_flags(struct _s_x *flags, char *p, char **e, uint32_t *set, uint32_t *clear); void print_flags_buffer(char *buf, size_t sz, struct _s_x *list, uint32_t set); @@ -361,7 +361,7 @@ int do_get3(int optname, struct _ip_fw3_opheader *op3, struct in6_addr; void n2mask(struct in6_addr *mask, int n); -int contigmask(uint8_t *p, int len); +int contigmask(const uint8_t *p, int len); /* * Forward declarations to avoid include way too many headers. @@ -409,7 +409,7 @@ int ipfw_check_nat64prefix(const struct in6_addr *pref /* altq.c */ void altq_set_enabled(int enabled); u_int32_t altq_name_to_qid(const char *name); -void print_altq_cmd(struct buf_pr *bp, struct _ipfw_insn_altq *altqptr); +void print_altq_cmd(struct buf_pr *bp, const struct _ipfw_insn_altq *altqptr); #else #define NO_ALTQ #endif @@ -421,10 +421,10 @@ int ipfw_delete_pipe(int pipe_or_queue, int n); /* ipv6.c */ void print_unreach6_code(struct buf_pr *bp, uint16_t code); -void print_ip6(struct buf_pr *bp, struct _ipfw_insn_ip6 *cmd); -void print_flow6id(struct buf_pr *bp, struct _ipfw_insn_u32 *cmd); -void print_icmp6types(struct buf_pr *bp, struct _ipfw_insn_u32 *cmd); -void print_ext6hdr(struct buf_pr *bp, struct _ipfw_insn *cmd ); +void print_ip6(struct buf_pr *bp, const struct _ipfw_insn_ip6 *cmd); +void print_flow6id(struct buf_pr *bp, const struct _ipfw_insn_u32 *cmd); +void print_icmp6types(struct buf_pr *bp, const struct _ipfw_insn_u32 *cmd); +void print_ext6hdr(struct buf_pr *bp, const struct _ipfw_insn *cmd); struct tidx; struct _ipfw_insn *add_srcip6(struct _ipfw_insn *cmd, char *av, int cblen, Modified: stable/12/sbin/ipfw/ipv6.c ============================================================================== --- stable/12/sbin/ipfw/ipv6.c Mon Jul 27 14:14:06 2020 (r363604) +++ stable/12/sbin/ipfw/ipv6.c Mon Jul 27 14:15:50 2020 (r363605) @@ -85,14 +85,14 @@ print_unreach6_code(struct buf_pr *bp, uint16_t code) * Print the ip address contained in a command. */ void -print_ip6(struct buf_pr *bp, ipfw_insn_ip6 *cmd) +print_ip6(struct buf_pr *bp, const ipfw_insn_ip6 *cmd) { char trad[255]; struct hostent *he = NULL; - struct in6_addr *a = &(cmd->addr6); + const struct in6_addr *a = &(cmd->addr6); int len, mb; - len = F_LEN((ipfw_insn *) cmd) - 1; + len = F_LEN((const ipfw_insn *)cmd) - 1; if (cmd->o.opcode == O_IP6_SRC_ME || cmd->o.opcode == O_IP6_DST_ME) { bprintf(bp, " me6"); return; @@ -112,10 +112,11 @@ print_ip6(struct buf_pr *bp, ipfw_insn_ip6 *cmd) /* mask length */ mb = (cmd->o.opcode == O_IP6_SRC || cmd->o.opcode == O_IP6_DST) ? 128: - contigmask((uint8_t *)&(a[1]), 128); + contigmask((const uint8_t *)&(a[1]), 128); - if (mb == 128 && co.do_resolv) - he = gethostbyaddr((char *)a, sizeof(*a), AF_INET6); + if (mb == 128 && g_co.do_resolv) + he = gethostbyaddr((const char *)a, sizeof(*a), + AF_INET6); if (he != NULL) /* resolved to name */ bprintf(bp, "%s", he->h_name); @@ -142,7 +143,7 @@ fill_icmp6types(ipfw_insn_icmp6 *cmd, char *av, int cb { uint8_t type; - CHECK_LENGTH(cblen, F_INSN_SIZE(ipfw_insn_icmp6)); + CHECK_LENGTH(cblen, (int)F_INSN_SIZE(ipfw_insn_icmp6)); memset(cmd, 0, sizeof(*cmd)); while (*av) { if (*av == ',') @@ -165,7 +166,7 @@ fill_icmp6types(ipfw_insn_icmp6 *cmd, char *av, int cb } void -print_icmp6types(struct buf_pr *bp, ipfw_insn_u32 *cmd) +print_icmp6types(struct buf_pr *bp, const ipfw_insn_u32 *cmd) { int i, j; char sep= ' '; @@ -181,7 +182,7 @@ print_icmp6types(struct buf_pr *bp, ipfw_insn_u32 *cmd } void -print_flow6id(struct buf_pr *bp, ipfw_insn_u32 *cmd) +print_flow6id(struct buf_pr *bp, const ipfw_insn_u32 *cmd) { uint16_t i, limit = cmd->o.arg1; char sep = ','; @@ -257,7 +258,7 @@ fill_ext6hdr( ipfw_insn *cmd, char *av) } void -print_ext6hdr(struct buf_pr *bp, ipfw_insn *cmd ) +print_ext6hdr(struct buf_pr *bp, const ipfw_insn *cmd ) { char sep = ' '; @@ -364,7 +365,8 @@ fill_ip6(ipfw_insn_ip6 *cmd, char *av, int cblen, stru int masklen; char md = '\0'; - CHECK_LENGTH(cblen, 1 + len + 2 * F_INSN_SIZE(struct in6_addr)); + CHECK_LENGTH(cblen, + 1 + len + 2 * (int)F_INSN_SIZE(struct in6_addr)); if ((q = strchr(av, ',')) ) { *q = '\0'; @@ -453,7 +455,8 @@ fill_flow6( ipfw_insn_u32 *cmd, char *av, int cblen) cmd->d[0] = 0; /* Initializing the base number*/ while (s) { - CHECK_LENGTH(cblen, F_INSN_SIZE(ipfw_insn_u32) + nflow + 1); + CHECK_LENGTH(cblen, + (int)F_INSN_SIZE(ipfw_insn_u32) + nflow + 1); av = strsep( &s, ",") ; type = strtoul(av, &av, 0); Modified: stable/12/sbin/ipfw/main.c ============================================================================== --- stable/12/sbin/ipfw/main.c Mon Jul 27 14:14:06 2020 (r363604) +++ stable/12/sbin/ipfw/main.c Mon Jul 27 14:15:50 2020 (r363605) @@ -226,8 +226,8 @@ ipfw_main(int oldac, char **oldav) av[ac] = NULL; /* Set the force flag for non-interactive processes */ - if (!co.do_force) - co.do_force = !isatty(STDIN_FILENO); + if (!g_co.do_force) + g_co.do_force = !isatty(STDIN_FILENO); #ifdef EMULATE_SYSCTL /* sysctl emulation */ if ( ac >= 2 && !strcmp(av[1], "sysctl")) { @@ -269,20 +269,20 @@ ipfw_main(int oldac, char **oldav) break; case 'b': - co.comment_only = 1; - co.do_compact = 1; + g_co.comment_only = 1; + g_co.do_compact = 1; break; case 'c': - co.do_compact = 1; + g_co.do_compact = 1; break; case 'd': - co.do_dynamic = 1; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Mon Jul 27 14:16:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4FB6A364152; Mon, 27 Jul 2020 14:16:28 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFhgc1Trhz3YVs; Mon, 27 Jul 2020 14:16:28 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 16BB31F20B; Mon, 27 Jul 2020 14:16:28 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06REGRZQ069440; Mon, 27 Jul 2020 14:16:27 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06REGRZZ069439; Mon, 27 Jul 2020 14:16:27 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271416.06REGRZZ069439@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:16:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363606 - stable/12/sys/opencrypto X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/opencrypto X-SVN-Commit-Revision: 363606 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:16:28 -0000 Author: markj Date: Mon Jul 27 14:16:27 2020 New Revision: 363606 URL: https://svnweb.freebsd.org/changeset/base/363606 Log: MFC r363374: crypto(9): Stop checking for failures from malloc(M_WAITOK). PR: 240545 Modified: stable/12/sys/opencrypto/cryptodev.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/opencrypto/cryptodev.c ============================================================================== --- stable/12/sys/opencrypto/cryptodev.c Mon Jul 27 14:15:50 2020 (r363605) +++ stable/12/sys/opencrypto/cryptodev.c Mon Jul 27 14:16:27 2020 (r363606) @@ -1256,11 +1256,7 @@ cryptodev_key(struct crypt_kop *kop) return (EINVAL); } - krp = (struct cryptkop *)malloc(sizeof *krp, M_XDATA, M_WAITOK|M_ZERO); - if (!krp) { - SDT_PROBE1(opencrypto, dev, ioctl, error, __LINE__); - return (ENOMEM); - } + krp = malloc(sizeof(*krp), M_XDATA, M_WAITOK | M_ZERO); krp->krp_op = kop->crk_op; krp->krp_status = kop->crk_status; krp->krp_iparams = kop->crk_iparams; From owner-svn-src-all@freebsd.org Mon Jul 27 14:25:12 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F27FD36437F; Mon, 27 Jul 2020 14:25:11 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFhsg3pY1z3Z98; Mon, 27 Jul 2020 14:25:11 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 62CEC1F1AF; Mon, 27 Jul 2020 14:25:11 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06REPBZW075772; Mon, 27 Jul 2020 14:25:11 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06REPBtv075771; Mon, 27 Jul 2020 14:25:11 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271425.06REPBtv075771@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:25:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363607 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 363607 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:25:12 -0000 Author: markj Date: Mon Jul 27 14:25:10 2020 New Revision: 363607 URL: https://svnweb.freebsd.org/changeset/base/363607 Log: vm_page_free_invalid(): Relax the xbusy assertion. vm_page_assert_xbusied() asserts that the busying thread is the current thread. For some uses of vm_page_free_invalid() (e.g., error handling in vnode_pager_generic_getpages_done()), this condition might not hold. Reported by: Jenkins via trasz Reviewed by: chs, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25828 Modified: head/sys/vm/vm_page.c Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Mon Jul 27 14:16:27 2020 (r363606) +++ head/sys/vm/vm_page.c Mon Jul 27 14:25:10 2020 (r363607) @@ -1371,9 +1371,14 @@ vm_page_free_invalid(vm_page_t m) KASSERT(vm_page_none_valid(m), ("page %p is valid", m)); KASSERT(!pmap_page_is_mapped(m), ("page %p is mapped", m)); - vm_page_assert_xbusied(m); KASSERT(m->object != NULL, ("page %p has no object", m)); VM_OBJECT_ASSERT_WLOCKED(m->object); + + /* + * We may be attempting to free the page as part of the handling for an + * I/O error, in which case the page was xbusied by a different thread. + */ + vm_page_xbusy_claim(m); /* * If someone has wired this page while the object lock From owner-svn-src-all@freebsd.org Mon Jul 27 14:28:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1B6F5364791; Mon, 27 Jul 2020 14:28:57 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFhy074Svz3ZPf; Mon, 27 Jul 2020 14:28:56 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D209D1ED7A; Mon, 27 Jul 2020 14:28:56 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RESuXO075994; Mon, 27 Jul 2020 14:28:56 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06REStR3075987; Mon, 27 Jul 2020 14:28:55 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271428.06REStR3075987@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:28:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363608 - in head/sys/dev: mpr mps X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in head/sys/dev: mpr mps X-SVN-Commit-Revision: 363608 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:28:57 -0000 Author: markj Date: Mon Jul 27 14:28:55 2020 New Revision: 363608 URL: https://svnweb.freebsd.org/changeset/base/363608 Log: mpr(4), mps(4): Stop checking for failures from malloc(M_WAITOK). PR: 240545 Submitted by: Andrew Reiter Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25766 Modified: head/sys/dev/mpr/mpr.c head/sys/dev/mpr/mpr_sas.c head/sys/dev/mpr/mpr_user.c head/sys/dev/mps/mps.c head/sys/dev/mps/mps_sas.c head/sys/dev/mps/mps_user.c Modified: head/sys/dev/mpr/mpr.c ============================================================================== --- head/sys/dev/mpr/mpr.c Mon Jul 27 14:25:10 2020 (r363607) +++ head/sys/dev/mpr/mpr.c Mon Jul 27 14:28:55 2020 (r363608) @@ -1529,10 +1529,6 @@ mpr_alloc_requests(struct mpr_softc *sc) */ sc->commands = malloc(sizeof(struct mpr_command) * sc->num_reqs, M_MPR, M_WAITOK | M_ZERO); - if (!sc->commands) { - mpr_dprint(sc, MPR_ERROR, "Cannot allocate command memory\n"); - return (ENOMEM); - } for (i = 1; i < sc->num_reqs; i++) { cm = &sc->commands[i]; cm->cm_req = sc->req_frames + i * sc->reqframesz; @@ -2684,11 +2680,6 @@ mpr_register_events(struct mpr_softc *sc, uint8_t *mas int error = 0; eh = malloc(sizeof(struct mpr_event_handle), M_MPR, M_WAITOK|M_ZERO); - if (!eh) { - mpr_dprint(sc, MPR_EVENT|MPR_ERROR, - "Cannot allocate event memory\n"); - return (ENOMEM); - } eh->callback = cb; eh->data = data; TAILQ_INSERT_TAIL(&sc->event_list, eh, eh_list); Modified: head/sys/dev/mpr/mpr_sas.c ============================================================================== --- head/sys/dev/mpr/mpr_sas.c Mon Jul 27 14:25:10 2020 (r363607) +++ head/sys/dev/mpr/mpr_sas.c Mon Jul 27 14:28:55 2020 (r363608) @@ -736,11 +736,6 @@ mpr_attach_sas(struct mpr_softc *sc) mpr_dprint(sc, MPR_INIT, "%s entered\n", __func__); sassc = malloc(sizeof(struct mprsas_softc), M_MPR, M_WAITOK|M_ZERO); - if (!sassc) { - mpr_dprint(sc, MPR_INIT|MPR_ERROR, - "Cannot allocate SAS subsystem memory\n"); - return (ENOMEM); - } /* * XXX MaxTargets could change during a reinit. Since we don't @@ -751,12 +746,6 @@ mpr_attach_sas(struct mpr_softc *sc) sassc->maxtargets = sc->facts->MaxTargets + sc->facts->MaxVolumes; sassc->targets = malloc(sizeof(struct mprsas_target) * sassc->maxtargets, M_MPR, M_WAITOK|M_ZERO); - if (!sassc->targets) { - mpr_dprint(sc, MPR_INIT|MPR_ERROR, - "Cannot allocate SAS target memory\n"); - free(sassc, M_MPR); - return (ENOMEM); - } sc->sassc = sassc; sassc->sc = sc; @@ -3556,8 +3545,4 @@ mprsas_realloc_targets(struct mpr_softc *sc, int maxta sassc->targets = malloc(sizeof(struct mprsas_target) * maxtargets, M_MPR, M_WAITOK|M_ZERO); - if (!sassc->targets) { - panic("%s failed to alloc targets with error %d\n", - __func__, ENOMEM); - } } Modified: head/sys/dev/mpr/mpr_user.c ============================================================================== --- head/sys/dev/mpr/mpr_user.c Mon Jul 27 14:25:10 2020 (r363607) +++ head/sys/dev/mpr/mpr_user.c Mon Jul 27 14:28:55 2020 (r363608) @@ -1528,13 +1528,6 @@ mpr_diag_register(struct mpr_softc *sc, mpr_fw_diag_re bzero(sc->fw_diag_buffer, buffer_size); ctx = malloc(sizeof(*ctx), M_MPR, M_WAITOK | M_ZERO); - if (ctx == NULL) { - device_printf(sc->mpr_dev, "%s: context malloc failed\n", - __func__); - *return_code = MPR_FW_DIAG_ERROR_NO_BUFFER; - status = MPR_DIAG_FAILURE; - goto bailout; - } ctx->addr = &sc->fw_diag_busaddr; ctx->buffer_dmat = sc->fw_diag_dmat; ctx->buffer_dmamap = sc->fw_diag_map; Modified: head/sys/dev/mps/mps.c ============================================================================== --- head/sys/dev/mps/mps.c Mon Jul 27 14:25:10 2020 (r363607) +++ head/sys/dev/mps/mps.c Mon Jul 27 14:28:55 2020 (r363608) @@ -1520,10 +1520,6 @@ mps_alloc_requests(struct mps_softc *sc) */ sc->commands = malloc(sizeof(struct mps_command) * sc->num_reqs, M_MPT2, M_WAITOK | M_ZERO); - if(!sc->commands) { - mps_dprint(sc, MPS_ERROR, "Cannot allocate command memory\n"); - return (ENOMEM); - } for (i = 1; i < sc->num_reqs; i++) { cm = &sc->commands[i]; cm->cm_req = sc->req_frames + i * sc->reqframesz; @@ -2598,10 +2594,6 @@ mps_register_events(struct mps_softc *sc, u32 *mask, int error = 0; eh = malloc(sizeof(struct mps_event_handle), M_MPT2, M_WAITOK|M_ZERO); - if(!eh) { - mps_dprint(sc, MPS_ERROR, "Cannot allocate event memory\n"); - return (ENOMEM); - } eh->callback = cb; eh->data = data; TAILQ_INSERT_TAIL(&sc->event_list, eh, eh_list); Modified: head/sys/dev/mps/mps_sas.c ============================================================================== --- head/sys/dev/mps/mps_sas.c Mon Jul 27 14:25:10 2020 (r363607) +++ head/sys/dev/mps/mps_sas.c Mon Jul 27 14:28:55 2020 (r363608) @@ -722,11 +722,6 @@ mps_attach_sas(struct mps_softc *sc) mps_dprint(sc, MPS_INIT, "%s entered\n", __func__); sassc = malloc(sizeof(struct mpssas_softc), M_MPT2, M_WAITOK|M_ZERO); - if(!sassc) { - mps_dprint(sc, MPS_INIT|MPS_ERROR, - "Cannot allocate SAS controller memory\n"); - return (ENOMEM); - } /* * XXX MaxTargets could change during a reinit. Since we don't @@ -737,12 +732,6 @@ mps_attach_sas(struct mps_softc *sc) sassc->maxtargets = sc->facts->MaxTargets + sc->facts->MaxVolumes; sassc->targets = malloc(sizeof(struct mpssas_target) * sassc->maxtargets, M_MPT2, M_WAITOK|M_ZERO); - if(!sassc->targets) { - mps_dprint(sc, MPS_INIT|MPS_ERROR, - "Cannot allocate SAS target memory\n"); - free(sassc, M_MPT2); - return (ENOMEM); - } sc->sassc = sassc; sassc->sc = sc; @@ -3421,8 +3410,4 @@ mpssas_realloc_targets(struct mps_softc *sc, int maxta sassc->targets = malloc(sizeof(struct mpssas_target) * maxtargets, M_MPT2, M_WAITOK|M_ZERO); - if (!sassc->targets) { - panic("%s failed to alloc targets with error %d\n", - __func__, ENOMEM); - } } Modified: head/sys/dev/mps/mps_user.c ============================================================================== --- head/sys/dev/mps/mps_user.c Mon Jul 27 14:25:10 2020 (r363607) +++ head/sys/dev/mps/mps_user.c Mon Jul 27 14:28:55 2020 (r363608) @@ -1436,13 +1436,6 @@ mps_diag_register(struct mps_softc *sc, mps_fw_diag_re bzero(sc->fw_diag_buffer, buffer_size); ctx = malloc(sizeof(*ctx), M_MPSUSER, M_WAITOK | M_ZERO); - if (ctx == NULL) { - device_printf(sc->mps_dev, "%s: context malloc failed\n", - __func__); - *return_code = MPS_FW_DIAG_ERROR_NO_BUFFER; - status = MPS_DIAG_FAILURE; - goto bailout; - } ctx->addr = &sc->fw_diag_busaddr; ctx->buffer_dmat = sc->fw_diag_dmat; ctx->buffer_dmamap = sc->fw_diag_map; From owner-svn-src-all@freebsd.org Mon Jul 27 14:41:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 35C8F364E99; Mon, 27 Jul 2020 14:41:25 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFjDP14KLz3bXF; Mon, 27 Jul 2020 14:41:25 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E22221F518; Mon, 27 Jul 2020 14:41:24 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06REfOuc087187; Mon, 27 Jul 2020 14:41:24 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06REfNKl087181; Mon, 27 Jul 2020 14:41:23 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271441.06REfNKl087181@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 14:41:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363609 - in stable/12: share/man/man4 sys/modules sys/modules/sctp sys/netinet X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in stable/12: share/man/man4 sys/modules sys/modules/sctp sys/netinet X-SVN-Commit-Revision: 363609 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 14:41:25 -0000 Author: markj Date: Mon Jul 27 14:41:23 2020 New Revision: 363609 URL: https://svnweb.freebsd.org/changeset/base/363609 Log: MFC r363079, r363080, r363129, r363133: Provide support for building SCTP as a loadable module. Added: stable/12/sys/modules/sctp/ - copied from r363079, head/sys/modules/sctp/ stable/12/sys/netinet/sctp_module.c - copied unchanged from r363079, head/sys/netinet/sctp_module.c Modified: stable/12/share/man/man4/sctp.4 stable/12/sys/modules/Makefile stable/12/sys/netinet/sctp_os_bsd.h stable/12/sys/netinet/sctp_syscalls.c stable/12/sys/netinet/sctp_usrreq.c Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man4/sctp.4 ============================================================================== --- stable/12/share/man/man4/sctp.4 Mon Jul 27 14:28:55 2020 (r363608) +++ stable/12/share/man/man4/sctp.4 Mon Jul 27 14:41:23 2020 (r363609) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 18, 2020 +.Dd July 9, 2020 .Dt SCTP 4 .Os .Sh NAME @@ -144,8 +144,18 @@ The transport protocol also provides a unordered service as well. The unordered service allows a message to be sent and delivered with no regard to the ordering of any other message. +.Pp +The +.Tn SCTP +kernel implementation may either be compiled into the kernel, or loaded +dynamically as a module. +To support dynamic loading of the stack, the kernel must be compiled +with +.Cd "options SCTP_SUPPORT" . .Ss Extensions -The FreeBSD implementation of +The +.Fx +implementation of .Tn SCTP also supports the following extensions: .Bl -tag -width "sctp partial reliability" @@ -609,3 +619,7 @@ Maximum outgoing SCTP buffer size. .Xr sctp_recvmsg 3 , .Xr sctp_sendmsg 3 , .Xr blackhole 4 +.Sh BUGS +The +.Nm +kernel module cannot be unloaded. Modified: stable/12/sys/modules/Makefile ============================================================================== --- stable/12/sys/modules/Makefile Mon Jul 27 14:28:55 2020 (r363608) +++ stable/12/sys/modules/Makefile Mon Jul 27 14:41:23 2020 (r363609) @@ -343,6 +343,7 @@ SUBDIR= \ ${_sbni} \ scc \ ${_scsi_low} \ + ${_sctp} \ sdhci \ ${_sdhci_acpi} \ sdhci_pci \ @@ -460,6 +461,9 @@ _if_gre= if_gre _ipfw_pmod= ipfw_pmod .if ${MK_IPSEC_SUPPORT} != "no" _ipsec= ipsec +.endif +.if ${KERN_OPTS:MSCTP_SUPPORT} || ${KERN_OPTS:MSCTP} +_sctp= sctp .endif .endif Copied: stable/12/sys/netinet/sctp_module.c (from r363079, head/sys/netinet/sctp_module.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/sys/netinet/sctp_module.c Mon Jul 27 14:41:23 2020 (r363609, copy of r363079, head/sys/netinet/sctp_module.c) @@ -0,0 +1,197 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2019-2020 The FreeBSD Foundation + * + * This software was developed by Mark Johnston under sponsorship from + * the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_inet.h" +#include "opt_inet6.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#ifdef INET +extern struct domain inetdomain; + +struct protosw sctp_stream_protosw = { + .pr_type = SOCK_STREAM, + .pr_domain = &inetdomain, + .pr_protocol = IPPROTO_SCTP, + .pr_flags = PR_CONNREQUIRED|PR_WANTRCVD|PR_LASTHDR, + .pr_input = sctp_input, + .pr_ctlinput = sctp_ctlinput, + .pr_ctloutput = sctp_ctloutput, + .pr_drain = sctp_drain, + .pr_usrreqs = &sctp_usrreqs, +}; + +struct protosw sctp_seqpacket_protosw = { + .pr_type = SOCK_SEQPACKET, + .pr_domain = &inetdomain, + .pr_protocol = IPPROTO_SCTP, + .pr_flags = PR_WANTRCVD|PR_LASTHDR, + .pr_input = sctp_input, + .pr_ctlinput = sctp_ctlinput, + .pr_ctloutput = sctp_ctloutput, + .pr_drain = sctp_drain, + .pr_usrreqs = &sctp_usrreqs, +}; +#endif + +#ifdef INET6 +extern struct domain inet6domain; + +struct protosw sctp6_stream_protosw = { + .pr_type = SOCK_STREAM, + .pr_domain = &inet6domain, + .pr_protocol = IPPROTO_SCTP, + .pr_flags = PR_CONNREQUIRED|PR_WANTRCVD|PR_LASTHDR, + .pr_input = sctp6_input, + .pr_ctlinput = sctp6_ctlinput, + .pr_ctloutput = sctp_ctloutput, + .pr_init = sctp_init, + .pr_drain = sctp_drain, + .pr_usrreqs = &sctp6_usrreqs, +}; + +struct protosw sctp6_seqpacket_protosw = { + .pr_type = SOCK_SEQPACKET, + .pr_domain = &inet6domain, + .pr_protocol = IPPROTO_SCTP, + .pr_flags = PR_WANTRCVD|PR_LASTHDR, + .pr_input = sctp6_input, + .pr_ctlinput = sctp6_ctlinput, + .pr_ctloutput = sctp_ctloutput, +#ifndef INET /* Do not call initialization and drain routines twice. */ + .pr_init = sctp_init, + .pr_drain = sctp_drain, +#endif + .pr_usrreqs = &sctp6_usrreqs, +}; +#endif + +static int +sctp_module_load(void) +{ + int error; + +#ifdef INET + error = pf_proto_register(PF_INET, &sctp_stream_protosw); + if (error != 0) + return (error); + error = pf_proto_register(PF_INET, &sctp_seqpacket_protosw); + if (error != 0) + return (error); + error = ipproto_register(IPPROTO_SCTP); + if (error != 0) + return (error); +#endif +#ifdef INET6 + error = pf_proto_register(PF_INET6, &sctp6_stream_protosw); + if (error != 0) + return (error); + error = pf_proto_register(PF_INET6, &sctp6_seqpacket_protosw); + if (error != 0) + return (error); + error = ip6proto_register(IPPROTO_SCTP); + if (error != 0) + return (error); +#endif + error = sctp_syscalls_init(); + if (error != 0) + return (error); + return (0); +} + +static int __unused +sctp_module_unload(void) +{ + + (void)sctp_syscalls_uninit(); + +#ifdef INET + (void)ipproto_unregister(IPPROTO_SCTP); + (void)pf_proto_unregister(PF_INET, IPPROTO_SCTP, SOCK_STREAM); + (void)pf_proto_unregister(PF_INET, IPPROTO_SCTP, SOCK_SEQPACKET); +#endif +#ifdef INET6 + (void)ip6proto_unregister(IPPROTO_SCTP); + (void)pf_proto_unregister(PF_INET6, IPPROTO_SCTP, SOCK_STREAM); + (void)pf_proto_unregister(PF_INET6, IPPROTO_SCTP, SOCK_SEQPACKET); +#endif + return (0); +} + +static int +sctp_modload(struct module *module, int cmd, void *arg) +{ + int error; + + switch (cmd) { + case MOD_LOAD: + error = sctp_module_load(); + break; + case MOD_UNLOAD: + /* + * Unloading SCTP is currently unsupported. Currently, SCTP + * iterator threads are not stopped during unload. + */ + error = EOPNOTSUPP; + break; + default: + error = 0; + break; + } + return (error); +} + +static moduledata_t sctp_mod = { + "sctp", + &sctp_modload, + NULL, +}; + +DECLARE_MODULE(sctp, sctp_mod, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY); +MODULE_VERSION(sctp, 1); Modified: stable/12/sys/netinet/sctp_os_bsd.h ============================================================================== --- stable/12/sys/netinet/sctp_os_bsd.h Mon Jul 27 14:28:55 2020 (r363608) +++ stable/12/sys/netinet/sctp_os_bsd.h Mon Jul 27 14:41:23 2020 (r363609) @@ -45,9 +45,12 @@ __FBSDID("$FreeBSD$"); #include "opt_sctp.h" #include +#include +#include #include #include #include +#include #include #include #include @@ -83,7 +86,6 @@ __FBSDID("$FreeBSD$"); #include #ifdef INET6 -#include #include #include #include @@ -477,5 +479,8 @@ sctp_get_mbuf_for_msg(unsigned int space_needed, #endif #define SCTP_IS_LISTENING(inp) ((inp->sctp_flags & SCTP_PCB_FLAGS_ACCEPTING) != 0) + +int sctp_syscalls_init(void); +int sctp_syscalls_uninit(void); #endif Modified: stable/12/sys/netinet/sctp_syscalls.c ============================================================================== --- stable/12/sys/netinet/sctp_syscalls.c Mon Jul 27 14:28:55 2020 (r363608) +++ stable/12/sys/netinet/sctp_syscalls.c Mon Jul 27 14:41:23 2020 (r363609) @@ -32,8 +32,6 @@ __FBSDID("$FreeBSD$"); #include "opt_capsicum.h" -#include "opt_inet.h" -#include "opt_inet6.h" #include "opt_sctp.h" #include "opt_ktrace.h" @@ -69,6 +67,8 @@ __FBSDID("$FreeBSD$"); #include #endif #ifdef COMPAT_FREEBSD32 +#include +#include #include #endif @@ -78,6 +78,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include static struct syscall_helper_data sctp_syscalls[] = { @@ -88,28 +89,54 @@ static struct syscall_helper_data sctp_syscalls[] = { SYSCALL_INIT_LAST }; -static void -sctp_syscalls_init(void *unused __unused) +#ifdef COMPAT_FREEBSD32 +static struct syscall_helper_data sctp32_syscalls[] = { + SYSCALL32_INIT_HELPER_COMPAT(sctp_peeloff), + SYSCALL32_INIT_HELPER_COMPAT(sctp_generic_sendmsg), + SYSCALL32_INIT_HELPER_COMPAT(sctp_generic_sendmsg_iov), + SYSCALL32_INIT_HELPER_COMPAT(sctp_generic_recvmsg), + SYSCALL_INIT_LAST +}; +#endif + +int +sctp_syscalls_init(void) { - int error __unused; + int error; - error = syscall_helper_register(sctp_syscalls, SY_THR_STATIC); - KASSERT((error == 0), - ("%s: syscall_helper_register failed for sctp syscalls", __func__)); + error = syscall_helper_register(sctp_syscalls, SY_THR_STATIC_KLD); + if (error != 0) + return (error); #ifdef COMPAT_FREEBSD32 - error = syscall32_helper_register(sctp_syscalls, SY_THR_STATIC); - KASSERT((error == 0), - ("%s: syscall32_helper_register failed for sctp syscalls", - __func__)); + error = syscall32_helper_register(sctp32_syscalls, SY_THR_STATIC_KLD); + if (error != 0) + return (error); #endif + return (0); } + +#ifdef SCTP SYSINIT(sctp_syscalls, SI_SUB_SYSCALLS, SI_ORDER_ANY, sctp_syscalls_init, NULL); +#endif +int +sctp_syscalls_uninit(void) +{ + int error; + +#ifdef COMPAT_FREEBSD32 + error = syscall32_helper_unregister(sctp32_syscalls); + if (error != 0) + return (error); +#endif + error = syscall_helper_unregister(sctp_syscalls); + if (error != 0) + return (error); + return (0); +} + /* * SCTP syscalls. - * Functionality only compiled in if SCTP is defined in the kernel Makefile, - * otherwise all return EOPNOTSUPP. - * XXX: We should make this loadable one day. */ int sys_sctp_peeloff(td, uap) @@ -119,7 +146,6 @@ sys_sctp_peeloff(td, uap) caddr_t name; } */ *uap; { -#if (defined(INET) || defined(INET6)) && defined(SCTP) struct file *headfp, *nfp = NULL; struct socket *head, *so; cap_rights_t rights; @@ -181,9 +207,6 @@ done: fdrop(headfp, td); done2: return (error); -#else /* SCTP */ - return (EOPNOTSUPP); -#endif /* SCTP */ } int @@ -199,7 +222,6 @@ sys_sctp_generic_sendmsg (td, uap) int flags } */ *uap; { -#if (defined(INET) || defined(INET6)) && defined(SCTP) struct sctp_sndrcvinfo sinfo, *u_sinfo = NULL; struct socket *so; struct file *fp = NULL; @@ -294,9 +316,6 @@ sctp_bad: sctp_bad2: free(to, M_SONAME); return (error); -#else /* SCTP */ - return (EOPNOTSUPP); -#endif /* SCTP */ } int @@ -312,7 +331,6 @@ sys_sctp_generic_sendmsg_iov(td, uap) int flags } */ *uap; { -#if (defined(INET) || defined(INET6)) && defined(SCTP) struct sctp_sndrcvinfo sinfo, *u_sinfo = NULL; struct socket *so; struct file *fp = NULL; @@ -424,9 +442,6 @@ sctp_bad1: sctp_bad2: free(to, M_SONAME); return (error); -#else /* SCTP */ - return (EOPNOTSUPP); -#endif /* SCTP */ } int @@ -442,7 +457,6 @@ sys_sctp_generic_recvmsg(td, uap) int *msg_flags } */ *uap; { -#if (defined(INET) || defined(INET6)) && defined(SCTP) uint8_t sockbufstore[256]; struct uio auio; struct iovec *iov, *tiov; @@ -572,7 +586,4 @@ out1: fdrop(fp, td); return (error); -#else /* SCTP */ - return (EOPNOTSUPP); -#endif /* SCTP */ } Modified: stable/12/sys/netinet/sctp_usrreq.c ============================================================================== --- stable/12/sys/netinet/sctp_usrreq.c Mon Jul 27 14:28:55 2020 (r363608) +++ stable/12/sys/netinet/sctp_usrreq.c Mon Jul 27 14:41:23 2020 (r363609) @@ -98,6 +98,7 @@ sctp_init(void) static void sctp_finish(void *unused __unused) { + EVENTHANDLER_DEREGISTER(rt_addrmsg, SCTP_BASE_VAR(eh_tag)); sctp_pcb_finish(); } From owner-svn-src-all@freebsd.org Mon Jul 27 15:09:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4B4C9365DC6; Mon, 27 Jul 2020 15:09:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFjrN1Jssz3dG9; Mon, 27 Jul 2020 15:09:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 103FE1F764; Mon, 27 Jul 2020 15:09:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RF97WL000791; Mon, 27 Jul 2020 15:09:07 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RF97wB000790; Mon, 27 Jul 2020 15:09:07 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271509.06RF97wB000790@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 15:09:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363610 - stable/12/sys/modules X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/modules X-SVN-Commit-Revision: 363610 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 15:09:08 -0000 Author: markj Date: Mon Jul 27 15:09:07 2020 New Revision: 363610 URL: https://svnweb.freebsd.org/changeset/base/363610 Log: Update the expression used to decide whether to build sctp.ko. This is a direct commit to stable/12. Reported by: Jenkins Modified: stable/12/sys/modules/Makefile Modified: stable/12/sys/modules/Makefile ============================================================================== --- stable/12/sys/modules/Makefile Mon Jul 27 14:41:23 2020 (r363609) +++ stable/12/sys/modules/Makefile Mon Jul 27 15:09:07 2020 (r363610) @@ -462,7 +462,7 @@ _ipfw_pmod= ipfw_pmod .if ${MK_IPSEC_SUPPORT} != "no" _ipsec= ipsec .endif -.if ${KERN_OPTS:MSCTP_SUPPORT} || ${KERN_OPTS:MSCTP} +.if ${MK_SCTP_SUPPORT} != "no" || ${MK_SCTP} != "no" _sctp= sctp .endif .endif From owner-svn-src-all@freebsd.org Mon Jul 27 15:25:04 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E58C5366278; Mon, 27 Jul 2020 15:25:04 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFkBm5qrXz3fBq; Mon, 27 Jul 2020 15:25:04 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A880F1FCAC; Mon, 27 Jul 2020 15:25:04 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RFP41W012993; Mon, 27 Jul 2020 15:25:04 GMT (envelope-from fernape@FreeBSD.org) Received: (from fernape@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RFP4JU012992; Mon, 27 Jul 2020 15:25:04 GMT (envelope-from fernape@FreeBSD.org) Message-Id: <202007271525.06RFP4JU012992@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: fernape set sender to fernape@FreeBSD.org using -f From: =?UTF-8?Q?Fernando_Apestegu=c3=ada?= Date: Mon, 27 Jul 2020 15:25:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363611 - head/usr.bin/truncate X-SVN-Group: head X-SVN-Commit-Author: fernape X-SVN-Commit-Paths: head/usr.bin/truncate X-SVN-Commit-Revision: 363611 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 15:25:05 -0000 Author: fernape (ports committer) Date: Mon Jul 27 15:25:04 2020 New Revision: 363611 URL: https://svnweb.freebsd.org/changeset/base/363611 Log: truncate(1): Add EXAMPLES section Add four simple examples showing the use of -c, -r and -s Approved by: manpages (bcr@) Differential Revision: https://reviews.freebsd.org/D25774 Modified: head/usr.bin/truncate/truncate.1 Modified: head/usr.bin/truncate/truncate.1 ============================================================================== --- head/usr.bin/truncate/truncate.1 Mon Jul 27 15:09:07 2020 (r363610) +++ head/usr.bin/truncate/truncate.1 Mon Jul 27 15:25:04 2020 (r363611) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 19, 2006 +.Dd July 27, 2020 .Dt TRUNCATE 1 .Os .Sh NAME @@ -143,6 +143,43 @@ If the operation fails for an argument, .Nm will issue a diagnostic and continue processing the remaining arguments. +.Sh EXAMPLES +Adjust the size of the file +.Pa test_file +to 10 Megabytes but do not create it if it does not exist: +.Bd -literal -offset indent +truncate -c -s +10M test_file +.Ed +.Pp +Same as above but create the file if it does not exist: +.Bd -literal -offset indent +truncate -s +10M test_file +ls -l test_file +-rw-r--r-- 1 root wheel 10485760 Jul 22 18:48 test_file +.Ed +.Pp +Adjust the size of +.Pa test_file +to the size of the kernel and create another file +.Pa test_file2 +with the same size: +.Bd -literal -offset indent +truncate -r /boot/kernel/kernel test_file test_file2 +ls -l /boot/kernel/kernel test_file* +-r-xr-xr-x 1 root wheel 31352552 May 15 14:18 /boot/kernel/kernel* +-rw-r--r-- 1 root wheel 31352552 Jul 22 19:15 test_file +-rw-r--r-- 1 root wheel 31352552 Jul 22 19:15 test_file2 +.Ed +.Pp +Downsize +.Pa test_file +in 5 Megabytes: +.Bd -literal -offset indent +# truncate -s -5M test_file +ls -l test_file* +-rw-r--r-- 1 root wheel 26109672 Jul 22 19:17 test_file +-rw-r--r-- 1 root wheel 31352552 Jul 22 19:15 test_file2 +.Ed .Sh SEE ALSO .Xr dd 1 , .Xr touch 1 , From owner-svn-src-all@freebsd.org Mon Jul 27 15:34:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AAB9E366A12; Mon, 27 Jul 2020 15:34:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFkPD3v2Nz3fgy; Mon, 27 Jul 2020 15:34:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 68D632018E; Mon, 27 Jul 2020 15:34:08 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RFY8To018931; Mon, 27 Jul 2020 15:34:08 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RFY88O018929; Mon, 27 Jul 2020 15:34:08 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271534.06RFY88O018929@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 15:34:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363612 - stable/12/sys/netinet X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/netinet X-SVN-Commit-Revision: 363612 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 15:34:08 -0000 Author: markj Date: Mon Jul 27 15:34:07 2020 New Revision: 363612 URL: https://svnweb.freebsd.org/changeset/base/363612 Log: MFC r354018 (by tuexen): Store a handle for the event handler. Modified: stable/12/sys/netinet/sctp_pcb.h stable/12/sys/netinet/sctp_usrreq.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/netinet/sctp_pcb.h ============================================================================== --- stable/12/sys/netinet/sctp_pcb.h Mon Jul 27 15:25:04 2020 (r363611) +++ stable/12/sys/netinet/sctp_pcb.h Mon Jul 27 15:34:07 2020 (r363612) @@ -259,6 +259,7 @@ struct sctp_base_info { int packet_log_end; uint8_t packet_log_buffer[SCTP_PACKET_LOG_SIZE]; #endif + eventhandler_tag eh_tag; }; /*- Modified: stable/12/sys/netinet/sctp_usrreq.c ============================================================================== --- stable/12/sys/netinet/sctp_usrreq.c Mon Jul 27 15:25:04 2020 (r363611) +++ stable/12/sys/netinet/sctp_usrreq.c Mon Jul 27 15:34:07 2020 (r363612) @@ -90,8 +90,8 @@ sctp_init(void) SCTP_BASE_VAR(packet_log_end) = 0; memset(&SCTP_BASE_VAR(packet_log_buffer), 0, SCTP_PACKET_LOG_SIZE); #endif - EVENTHANDLER_REGISTER(rt_addrmsg, sctp_addr_change_event_handler, - NULL, EVENTHANDLER_PRI_FIRST); + SCTP_BASE_VAR(eh_tag) = EVENTHANDLER_REGISTER(rt_addrmsg, + sctp_addr_change_event_handler, NULL, EVENTHANDLER_PRI_FIRST); } #ifdef VIMAGE From owner-svn-src-all@freebsd.org Mon Jul 27 16:25:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 173B2367CA2; Mon, 27 Jul 2020 16:25:19 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFlXG6wkWz416g; Mon, 27 Jul 2020 16:25:18 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CC133205CB; Mon, 27 Jul 2020 16:25:18 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RGPIZt051029; Mon, 27 Jul 2020 16:25:18 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RGPI9b051028; Mon, 27 Jul 2020 16:25:18 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202007271625.06RGPI9b051028@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 27 Jul 2020 16:25:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363613 - head/sys/mips/mips X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/mips/mips X-SVN-Commit-Revision: 363613 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:25:19 -0000 Author: jhb Date: Mon Jul 27 16:25:18 2020 New Revision: 363613 URL: https://svnweb.freebsd.org/changeset/base/363613 Log: Don't include T_USER in si_trapno reported to userland. Signals are only reported for user traps, so T_USER is redundant. It is also a software convention and not included in the value reported by the hardware. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25769 Modified: head/sys/mips/mips/trap.c Modified: head/sys/mips/mips/trap.c ============================================================================== --- head/sys/mips/mips/trap.c Mon Jul 27 15:34:07 2020 (r363612) +++ head/sys/mips/mips/trap.c Mon Jul 27 16:25:18 2020 (r363613) @@ -1107,7 +1107,7 @@ err: ksi.ksi_signo = i; ksi.ksi_code = ucode; ksi.ksi_addr = (void *)addr; - ksi.ksi_trapno = type; + ksi.ksi_trapno = type & ~T_USER; trapsignal(td, &ksi); out: From owner-svn-src-all@freebsd.org Mon Jul 27 16:28:45 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 78D6D367CC3; Mon, 27 Jul 2020 16:28:45 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFlcF2dV7z415q; Mon, 27 Jul 2020 16:28:45 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3DA81205CC; Mon, 27 Jul 2020 16:28:45 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RGSjcr051447; Mon, 27 Jul 2020 16:28:45 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RGSjT7051446; Mon, 27 Jul 2020 16:28:45 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202007271628.06RGSjT7051446@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 27 Jul 2020 16:28:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363614 - head/sys/riscv/riscv X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/riscv/riscv X-SVN-Commit-Revision: 363614 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:28:45 -0000 Author: jhb Date: Mon Jul 27 16:28:44 2020 New Revision: 363614 URL: https://svnweb.freebsd.org/changeset/base/363614 Log: Set si_trapno to the exception code from scause. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25770 Modified: head/sys/riscv/riscv/trap.c Modified: head/sys/riscv/riscv/trap.c ============================================================================== --- head/sys/riscv/riscv/trap.c Mon Jul 27 16:25:18 2020 (r363613) +++ head/sys/riscv/riscv/trap.c Mon Jul 27 16:28:44 2020 (r363614) @@ -80,7 +80,7 @@ void do_trap_supervisor(struct trapframe *); void do_trap_user(struct trapframe *); static __inline void -call_trapsignal(struct thread *td, int sig, int code, void *addr) +call_trapsignal(struct thread *td, int sig, int code, void *addr, int trapno) { ksiginfo_t ksi; @@ -88,6 +88,7 @@ call_trapsignal(struct thread *td, int sig, int code, ksi.ksi_signo = sig; ksi.ksi_code = code; ksi.ksi_addr = addr; + ksi.ksi_trapno = trapno; trapsignal(td, &ksi); } @@ -224,7 +225,8 @@ data_abort(struct trapframe *frame, int usermode) error = vm_fault_trap(map, va, ftype, VM_FAULT_NORMAL, &sig, &ucode); if (error != KERN_SUCCESS) { if (usermode) { - call_trapsignal(td, sig, ucode, (void *)stval); + call_trapsignal(td, sig, ucode, (void *)stval, + frame->tf_scause & EXCP_MASK); } else { if (pcb->pcb_onfault != 0) { frame->tf_a[0] = error; @@ -353,11 +355,13 @@ do_trap_user(struct trapframe *frame) break; } #endif - call_trapsignal(td, SIGILL, ILL_ILLTRP, (void *)frame->tf_sepc); + call_trapsignal(td, SIGILL, ILL_ILLTRP, (void *)frame->tf_sepc, + exception); userret(td, frame); break; case EXCP_BREAKPOINT: - call_trapsignal(td, SIGTRAP, TRAP_BRKPT, (void *)frame->tf_sepc); + call_trapsignal(td, SIGTRAP, TRAP_BRKPT, (void *)frame->tf_sepc, + exception); userret(td, frame); break; default: From owner-svn-src-all@freebsd.org Mon Jul 27 16:29:22 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0CCEA367D2D; Mon, 27 Jul 2020 16:29:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFlcx6fPVz41Mj; Mon, 27 Jul 2020 16:29:21 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C88BE20753; Mon, 27 Jul 2020 16:29:21 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RGTLi1051545; Mon, 27 Jul 2020 16:29:21 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RGTLN6051544; Mon, 27 Jul 2020 16:29:21 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202007271629.06RGTLN6051544@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 27 Jul 2020 16:29:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363615 - head/sys/arm/arm X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/arm/arm X-SVN-Commit-Revision: 363615 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:29:22 -0000 Author: jhb Date: Mon Jul 27 16:29:21 2020 New Revision: 363615 URL: https://svnweb.freebsd.org/changeset/base/363615 Log: Set si_trapno to the fault index from fsr. Reviewed by: kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25772 Modified: head/sys/arm/arm/trap-v6.c Modified: head/sys/arm/arm/trap-v6.c ============================================================================== --- head/sys/arm/arm/trap-v6.c Mon Jul 27 16:28:44 2020 (r363614) +++ head/sys/arm/arm/trap-v6.c Mon Jul 27 16:29:21 2020 (r363615) @@ -169,7 +169,8 @@ static const struct abort aborts[] = { }; static __inline void -call_trapsignal(struct thread *td, int sig, int code, vm_offset_t addr) +call_trapsignal(struct thread *td, int sig, int code, vm_offset_t addr, + int trapno) { ksiginfo_t ksi; @@ -185,6 +186,7 @@ call_trapsignal(struct thread *td, int sig, int code, ksi.ksi_signo = sig; ksi.ksi_code = code; ksi.ksi_addr = (void *)addr; + ksi.ksi_trapno = trapno; trapsignal(td, &ksi); } @@ -252,7 +254,7 @@ abort_debug(struct trapframe *tf, u_int fsr, u_int pre struct thread *td; td = curthread; - call_trapsignal(td, SIGTRAP, TRAP_BRKPT, far); + call_trapsignal(td, SIGTRAP, TRAP_BRKPT, far, FAULT_DEBUG); userret(td, tf); } else { #ifdef KDB @@ -523,7 +525,7 @@ nogo: ksig.addr = far; do_trapsignal: - call_trapsignal(td, ksig.sig, ksig.code, ksig.addr); + call_trapsignal(td, ksig.sig, ksig.code, ksig.addr, idx); out: if (usermode) userret(td, tf); From owner-svn-src-all@freebsd.org Mon Jul 27 16:31:22 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 66A26368185; Mon, 27 Jul 2020 16:31:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFlgG25Qwz41ZV; Mon, 27 Jul 2020 16:31:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2B31720AF1; Mon, 27 Jul 2020 16:31:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RGVMha053264; Mon, 27 Jul 2020 16:31:22 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RGVLv0053262; Mon, 27 Jul 2020 16:31:21 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202007271631.06RGVLv0053262@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 27 Jul 2020 16:31:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363616 - head/sys/geom/eli X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/geom/eli X-SVN-Commit-Revision: 363616 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:31:22 -0000 Author: jhb Date: Mon Jul 27 16:31:21 2020 New Revision: 363616 URL: https://svnweb.freebsd.org/changeset/base/363616 Log: Fix indentation. Modified: head/sys/geom/eli/g_eli_integrity.c head/sys/geom/eli/g_eli_privacy.c Modified: head/sys/geom/eli/g_eli_integrity.c ============================================================================== --- head/sys/geom/eli/g_eli_integrity.c Mon Jul 27 16:29:21 2020 (r363615) +++ head/sys/geom/eli/g_eli_integrity.c Mon Jul 27 16:31:21 2020 (r363616) @@ -543,7 +543,7 @@ g_eli_auth_run(struct g_eli_worker *wr, struct bio *bp if (g_eli_ivlen(sc->sc_ealgo) != 0) { crp->crp_flags |= CRYPTO_F_IV_SEPARATE; g_eli_crypto_ivgen(sc, dstoff, crp->crp_iv, - sizeof(crp->crp_iv)); + sizeof(crp->crp_iv)); } g_eli_auth_keygen(sc, dstoff, authkey); Modified: head/sys/geom/eli/g_eli_privacy.c ============================================================================== --- head/sys/geom/eli/g_eli_privacy.c Mon Jul 27 16:29:21 2020 (r363615) +++ head/sys/geom/eli/g_eli_privacy.c Mon Jul 27 16:31:21 2020 (r363616) @@ -288,7 +288,7 @@ g_eli_crypto_run(struct g_eli_worker *wr, struct bio * if (g_eli_ivlen(sc->sc_ealgo) != 0) { crp->crp_flags |= CRYPTO_F_IV_SEPARATE; g_eli_crypto_ivgen(sc, dstoff, crp->crp_iv, - sizeof(crp->crp_iv)); + sizeof(crp->crp_iv)); } error = crypto_dispatch(crp); From owner-svn-src-all@freebsd.org Mon Jul 27 16:32:21 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CF65F367D4F; Mon, 27 Jul 2020 16:32:21 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFlhP56bNz41mP; Mon, 27 Jul 2020 16:32:21 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 93C4A205E2; Mon, 27 Jul 2020 16:32:21 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RGWLik056414; Mon, 27 Jul 2020 16:32:21 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RGWLER056413; Mon, 27 Jul 2020 16:32:21 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202007271632.06RGWLER056413@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 27 Jul 2020 16:32:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363617 - head/sys/mips/mips X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/mips/mips X-SVN-Commit-Revision: 363617 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:32:21 -0000 Author: jhb Date: Mon Jul 27 16:32:21 2020 New Revision: 363617 URL: https://svnweb.freebsd.org/changeset/base/363617 Log: Fix si_addr value for breakpoints in a delay slot. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25773 Modified: head/sys/mips/mips/trap.c Modified: head/sys/mips/mips/trap.c ============================================================================== --- head/sys/mips/mips/trap.c Mon Jul 27 16:31:21 2020 (r363616) +++ head/sys/mips/mips/trap.c Mon Jul 27 16:32:21 2020 (r363617) @@ -824,12 +824,12 @@ dofault: i = SIGTRAP; ucode = TRAP_BRKPT; - addr = trapframe->pc; /* compute address of break instruction */ va = trapframe->pc; if (DELAYBRANCH(trapframe->cause)) va += sizeof(int); + addr = va; if (td->td_md.md_ss_addr != va) break; From owner-svn-src-all@freebsd.org Mon Jul 27 16:34:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 987F8368248; Mon, 27 Jul 2020 16:34:32 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFlkw3XsCz422W; Mon, 27 Jul 2020 16:34:32 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 57DC7205E7; Mon, 27 Jul 2020 16:34:32 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RGYWrP057359; Mon, 27 Jul 2020 16:34:32 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RGYWKM057358; Mon, 27 Jul 2020 16:34:32 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202007271634.06RGYWKM057358@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 27 Jul 2020 16:34:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363618 - head/sys/powerpc/powerpc X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/powerpc/powerpc X-SVN-Commit-Revision: 363618 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:34:32 -0000 Author: jhb Date: Mon Jul 27 16:34:31 2020 New Revision: 363618 URL: https://svnweb.freebsd.org/changeset/base/363618 Log: Set si_addr to dar for MMU and alignment faults. Reviewed by: kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25776 Modified: head/sys/powerpc/powerpc/trap.c Modified: head/sys/powerpc/powerpc/trap.c ============================================================================== --- head/sys/powerpc/powerpc/trap.c Mon Jul 27 16:32:21 2020 (r363617) +++ head/sys/powerpc/powerpc/trap.c Mon Jul 27 16:34:31 2020 (r363618) @@ -207,7 +207,7 @@ trap(struct trapframe *frame) int sig, type, user; u_int ucode; ksiginfo_t ksi; - register_t fscr; + register_t addr, fscr; VM_CNT_INC(v_trap); @@ -224,6 +224,7 @@ trap(struct trapframe *frame) type = ucode = frame->exc; sig = 0; user = frame->srr1 & PSL_PR; + addr = 0; CTR3(KTR_TRAP, "trap: %s type=%s (%s)", td->td_name, trapname(type), user ? "user" : "kernel"); @@ -248,6 +249,7 @@ trap(struct trapframe *frame) if (user) { td->td_pticks = 0; td->td_frame = frame; + addr = frame->srr0; if (td->td_cowgen != p->p_cowgen) thread_cow_update(td); @@ -261,18 +263,22 @@ trap(struct trapframe *frame) break; #if defined(__powerpc64__) && defined(AIM) - case EXC_ISE: case EXC_DSE: + addr = frame->dar; + /* FALLTHROUGH */ + case EXC_ISE: /* DSE/ISE are automatically fatal with radix pmap. */ if (radix_mmu || handle_user_slb_spill(&p->p_vmspace->vm_pmap, - (type == EXC_ISE) ? frame->srr0 : frame->dar) != 0){ + addr) != 0){ sig = SIGSEGV; ucode = SEGV_MAPERR; } break; #endif case EXC_DSI: + addr = frame->dar; + /* FALLTHROUGH */ case EXC_ISI: if (trap_pfault(frame, true, &sig, &ucode)) sig = 0; @@ -368,6 +374,7 @@ trap(struct trapframe *frame) if (fix_unaligned(td, frame) != 0) { sig = SIGBUS; ucode = BUS_ADRALN; + addr = frame->dar; } else frame->srr0 += 4; @@ -481,7 +488,7 @@ trap(struct trapframe *frame) ksiginfo_init_trap(&ksi); ksi.ksi_signo = sig; ksi.ksi_code = (int) ucode; /* XXX, not POSIX */ - ksi.ksi_addr = (void *)frame->srr0; + ksi.ksi_addr = (void *)addr; ksi.ksi_trapno = type; trapsignal(td, &ksi); } From owner-svn-src-all@freebsd.org Mon Jul 27 16:37:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 15672367F7E; Mon, 27 Jul 2020 16:37:19 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFlp66mm9z42G6; Mon, 27 Jul 2020 16:37:18 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C77FB205E8; Mon, 27 Jul 2020 16:37:18 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RGbILQ057554; Mon, 27 Jul 2020 16:37:18 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RGbIlV057553; Mon, 27 Jul 2020 16:37:18 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202007271637.06RGbIlV057553@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 27 Jul 2020 16:37:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363619 - head/sys/riscv/riscv X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/riscv/riscv X-SVN-Commit-Revision: 363619 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:37:19 -0000 Author: jhb Date: Mon Jul 27 16:37:18 2020 New Revision: 363619 URL: https://svnweb.freebsd.org/changeset/base/363619 Log: Trim some extraneous parentheses. Reported by: kib (do_trap_user) Sponsored by: DARPA Modified: head/sys/riscv/riscv/intr_machdep.c head/sys/riscv/riscv/trap.c Modified: head/sys/riscv/riscv/intr_machdep.c ============================================================================== --- head/sys/riscv/riscv/intr_machdep.c Mon Jul 27 16:34:31 2020 (r363618) +++ head/sys/riscv/riscv/intr_machdep.c Mon Jul 27 16:37:18 2020 (r363619) @@ -163,7 +163,7 @@ riscv_cpu_intr(struct trapframe *frame) KASSERT(frame->tf_scause & EXCP_INTR, ("riscv_cpu_intr: wrong frame passed")); - active_irq = (frame->tf_scause & EXCP_MASK); + active_irq = frame->tf_scause & EXCP_MASK; switch (active_irq) { case IRQ_SOFTWARE_USER: Modified: head/sys/riscv/riscv/trap.c ============================================================================== --- head/sys/riscv/riscv/trap.c Mon Jul 27 16:34:31 2020 (r363618) +++ head/sys/riscv/riscv/trap.c Mon Jul 27 16:37:18 2020 (r363619) @@ -256,7 +256,7 @@ do_trap_supervisor(struct trapframe *frame) KASSERT((csr_read(sstatus) & (SSTATUS_SPP | SSTATUS_SIE)) == SSTATUS_SPP, ("Came from S mode with interrupts enabled")); - exception = (frame->tf_scause & EXCP_MASK); + exception = frame->tf_scause & EXCP_MASK; if (frame->tf_scause & EXCP_INTR) { /* Interrupt */ riscv_cpu_intr(frame); @@ -318,7 +318,7 @@ do_trap_user(struct trapframe *frame) KASSERT((csr_read(sstatus) & (SSTATUS_SPP | SSTATUS_SIE)) == 0, ("Came from U mode with interrupts enabled")); - exception = (frame->tf_scause & EXCP_MASK); + exception = frame->tf_scause & EXCP_MASK; if (frame->tf_scause & EXCP_INTR) { /* Interrupt */ riscv_cpu_intr(frame); From owner-svn-src-all@freebsd.org Mon Jul 27 16:39:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 385AA3683AF; Mon, 27 Jul 2020 16:39:32 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFlrd6Rg8z42Mr; Mon, 27 Jul 2020 16:39:29 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 06RGdMr7070220; Mon, 27 Jul 2020 09:39:22 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 06RGdLkp070219; Mon, 27 Jul 2020 09:39:21 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202007271639.06RGdLkp070219@gndrsh.dnsmgr.net> Subject: Re: svn commit: r363595 - head/sys/kern In-Reply-To: <2138073301.3.1595842409922@localhost> To: Ronald Klop Date: Mon, 27 Jul 2020 09:39:21 -0700 (PDT) CC: Kyle Evans , svn-src-all@freebsd.org, svn-src-head@freebsd.org, src-committers@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4BFlrd6Rg8z42Mr X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of freebsd@gndrsh.dnsmgr.net has no SPF policy when checking 69.59.192.140) smtp.mailfrom=freebsd@gndrsh.dnsmgr.net X-Spamd-Result: default: False [0.71 / 15.00]; HAS_REPLYTO(0.00)[rgrimes@freebsd.org]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-0.21)[-0.209]; MIME_GOOD(-0.10)[text/plain]; REPLYTO_DOM_NEQ_FROM_DOM(0.00)[]; DMARC_NA(0.00)[dnsmgr.net]; AUTH_NA(1.00)[]; RCPT_COUNT_FIVE(0.00)[5]; NEURAL_SPAM_MEDIUM(0.37)[0.366]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.35)[-0.350]; RCVD_TLS_LAST(0.00)[]; R_SPF_NA(0.00)[no SPF record]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US]; RCVD_COUNT_TWO(0.00)[2]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:39:32 -0000 > Hi, > > Helpful addition. Might it help people more to make the message point to the replacement of the deprecated functionality? > > Regards, > Ronald. I tend to agree here, the functionality was not depricated, it was replaced by a new implementation in another language. It would be better to replace the word deprecated with "replaced by" as in: This script has been replaced by makesyscalls.lua and this version shall be removed in FreeBSD 13. > > > Van: Kyle Evans > Datum: maandag, 27 juli 2020 05:13 > Aan: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org > Onderwerp: svn commit: r363595 - head/sys/kern > > > > Author: kevans > > Date: Mon Jul 27 03:13:23 2020 > > New Revision: 363595 > > URL: https://svnweb.freebsd.org/changeset/base/363595 > > > > Log: > > makesyscalls.sh: spit out a deprecation notice to stderr > > > > This has for a while been replaced by makesyscalls.lua in the stock FreeBSD > > build. Ensure downstreams get some notice that it'a going away if they're > > reliant on it, maybe. > > > > Modified: > > head/sys/kern/makesyscalls.sh > > > > Modified: head/sys/kern/makesyscalls.sh > > ============================================================================== > > --- head/sys/kern/makesyscalls.sh Mon Jul 27 01:53:27 2020 (r363594) > > +++ head/sys/kern/makesyscalls.sh Mon Jul 27 03:13:23 2020 (r363595) > > @@ -60,6 +60,8 @@ case $# in > > ;; > > esac > > > > +1>&2 echo "$0: This script is deprecated and will be removed before FreeBSD 13." > > + > > if [ -n "$2" ]; then > > . "$2" > > fi > > _______________________________________________ > > svn-src-all@freebsd.org mailing list > > https://lists.freebsd.org/mailman/listinfo/svn-src-all > > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" > > > > > > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Mon Jul 27 16:41:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 24A5C3684CD; Mon, 27 Jul 2020 16:41:58 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFlvT66BCz42rH; Mon, 27 Jul 2020 16:41:57 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 06RGftq1070236; Mon, 27 Jul 2020 09:41:55 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 06RGftS7070235; Mon, 27 Jul 2020 09:41:55 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202007271641.06RGftS7070235@gndrsh.dnsmgr.net> Subject: Re: svn commit: r363598 - head/usr.sbin/nologin In-Reply-To: <202007271045.06RAjlfP039879@repo.freebsd.org> To: Mateusz Piotrowski <0mp@freebsd.org> Date: Mon, 27 Jul 2020 09:41:55 -0700 (PDT) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4BFlvT66BCz42rH X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:41:58 -0000 > Author: 0mp (doc,ports committer) > Date: Mon Jul 27 10:45:47 2020 > New Revision: 363598 > URL: https://svnweb.freebsd.org/changeset/base/363598 > > Log: > nologin.8: Improve wording I disagree that this improves wording. The norm of action for "logging" in Unix is to "write to syslog", not "log to syslog". > Reported by: yuripv > Reviewed by: bcr, yuripv > MFC after: 3 days > Differential Revision: https://reviews.freebsd.org/D25814 > > Modified: > head/usr.sbin/nologin/nologin.8 > > Modified: head/usr.sbin/nologin/nologin.8 > ============================================================================== > --- head/usr.sbin/nologin/nologin.8 Mon Jul 27 09:10:02 2020 (r363597) > +++ head/usr.sbin/nologin/nologin.8 Mon Jul 27 10:45:47 2020 (r363598) > @@ -44,7 +44,7 @@ have been disabled. > .Pp > When executed, > .Nm > -first writes about the login attempt to > +first logs about the login attempt using > .Xr syslog 3 > and then displays a message that an account is not available. > .Pp > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Mon Jul 27 16:51:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 35729368B13; Mon, 27 Jul 2020 16:51:24 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFm6N0hqTz43lq; Mon, 27 Jul 2020 16:51:24 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F0BDE20D33; Mon, 27 Jul 2020 16:51:23 +0000 (UTC) (envelope-from fernape@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RGpNrl064988; Mon, 27 Jul 2020 16:51:23 GMT (envelope-from fernape@FreeBSD.org) Received: (from fernape@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RGpNcK064987; Mon, 27 Jul 2020 16:51:23 GMT (envelope-from fernape@FreeBSD.org) Message-Id: <202007271651.06RGpNcK064987@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: fernape set sender to fernape@FreeBSD.org using -f From: =?UTF-8?Q?Fernando_Apestegu=c3=ada?= Date: Mon, 27 Jul 2020 16:51:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363620 - head/usr.bin/comm X-SVN-Group: head X-SVN-Commit-Author: fernape X-SVN-Commit-Paths: head/usr.bin/comm X-SVN-Commit-Revision: 363620 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:51:24 -0000 Author: fernape (ports committer) Date: Mon Jul 27 16:51:23 2020 New Revision: 363620 URL: https://svnweb.freebsd.org/changeset/base/363620 Log: comm(1): Add EXAMPLES section Add two very simple examples. Approved by: manpages (gbe@) Differential Revision: https://reviews.freebsd.org/D25344 Modified: head/usr.bin/comm/comm.1 Modified: head/usr.bin/comm/comm.1 ============================================================================== --- head/usr.bin/comm/comm.1 Mon Jul 27 16:37:18 2020 (r363619) +++ head/usr.bin/comm/comm.1 Mon Jul 27 16:51:23 2020 (r363620) @@ -31,7 +31,7 @@ .\" From: @(#)comm.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd December 12, 2009 +.Dd July 27, 2020 .Dt COMM 1 .Os .Sh NAME @@ -95,6 +95,35 @@ as described in .Xr environ 7 . .Sh EXIT STATUS .Ex -std +.Sh EXAMPLES +Assuming a file named +.Pa example.txt +with the following contents: +.Bd -literal -offset indent +a +b +c +d +.Ed +.Pp +Show lines only in +.Pa example.txt , +lines only in stdin and common lines: +.Bd -literal -offset indent +$ echo -e "B\enc" | comm example.txt - + B +a +b + c +d +.Ed +.Pp +Show only common lines doing case insensitive comparisons: +.Bd -literal -offset indent +$ echo -e "B\enc" | comm -1 -2 -i example.txt - +b +c +.Ed .Sh SEE ALSO .Xr cmp 1 , .Xr diff 1 , @@ -108,9 +137,7 @@ utility conforms to .Pp The .Fl i -option is an extension to the -.Tn POSIX -standard. +option is an extension to the POSIX standard. .Sh HISTORY A .Nm From owner-svn-src-all@freebsd.org Mon Jul 27 16:57:38 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1D1B3368BA4; Mon, 27 Jul 2020 16:57:38 +0000 (UTC) (envelope-from mpp302@gmail.com) Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFmFX5VCtz44Dy; Mon, 27 Jul 2020 16:57:36 +0000 (UTC) (envelope-from mpp302@gmail.com) Received: by mail-ej1-f43.google.com with SMTP id d6so3963357ejr.5; Mon, 27 Jul 2020 09:57:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=1FXg3FapMiqgq03V1T2J5TbjEUTfNqUaNUlo6YSNy8E=; b=R7UPdRyZ3kfISsWKeVEFBkUmS0D+s1HZV55XdLleahBEsdg/kKS7lSGH14upeWdxWp 4nM9JCcaulat29kZaIcQ3XwOC2a6yc2VUJPzH8p3Bf5CSF/vXfnhN7MoJY1zuExOnXAp BfF94Fww/80KiQC7sdR2EGiNR+oGSzN31kaZcTtFm4St1S90Xbc7/rxbQ9DL1JXGMaT6 atgyAHqnZ4NM565bOXCH6QIDTirs1RS/Og3nfLKTR4Z8WpYXXNEYldQLGo7pz+noNQ1v +z3/5Q6ck6GqR5S2wXC+fUKRE9sLZjjg/moo1DZrmMyLj6a0tDeLEwv6Sy7sbRzkNvSP nPWA== X-Gm-Message-State: AOAM530kogK4GdCryWivweNyYKJeevqPCs4M5Kx+b7/NxZoiY82MZxyu VmTmKSHxmlNWwxorn4uKdhFrdgYM1aA= X-Google-Smtp-Source: ABdhPJzfSV1lzW4SjvJ5niNKqheG9hmwPiY0UhPfWu1oZv0kkMK4bgSxSK5ecSnvIybrKLhoQBDq/g== X-Received: by 2002:a17:906:1e83:: with SMTP id e3mr22518357ejj.7.1595869054852; Mon, 27 Jul 2020 09:57:34 -0700 (PDT) Received: from ?IPv6:2a02:8109:98c0:1bc0:5e5f:67ff:fef4:ffd8? ([2a02:8109:98c0:1bc0:5e5f:67ff:fef4:ffd8]) by smtp.gmail.com with ESMTPSA id r25sm6591710edy.93.2020.07.27.09.57.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Jul 2020 09:57:34 -0700 (PDT) Subject: Re: svn commit: r363598 - head/usr.sbin/nologin To: rgrimes@freebsd.org Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202007271641.06RGftS7070235@gndrsh.dnsmgr.net> From: Mateusz Piotrowski <0mp@FreeBSD.org> Message-ID: Date: Mon, 27 Jul 2020 18:57:41 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <202007271641.06RGftS7070235@gndrsh.dnsmgr.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: 4BFmFX5VCtz44Dy X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of mpp302@gmail.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=mpp302@gmail.com X-Spamd-Result: default: False [-1.12 / 15.00]; RCVD_TLS_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; ARC_NA(0.00)[]; DMARC_NA(0.00)[FreeBSD.org]; NEURAL_HAM_LONG(-0.33)[-0.333]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_HAM_MEDIUM(-0.63)[-0.627]; NEURAL_HAM_SHORT(-0.16)[-0.158]; RCVD_IN_DNSWL_NONE(0.00)[209.85.218.43:from]; FORGED_SENDER(0.30)[0mp@FreeBSD.org,mpp302@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.218.43:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[0mp@FreeBSD.org,mpp302@gmail.com]; FREEMAIL_ENVFROM(0.00)[gmail.com] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 16:57:38 -0000 Hi! On 7/27/20 6:41 PM, Rodney W. Grimes wrote: >> Author: 0mp (doc,ports committer) >> Date: Mon Jul 27 10:45:47 2020 >> New Revision: 363598 >> URL: https://svnweb.freebsd.org/changeset/base/363598 >> >> Log: >> nologin.8: Improve wording > I disagree that this improves wording. The norm of action for > "logging" in Unix is to "write to syslog", not "log to syslog". Hmm, I agree, but here it is "log using syslog". Have you got any idea how to further improve this sentence? >> Reported by: yuripv >> Reviewed by: bcr, yuripv >> MFC after: 3 days >> Differential Revision: https://reviews.freebsd.org/D25814 >> >> Modified: >> head/usr.sbin/nologin/nologin.8 >> >> Modified: head/usr.sbin/nologin/nologin.8 >> ============================================================================== >> --- head/usr.sbin/nologin/nologin.8 Mon Jul 27 09:10:02 2020 (r363597) >> +++ head/usr.sbin/nologin/nologin.8 Mon Jul 27 10:45:47 2020 (r363598) >> @@ -44,7 +44,7 @@ have been disabled. >> .Pp >> When executed, >> .Nm >> -first writes about the login attempt to >> +first logs about the login attempt using >> .Xr syslog 3 >> and then displays a message that an account is not available. >> .Pp Cheers! Mateusz Piotrowski From owner-svn-src-all@freebsd.org Mon Jul 27 17:17:40 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 939853691BD; Mon, 27 Jul 2020 17:17:40 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFmhh2jFyz455q; Mon, 27 Jul 2020 17:17:40 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 06RHHcUn070403; Mon, 27 Jul 2020 10:17:38 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 06RHHc0j070402; Mon, 27 Jul 2020 10:17:38 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202007271717.06RHHc0j070402@gndrsh.dnsmgr.net> Subject: Re: svn commit: r363598 - head/usr.sbin/nologin In-Reply-To: To: Mateusz Piotrowski <0mp@freebsd.org> Date: Mon, 27 Jul 2020 10:17:38 -0700 (PDT) CC: rgrimes@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4BFmhh2jFyz455q X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 17:17:40 -0000 [ Charset UTF-8 unsupported, converting... ] > Hi! > > On 7/27/20 6:41 PM, Rodney W. Grimes wrote: > >> Author: 0mp (doc,ports committer) > >> Date: Mon Jul 27 10:45:47 2020 > >> New Revision: 363598 > >> URL: https://svnweb.freebsd.org/changeset/base/363598 > >> > >> Log: > >> nologin.8: Improve wording > > I disagree that this improves wording. The norm of action for > > "logging" in Unix is to "write to syslog", not "log to syslog". > > Hmm, I agree, but here it is "log using syslog". Please read syslog(3) it is rather consistent about using "write to syslog". The action of calling syslog(3) is to "writes message to the system message logger." > > Have you got any idea how to further improve this sentence? No, but can we not degrade it? > > >> Reported by: yuripv > >> Reviewed by: bcr, yuripv > >> MFC after: 3 days > >> Differential Revision: https://reviews.freebsd.org/D25814 > >> > >> Modified: > >> head/usr.sbin/nologin/nologin.8 > >> > >> Modified: head/usr.sbin/nologin/nologin.8 > >> ============================================================================== > >> --- head/usr.sbin/nologin/nologin.8 Mon Jul 27 09:10:02 2020 (r363597) > >> +++ head/usr.sbin/nologin/nologin.8 Mon Jul 27 10:45:47 2020 (r363598) > >> @@ -44,7 +44,7 @@ have been disabled. > >> .Pp > >> When executed, > >> .Nm > >> -first writes about the login attempt to > >> +first logs about the login attempt using > >> .Xr syslog 3 > >> and then displays a message that an account is not available. > >> .Pp > > Cheers! > > Mateusz Piotrowski > > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Mon Jul 27 18:46:21 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 629EE36BE16; Mon, 27 Jul 2020 18:46:21 +0000 (UTC) (envelope-from pstef@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFpg121Trz4Bxd; Mon, 27 Jul 2020 18:46:21 +0000 (UTC) (envelope-from pstef@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 291B421FDF; Mon, 27 Jul 2020 18:46:21 +0000 (UTC) (envelope-from pstef@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RIkKda038428; Mon, 27 Jul 2020 18:46:20 GMT (envelope-from pstef@FreeBSD.org) Received: (from pstef@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RIkKBs038427; Mon, 27 Jul 2020 18:46:20 GMT (envelope-from pstef@FreeBSD.org) Message-Id: <202007271846.06RIkKBs038427@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pstef set sender to pstef@FreeBSD.org using -f From: Piotr Pawel Stefaniak Date: Mon, 27 Jul 2020 18:46:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363621 - head/bin/sh X-SVN-Group: head X-SVN-Commit-Author: pstef X-SVN-Commit-Paths: head/bin/sh X-SVN-Commit-Revision: 363621 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 18:46:21 -0000 Author: pstef Date: Mon Jul 27 18:46:20 2020 New Revision: 363621 URL: https://svnweb.freebsd.org/changeset/base/363621 Log: sh(1): print a newline when ^D quits sh I've always found this a little bit confusing: > sh $ ^D> sh $ ^D> Reviewed by: 0mp, jilles MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25813 Modified: head/bin/sh/main.c Modified: head/bin/sh/main.c ============================================================================== --- head/bin/sh/main.c Mon Jul 27 16:51:23 2020 (r363620) +++ head/bin/sh/main.c Mon Jul 27 18:46:20 2020 (r363621) @@ -228,6 +228,10 @@ cmdloop(int top) } } popstackmark(&smark); + if (top && iflag) { + out2c('\n'); + flushout(out2); + } } From owner-svn-src-all@freebsd.org Mon Jul 27 18:57:29 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2F83736BE7D; Mon, 27 Jul 2020 18:57:29 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFpvs04G3z4ChF; Mon, 27 Jul 2020 18:57:29 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DA708225B5; Mon, 27 Jul 2020 18:57:28 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RIvSCJ044935; Mon, 27 Jul 2020 18:57:28 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RIvSS7044934; Mon, 27 Jul 2020 18:57:28 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202007271857.06RIvSS7044934@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 27 Jul 2020 18:57:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363622 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 363622 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 18:57:29 -0000 Author: asomers Date: Mon Jul 27 18:57:28 2020 New Revision: 363622 URL: https://svnweb.freebsd.org/changeset/base/363622 Log: Restrict definition of CTL_P1003_1B_MAXID to the kernel This constant is only used to size an array within the kernel. There are probably no legitimate uses in userland. Worse, since the kernel's array could theoretically change size over time, any use of that symbol in userland wouldn't be forwards compatible to new kernel versions. Reviewed by: jhb MFC after: Never Differential Revision: https://reviews.freebsd.org/D25816 Modified: head/sys/sys/sysctl.h Modified: head/sys/sys/sysctl.h ============================================================================== --- head/sys/sys/sysctl.h Mon Jul 27 18:46:20 2020 (r363621) +++ head/sys/sys/sysctl.h Mon Jul 27 18:57:28 2020 (r363622) @@ -1096,9 +1096,9 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); #define CTL_P1003_1B_SIGQUEUE_MAX 24 /* int */ #define CTL_P1003_1B_TIMER_MAX 25 /* int */ -#define CTL_P1003_1B_MAXID 26 - #ifdef _KERNEL + +#define CTL_P1003_1B_MAXID 26 /* * Declare some common oids. From owner-svn-src-all@freebsd.org Mon Jul 27 19:05:54 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 95A8236C3F1; Mon, 27 Jul 2020 19:05:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFq5Z3SsXz4DZY; Mon, 27 Jul 2020 19:05:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5B38F228FF; Mon, 27 Jul 2020 19:05:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RJ5sok051039; Mon, 27 Jul 2020 19:05:54 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RJ5sin051038; Mon, 27 Jul 2020 19:05:54 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007271905.06RJ5sin051038@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 27 Jul 2020 19:05:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363623 - head/sys/dev/cxgbe X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/dev/cxgbe X-SVN-Commit-Revision: 363623 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 19:05:54 -0000 Author: markj Date: Mon Jul 27 19:05:53 2020 New Revision: 363623 URL: https://svnweb.freebsd.org/changeset/base/363623 Log: cxgbe(4): Stop checking for failures from malloc(M_WAITOK). PR: 240545 Submitted by: Andrew Reiter Reviewed by: np MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25767 Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Mon Jul 27 18:57:28 2020 (r363622) +++ head/sys/dev/cxgbe/t4_main.c Mon Jul 27 19:05:53 2020 (r363623) @@ -10003,10 +10003,6 @@ load_fw(struct adapter *sc, struct t4_data *fw) } fw_data = malloc(fw->len, M_CXGBE, M_WAITOK); - if (fw_data == NULL) { - rc = ENOMEM; - goto done; - } rc = copyin(fw->data, fw_data, fw->len); if (rc == 0) @@ -10035,10 +10031,6 @@ load_cfg(struct adapter *sc, struct t4_data *cfg) } cfg_data = malloc(cfg->len, M_CXGBE, M_WAITOK); - if (cfg_data == NULL) { - rc = ENOMEM; - goto done; - } rc = copyin(cfg->data, cfg_data, cfg->len); if (rc == 0) @@ -10084,10 +10076,6 @@ load_boot(struct adapter *sc, struct t4_bootrom *br) } br_data = malloc(br->len, M_CXGBE, M_WAITOK); - if (br_data == NULL) { - rc = ENOMEM; - goto done; - } rc = copyin(br->data, br_data, br->len); if (rc == 0) @@ -10116,10 +10104,6 @@ load_bootcfg(struct adapter *sc, struct t4_data *bc) } bc_data = malloc(bc->len, M_CXGBE, M_WAITOK); - if (bc_data == NULL) { - rc = ENOMEM; - goto done; - } rc = copyin(bc->data, bc_data, bc->len); if (rc == 0) From owner-svn-src-all@freebsd.org Mon Jul 27 21:19:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 09012370105; Mon, 27 Jul 2020 21:19:44 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFt3z6ZZ1z4MB5; Mon, 27 Jul 2020 21:19:43 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C1A682428F; Mon, 27 Jul 2020 21:19:43 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RLJhQB031091; Mon, 27 Jul 2020 21:19:43 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RLJf3f031079; Mon, 27 Jul 2020 21:19:41 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202007272119.06RLJf3f031079@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 27 Jul 2020 21:19:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363624 - in head/sys: arm64/arm64 arm64/include conf dev/acpica dev/pci x86/include x86/x86 X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: in head/sys: arm64/arm64 arm64/include conf dev/acpica dev/pci x86/include x86/x86 X-SVN-Commit-Revision: 363624 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 21:19:44 -0000 Author: mav Date: Mon Jul 27 21:19:41 2020 New Revision: 363624 URL: https://svnweb.freebsd.org/changeset/base/363624 Log: Add initial driver for ACPI Platform Error Interfaces. APEI allows platform to report different kinds of errors to OS in several ways. We've found that Supermicro X10/X11 motherboards report PCIe errors appearing on hot-unplug via this interface using NMI. Without respective driver it ended up in kernel panic without any additional information. This driver introduces support for the APEI Generic Hardware Error Source reporting via NMI, SCI or polling. It decodes the reported errors and either pass them to pci(4) for processing or just logs otherwise. Errors marked as fatal still end up in kernel panic, but some more informative. When somebody get to native PCIe AER support implementation both of the reporting mechanisms should get common error recovery code. Since in our case errors happen when the device is already gone, there is nothing to recover, so the code just clears the error statuses, practically ignoring the otherwise destructive NMIs in nicer way. MFC after: 2 weeks Relnotes: yes Sponsored by: iXsystems, Inc. Added: head/sys/dev/acpica/acpi_apei.c (contents, props changed) Modified: head/sys/arm64/arm64/machdep.c head/sys/arm64/include/acpica_machdep.h head/sys/conf/files head/sys/dev/acpica/acpi.c head/sys/dev/pci/pci.c head/sys/dev/pci/pcivar.h head/sys/x86/include/acpica_machdep.h head/sys/x86/x86/cpu_machdep.c Modified: head/sys/arm64/arm64/machdep.c ============================================================================== --- head/sys/arm64/arm64/machdep.c Mon Jul 27 19:05:53 2020 (r363623) +++ head/sys/arm64/arm64/machdep.c Mon Jul 27 21:19:41 2020 (r363624) @@ -132,6 +132,8 @@ void pagezero_cache(void *); /* pagezero_simple is default pagezero */ void (*pagezero)(void *p) = pagezero_simple; +int (*apei_nmi)(void); + static void pan_setup(void) { Modified: head/sys/arm64/include/acpica_machdep.h ============================================================================== --- head/sys/arm64/include/acpica_machdep.h Mon Jul 27 19:05:53 2020 (r363623) +++ head/sys/arm64/include/acpica_machdep.h Mon Jul 27 21:19:41 2020 (r363624) @@ -57,6 +57,8 @@ struct acpi_generic_address; int acpi_map_addr(struct acpi_generic_address *, bus_space_tag_t *, bus_space_handle_t *, bus_size_t); +extern int (*apei_nmi)(void); + #endif /* _KERNEL */ #endif /* __ACPICA_MACHDEP_H__ */ Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Mon Jul 27 19:05:53 2020 (r363623) +++ head/sys/conf/files Mon Jul 27 21:19:41 2020 (r363624) @@ -754,6 +754,7 @@ dev/acpica/Osd/OsdSynch.c optional acpi dev/acpica/Osd/OsdTable.c optional acpi dev/acpica/acpi.c optional acpi dev/acpica/acpi_acad.c optional acpi +dev/acpica/acpi_apei.c optional acpi dev/acpica/acpi_battery.c optional acpi dev/acpica/acpi_button.c optional acpi dev/acpica/acpi_cmbat.c optional acpi Modified: head/sys/dev/acpica/acpi.c ============================================================================== --- head/sys/dev/acpica/acpi.c Mon Jul 27 19:05:53 2020 (r363623) +++ head/sys/dev/acpica/acpi.c Mon Jul 27 21:19:41 2020 (r363624) @@ -152,6 +152,7 @@ static ACPI_STATUS acpi_device_scan_children(device_t int max_depth, acpi_scan_cb_t user_fn, void *arg); static int acpi_isa_pnp_probe(device_t bus, device_t child, struct isa_pnp_id *ids); +static void acpi_platform_osc(device_t dev); static void acpi_probe_children(device_t bus); static void acpi_probe_order(ACPI_HANDLE handle, int *order); static ACPI_STATUS acpi_probe_child(ACPI_HANDLE handle, UINT32 level, @@ -683,6 +684,8 @@ acpi_attach(device_t dev) /* Register ACPI again to pass the correct argument of pm_func. */ power_pm_register(POWER_PM_TYPE_ACPI, acpi_pm_func, sc); + acpi_platform_osc(dev); + if (!acpi_disabled("bus")) { EVENTHANDLER_REGISTER(dev_lookup, acpi_lookup, NULL, 1000); acpi_probe_children(dev); @@ -1941,6 +1944,34 @@ acpi_enable_pcie(void) alloc++; } #endif +} + +static void +acpi_platform_osc(device_t dev) +{ + ACPI_HANDLE sb_handle; + ACPI_STATUS status; + uint32_t cap_set[2]; + + /* 0811B06E-4A27-44F9-8D60-3CBBC22E7B48 */ + static uint8_t acpi_platform_uuid[ACPI_UUID_LENGTH] = { + 0x6e, 0xb0, 0x11, 0x08, 0x27, 0x4a, 0xf9, 0x44, + 0x8d, 0x60, 0x3c, 0xbb, 0xc2, 0x2e, 0x7b, 0x48 + }; + + if (ACPI_FAILURE(AcpiGetHandle(ACPI_ROOT_OBJECT, "\\_SB_", &sb_handle))) + return; + + cap_set[1] = 0x10; /* APEI Support */ + status = acpi_EvaluateOSC(sb_handle, acpi_platform_uuid, 1, + nitems(cap_set), cap_set, cap_set, false); + if (ACPI_FAILURE(status)) { + if (status == AE_NOT_FOUND) + return; + device_printf(dev, "_OSC failed: %s\n", + AcpiFormatException(status)); + return; + } } /* Added: head/sys/dev/acpica/acpi_apei.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/acpica/acpi_apei.c Mon Jul 27 21:19:41 2020 (r363624) @@ -0,0 +1,684 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Alexander Motin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_acpi.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +struct apei_ge { + union { + ACPI_HEST_GENERIC v1; + ACPI_HEST_GENERIC_V2 v2; + }; + int res_type; + int res_rid; + struct resource *res; + int res2_type; + int res2_rid; + struct resource *res2; + uint8_t *buf, *copybuf; + TAILQ_ENTRY(apei_ge) link; + struct callout poll; + void *swi_ih; +} *apei_nmi_ge; + +struct apei_softc { + ACPI_TABLE_HEST *hest; + TAILQ_HEAD(, apei_ge) ges; +}; + +struct apei_mem_error { + uint64_t ValidationBits; + uint64_t ErrorStatus; + uint64_t PhysicalAddress; + uint64_t PhysicalAddressMask; + uint16_t Node; + uint16_t Card; + uint16_t Module; + uint16_t Bank; + uint16_t Device; + uint16_t Row; + uint16_t Column; + uint16_t BitPosition; + uint64_t RequesterID; + uint64_t ResponderID; + uint64_t TargetID; + uint8_t MemoryErrorType; + uint8_t Extended; + uint16_t RankNumber; + uint16_t CardHandle; + uint16_t ModuleHandle; +}; + +struct apei_pcie_error { + uint64_t ValidationBits; + uint32_t PortType; + uint32_t Version; + uint32_t CommandStatus; + uint32_t Reserved; + uint8_t DeviceID[16]; + uint8_t DeviceSerialNumber[8]; + uint8_t BridgeControlStatus[4]; + uint8_t CapabilityStructure[60]; + uint8_t AERInfo[96]; +}; + +#ifdef __i386__ +static __inline uint64_t +apei_bus_read_8(struct resource *res, bus_size_t offset) +{ + return (bus_read_4(res, offset) | + ((uint64_t)bus_read_4(res, offset + 4)) << 32); +} +static __inline void +apei_bus_write_8(struct resource *res, bus_size_t offset, uint64_t val) +{ + bus_write_4(res, offset, val); + bus_write_4(res, offset + 4, val >> 32); +} +#define READ8(r, o) apei_bus_read_8((r), (o)) +#define WRITE8(r, o, v) apei_bus_write_8((r), (o), (v)) +#else +#define READ8(r, o) bus_read_8((r), (o)) +#define WRITE8(r, o, v) bus_write_8((r), (o), (v)) +#endif + +int apei_nmi_handler(void); + +static const char * +apei_severity(uint32_t s) +{ + switch (s) { + case ACPI_HEST_GEN_ERROR_RECOVERABLE: + return ("Recoverable"); + case ACPI_HEST_GEN_ERROR_FATAL: + return ("Fatal"); + case ACPI_HEST_GEN_ERROR_CORRECTED: + return ("Corrected"); + case ACPI_HEST_GEN_ERROR_NONE: + return ("Informational"); + } + return ("???"); +} + +static int +apei_mem_handler(ACPI_HEST_GENERIC_DATA *ged) +{ + struct apei_mem_error *p = (struct apei_mem_error *)(ged + 1); + + printf("APEI %s Memory Error:\n", apei_severity(ged->ErrorSeverity)); + if (p->ValidationBits & 0x01) + printf(" Error Status: 0x%jx\n", p->ErrorStatus); + if (p->ValidationBits & 0x02) + printf(" Physical Address: 0x%jx\n", p->PhysicalAddress); + if (p->ValidationBits & 0x04) + printf(" Physical Address Mask: 0x%jx\n", p->PhysicalAddressMask); + if (p->ValidationBits & 0x08) + printf(" Node: %u\n", p->Node); + if (p->ValidationBits & 0x10) + printf(" Card: %u\n", p->Card); + if (p->ValidationBits & 0x20) + printf(" Module: %u\n", p->Module); + if (p->ValidationBits & 0x40) + printf(" Bank: %u\n", p->Bank); + if (p->ValidationBits & 0x80) + printf(" Device: %u\n", p->Device); + if (p->ValidationBits & 0x100) + printf(" Row: %u\n", p->Row); + if (p->ValidationBits & 0x200) + printf(" Column: %u\n", p->Column); + if (p->ValidationBits & 0x400) + printf(" Bit Position: %u\n", p->BitPosition); + if (p->ValidationBits & 0x800) + printf(" Requester ID: 0x%jx\n", p->RequesterID); + if (p->ValidationBits & 0x1000) + printf(" Responder ID: 0x%jx\n", p->ResponderID); + if (p->ValidationBits & 0x2000) + printf(" Target ID: 0x%jx\n", p->TargetID); + if (p->ValidationBits & 0x4000) + printf(" Memory Error Type: %u\n", p->MemoryErrorType); + if (p->ValidationBits & 0x8000) + printf(" Rank Number: %u\n", p->RankNumber); + if (p->ValidationBits & 0x10000) + printf(" Card Handle: 0x%x\n", p->CardHandle); + if (p->ValidationBits & 0x20000) + printf(" Module Handle: 0x%x\n", p->ModuleHandle); + if (p->ValidationBits & 0x40000) + printf(" Extended Row: %u\n", + (uint32_t)(p->Extended & 0x3) << 16 | p->Row); + if (p->ValidationBits & 0x80000) + printf(" Bank Group: %u\n", p->Bank >> 8); + if (p->ValidationBits & 0x100000) + printf(" Bank Address: %u\n", p->Bank & 0xff); + if (p->ValidationBits & 0x200000) + printf(" Chip Identification: %u\n", (p->Extended >> 5) & 0x7); + + return (0); +} + +static int +apei_pcie_handler(ACPI_HEST_GENERIC_DATA *ged) +{ + struct apei_pcie_error *p = (struct apei_pcie_error *)(ged + 1); + device_t dev; + int h = 0, off, sev; + + if ((p->ValidationBits & 0x8) == 0x8) { + mtx_lock(&Giant); + dev = pci_find_dbsf((uint32_t)p->DeviceID[10] << 8 | + p->DeviceID[9], p->DeviceID[11], p->DeviceID[8], + p->DeviceID[7]); + if (dev != NULL) { + switch (ged->ErrorSeverity) { + case ACPI_HEST_GEN_ERROR_FATAL: + sev = PCIEM_STA_FATAL_ERROR; + break; + case ACPI_HEST_GEN_ERROR_RECOVERABLE: + sev = PCIEM_STA_NON_FATAL_ERROR; + break; + default: + sev = PCIEM_STA_CORRECTABLE_ERROR; + break; + } + pcie_apei_error(dev, sev, + (p->ValidationBits & 0x80) ? p->AERInfo : NULL); + h = 1; + } + mtx_unlock(&Giant); + } + if (h) + return (h); + + printf("APEI %s PCIe Error:\n", apei_severity(ged->ErrorSeverity)); + if (p->ValidationBits & 0x01) + printf(" Port Type: %u\n", p->PortType); + if (p->ValidationBits & 0x02) + printf(" Version: %x\n", p->Version); + if (p->ValidationBits & 0x04) + printf(" Command Status: 0x%08x\n", p->CommandStatus); + if (p->ValidationBits & 0x08) { + printf(" DeviceID:"); + for (off = 0; off < sizeof(p->DeviceID); off++) + printf(" %02x", p->DeviceID[off]); + printf("\n"); + } + if (p->ValidationBits & 0x10) { + printf(" Device Serial Number:"); + for (off = 0; off < sizeof(p->DeviceSerialNumber); off++) + printf(" %02x", p->DeviceSerialNumber[off]); + printf("\n"); + } + if (p->ValidationBits & 0x20) { + printf(" Bridge Control Status:"); + for (off = 0; off < sizeof(p->BridgeControlStatus); off++) + printf(" %02x", p->BridgeControlStatus[off]); + printf("\n"); + } + if (p->ValidationBits & 0x40) { + printf(" Capability Structure:\n"); + for (off = 0; off < sizeof(p->CapabilityStructure); off++) { + printf(" %02x", p->CapabilityStructure[off]); + if ((off % 16) == 15 || + off + 1 == sizeof(p->CapabilityStructure)) + printf("\n"); + } + } + if (p->ValidationBits & 0x80) { + printf(" AER Info:\n"); + for (off = 0; off < sizeof(p->AERInfo); off++) { + printf(" %02x", p->AERInfo[off]); + if ((off % 16) == 15 || off + 1 == sizeof(p->AERInfo)) + printf("\n"); + } + } + return (h); +} + +static void +apei_ged_handler(ACPI_HEST_GENERIC_DATA *ged) +{ + ACPI_HEST_GENERIC_DATA_V300 *ged3 = (ACPI_HEST_GENERIC_DATA_V300 *)ged; + /* A5BC1114-6F64-4EDE-B863-3E83ED7C83B1 */ + static uint8_t mem_uuid[ACPI_UUID_LENGTH] = { + 0x14, 0x11, 0xBC, 0xA5, 0x64, 0x6F, 0xDE, 0x4E, + 0xB8, 0x63, 0x3E, 0x83, 0xED, 0x7C, 0x83, 0xB1 + }; + /* D995E954-BBC1-430F-AD91-B44DCB3C6F35 */ + static uint8_t pcie_uuid[ACPI_UUID_LENGTH] = { + 0x54, 0xE9, 0x95, 0xD9, 0xC1, 0xBB, 0x0F, 0x43, + 0xAD, 0x91, 0xB4, 0x4D, 0xCB, 0x3C, 0x6F, 0x35 + }; + uint8_t *t; + int h = 0, off; + + if (memcmp(mem_uuid, ged->SectionType, ACPI_UUID_LENGTH) == 0) { + h = apei_mem_handler(ged); + } else if (memcmp(pcie_uuid, ged->SectionType, ACPI_UUID_LENGTH) == 0) { + h = apei_pcie_handler(ged); + } else { + t = ged->SectionType; + printf("APEI %s Error %02x%02x%02x%02x-%02x%02x-" + "%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x:\n", + apei_severity(ged->ErrorSeverity), + t[3], t[2], t[1], t[0], t[5], t[4], t[7], t[6], + t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15]); + printf(" Error Data:\n"); + t = (uint8_t *)(ged + 1); + for (off = 0; off < ged->ErrorDataLength; off++) { + printf(" %02x", t[off]); + if ((off % 16) == 15 || off + 1 == ged->ErrorDataLength) + printf("\n"); + } + } + if (h) + return; + + printf(" Flags: 0x%x\n", ged->Flags); + if (ged->ValidationBits & ACPI_HEST_GEN_VALID_FRU_ID) { + t = ged->FruId; + printf(" FRU Id: %02x%02x%02x%02x-%02x%02x-%02x%02x-" + "%02x%02x-%02x%02x%02x%02x%02x%02x\n", + t[3], t[2], t[1], t[0], t[5], t[4], t[7], t[6], + t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15]); + } + if (ged->ValidationBits & ACPI_HEST_GEN_VALID_FRU_STRING) + printf(" FRU Text: %.20s", ged->FruText); + if (ged->Revision == 0x300 && + ged->ValidationBits & ACPI_HEST_GEN_VALID_TIMESTAMP) + printf(" Timestamp: %016jx", ged3->TimeStamp); +} + +static int +apei_ge_handler(struct apei_ge *ge, bool copy) +{ + uint8_t *buf = copy ? ge->copybuf : ge->buf; + ACPI_HEST_GENERIC_STATUS *ges = (ACPI_HEST_GENERIC_STATUS *)buf; + ACPI_HEST_GENERIC_DATA *ged; + uint32_t sev; + int i, c, off; + + if (ges->BlockStatus == 0) + return (0); + + c = (ges->BlockStatus >> 4) & 0x3ff; + sev = ges->ErrorSeverity; + + /* Process error entries. */ + for (off = i = 0; i < c && off + sizeof(*ged) <= ges->DataLength; i++) { + ged = (ACPI_HEST_GENERIC_DATA *)&buf[sizeof(*ges) + off]; + apei_ged_handler(ged); + off += sizeof(*ged) + ged->ErrorDataLength; + } + + /* Acknowledge the error has been processed. */ + ges->BlockStatus = 0; + if (!copy && ge->v1.Header.Type == ACPI_HEST_TYPE_GENERIC_ERROR_V2) { + uint64_t val = READ8(ge->res2, 0); + val &= ge->v2.ReadAckPreserve; + val |= ge->v2.ReadAckWrite; + WRITE8(ge->res2, 0, val); + } + + /* If ACPI told the error is fatal -- make it so. */ + if (sev == ACPI_HEST_GEN_ERROR_FATAL) + panic("APEI Fatal Hardware Error!"); + + return (1); +} + +static void +apei_nmi_swi(void *arg) +{ + struct apei_ge *ge = arg; + + apei_ge_handler(ge, true); +} + +int +apei_nmi_handler(void) +{ + struct apei_ge *ge = apei_nmi_ge; + ACPI_HEST_GENERIC_STATUS *ges, *gesc; + + if (ge == NULL) + return (0); + + ges = (ACPI_HEST_GENERIC_STATUS *)ge->buf; + if (ges->BlockStatus == 0) + return (0); + + /* If ACPI told the error is fatal -- make it so. */ + if (ges->ErrorSeverity == ACPI_HEST_GEN_ERROR_FATAL) + panic("APEI Fatal Hardware Error!"); + + /* Copy the buffer for later processing. */ + gesc = (ACPI_HEST_GENERIC_STATUS *)ge->copybuf; + if (gesc->BlockStatus == 0) + memcpy(ge->copybuf, ge->buf, ge->v1.ErrorBlockLength); + + /* Acknowledge the error has been processed. */ + ges->BlockStatus = 0; + if (ge->v1.Header.Type == ACPI_HEST_TYPE_GENERIC_ERROR_V2) { + uint64_t val = READ8(ge->res2, 0); + val &= ge->v2.ReadAckPreserve; + val |= ge->v2.ReadAckWrite; + WRITE8(ge->res2, 0, val); + } + + /* Schedule SWI for real handling. */ + swi_sched(ge->swi_ih, SWI_FROMNMI); + + return (1); +} + +static void +apei_callout_handler(void *context) +{ + struct apei_ge *ge = context; + + apei_ge_handler(ge, false); + callout_schedule(&ge->poll, ge->v1.Notify.PollInterval * hz / 1000); +} + +static void +apei_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context) +{ + device_t dev = context; + struct apei_softc *sc = device_get_softc(dev); + struct apei_ge *ge; + + TAILQ_FOREACH(ge, &sc->ges, link) { + if (ge->v1.Notify.Type == ACPI_HEST_NOTIFY_SCI || + ge->v1.Notify.Type == ACPI_HEST_NOTIFY_GPIO || + ge->v1.Notify.Type == ACPI_HEST_NOTIFY_GSIV) + apei_ge_handler(ge, false); + } +} + +static int +hest_parse_structure(struct apei_softc *sc, void *addr, int remaining) +{ + ACPI_HEST_HEADER *hdr = addr; + struct apei_ge *ge; + + if (remaining < (int)sizeof(ACPI_HEST_HEADER)) + return (-1); + + switch (hdr->Type) { + case ACPI_HEST_TYPE_IA32_CHECK: { + ACPI_HEST_IA_MACHINE_CHECK *s = addr; + return (sizeof(*s) + s->NumHardwareBanks * + sizeof(ACPI_HEST_IA_ERROR_BANK)); + } + case ACPI_HEST_TYPE_IA32_CORRECTED_CHECK: { + ACPI_HEST_IA_CORRECTED *s = addr; + return (sizeof(*s) + s->NumHardwareBanks * + sizeof(ACPI_HEST_IA_ERROR_BANK)); + } + case ACPI_HEST_TYPE_IA32_NMI: { + ACPI_HEST_IA_NMI *s = addr; + return (sizeof(*s)); + } + case ACPI_HEST_TYPE_AER_ROOT_PORT: { + ACPI_HEST_AER_ROOT *s = addr; + return (sizeof(*s)); + } + case ACPI_HEST_TYPE_AER_ENDPOINT: { + ACPI_HEST_AER *s = addr; + return (sizeof(*s)); + } + case ACPI_HEST_TYPE_AER_BRIDGE: { + ACPI_HEST_AER_BRIDGE *s = addr; + return (sizeof(*s)); + } + case ACPI_HEST_TYPE_GENERIC_ERROR: { + ACPI_HEST_GENERIC *s = addr; + ge = malloc(sizeof(*ge), M_DEVBUF, M_WAITOK | M_ZERO); + ge->v1 = *s; + TAILQ_INSERT_TAIL(&sc->ges, ge, link); + return (sizeof(*s)); + } + case ACPI_HEST_TYPE_GENERIC_ERROR_V2: { + ACPI_HEST_GENERIC_V2 *s = addr; + ge = malloc(sizeof(*ge), M_DEVBUF, M_WAITOK | M_ZERO); + ge->v2 = *s; + TAILQ_INSERT_TAIL(&sc->ges, ge, link); + return (sizeof(*s)); + } + case ACPI_HEST_TYPE_IA32_DEFERRED_CHECK: { + ACPI_HEST_IA_DEFERRED_CHECK *s = addr; + return (sizeof(*s) + s->NumHardwareBanks * + sizeof(ACPI_HEST_IA_ERROR_BANK)); + } + default: + return (-1); + } +} + +static void +hest_parse_table(struct apei_softc *sc) +{ + ACPI_TABLE_HEST *hest = sc->hest; + char *cp; + int remaining, consumed; + + remaining = hest->Header.Length - sizeof(ACPI_TABLE_HEST); + while (remaining > 0) { + cp = (char *)hest + hest->Header.Length - remaining; + consumed = hest_parse_structure(sc, cp, remaining); + if (consumed <= 0) + break; + else + remaining -= consumed; + } +} + +static char *apei_ids[] = { "PNP0C33", NULL }; +static devclass_t apei_devclass; + +static ACPI_STATUS +apei_find(ACPI_HANDLE handle, UINT32 level, void *context, + void **status) +{ + int *found = (int *)status; + char **ids; + + for (ids = apei_ids; *ids != NULL; ids++) { + if (acpi_MatchHid(handle, *ids)) { + *found = 1; + break; + } + } + return (AE_OK); +} + +static void +apei_identify(driver_t *driver, device_t parent) +{ + device_t child; + int found; + + if (acpi_disabled("apei")) + return; + if (acpi_find_table(ACPI_SIG_HEST) == 0) + return; + /* Only one APEI device can exist. */ + if (devclass_get_device(apei_devclass, 0)) + return; + /* Search for ACPI error device to be used. */ + found = 0; + AcpiWalkNamespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, + 100, apei_find, NULL, NULL, (void *)&found); + if (found) + return; + /* If not found - create a fake one. */ + child = BUS_ADD_CHILD(parent, 2, "apei", 0); + if (child == NULL) + printf("%s: can't add child\n", __func__); +} + +static int +apei_probe(device_t dev) +{ + int rv; + + if (acpi_disabled("apei")) + return (ENXIO); + if (acpi_find_table(ACPI_SIG_HEST) == 0) + return (ENXIO); + if (acpi_get_handle(dev) != NULL) + rv = ACPI_ID_PROBE(device_get_parent(dev), dev, apei_ids, NULL); + else + rv = 0; + if (rv <= 0) + device_set_desc(dev, "Platform Error Interface"); + return (rv); +} + +static int +apei_attach(device_t dev) +{ + struct apei_softc *sc = device_get_softc(dev); + struct apei_ge *ge; + ACPI_STATUS status; + int rid; + + TAILQ_INIT(&sc->ges); + + /* Search and parse HEST table. */ + status = AcpiGetTable(ACPI_SIG_HEST, 0, (ACPI_TABLE_HEADER **)&sc->hest); + if (ACPI_FAILURE(status)) + return (ENXIO); + hest_parse_table(sc); + AcpiPutTable((ACPI_TABLE_HEADER *)sc->hest); + + rid = 0; + TAILQ_FOREACH(ge, &sc->ges, link) { + ge->res_rid = rid++; + acpi_bus_alloc_gas(dev, &ge->res_type, &ge->res_rid, + &ge->v1.ErrorStatusAddress, &ge->res, 0); + if (ge->v1.Header.Type == ACPI_HEST_TYPE_GENERIC_ERROR_V2) { + ge->res2_rid = rid++; + acpi_bus_alloc_gas(dev, &ge->res2_type, &ge->res2_rid, + &ge->v2.ReadAckRegister, &ge->res2, 0); + } + ge->buf = pmap_mapdev_attr(READ8(ge->res, 0), + ge->v1.ErrorBlockLength, VM_MEMATTR_WRITE_COMBINING); + if (ge->v1.Notify.Type == ACPI_HEST_NOTIFY_POLLED) { + callout_init(&ge->poll, 1); + callout_reset(&ge->poll, + ge->v1.Notify.PollInterval * hz / 1000, + apei_callout_handler, ge); + } else if (ge->v1.Notify.Type == ACPI_HEST_NOTIFY_NMI) { + ge->copybuf = malloc(ge->v1.ErrorBlockLength, + M_DEVBUF, M_WAITOK | M_ZERO); + swi_add(&clk_intr_event, "apei", apei_nmi_swi, ge, + SWI_CLOCK, INTR_MPSAFE, &ge->swi_ih); + apei_nmi_ge = ge; + apei_nmi = apei_nmi_handler; + } + } + + if (acpi_get_handle(dev) != NULL) { + AcpiInstallNotifyHandler(acpi_get_handle(dev), + ACPI_DEVICE_NOTIFY, apei_notify_handler, dev); + } + return (0); +} + +static int +apei_detach(device_t dev) +{ + struct apei_softc *sc = device_get_softc(dev); + struct apei_ge *ge; + + apei_nmi = NULL; + apei_nmi_ge = NULL; + if (acpi_get_handle(dev) != NULL) { + AcpiRemoveNotifyHandler(acpi_get_handle(dev), + ACPI_DEVICE_NOTIFY, apei_notify_handler); + } + + while ((ge = TAILQ_FIRST(&sc->ges)) != NULL) { + TAILQ_REMOVE(&sc->ges, ge, link); + bus_release_resource(dev, ge->res_type, ge->res_rid, ge->res); + if (ge->res2) { + bus_release_resource(dev, ge->res2_type, + ge->res2_rid, ge->res2); + } + if (ge->v1.Notify.Type == ACPI_HEST_NOTIFY_POLLED) { + callout_drain(&ge->poll); + } else if (ge->v1.Notify.Type == ACPI_HEST_NOTIFY_NMI) { + swi_remove(&ge->swi_ih); + free(ge->copybuf, M_DEVBUF); + } + pmap_unmapdev((vm_offset_t)ge->buf, ge->v1.ErrorBlockLength); + free(ge, M_DEVBUF); + } + return (0); +} + +static device_method_t apei_methods[] = { + /* Device interface */ + DEVMETHOD(device_identify, apei_identify), + DEVMETHOD(device_probe, apei_probe), + DEVMETHOD(device_attach, apei_attach), + DEVMETHOD(device_detach, apei_detach), + DEVMETHOD_END +}; + +static driver_t apei_driver = { + "apei", + apei_methods, + sizeof(struct apei_softc), +}; + +DRIVER_MODULE(apei, acpi, apei_driver, apei_devclass, 0, 0); +MODULE_DEPEND(apei, acpi, 1, 1, 1); Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Mon Jul 27 19:05:53 2020 (r363623) +++ head/sys/dev/pci/pci.c Mon Jul 27 21:19:41 2020 (r363624) @@ -6306,6 +6306,67 @@ pcie_get_max_completion_timeout(device_t dev) } } +void +pcie_apei_error(device_t dev, int sev, uint8_t *aerp) +{ + struct pci_devinfo *dinfo = device_get_ivars(dev); + const char *s; + int aer; + uint32_t r, r1; + uint16_t rs; + + if (sev == PCIEM_STA_CORRECTABLE_ERROR) + s = "Correctable"; + else if (sev == PCIEM_STA_NON_FATAL_ERROR) + s = "Uncorrectable (Non-Fatal)"; + else + s = "Uncorrectable (Fatal)"; + device_printf(dev, "%s PCIe error reported by APEI\n", s); + if (aerp) { + if (sev == PCIEM_STA_CORRECTABLE_ERROR) { + r = le32dec(aerp + PCIR_AER_COR_STATUS); + r1 = le32dec(aerp + PCIR_AER_COR_MASK); + } else { + r = le32dec(aerp + PCIR_AER_UC_STATUS); + r1 = le32dec(aerp + PCIR_AER_UC_MASK); + } + device_printf(dev, "status 0x%08x mask 0x%08x", r, r1); + if (sev != PCIEM_STA_CORRECTABLE_ERROR) { + r = le32dec(aerp + PCIR_AER_UC_SEVERITY); + rs = le16dec(aerp + PCIR_AER_CAP_CONTROL); + printf(" severity 0x%08x first %d\n", + r, rs & 0x1f); + } else + printf("\n"); + } + + /* As kind of recovery just report and clear the error statuses. */ + if (pci_find_extcap(dev, PCIZ_AER, &aer) == 0) { + r = pci_read_config(dev, aer + PCIR_AER_UC_STATUS, 4); + if (r != 0) { + pci_write_config(dev, aer + PCIR_AER_UC_STATUS, r, 4); + device_printf(dev, "Clearing UC AER errors 0x%08x\n", r); + } + + r = pci_read_config(dev, aer + PCIR_AER_COR_STATUS, 4); + if (r != 0) { + pci_write_config(dev, aer + PCIR_AER_COR_STATUS, r, 4); + device_printf(dev, "Clearing COR AER errors 0x%08x\n", r); + } + } + if (dinfo->cfg.pcie.pcie_location != 0) { + rs = pci_read_config(dev, dinfo->cfg.pcie.pcie_location + + PCIER_DEVICE_STA, 2); + if ((rs & (PCIEM_STA_CORRECTABLE_ERROR | + PCIEM_STA_NON_FATAL_ERROR | PCIEM_STA_FATAL_ERROR | + PCIEM_STA_UNSUPPORTED_REQ)) != 0) { + pci_write_config(dev, dinfo->cfg.pcie.pcie_location + + PCIER_DEVICE_STA, rs, 2); + device_printf(dev, "Clearing PCIe errors 0x%04x\n", rs); + } + } +} + /* * Perform a Function Level Reset (FLR) on a device. * Modified: head/sys/dev/pci/pcivar.h ============================================================================== --- head/sys/dev/pci/pcivar.h Mon Jul 27 19:05:53 2020 (r363623) +++ head/sys/dev/pci/pcivar.h Mon Jul 27 21:19:41 2020 (r363624) @@ -686,6 +686,7 @@ uint32_t pcie_read_config(device_t dev, int reg, int w void pcie_write_config(device_t dev, int reg, uint32_t value, int width); uint32_t pcie_adjust_config(device_t dev, int reg, uint32_t mask, uint32_t value, int width); +void pcie_apei_error(device_t dev, int sev, uint8_t *aer); bool pcie_flr(device_t dev, u_int max_delay, bool force); int pcie_get_max_completion_timeout(device_t dev); bool pcie_wait_for_pending_transactions(device_t dev, u_int max_delay); Modified: head/sys/x86/include/acpica_machdep.h ============================================================================== --- head/sys/x86/include/acpica_machdep.h Mon Jul 27 19:05:53 2020 (r363623) +++ head/sys/x86/include/acpica_machdep.h Mon Jul 27 21:19:41 2020 (r363624) @@ -84,6 +84,7 @@ void madt_parse_interrupt_values(void *entry, enum intr_trigger *trig, enum intr_polarity *pol); extern int madt_found_sci_override; +extern int (*apei_nmi)(void); #endif /* _KERNEL */ Modified: head/sys/x86/x86/cpu_machdep.c ============================================================================== --- head/sys/x86/x86/cpu_machdep.c Mon Jul 27 19:05:53 2020 (r363623) +++ head/sys/x86/x86/cpu_machdep.c Mon Jul 27 21:19:41 2020 (r363624) @@ -831,6 +831,7 @@ int nmi_is_broadcast = 1; SYSCTL_INT(_machdep, OID_AUTO, nmi_is_broadcast, CTLFLAG_RWTUN, &nmi_is_broadcast, 0, "Chipset NMI is broadcast"); +int (*apei_nmi)(void); void nmi_call_kdb(u_int cpu, u_int type, struct trapframe *frame) @@ -845,6 +846,10 @@ nmi_call_kdb(u_int cpu, u_int type, struct trapframe * panic("NMI indicates hardware failure"); } #endif /* DEV_ISA */ + + /* ACPI Platform Error Interfaces callback. */ + if (apei_nmi != NULL && (*apei_nmi)()) + claimed = true; /* * NMIs can be useful for debugging. They can be hooked up to a From owner-svn-src-all@freebsd.org Mon Jul 27 23:18:15 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6FDF9371FC5; Mon, 27 Jul 2020 23:18:15 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFwhl2RMBz4TBk; Mon, 27 Jul 2020 23:18:15 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3394A25933; Mon, 27 Jul 2020 23:18:15 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RNIF3Q005207; Mon, 27 Jul 2020 23:18:15 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RNIFjV005206; Mon, 27 Jul 2020 23:18:15 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202007272318.06RNIFjV005206@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 27 Jul 2020 23:18:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363625 - stable/12/usr.sbin/mountd X-SVN-Group: stable-12 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/12/usr.sbin/mountd X-SVN-Commit-Revision: 363625 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 23:18:15 -0000 Author: brooks Date: Mon Jul 27 23:18:14 2020 New Revision: 363625 URL: https://svnweb.freebsd.org/changeset/base/363625 Log: MFC r363439: Correct a type-mismatch between xdr_long and the variable "bad". Way back in r28911 (August 1997, CVS rev 1.22) we imported a NetBSD information leak fix via OpenBSD. Unfortunatly we failed to track the followup commit that fixed the type of the error code. Apply the change from int to long now. Reviewed by: emaste Reported by: CHERI Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25779 Modified: stable/12/usr.sbin/mountd/mountd.c Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/mountd/mountd.c ============================================================================== --- stable/12/usr.sbin/mountd/mountd.c Mon Jul 27 21:19:41 2020 (r363624) +++ stable/12/usr.sbin/mountd/mountd.c Mon Jul 27 23:18:14 2020 (r363625) @@ -1087,7 +1087,8 @@ mntsrv(struct svc_req *rqstp, SVCXPRT *transp) struct sockaddr *saddr; u_short sport; char rpcpath[MNTPATHLEN + 1], dirpath[MAXPATHLEN]; - int bad = 0, defset, hostset; + int defset, hostset; + long bad = 0; sigset_t sighup_mask; int numsecflavors, *secflavorsp; From owner-svn-src-all@freebsd.org Mon Jul 27 23:19:47 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 11213372519; Mon, 27 Jul 2020 23:19:47 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFwkV6DMdz4TYm; Mon, 27 Jul 2020 23:19:46 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B940D25759; Mon, 27 Jul 2020 23:19:46 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06RNJkOh005325; Mon, 27 Jul 2020 23:19:46 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06RNJkk4005324; Mon, 27 Jul 2020 23:19:46 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202007272319.06RNJkk4005324@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 27 Jul 2020 23:19:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363626 - stable/11/usr.sbin/mountd X-SVN-Group: stable-11 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/11/usr.sbin/mountd X-SVN-Commit-Revision: 363626 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 23:19:47 -0000 Author: brooks Date: Mon Jul 27 23:19:46 2020 New Revision: 363626 URL: https://svnweb.freebsd.org/changeset/base/363626 Log: MFC r363439: Correct a type-mismatch between xdr_long and the variable "bad". Way back in r28911 (August 1997, CVS rev 1.22) we imported a NetBSD information leak fix via OpenBSD. Unfortunatly we failed to track the followup commit that fixed the type of the error code. Apply the change from int to long now. Reviewed by: emaste Reported by: CHERI Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25779 Modified: stable/11/usr.sbin/mountd/mountd.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/mountd/mountd.c ============================================================================== --- stable/11/usr.sbin/mountd/mountd.c Mon Jul 27 23:18:14 2020 (r363625) +++ stable/11/usr.sbin/mountd/mountd.c Mon Jul 27 23:19:46 2020 (r363626) @@ -1085,7 +1085,8 @@ mntsrv(struct svc_req *rqstp, SVCXPRT *transp) struct sockaddr *saddr; u_short sport; char rpcpath[MNTPATHLEN + 1], dirpath[MAXPATHLEN]; - int bad = 0, defset, hostset; + int defset, hostset; + long bad = 0; sigset_t sighup_mask; int numsecflavors, *secflavorsp; From owner-svn-src-all@freebsd.org Tue Jul 28 00:24:13 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9803F3747A9; Tue, 28 Jul 2020 00:24:13 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFy8s3TwTz4XPK; Tue, 28 Jul 2020 00:24:13 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5BEE2263D3; Tue, 28 Jul 2020 00:24:13 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S0ODuw047471; Tue, 28 Jul 2020 00:24:13 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S0OCw6047467; Tue, 28 Jul 2020 00:24:12 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202007280024.06S0OCw6047467@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 28 Jul 2020 00:24:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363627 - head/crypto/openssh X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/crypto/openssh X-SVN-Commit-Revision: 363627 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 00:24:13 -0000 Author: emaste Date: Tue Jul 28 00:24:12 2020 New Revision: 363627 URL: https://svnweb.freebsd.org/changeset/base/363627 Log: ssh: Remove AES-CBC ciphers from default server and client lists A base system OpenSSH update in 2016 or so removed a number of ciphers from the default lists offered by the server/client, due to known weaknesses. This caused POLA issues for some users and prompted PR207679; the ciphers were restored to the default lists in r296634. When upstream removed these ciphers from the default server list, they moved them to the client-only default list. They were subsequently removed from the client default, in OpenSSH 7.9p1. The change has persisted long enough. Remove these extra ciphers from both the server and client default lists, in advance of FreeBSD 13. Reviewed by: markm, rgrimes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25833 Modified: head/crypto/openssh/FREEBSD-upgrade head/crypto/openssh/myproposal.h head/crypto/openssh/sshd_config.5 Modified: head/crypto/openssh/FREEBSD-upgrade ============================================================================== --- head/crypto/openssh/FREEBSD-upgrade Mon Jul 27 23:19:46 2020 (r363626) +++ head/crypto/openssh/FREEBSD-upgrade Tue Jul 28 00:24:12 2020 (r363627) @@ -168,13 +168,6 @@ ignore HPN-related configuration options to avoid breaking existing configurations. -9) AES-CBC - - The AES-CBC ciphers were removed from the server-side proposal list - in 6.7p1 due to theoretical weaknesses and the availability of - superior ciphers (including AES-CTR and AES-GCM). We have re-added - them for compatibility with third-party clients. - This port was brought to you by (in no particular order) DARPA, NAI Modified: head/crypto/openssh/myproposal.h ============================================================================== --- head/crypto/openssh/myproposal.h Mon Jul 27 23:19:46 2020 (r363626) +++ head/crypto/openssh/myproposal.h Tue Jul 28 00:24:12 2020 (r363627) @@ -1,5 +1,4 @@ /* $OpenBSD: myproposal.h,v 1.57 2018/09/12 01:34:02 djm Exp $ */ -/* $FreeBSD$ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. @@ -122,8 +121,7 @@ #define KEX_SERVER_ENCRYPT \ "chacha20-poly1305@openssh.com," \ "aes128-ctr,aes192-ctr,aes256-ctr" \ - AESGCM_CIPHER_MODES \ - ",aes128-cbc,aes192-cbc,aes256-cbc" + AESGCM_CIPHER_MODES #define KEX_CLIENT_ENCRYPT KEX_SERVER_ENCRYPT Modified: head/crypto/openssh/sshd_config.5 ============================================================================== --- head/crypto/openssh/sshd_config.5 Mon Jul 27 23:19:46 2020 (r363626) +++ head/crypto/openssh/sshd_config.5 Tue Jul 28 00:24:12 2020 (r363627) @@ -495,8 +495,7 @@ The default is: .Bd -literal -offset indent chacha20-poly1305@openssh.com, aes128-ctr,aes192-ctr,aes256-ctr, -aes128-gcm@openssh.com,aes256-gcm@openssh.com, -aes128-cbc,aes192-cbc,aes256-cbc +aes128-gcm@openssh.com,aes256-gcm@openssh.com .Ed .Pp The list of available ciphers may also be obtained using From owner-svn-src-all@freebsd.org Tue Jul 28 01:05:41 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 965D9374EF8; Tue, 28 Jul 2020 01:05:41 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFz4j3HW9z4ZJn; Tue, 28 Jul 2020 01:05:41 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 54379269D2; Tue, 28 Jul 2020 01:05:41 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S15fS9072591; Tue, 28 Jul 2020 01:05:41 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S15ffo072590; Tue, 28 Jul 2020 01:05:41 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202007280105.06S15ffo072590@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 28 Jul 2020 01:05:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363628 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363628 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 01:05:41 -0000 Author: kevans Date: Tue Jul 28 01:05:40 2020 New Revision: 363628 URL: https://svnweb.freebsd.org/changeset/base/363628 Log: makesyscalls.sh: improve the 'this is going away' message Reported by: Ronald Klop, rgrimes Modified: head/sys/kern/makesyscalls.sh Modified: head/sys/kern/makesyscalls.sh ============================================================================== --- head/sys/kern/makesyscalls.sh Tue Jul 28 00:24:12 2020 (r363627) +++ head/sys/kern/makesyscalls.sh Tue Jul 28 01:05:40 2020 (r363628) @@ -60,7 +60,8 @@ case $# in ;; esac -1>&2 echo "$0: This script is deprecated and will be removed before FreeBSD 13." +1>&2 echo "$0: This script has been replaced by sys/tools/makesyscalls.lua and" +1>&2 echo "$0: will be removed before FreeBSD 13. See also: sys/conf/sysent.mk" if [ -n "$2" ]; then . "$2" From owner-svn-src-all@freebsd.org Tue Jul 28 01:08:51 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 67D0B37543A; Tue, 28 Jul 2020 01:08:51 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BFz8M2Cwfz4Zgk; Tue, 28 Jul 2020 01:08:51 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 2AC2823D43; Tue, 28 Jul 2020 01:08:51 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f172.google.com with SMTP id h7so17218608qkk.7; Mon, 27 Jul 2020 18:08:51 -0700 (PDT) X-Gm-Message-State: AOAM531Oo2Z1hWsKzKY7aPZ5I3XpQ4zmilPNCH1g2QffPBT+VX8vC9/Q KeSM7rE0EWYXvVaggjsmIbDGpvPPFx2yA3YbDVg= X-Google-Smtp-Source: ABdhPJz59OZyHXGStIHBUOW7prYAHYVACyCtno4niPMGlNA8awkGDT6DK0jtCi82pGg4CgB5bqO+K7peZ0Q1ljBfUpY= X-Received: by 2002:a37:9147:: with SMTP id t68mr25181302qkd.34.1595898530627; Mon, 27 Jul 2020 18:08:50 -0700 (PDT) MIME-Version: 1.0 References: <2138073301.3.1595842409922@localhost> <202007271639.06RGdLkp070219@gndrsh.dnsmgr.net> In-Reply-To: <202007271639.06RGdLkp070219@gndrsh.dnsmgr.net> From: Kyle Evans Date: Mon, 27 Jul 2020 20:08:39 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363595 - head/sys/kern To: "Rodney W. Grimes" Cc: Ronald Klop , svn-src-all , svn-src-head , src-committers Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 01:08:51 -0000 On Mon, Jul 27, 2020 at 11:39 AM Rodney W. Grimes wrote: > > > Hi, > > > > Helpful addition. Might it help people more to make the message point to the replacement of the deprecated functionality? > > > > Regards, > > Ronald. > > I tend to agree here, the functionality was not depricated, > it was replaced by a new implementation in another language. > Sure, that's why the wording was specifically that "this script is deprecated." Because it is, we no longer support generating syscall bits with it. I don't really care much about this at all because I'm not convinced any downstreams are doing anything special here (besides, of course, the one I already know about), and thus I think this will have very little or no impact. Either way, I've incorporated the two suggestions above into r363628. Feel free to tweak it however you want and just commit it... consider any adjustment okay by me unless said adjustment is the complete opposite of what we're doing. Thanks, Kyle Evans > > > > > > Van: Kyle Evans > > Datum: maandag, 27 juli 2020 05:13 > > Aan: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org > > Onderwerp: svn commit: r363595 - head/sys/kern > > > > > > Author: kevans > > > Date: Mon Jul 27 03:13:23 2020 > > > New Revision: 363595 > > > URL: https://svnweb.freebsd.org/changeset/base/363595 > > > > > > Log: > > > makesyscalls.sh: spit out a deprecation notice to stderr > > > > > > This has for a while been replaced by makesyscalls.lua in the stock FreeBSD > > > build. Ensure downstreams get some notice that it'a going away if they're > > > reliant on it, maybe. > > > > > > Modified: > > > head/sys/kern/makesyscalls.sh > > > > > > Modified: head/sys/kern/makesyscalls.sh > > > ============================================================================== > > > --- head/sys/kern/makesyscalls.sh Mon Jul 27 01:53:27 2020 (r363594) > > > +++ head/sys/kern/makesyscalls.sh Mon Jul 27 03:13:23 2020 (r363595) > > > @@ -60,6 +60,8 @@ case $# in > > > ;; > > > esac > > > > > > +1>&2 echo "$0: This script is deprecated and will be removed before FreeBSD 13." > > > + > > > if [ -n "$2" ]; then > > > . "$2" > > > fi > > > _______________________________________________ > > > svn-src-all@freebsd.org mailing list > > > https://lists.freebsd.org/mailman/listinfo/svn-src-all > > > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" > > > > > > > > > > > -- > Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Tue Jul 28 02:53:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4F60D37911A; Tue, 28 Jul 2020 02:53:46 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BG1TQ1V6Nz3Sfn; Tue, 28 Jul 2020 02:53:46 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 169CB27DFE; Tue, 28 Jul 2020 02:53:46 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S2rjtF040047; Tue, 28 Jul 2020 02:53:45 GMT (envelope-from freqlabs@FreeBSD.org) Received: (from freqlabs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S2rjrq040043; Tue, 28 Jul 2020 02:53:45 GMT (envelope-from freqlabs@FreeBSD.org) Message-Id: <202007280253.06S2rjrq040043@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: freqlabs set sender to freqlabs@FreeBSD.org using -f From: Ryan Moeller Date: Tue, 28 Jul 2020 02:53:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363629 - in stable/12/sys: dev/coretemp dev/hwpmc x86/include X-SVN-Group: stable-12 X-SVN-Commit-Author: freqlabs X-SVN-Commit-Paths: in stable/12/sys: dev/coretemp dev/hwpmc x86/include X-SVN-Commit-Revision: 363629 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 02:53:46 -0000 Author: freqlabs Date: Tue Jul 28 02:53:44 2020 New Revision: 363629 URL: https://svnweb.freebsd.org/changeset/base/363629 Log: MFC r363206: hwpmc: Always set pmc_cpuid to something pmc_cpuid was uninitialized for most AMD processor families. We can still populate this string for unimplemented families. Also added a CPUID_TO_STEPPING macro and converted existing code to use it. Reviewed by: mav Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25673 Modified: stable/12/sys/dev/coretemp/coretemp.c stable/12/sys/dev/hwpmc/hwpmc_amd.c stable/12/sys/dev/hwpmc/hwpmc_intel.c stable/12/sys/x86/include/specialreg.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/coretemp/coretemp.c ============================================================================== --- stable/12/sys/dev/coretemp/coretemp.c Tue Jul 28 01:05:40 2020 (r363628) +++ stable/12/sys/dev/coretemp/coretemp.c Tue Jul 28 02:53:44 2020 (r363629) @@ -165,7 +165,7 @@ coretemp_attach(device_t dev) sc->sc_dev = dev; pdev = device_get_parent(dev); cpu_model = CPUID_TO_MODEL(cpu_id); - cpu_stepping = cpu_id & CPUID_STEPPING; + cpu_stepping = CPUID_TO_STEPPING(cpu_id); /* * Some CPUs, namely the PIII, don't have thermal sensors, but Modified: stable/12/sys/dev/hwpmc/hwpmc_amd.c ============================================================================== --- stable/12/sys/dev/hwpmc/hwpmc_amd.c Tue Jul 28 01:05:40 2020 (r363628) +++ stable/12/sys/dev/hwpmc/hwpmc_amd.c Tue Jul 28 02:53:44 2020 (r363629) @@ -1073,7 +1073,7 @@ pmc_amd_initialize(void) enum pmc_cputype cputype; struct pmc_mdep *pmc_mdep; enum pmc_class class; - int model, stepping; + int family, model, stepping; char *name; /* @@ -1085,14 +1085,16 @@ pmc_amd_initialize(void) */ name = NULL; - model = ((cpu_id & 0xF0000) >> 12) | ((cpu_id & 0xF0) >> 4); - stepping = cpu_id & 0xF; - if (CPUID_TO_FAMILY(cpu_id) == 0x17) - snprintf(pmc_cpuid, sizeof(pmc_cpuid), "AuthenticAMD-%d-%02X-%X", - CPUID_TO_FAMILY(cpu_id), model, stepping); - if (CPUID_TO_FAMILY(cpu_id) == 0x18) + family = CPUID_TO_FAMILY(cpu_id); + model = CPUID_TO_MODEL(cpu_id); + stepping = CPUID_TO_STEPPING(cpu_id); + + if (family == 0x18) snprintf(pmc_cpuid, sizeof(pmc_cpuid), "HygonGenuine-%d-%02X-%X", - CPUID_TO_FAMILY(cpu_id), model, stepping); + family, model, stepping); + else + snprintf(pmc_cpuid, sizeof(pmc_cpuid), "AuthenticAMD-%d-%02X-%X", + family, model, stepping); switch (cpu_id & 0xF00) { #if defined(__i386__) Modified: stable/12/sys/dev/hwpmc/hwpmc_intel.c ============================================================================== --- stable/12/sys/dev/hwpmc/hwpmc_intel.c Tue Jul 28 01:05:40 2020 (r363628) +++ stable/12/sys/dev/hwpmc/hwpmc_intel.c Tue Jul 28 02:53:44 2020 (r363629) @@ -80,7 +80,7 @@ pmc_intel_initialize(void) { struct pmc_mdep *pmc_mdep; enum pmc_cputype cputype; - int error, model, nclasses, ncpus, stepping, verov; + int error, family, model, nclasses, ncpus, stepping, verov; KASSERT(cpu_vendor_id == CPU_VENDOR_INTEL, ("[intel,%d] Initializing non-intel processor", __LINE__)); @@ -91,11 +91,13 @@ pmc_intel_initialize(void) nclasses = 2; error = 0; verov = 0; - model = ((cpu_id & 0xF0000) >> 12) | ((cpu_id & 0xF0) >> 4); - stepping = cpu_id & 0xF; + family = CPUID_TO_FAMILY(cpu_id); + model = CPUID_TO_MODEL(cpu_id); + stepping = CPUID_TO_STEPPING(cpu_id); snprintf(pmc_cpuid, sizeof(pmc_cpuid), "GenuineIntel-%d-%02X-%X", - (cpu_id & 0xF00) >> 8, model, stepping); + family, model, stepping); + switch (cpu_id & 0xF00) { case 0x600: /* Pentium Pro, Celeron, Pentium II & III */ switch (model) { Modified: stable/12/sys/x86/include/specialreg.h ============================================================================== --- stable/12/sys/x86/include/specialreg.h Tue Jul 28 01:05:40 2020 (r363628) +++ stable/12/sys/x86/include/specialreg.h Tue Jul 28 02:53:44 2020 (r363629) @@ -293,6 +293,7 @@ ((((id) & CPUID_FAMILY) >> 8) + \ (((id) & CPUID_EXT_FAMILY) >> 20)) #endif +#define CPUID_TO_STEPPING(id) ((id) & CPUID_STEPPING) /* * CPUID instruction 1 ebx info From owner-svn-src-all@freebsd.org Tue Jul 28 02:56:27 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 53D2E378FD3; Tue, 28 Jul 2020 02:56:27 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BG1XW1WbKz3Sd1; Tue, 28 Jul 2020 02:56:27 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F1F0927F48; Tue, 28 Jul 2020 02:56:26 +0000 (UTC) (envelope-from freqlabs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S2uQbb040240; Tue, 28 Jul 2020 02:56:26 GMT (envelope-from freqlabs@FreeBSD.org) Received: (from freqlabs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S2uQ8e040238; Tue, 28 Jul 2020 02:56:26 GMT (envelope-from freqlabs@FreeBSD.org) Message-Id: <202007280256.06S2uQ8e040238@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: freqlabs set sender to freqlabs@FreeBSD.org using -f From: Ryan Moeller Date: Tue, 28 Jul 2020 02:56:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363630 - in head: lib/libpmc sys/dev/hwpmc X-SVN-Group: head X-SVN-Commit-Author: freqlabs X-SVN-Commit-Paths: in head: lib/libpmc sys/dev/hwpmc X-SVN-Commit-Revision: 363630 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 02:56:27 -0000 Author: freqlabs Date: Tue Jul 28 02:56:26 2020 New Revision: 363630 URL: https://svnweb.freebsd.org/changeset/base/363630 Log: libpmc: Use known pmc_cpuid buffer size Use the existing PMC_CPUID_LEN to size pmc_cpuid in the kernel and various buffers for reading it in libpmc. This avoids some extra syscalls and malloc/frees. While in here, use strlcpy to copy a user-provided cpuid string instead of memcpy, to make sure we terminate the buffer. Reviewed by: mav MFC after: 1 week Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25679 Modified: head/lib/libpmc/libpmc_pmu_util.c head/sys/dev/hwpmc/hwpmc_mod.c Modified: head/lib/libpmc/libpmc_pmu_util.c ============================================================================== --- head/lib/libpmc/libpmc_pmu_util.c Tue Jul 28 02:53:44 2020 (r363629) +++ head/lib/libpmc/libpmc_pmu_util.c Tue Jul 28 02:56:26 2020 (r363630) @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -89,20 +90,13 @@ static struct pmu_alias pmu_amd_alias_table[] = { static pmu_mfr_t pmu_events_mfr(void) { - char *buf; - size_t s; + char buf[PMC_CPUID_LEN]; + size_t s = sizeof(buf); pmu_mfr_t mfr; - if (sysctlbyname("kern.hwpmc.cpuid", (void *)NULL, &s, + if (sysctlbyname("kern.hwpmc.cpuid", buf, &s, (void *)NULL, 0) == -1) return (PMU_INVALID); - if ((buf = malloc(s + 1)) == NULL) - return (PMU_INVALID); - if (sysctlbyname("kern.hwpmc.cpuid", buf, &s, - (void *)NULL, 0) == -1) { - free(buf); - return (PMU_INVALID); - } if (strcasestr(buf, "AuthenticAMD") != NULL || strcasestr(buf, "HygonGenuine") != NULL) mfr = PMU_AMD; @@ -110,7 +104,6 @@ pmu_events_mfr(void) mfr = PMU_INTEL; else mfr = PMU_INVALID; - free(buf); return (mfr); } @@ -169,17 +162,14 @@ pmu_events_map_get(const char *cpuid) { regex_t re; regmatch_t pmatch[1]; - size_t s; - char buf[64]; + char buf[PMC_CPUID_LEN]; + size_t s = sizeof(buf); int match; const struct pmu_events_map *pme; if (cpuid != NULL) { - memcpy(buf, cpuid, 64); + strlcpy(buf, cpuid, s); } else { - if (sysctlbyname("kern.hwpmc.cpuid", (void *)NULL, &s, - (void *)NULL, 0) == -1) - return (NULL); if (sysctlbyname("kern.hwpmc.cpuid", buf, &s, (void *)NULL, 0) == -1) return (NULL); Modified: head/sys/dev/hwpmc/hwpmc_mod.c ============================================================================== --- head/sys/dev/hwpmc/hwpmc_mod.c Tue Jul 28 02:53:44 2020 (r363629) +++ head/sys/dev/hwpmc/hwpmc_mod.c Tue Jul 28 02:56:26 2020 (r363630) @@ -305,7 +305,7 @@ static int pmc_callchaindepth = PMC_CALLCHAIN_DEPTH; SYSCTL_INT(_kern_hwpmc, OID_AUTO, callchaindepth, CTLFLAG_RDTUN, &pmc_callchaindepth, 0, "depth of call chain records"); -char pmc_cpuid[64]; +char pmc_cpuid[PMC_CPUID_LEN]; SYSCTL_STRING(_kern_hwpmc, OID_AUTO, cpuid, CTLFLAG_RD, pmc_cpuid, 0, "cpu version string"); #ifdef HWPMC_DEBUG From owner-svn-src-all@freebsd.org Tue Jul 28 04:58:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 728AF37CF36; Tue, 28 Jul 2020 04:58:02 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BG4Dp2NLDz3bQ8; Tue, 28 Jul 2020 04:58:02 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 34F2F9772; Tue, 28 Jul 2020 04:58:02 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S4w2Gl014909; Tue, 28 Jul 2020 04:58:02 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S4w28H014908; Tue, 28 Jul 2020 04:58:02 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202007280458.06S4w28H014908@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 28 Jul 2020 04:58:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363632 - stable/12/stand/efi/loader X-SVN-Group: stable-12 X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: stable/12/stand/efi/loader X-SVN-Commit-Revision: 363632 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 04:58:02 -0000 Author: kevans Date: Tue Jul 28 04:58:01 2020 New Revision: 363632 URL: https://svnweb.freebsd.org/changeset/base/363632 Log: MFC r355132: Support kernels larger than EFI_STAGING_SIZE in loader.efi With a very large kernel or module the staging area may be too small to hold it. When this is the case try to allocate more space before failing in the efi copyin/copyout/readin functions. Modified: stable/12/stand/efi/loader/copy.c Directory Properties: stable/12/ (props changed) Modified: stable/12/stand/efi/loader/copy.c ============================================================================== --- stable/12/stand/efi/loader/copy.c Tue Jul 28 03:25:31 2020 (r363631) +++ stable/12/stand/efi/loader/copy.c Tue Jul 28 04:58:01 2020 (r363632) @@ -185,7 +185,7 @@ out: #endif #endif -EFI_PHYSICAL_ADDRESS staging, staging_end; +EFI_PHYSICAL_ADDRESS staging, staging_end, staging_base; int stage_offset_set = 0; ssize_t stage_offset; @@ -224,6 +224,7 @@ efi_copy_init(void) EFI_ERROR_CODE(status)); return (status); } + staging_base = staging; staging_end = staging + nr_pages * EFI_PAGE_SIZE; #if defined(__aarch64__) || defined(__arm__) @@ -240,6 +241,66 @@ efi_copy_init(void) return (0); } +static bool +efi_check_space(vm_offset_t end) +{ + EFI_PHYSICAL_ADDRESS addr; + EFI_STATUS status; + unsigned long nr_pages; + + /* There is already enough space */ + if (end <= staging_end) + return (true); + + end = roundup2(end, EFI_PAGE_SIZE); + nr_pages = EFI_SIZE_TO_PAGES(end - staging_end); + +#if defined(__i386__) || defined(__amd64__) + /* X86 needs all memory to be allocated under the 1G boundary */ + if (end > 1024*1024*1024) + goto before_staging; +#endif + + /* Try to allocate more space after the previous allocation */ + addr = staging_end; + status = BS->AllocatePages(AllocateAddress, EfiLoaderData, nr_pages, + &addr); + if (!EFI_ERROR(status)) { + staging_end = staging_end + nr_pages * EFI_PAGE_SIZE; + return (true); + } + +before_staging: + /* Try allocating space before the previous allocation */ + if (staging < nr_pages * EFI_PAGE_SIZE) { + printf("Not enough space before allocation\n"); + return (false); + } + addr = staging - nr_pages * EFI_PAGE_SIZE; +#if defined(__aarch64__) || defined(__arm__) + /* See efi_copy_init for why this is needed */ + addr = rounddown2(addr, 2 * 1024 * 1024); +#endif + nr_pages = EFI_SIZE_TO_PAGES(staging_base - addr); + status = BS->AllocatePages(AllocateAddress, EfiLoaderData, nr_pages, + &addr); + if (!EFI_ERROR(status)) { + /* + * Move the old allocation and update the state so + * translation still works. + */ + staging_base = addr; + memmove((void *)staging_base, (void *)staging, + staging_end - staging); + stage_offset -= (staging - staging_base); + staging = staging_base; + return (true); + } + + printf("efi_check_space: Unable to expand staging area\n"); + return (false); +} + void * efi_translate(vm_offset_t ptr) { @@ -257,7 +318,7 @@ efi_copyin(const void *src, vm_offset_t dest, const si } /* XXX: Callers do not check for failure. */ - if (dest + stage_offset + len > staging_end) { + if (!efi_check_space(dest + stage_offset + len)) { errno = ENOMEM; return (-1); } @@ -283,7 +344,7 @@ ssize_t efi_readin(readin_handle_t fd, vm_offset_t dest, const size_t len) { - if (dest + stage_offset + len > staging_end) { + if (!efi_check_space(dest + stage_offset + len)) { errno = ENOMEM; return (-1); } From owner-svn-src-all@freebsd.org Tue Jul 28 07:04:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E9BED37E76D; Tue, 28 Jul 2020 07:04:46 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BG7325tKmz3yRR; Tue, 28 Jul 2020 07:04:46 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ACFBAB323; Tue, 28 Jul 2020 07:04:46 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S74kNj094260; Tue, 28 Jul 2020 07:04:46 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S74kDK094259; Tue, 28 Jul 2020 07:04:46 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007280704.06S74kDK094259@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Tue, 28 Jul 2020 07:04:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363633 - stable/12/sys/amd64/include X-SVN-Group: stable-12 X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: stable/12/sys/amd64/include X-SVN-Commit-Revision: 363633 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 07:04:47 -0000 Author: mjg Date: Tue Jul 28 07:04:46 2020 New Revision: 363633 URL: https://svnweb.freebsd.org/changeset/base/363633 Log: MFC r363242: amd64: patch ffsl to use the compiler builtin Modified: stable/12/sys/amd64/include/cpufunc.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/amd64/include/cpufunc.h ============================================================================== --- stable/12/sys/amd64/include/cpufunc.h Tue Jul 28 04:58:01 2020 (r363632) +++ stable/12/sys/amd64/include/cpufunc.h Tue Jul 28 07:04:46 2020 (r363633) @@ -167,7 +167,8 @@ enable_intr(void) static __inline __pure2 int ffsl(long mask) { - return (mask == 0 ? mask : (int)bsfq((u_long)mask) + 1); + + return (__builtin_ffsl(mask)); } #define HAVE_INLINE_FFSLL From owner-svn-src-all@freebsd.org Tue Jul 28 07:05:50 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 34F0737ED31; Tue, 28 Jul 2020 07:05:50 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BG74G0dxFz3yST; Tue, 28 Jul 2020 07:05:50 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EE187B270; Tue, 28 Jul 2020 07:05:49 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S75nSA094371; Tue, 28 Jul 2020 07:05:49 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S75nUG094370; Tue, 28 Jul 2020 07:05:49 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007280705.06S75nUG094370@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Tue, 28 Jul 2020 07:05:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363634 - stable/12/sys/kern X-SVN-Group: stable-12 X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: stable/12/sys/kern X-SVN-Commit-Revision: 363634 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 07:05:50 -0000 Author: mjg Date: Tue Jul 28 07:05:49 2020 New Revision: 363634 URL: https://svnweb.freebsd.org/changeset/base/363634 Log: MFC r363511: Do a lockless check in kthread_suspend_check Modified: stable/12/sys/kern/kern_kthread.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/kern_kthread.c ============================================================================== --- stable/12/sys/kern/kern_kthread.c Tue Jul 28 07:04:46 2020 (r363633) +++ stable/12/sys/kern/kern_kthread.c Tue Jul 28 07:05:49 2020 (r363634) @@ -444,12 +444,15 @@ kthread_suspend_check(void) panic("%s: curthread is not a valid kthread", __func__); /* - * As long as the double-lock protection is used when accessing the - * TDF_KTH_SUSP flag, synchronizing the read operation via proc mutex - * is fine. + * Setting the TDF_KTH_SUSP flag is protected by process lock. + * + * Do an unlocked read first to avoid serializing with all other threads + * in the common case of not suspending. */ + if ((td->td_flags & TDF_KTH_SUSP) == 0) + return; PROC_LOCK(p); - while (td->td_flags & TDF_KTH_SUSP) { + while ((td->td_flags & TDF_KTH_SUSP) != 0) { wakeup(&td->td_flags); msleep(&td->td_flags, &p->p_mtx, PPAUSE, "ktsusp", 0); } From owner-svn-src-all@freebsd.org Tue Jul 28 07:07:39 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4443A37EF2B; Tue, 28 Jul 2020 07:07:39 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BG76M13vBz3ysP; Tue, 28 Jul 2020 07:07:39 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 06F66B144; Tue, 28 Jul 2020 07:07:39 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S77crn094520; Tue, 28 Jul 2020 07:07:38 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S77cvt094518; Tue, 28 Jul 2020 07:07:38 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007280707.06S77cvt094518@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Tue, 28 Jul 2020 07:07:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363635 - in stable/12/sys: sys vm X-SVN-Group: stable-12 X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in stable/12/sys: sys vm X-SVN-Commit-Revision: 363635 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 07:07:39 -0000 Author: mjg Date: Tue Jul 28 07:07:38 2020 New Revision: 363635 URL: https://svnweb.freebsd.org/changeset/base/363635 Log: MFC r363444,r363513: vm: annotate swap_reserved with __exclusive_cache_line Remove leftover macros for long gone vmsize mtx Modified: stable/12/sys/sys/resourcevar.h stable/12/sys/vm/swap_pager.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/sys/resourcevar.h ============================================================================== --- stable/12/sys/sys/resourcevar.h Tue Jul 28 07:05:49 2020 (r363634) +++ stable/12/sys/sys/resourcevar.h Tue Jul 28 07:07:38 2020 (r363635) @@ -109,9 +109,6 @@ struct uidinfo { #endif }; -#define UIDINFO_VMSIZE_LOCK(ui) mtx_lock(&((ui)->ui_vmsize_mtx)) -#define UIDINFO_VMSIZE_UNLOCK(ui) mtx_unlock(&((ui)->ui_vmsize_mtx)) - struct proc; struct rusage_ext; struct thread; Modified: stable/12/sys/vm/swap_pager.c ============================================================================== --- stable/12/sys/vm/swap_pager.c Tue Jul 28 07:05:49 2020 (r363634) +++ stable/12/sys/vm/swap_pager.c Tue Jul 28 07:07:38 2020 (r363635) @@ -152,7 +152,7 @@ static int nswapdev; /* Number of swap devices */ int swap_pager_avail; static struct sx swdev_syscall_lock; /* serialize swap(on|off) */ -static u_long swap_reserved; +static __exclusive_cache_line u_long swap_reserved; static u_long swap_total; static int sysctl_page_shift(SYSCTL_HANDLER_ARGS); SYSCTL_PROC(_vm, OID_AUTO, swap_reserved, CTLTYPE_U64 | CTLFLAG_RD | CTLFLAG_MPSAFE, From owner-svn-src-all@freebsd.org Tue Jul 28 09:29:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 20E1E3A3896; Tue, 28 Jul 2020 09:29:58 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGBGY75BGz47YJ; Tue, 28 Jul 2020 09:29:57 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D7019C7EA; Tue, 28 Jul 2020 09:29:57 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S9TvP2080429; Tue, 28 Jul 2020 09:29:57 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S9Tu2X080424; Tue, 28 Jul 2020 09:29:56 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007280929.06S9Tu2X080424@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 28 Jul 2020 09:29:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363636 - in head/sys: conf dev/smc X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: in head/sys: conf dev/smc X-SVN-Commit-Revision: 363636 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 09:29:58 -0000 Author: andrew Date: Tue Jul 28 09:29:56 2020 New Revision: 363636 URL: https://svnweb.freebsd.org/changeset/base/363636 Log: Add an ACPI attachment for if_smc This is needed by some of the Arm simulators as they implement a smc based network interface, but use ACPI rather than FDT. Sponsored by: Innovate UK Added: head/sys/dev/smc/if_smc_acpi.c - copied, changed from r363635, head/sys/dev/smc/if_smc_fdt.c Modified: head/sys/conf/files head/sys/dev/smc/if_smc.c head/sys/dev/smc/if_smc_fdt.c head/sys/dev/smc/if_smcvar.h Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Tue Jul 28 07:07:38 2020 (r363635) +++ head/sys/conf/files Tue Jul 28 09:29:56 2020 (r363636) @@ -3029,6 +3029,7 @@ dev/smbus/smbconf.c optional smbus dev/smbus/smbus.c optional smbus dev/smbus/smbus_if.m optional smbus dev/smc/if_smc.c optional smc +dev/smc/if_smc_acpi.c optional smc acpi dev/smc/if_smc_fdt.c optional smc fdt dev/snp/snp.c optional snp dev/sound/clone.c optional sound Modified: head/sys/dev/smc/if_smc.c ============================================================================== --- head/sys/dev/smc/if_smc.c Tue Jul 28 07:07:38 2020 (r363635) +++ head/sys/dev/smc/if_smc.c Tue Jul 28 09:29:56 2020 (r363636) @@ -80,6 +80,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include "miibus_if.h" + #define SMC_LOCK(sc) mtx_lock(&(sc)->smc_mtx) #define SMC_UNLOCK(sc) mtx_unlock(&(sc)->smc_mtx) #define SMC_ASSERT_LOCKED(sc) mtx_assert(&(sc)->smc_mtx, MA_OWNED) @@ -479,6 +481,27 @@ smc_detach(device_t dev) return (0); } + +static device_method_t smc_methods[] = { + /* Device interface */ + DEVMETHOD(device_attach, smc_attach), + DEVMETHOD(device_detach, smc_detach), + + /* MII interface */ + DEVMETHOD(miibus_readreg, smc_miibus_readreg), + DEVMETHOD(miibus_writereg, smc_miibus_writereg), + DEVMETHOD(miibus_statchg, smc_miibus_statchg), + + { 0, 0 } +}; + +driver_t smc_driver = { + "smc", + smc_methods, + sizeof(struct smc_softc), +}; + +DRIVER_MODULE(miibus, smc, miibus_driver, miibus_devclass, 0, 0); static void smc_start(struct ifnet *ifp) Copied and modified: head/sys/dev/smc/if_smc_acpi.c (from r363635, head/sys/dev/smc/if_smc_fdt.c) ============================================================================== --- head/sys/dev/smc/if_smc_fdt.c Tue Jul 28 07:07:38 2020 (r363635, copy source) +++ head/sys/dev/smc/if_smc_acpi.c Tue Jul 28 09:29:56 2020 (r363636) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2008 Benno Rice * All rights reserved. + * Copyright (c) 2020 Andrew Turner * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -35,92 +36,45 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include - -#include #include -#include -#include #include -#include -#include +#include +#include -#include -#include -#include -#include +static int smc_acpi_probe(device_t); -#include "miibus_if.h" - -static int smc_fdt_probe(device_t); -static int smc_fdt_attach(device_t); -static int smc_fdt_detach(device_t); - static int -smc_fdt_probe(device_t dev) +smc_acpi_probe(device_t dev) { struct smc_softc *sc; + ACPI_HANDLE h; - if (!ofw_bus_status_okay(dev)) + if ((h = acpi_get_handle(dev)) == NULL) return (ENXIO); - if (ofw_bus_is_compatible(dev, "smsc,lan91c111")) { - sc = device_get_softc(dev); - sc->smc_usemem = 1; + if (!acpi_MatchHid(h, "LNRO0003")) + return (ENXIO); - if (smc_probe(dev) != 0) { - return (ENXIO); - } + sc = device_get_softc(dev); + sc->smc_usemem = 1; - return (0); - } - - return (ENXIO); + return (smc_probe(dev)); } -static int -smc_fdt_attach(device_t dev) -{ - - return smc_attach(dev); -} - -static int -smc_fdt_detach(device_t dev) -{ - - smc_detach(dev); - - return (0); -} - -static device_method_t smc_fdt_methods[] = { +static device_method_t smc_acpi_methods[] = { /* Device interface */ - DEVMETHOD(device_probe, smc_fdt_probe), - DEVMETHOD(device_attach, smc_fdt_attach), - DEVMETHOD(device_detach, smc_fdt_detach), - - /* MII interface */ - DEVMETHOD(miibus_readreg, smc_miibus_readreg), - DEVMETHOD(miibus_writereg, smc_miibus_writereg), - DEVMETHOD(miibus_statchg, smc_miibus_statchg), - + DEVMETHOD(device_probe, smc_acpi_probe), { 0, 0 } }; -static driver_t smc_fdt_driver = { - "smc", - smc_fdt_methods, - sizeof(struct smc_softc), -}; +DEFINE_CLASS_1(smc, smc_acpi_driver, smc_acpi_methods, + sizeof(struct smc_softc), smc_driver); extern devclass_t smc_devclass; -DRIVER_MODULE(smc, simplebus, smc_fdt_driver, smc_devclass, 0, 0); -DRIVER_MODULE(miibus, smc, miibus_driver, miibus_devclass, 0, 0); -MODULE_DEPEND(smc, fdt, 1, 1, 1); +DRIVER_MODULE(smc, acpi, smc_acpi_driver, smc_devclass, 0, 0); +MODULE_DEPEND(smc, acpi, 1, 1, 1); MODULE_DEPEND(smc, ether, 1, 1, 1); MODULE_DEPEND(smc, miibus, 1, 1, 1); Modified: head/sys/dev/smc/if_smc_fdt.c ============================================================================== --- head/sys/dev/smc/if_smc_fdt.c Tue Jul 28 07:07:38 2020 (r363635) +++ head/sys/dev/smc/if_smc_fdt.c Tue Jul 28 09:29:56 2020 (r363636) @@ -35,29 +35,16 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include - -#include #include -#include -#include #include -#include -#include - #include #include #include #include -#include "miibus_if.h" - static int smc_fdt_probe(device_t); -static int smc_fdt_attach(device_t); -static int smc_fdt_detach(device_t); static int smc_fdt_probe(device_t dev) @@ -81,46 +68,18 @@ smc_fdt_probe(device_t dev) return (ENXIO); } -static int -smc_fdt_attach(device_t dev) -{ - - return smc_attach(dev); -} - -static int -smc_fdt_detach(device_t dev) -{ - - smc_detach(dev); - - return (0); -} - static device_method_t smc_fdt_methods[] = { /* Device interface */ DEVMETHOD(device_probe, smc_fdt_probe), - DEVMETHOD(device_attach, smc_fdt_attach), - DEVMETHOD(device_detach, smc_fdt_detach), - - /* MII interface */ - DEVMETHOD(miibus_readreg, smc_miibus_readreg), - DEVMETHOD(miibus_writereg, smc_miibus_writereg), - DEVMETHOD(miibus_statchg, smc_miibus_statchg), - { 0, 0 } }; -static driver_t smc_fdt_driver = { - "smc", - smc_fdt_methods, - sizeof(struct smc_softc), -}; +DEFINE_CLASS_1(smc, smc_fdt_driver, smc_fdt_methods, + sizeof(struct smc_softc), smc_driver); extern devclass_t smc_devclass; DRIVER_MODULE(smc, simplebus, smc_fdt_driver, smc_devclass, 0, 0); -DRIVER_MODULE(miibus, smc, miibus_driver, miibus_devclass, 0, 0); MODULE_DEPEND(smc, fdt, 1, 1, 1); MODULE_DEPEND(smc, ether, 1, 1, 1); MODULE_DEPEND(smc, miibus, 1, 1, 1); Modified: head/sys/dev/smc/if_smcvar.h ============================================================================== --- head/sys/dev/smc/if_smcvar.h Tue Jul 28 07:07:38 2020 (r363635) +++ head/sys/dev/smc/if_smcvar.h Tue Jul 28 09:29:56 2020 (r363636) @@ -68,6 +68,8 @@ struct smc_softc { void *smc_read_arg; }; +DECLARE_CLASS(smc_driver); + int smc_probe(device_t); int smc_attach(device_t); int smc_detach(device_t); From owner-svn-src-all@freebsd.org Tue Jul 28 09:46:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2593A3A3CFD; Tue, 28 Jul 2020 09:46:59 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGBfB73Qqz48nd; Tue, 28 Jul 2020 09:46:58 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D5526CCFD; Tue, 28 Jul 2020 09:46:58 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06S9kwsE092806; Tue, 28 Jul 2020 09:46:58 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06S9kwir092805; Tue, 28 Jul 2020 09:46:58 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007280946.06S9kwir092805@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 28 Jul 2020 09:46:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363637 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm/broadcom/bcm2835 X-SVN-Commit-Revision: 363637 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 09:46:59 -0000 Author: andrew Date: Tue Jul 28 09:46:58 2020 New Revision: 363637 URL: https://svnweb.freebsd.org/changeset/base/363637 Log: Enable use of the regulator in the Broadcom SDHCI controller This will be needed before a future GPIO controller driver is added as the later enables regulators that leave the SDHCI controller disabled. Reviewed by: manu Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D25834 Modified: head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Tue Jul 28 09:29:56 2020 (r363636) +++ head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Tue Jul 28 09:46:58 2020 (r363637) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include @@ -155,6 +156,7 @@ struct bcm_sdhci_softc { void * sc_intrhand; struct mmc_request * sc_req; struct sdhci_slot sc_slot; + struct mmc_fdt_helper sc_mmc_helper; int sc_dma_ch; bus_dma_tag_t sc_dma_tag; bus_dmamap_t sc_dma_map; @@ -315,6 +317,7 @@ bcm_sdhci_attach(device_t dev) sc->sc_slot.quirks = sc->conf->quirks; sdhci_init_slot(dev, &sc->sc_slot, 0); + mmc_fdt_parse(dev, 0, &sc->sc_mmc_helper, &sc->sc_slot.host); sc->sc_dma_ch = bcm_dma_allocate(BCM_DMA_CH_ANY); if (sc->sc_dma_ch == BCM_DMA_CH_INVALID) @@ -389,6 +392,37 @@ bcm_sdhci_intr(void *arg) } static int +bcm_sdhci_update_ios(device_t bus, device_t child) +{ + struct bcm_sdhci_softc *sc; + struct mmc_ios *ios; + int rv; + + sc = device_get_softc(bus); + ios = &sc->sc_slot.host.ios; + + if (ios->power_mode == power_up) { + if (sc->sc_mmc_helper.vmmc_supply) + regulator_enable(sc->sc_mmc_helper.vmmc_supply); + if (sc->sc_mmc_helper.vqmmc_supply) + regulator_enable(sc->sc_mmc_helper.vqmmc_supply); + } + + rv = sdhci_generic_update_ios(bus, child); + if (rv != 0) + return (rv); + + if (ios->power_mode == power_off) { + if (sc->sc_mmc_helper.vmmc_supply) + regulator_disable(sc->sc_mmc_helper.vmmc_supply); + if (sc->sc_mmc_helper.vqmmc_supply) + regulator_disable(sc->sc_mmc_helper.vqmmc_supply); + } + + return (0); +} + +static int bcm_sdhci_get_ro(device_t bus, device_t child) { @@ -787,7 +821,7 @@ static device_method_t bcm_sdhci_methods[] = { DEVMETHOD(bus_add_child, bus_generic_add_child), /* MMC bridge interface */ - DEVMETHOD(mmcbr_update_ios, sdhci_generic_update_ios), + DEVMETHOD(mmcbr_update_ios, bcm_sdhci_update_ios), DEVMETHOD(mmcbr_request, sdhci_generic_request), DEVMETHOD(mmcbr_get_ro, bcm_sdhci_get_ro), DEVMETHOD(mmcbr_acquire_host, sdhci_generic_acquire_host), From owner-svn-src-all@freebsd.org Tue Jul 28 09:51:31 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7CA473A423B; Tue, 28 Jul 2020 09:51:31 +0000 (UTC) (envelope-from mpp302@gmail.com) Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGBlQ0zg9z49Sh; Tue, 28 Jul 2020 09:51:29 +0000 (UTC) (envelope-from mpp302@gmail.com) Received: by mail-ej1-f44.google.com with SMTP id gg18so16626118ejb.6; Tue, 28 Jul 2020 02:51:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=LN05giEESP4h76x7zUiRaHCPeyKlCHO1PrljaGpOkoQ=; b=I+yYOiXfnD9sEvOwthSRjTaZvo7d8s20lCDTD5pQU2f6hpxyHvggc9NyXKJtCKLL/9 oYKb3lu8buUwavzegHsZSvt5mKHDuSWx/+0pI0cqWpuZttEC+gKb+ODiSJqZBYMH2C69 KAMHxytXoWvzjsofUKmCHDCijY/zhsc2pMK3AE1TWEHafPsgII6Q9Zkj30hCezC8Ylz5 2jB9swGJVT2p+i+RTn7UMGzILjVo+Yp3n0BdlI/yO2GawwlsBt+N/ckMVSOZzYo4x7o3 hTXzxQw+b5rpMxoegUkDAcdRNLf35Mrt/KQ5ZadLIBVNLN8B8FpDj2GiAoDEMxKAXO2m QYNw== X-Gm-Message-State: AOAM532ZY99/g4283OsFrL/+zXN+88bZYs/FlxQ5eRinsI+z4qsdnilI JXR9/sp819U+D6rrGSFXtUKGNRK0FKY= X-Google-Smtp-Source: ABdhPJy+jgpiDBenPrnqhJX70gjMf7mkFU9Ngw4ACwmnk0FBMi2tuE0S1ghu4HFyumjKQq+4wHf/Ng== X-Received: by 2002:a17:906:960a:: with SMTP id s10mr14642138ejx.60.1595929888215; Tue, 28 Jul 2020 02:51:28 -0700 (PDT) Received: from ?IPv6:2a02:8109:98c0:1bc0:5e5f:67ff:fef4:ffd8? ([2a02:8109:98c0:1bc0:5e5f:67ff:fef4:ffd8]) by smtp.gmail.com with ESMTPSA id ck6sm9438217edb.18.2020.07.28.02.51.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Jul 2020 02:51:27 -0700 (PDT) Subject: Re: svn commit: r363598 - head/usr.sbin/nologin To: rgrimes@freebsd.org Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, yuripv@freebsd.org References: <202007271717.06RHHc0j070402@gndrsh.dnsmgr.net> From: Mateusz Piotrowski <0mp@FreeBSD.org> Message-ID: <65062b6a-9a8e-e4fc-9355-99f26e7ef341@FreeBSD.org> Date: Tue, 28 Jul 2020 11:51:35 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <202007271717.06RHHc0j070402@gndrsh.dnsmgr.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: 4BGBlQ0zg9z49Sh X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of mpp302@gmail.com designates 209.85.218.44 as permitted sender) smtp.mailfrom=mpp302@gmail.com X-Spamd-Result: default: False [-0.98 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; DMARC_NA(0.00)[FreeBSD.org]; RCPT_COUNT_FIVE(0.00)[5]; NEURAL_HAM_LONG(-0.72)[-0.720]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_HAM_MEDIUM(-0.25)[-0.250]; NEURAL_HAM_SHORT(-0.01)[-0.009]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.218.44:from]; FORGED_SENDER(0.30)[0mp@FreeBSD.org,mpp302@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.218.44:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[0mp@FreeBSD.org,mpp302@gmail.com]; FREEMAIL_ENVFROM(0.00)[gmail.com] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 09:51:31 -0000 Hi, On 7/27/20 7:17 PM, Rodney W. Grimes wrote: > On 7/27/20 6:41 PM, Rodney W. Grimes wrote: >>>> Author: 0mp (doc,ports committer) >>>> Date: Mon Jul 27 10:45:47 2020 >>>> New Revision: 363598 >>>> URL: https://svnweb.freebsd.org/changeset/base/363598 >>>> >>>> Log: >>>> nologin.8: Improve wording >>> I disagree that this improves wording. The norm of action for >>> "logging" in Unix is to "write to syslog", not "log to syslog". >> Hmm, I agree, but here it is "log using syslog". > Please read syslog(3) it is rather consistent about using > "write to syslog". The action of calling syslog(3) is to > "writes message to the system message logger." Obviously, we write to syslog but from what I remember the reason why we decided to change the wording to "log using syscall" was that you don't write to the syslog(3) function, but you use it instead. > >> Have you got any idea how to further improve this sentence? > No, but can we not degrade it? Sure. Would you like me to just revert it? Cheers, Mateusz From owner-svn-src-all@freebsd.org Tue Jul 28 10:08:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A596D3A4F5F; Tue, 28 Jul 2020 10:08:08 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGC6c3rycz4BpP; Tue, 28 Jul 2020 10:08:08 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 67B0BD254; Tue, 28 Jul 2020 10:08:08 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SA889a005043; Tue, 28 Jul 2020 10:08:08 GMT (envelope-from mw@FreeBSD.org) Received: (from mw@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SA8861005042; Tue, 28 Jul 2020 10:08:08 GMT (envelope-from mw@FreeBSD.org) Message-Id: <202007281008.06SA8861005042@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mw set sender to mw@FreeBSD.org using -f From: Marcin Wojtas Date: Tue, 28 Jul 2020 10:08:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363638 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: mw X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 363638 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 10:08:08 -0000 Author: mw Date: Tue Jul 28 10:08:07 2020 New Revision: 363638 URL: https://svnweb.freebsd.org/changeset/base/363638 Log: Fix ENA build when integrated into kernel Provide missing rules for ena_datapath.c and ena_netmap.c, which prevented the ENA driver from building. This issue was showing up only when building the driver statically into the kernel. PR: 248116 Submitted by: Artur Rojek MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25796 Obtained from: Semihalf Sponsored by: Amazon, Inc. Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Tue Jul 28 09:46:58 2020 (r363637) +++ head/sys/conf/files Tue Jul 28 10:08:07 2020 (r363638) @@ -1641,6 +1641,10 @@ dev/e1000/e1000_osdep.c optional em \ dev/et/if_et.c optional et dev/ena/ena.c optional ena \ compile-with "${NORMAL_C} -I$S/contrib" +dev/ena/ena_datapath.c optional ena \ + compile-with "${NORMAL_C} -I$S/contrib" +dev/ena/ena_netmap.c optional ena \ + compile-with "${NORMAL_C} -I$S/contrib" dev/ena/ena_sysctl.c optional ena \ compile-with "${NORMAL_C} -I$S/contrib" contrib/ena-com/ena_com.c optional ena From owner-svn-src-all@freebsd.org Tue Jul 28 10:37:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A9AF53A5A8D; Tue, 28 Jul 2020 10:37:58 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGCn2401jz4DSd; Tue, 28 Jul 2020 10:37:58 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6BD9DDC17; Tue, 28 Jul 2020 10:37:58 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SAbwLe023269; Tue, 28 Jul 2020 10:37:58 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SAbwQA023268; Tue, 28 Jul 2020 10:37:58 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007281037.06SAbwQA023268@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 28 Jul 2020 10:37:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363639 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm/broadcom/bcm2835 X-SVN-Commit-Revision: 363639 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 10:37:58 -0000 Author: andrew Date: Tue Jul 28 10:37:58 2020 New Revision: 363639 URL: https://svnweb.freebsd.org/changeset/base/363639 Log: Have the bcm2835 firmware driver depend on the mailbox driver The firmware driver uses the mailbox driver to communicate with the firmware. Make this a more formal dependency. Reviewed by: manu Sponsored by: Innovate UK Modified: head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c Tue Jul 28 10:08:07 2020 (r363638) +++ head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c Tue Jul 28 10:37:58 2020 (r363639) @@ -177,5 +177,6 @@ static driver_t bcm2835_firmware_driver = { sizeof(struct bcm2835_firmware_softc), }; -DRIVER_MODULE(bcm2835_firmware, simplebus, bcm2835_firmware_driver, - bcm2835_firmware_devclass, 0, 0); +EARLY_DRIVER_MODULE(bcm2835_firmware, simplebus, bcm2835_firmware_driver, + bcm2835_firmware_devclass, 0, 0, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LAST); +MODULE_DEPEND(bcm2835_firmware, mbox, 1, 1, 1); From owner-svn-src-all@freebsd.org Tue Jul 28 10:40:01 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 44FBF3A5666; Tue, 28 Jul 2020 10:40:01 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGCqP13YLz4DXS; Tue, 28 Jul 2020 10:40:01 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 07831D8C7; Tue, 28 Jul 2020 10:40:01 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SAe0Qk023440; Tue, 28 Jul 2020 10:40:00 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SAe0i4023439; Tue, 28 Jul 2020 10:40:00 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007281040.06SAe0i4023439@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 28 Jul 2020 10:40:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363640 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm/broadcom/bcm2835 X-SVN-Commit-Revision: 363640 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 10:40:01 -0000 Author: andrew Date: Tue Jul 28 10:40:00 2020 New Revision: 363640 URL: https://svnweb.freebsd.org/changeset/base/363640 Log: Move the bcm2835 mailbox driver earlier in the boot This will be needed before the firmware driver is loaded Modified: head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Tue Jul 28 10:37:58 2020 (r363639) +++ head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Tue Jul 28 10:40:00 2020 (r363640) @@ -293,7 +293,8 @@ static driver_t bcm_mbox_driver = { static devclass_t bcm_mbox_devclass; -DRIVER_MODULE(mbox, simplebus, bcm_mbox_driver, bcm_mbox_devclass, 0, 0); +EARLY_DRIVER_MODULE(mbox, simplebus, bcm_mbox_driver, bcm_mbox_devclass, 0, 0, + BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LAST); static void bcm2835_mbox_dma_cb(void *arg, bus_dma_segment_t *segs, int nseg, int err) From owner-svn-src-all@freebsd.org Tue Jul 28 10:41:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6A9EC3A5C9B; Tue, 28 Jul 2020 10:41:44 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGCsN2F73z4DkR; Tue, 28 Jul 2020 10:41:44 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 30423D939; Tue, 28 Jul 2020 10:41:44 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SAfhfg026552; Tue, 28 Jul 2020 10:41:43 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SAfhRW026551; Tue, 28 Jul 2020 10:41:43 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007281041.06SAfhRW026551@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 28 Jul 2020 10:41:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363641 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm/broadcom/bcm2835 X-SVN-Commit-Revision: 363641 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 10:41:44 -0000 Author: andrew Date: Tue Jul 28 10:41:43 2020 New Revision: 363641 URL: https://svnweb.freebsd.org/changeset/base/363641 Log: Revert r363639 so I can use a more correct commit message Modified: head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c Tue Jul 28 10:40:00 2020 (r363640) +++ head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c Tue Jul 28 10:41:43 2020 (r363641) @@ -177,6 +177,5 @@ static driver_t bcm2835_firmware_driver = { sizeof(struct bcm2835_firmware_softc), }; -EARLY_DRIVER_MODULE(bcm2835_firmware, simplebus, bcm2835_firmware_driver, - bcm2835_firmware_devclass, 0, 0, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LAST); -MODULE_DEPEND(bcm2835_firmware, mbox, 1, 1, 1); +DRIVER_MODULE(bcm2835_firmware, simplebus, bcm2835_firmware_driver, + bcm2835_firmware_devclass, 0, 0); From owner-svn-src-all@freebsd.org Tue Jul 28 10:43:53 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 183BA3A5A6A; Tue, 28 Jul 2020 10:43:53 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGCvr6y6nz4Dnt; Tue, 28 Jul 2020 10:43:52 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D2115DC45; Tue, 28 Jul 2020 10:43:52 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SAhqFk029196; Tue, 28 Jul 2020 10:43:52 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SAhqnf029195; Tue, 28 Jul 2020 10:43:52 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007281043.06SAhqnf029195@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 28 Jul 2020 10:43:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363642 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm/broadcom/bcm2835 X-SVN-Commit-Revision: 363642 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 10:43:53 -0000 Author: andrew Date: Tue Jul 28 10:43:52 2020 New Revision: 363642 URL: https://svnweb.freebsd.org/changeset/base/363642 Log: Move the bcm2835 firmware driver earlier in the boot. It will be needed by other eaarly drivers. While here make the dependency of the mailbox formal with MODULE_DEPEND. Reviewed by: manu Sponsored by: Innovate UK Modified: head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c Tue Jul 28 10:41:43 2020 (r363641) +++ head/sys/arm/broadcom/bcm2835/bcm2835_firmware.c Tue Jul 28 10:43:52 2020 (r363642) @@ -177,5 +177,6 @@ static driver_t bcm2835_firmware_driver = { sizeof(struct bcm2835_firmware_softc), }; -DRIVER_MODULE(bcm2835_firmware, simplebus, bcm2835_firmware_driver, - bcm2835_firmware_devclass, 0, 0); +EARLY_DRIVER_MODULE(bcm2835_firmware, simplebus, bcm2835_firmware_driver, + bcm2835_firmware_devclass, 0, 0, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LAST); +MODULE_DEPEND(bcm2835_firmware, mbox, 1, 1, 1); From owner-svn-src-all@freebsd.org Tue Jul 28 10:45:30 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 659623A5B73; Tue, 28 Jul 2020 10:45:30 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGCxk2STJz4Dtg; Tue, 28 Jul 2020 10:45:30 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 38A26DBCC; Tue, 28 Jul 2020 10:45:30 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SAjU1u029354; Tue, 28 Jul 2020 10:45:30 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SAjThn029351; Tue, 28 Jul 2020 10:45:29 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007281045.06SAjThn029351@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 28 Jul 2020 10:45:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363643 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm/broadcom/bcm2835 X-SVN-Commit-Revision: 363643 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 10:45:30 -0000 Author: andrew Date: Tue Jul 28 10:45:29 2020 New Revision: 363643 URL: https://svnweb.freebsd.org/changeset/base/363643 Log: Switch the bcm2835 cpufreq driver to use the firmware interface Use the new Raspberry Pi firmware driver in the cpufreq driver. It is intended all drivers that need to interact with the firmware will move to use the firmware driver, this is the first. Reviewed by: manu Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D25609 Modified: head/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c head/sys/arm/broadcom/bcm2835/bcm2835_firmware.h head/sys/arm/broadcom/bcm2835/bcm2835_mbox_prop.h Modified: head/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c Tue Jul 28 10:43:52 2020 (r363642) +++ head/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c Tue Jul 28 10:45:29 2020 (r363643) @@ -47,12 +47,10 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include +#include #include #include "cpufreq_if.h" -#include "mbox_if.h" #ifdef DEBUG #define DPRINTF(fmt, ...) do { \ @@ -101,6 +99,7 @@ static struct sysctl_ctx_list bcm2835_sysctl_ctx; struct bcm2835_cpufreq_softc { device_t dev; + device_t firmware; int arm_max_freq; int arm_min_freq; int core_max_freq; @@ -161,7 +160,7 @@ static int bcm2835_cpufreq_get_clock_rate(struct bcm2835_cpufreq_softc *sc, uint32_t clock_id) { - struct msg_get_clock_rate msg; + union msg_get_clock_rate_body msg; int rate; int err; @@ -181,16 +180,11 @@ bcm2835_cpufreq_get_clock_rate(struct bcm2835_cpufreq_ /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_GET_CLOCK_RATE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.clock_id = clock_id; - msg.end_tag = 0; + msg.req.clock_id = clock_id; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_GET_CLOCK_RATE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't get clock rate (id=%u)\n", clock_id); @@ -198,7 +192,7 @@ bcm2835_cpufreq_get_clock_rate(struct bcm2835_cpufreq_ } /* result (Hz) */ - rate = (int)msg.body.resp.rate_hz; + rate = (int)msg.resp.rate_hz; DPRINTF("clock = %d(Hz)\n", rate); return (rate); } @@ -207,7 +201,7 @@ static int bcm2835_cpufreq_get_max_clock_rate(struct bcm2835_cpufreq_softc *sc, uint32_t clock_id) { - struct msg_get_max_clock_rate msg; + union msg_get_clock_rate_body msg; int rate; int err; @@ -227,16 +221,11 @@ bcm2835_cpufreq_get_max_clock_rate(struct bcm2835_cpuf /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_GET_MAX_CLOCK_RATE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.clock_id = clock_id; - msg.end_tag = 0; + msg.req.clock_id = clock_id; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_GET_MAX_CLOCK_RATE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't get max clock rate (id=%u)\n", clock_id); @@ -244,7 +233,7 @@ bcm2835_cpufreq_get_max_clock_rate(struct bcm2835_cpuf } /* result (Hz) */ - rate = (int)msg.body.resp.rate_hz; + rate = (int)msg.resp.rate_hz; DPRINTF("clock = %d(Hz)\n", rate); return (rate); } @@ -253,7 +242,7 @@ static int bcm2835_cpufreq_get_min_clock_rate(struct bcm2835_cpufreq_softc *sc, uint32_t clock_id) { - struct msg_get_min_clock_rate msg; + union msg_get_clock_rate_body msg; int rate; int err; @@ -273,16 +262,11 @@ bcm2835_cpufreq_get_min_clock_rate(struct bcm2835_cpuf /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_GET_MIN_CLOCK_RATE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.clock_id = clock_id; - msg.end_tag = 0; + msg.req.clock_id = clock_id; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_GET_MIN_CLOCK_RATE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't get min clock rate (id=%u)\n", clock_id); @@ -290,7 +274,7 @@ bcm2835_cpufreq_get_min_clock_rate(struct bcm2835_cpuf } /* result (Hz) */ - rate = (int)msg.body.resp.rate_hz; + rate = (int)msg.resp.rate_hz; DPRINTF("clock = %d(Hz)\n", rate); return (rate); } @@ -299,7 +283,7 @@ static int bcm2835_cpufreq_set_clock_rate(struct bcm2835_cpufreq_softc *sc, uint32_t clock_id, uint32_t rate_hz) { - struct msg_set_clock_rate msg; + union msg_set_clock_rate_body msg; int rate; int err; @@ -320,17 +304,12 @@ bcm2835_cpufreq_set_clock_rate(struct bcm2835_cpufreq_ /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_SET_CLOCK_RATE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.clock_id = clock_id; - msg.body.req.rate_hz = rate_hz; - msg.end_tag = 0; + msg.req.clock_id = clock_id; + msg.req.rate_hz = rate_hz; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_SET_CLOCK_RATE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't set clock rate (id=%u)\n", clock_id); @@ -338,7 +317,7 @@ bcm2835_cpufreq_set_clock_rate(struct bcm2835_cpufreq_ } /* workaround for core clock */ - if (clock_id == BCM2835_MBOX_CLOCK_ID_CORE) { + if (clock_id == BCM2835_FIRMWARE_CLOCK_ID_CORE) { /* for safety (may change voltage without changing clock) */ DELAY(TRANSITION_LATENCY); @@ -349,17 +328,12 @@ bcm2835_cpufreq_set_clock_rate(struct bcm2835_cpufreq_ /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_SET_CLOCK_RATE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.clock_id = clock_id; - msg.body.req.rate_hz = rate_hz; - msg.end_tag = 0; + msg.req.clock_id = clock_id; + msg.req.rate_hz = rate_hz; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_SET_CLOCK_RATE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't set clock rate (id=%u)\n", clock_id); @@ -368,7 +342,7 @@ bcm2835_cpufreq_set_clock_rate(struct bcm2835_cpufreq_ } /* result (Hz) */ - rate = (int)msg.body.resp.rate_hz; + rate = (int)msg.resp.rate_hz; DPRINTF("clock = %d(Hz)\n", rate); return (rate); } @@ -376,7 +350,7 @@ bcm2835_cpufreq_set_clock_rate(struct bcm2835_cpufreq_ static int bcm2835_cpufreq_get_turbo(struct bcm2835_cpufreq_softc *sc) { - struct msg_get_turbo msg; + union msg_get_turbo_body msg; int level; int err; @@ -396,23 +370,18 @@ bcm2835_cpufreq_get_turbo(struct bcm2835_cpufreq_softc /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_GET_TURBO; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.id = 0; - msg.end_tag = 0; + msg.req.id = 0; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_GET_TURBO, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't get turbo\n"); return (MSG_ERROR); } /* result 0=non-turbo, 1=turbo */ - level = (int)msg.body.resp.level; + level = (int)msg.resp.level; DPRINTF("level = %d\n", level); return (level); } @@ -420,7 +389,7 @@ bcm2835_cpufreq_get_turbo(struct bcm2835_cpufreq_softc static int bcm2835_cpufreq_set_turbo(struct bcm2835_cpufreq_softc *sc, uint32_t level) { - struct msg_set_turbo msg; + union msg_set_turbo_body msg; int value; int err; @@ -440,29 +409,25 @@ bcm2835_cpufreq_set_turbo(struct bcm2835_cpufreq_softc */ /* replace unknown value to OFF */ - if (level != BCM2835_MBOX_TURBO_ON && level != BCM2835_MBOX_TURBO_OFF) - level = BCM2835_MBOX_TURBO_OFF; + if (level != BCM2835_FIRMWARE_TURBO_ON && + level != BCM2835_FIRMWARE_TURBO_OFF) + level = BCM2835_FIRMWARE_TURBO_OFF; /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_SET_TURBO; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.id = 0; - msg.body.req.level = level; - msg.end_tag = 0; + msg.req.id = 0; + msg.req.level = level; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_SET_TURBO, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't set turbo\n"); return (MSG_ERROR); } /* result 0=non-turbo, 1=turbo */ - value = (int)msg.body.resp.level; + value = (int)msg.resp.level; DPRINTF("level = %d\n", value); return (value); } @@ -471,7 +436,7 @@ static int bcm2835_cpufreq_get_voltage(struct bcm2835_cpufreq_softc *sc, uint32_t voltage_id) { - struct msg_get_voltage msg; + union msg_get_voltage_body msg; int value; int err; @@ -491,23 +456,18 @@ bcm2835_cpufreq_get_voltage(struct bcm2835_cpufreq_sof /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_GET_VOLTAGE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.voltage_id = voltage_id; - msg.end_tag = 0; + msg.req.voltage_id = voltage_id; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_GET_VOLTAGE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't get voltage\n"); return (MSG_ERROR); } /* result (offset from 1.2V) */ - value = (int)msg.body.resp.value; + value = (int)msg.resp.value; DPRINTF("value = %d\n", value); return (value); } @@ -516,7 +476,7 @@ static int bcm2835_cpufreq_get_max_voltage(struct bcm2835_cpufreq_softc *sc, uint32_t voltage_id) { - struct msg_get_max_voltage msg; + union msg_get_voltage_body msg; int value; int err; @@ -536,23 +496,18 @@ bcm2835_cpufreq_get_max_voltage(struct bcm2835_cpufreq /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_GET_MAX_VOLTAGE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.voltage_id = voltage_id; - msg.end_tag = 0; + msg.req.voltage_id = voltage_id; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_GET_MAX_VOLTAGE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't get max voltage\n"); return (MSG_ERROR); } /* result (offset from 1.2V) */ - value = (int)msg.body.resp.value; + value = (int)msg.resp.value; DPRINTF("value = %d\n", value); return (value); } @@ -560,7 +515,7 @@ static int bcm2835_cpufreq_get_min_voltage(struct bcm2835_cpufreq_softc *sc, uint32_t voltage_id) { - struct msg_get_min_voltage msg; + union msg_get_voltage_body msg; int value; int err; @@ -580,23 +535,18 @@ bcm2835_cpufreq_get_min_voltage(struct bcm2835_cpufreq /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_GET_MIN_VOLTAGE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.voltage_id = voltage_id; - msg.end_tag = 0; + msg.req.voltage_id = voltage_id; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_GET_MIN_VOLTAGE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't get min voltage\n"); return (MSG_ERROR); } /* result (offset from 1.2V) */ - value = (int)msg.body.resp.value; + value = (int)msg.resp.value; DPRINTF("value = %d\n", value); return (value); } @@ -605,7 +555,7 @@ static int bcm2835_cpufreq_set_voltage(struct bcm2835_cpufreq_softc *sc, uint32_t voltage_id, int32_t value) { - struct msg_set_voltage msg; + union msg_set_voltage_body msg; int err; /* @@ -636,24 +586,19 @@ bcm2835_cpufreq_set_voltage(struct bcm2835_cpufreq_sof /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_SET_VOLTAGE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.voltage_id = voltage_id; - msg.body.req.value = (uint32_t)value; - msg.end_tag = 0; + msg.req.voltage_id = voltage_id; + msg.req.value = (uint32_t)value; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_SET_VOLTAGE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't set voltage\n"); return (MSG_ERROR); } /* result (offset from 1.2V) */ - value = (int)msg.body.resp.value; + value = (int)msg.resp.value; DPRINTF("value = %d\n", value); return (value); } @@ -661,7 +606,7 @@ bcm2835_cpufreq_set_voltage(struct bcm2835_cpufreq_sof static int bcm2835_cpufreq_get_temperature(struct bcm2835_cpufreq_softc *sc) { - struct msg_get_temperature msg; + union msg_get_temperature_body msg; int value; int err; @@ -681,23 +626,18 @@ bcm2835_cpufreq_get_temperature(struct bcm2835_cpufreq /* setup single tag buffer */ memset(&msg, 0, sizeof(msg)); - msg.hdr.buf_size = sizeof(msg); - msg.hdr.code = BCM2835_MBOX_CODE_REQ; - msg.tag_hdr.tag = BCM2835_MBOX_TAG_GET_TEMPERATURE; - msg.tag_hdr.val_buf_size = sizeof(msg.body); - msg.tag_hdr.val_len = sizeof(msg.body.req); - msg.body.req.temperature_id = 0; - msg.end_tag = 0; + msg.req.temperature_id = 0; /* call mailbox property */ - err = bcm2835_mbox_property(&msg, sizeof(msg)); + err = bcm2835_firmware_property(sc->firmware, + BCM2835_FIRMWARE_TAG_GET_TEMPERATURE, &msg, sizeof(msg)); if (err) { device_printf(sc->dev, "can't get temperature\n"); return (MSG_ERROR); } /* result (temperature of degree C) */ - value = (int)msg.body.resp.value; + value = (int)msg.resp.value; DPRINTF("value = %d\n", value); return (value); } @@ -713,7 +653,7 @@ sysctl_bcm2835_cpufreq_arm_freq(SYSCTL_HANDLER_ARGS) /* get realtime value */ VC_LOCK(sc); - val = bcm2835_cpufreq_get_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_ARM); + val = bcm2835_cpufreq_get_clock_rate(sc, BCM2835_FIRMWARE_CLOCK_ID_ARM); VC_UNLOCK(sc); if (val == MSG_ERROR) return (EIO); @@ -724,7 +664,7 @@ sysctl_bcm2835_cpufreq_arm_freq(SYSCTL_HANDLER_ARGS) /* write request */ VC_LOCK(sc); - err = bcm2835_cpufreq_set_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_ARM, + err = bcm2835_cpufreq_set_clock_rate(sc, BCM2835_FIRMWARE_CLOCK_ID_ARM, val); VC_UNLOCK(sc); if (err == MSG_ERROR) { @@ -745,7 +685,8 @@ sysctl_bcm2835_cpufreq_core_freq(SYSCTL_HANDLER_ARGS) /* get realtime value */ VC_LOCK(sc); - val = bcm2835_cpufreq_get_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_CORE); + val = bcm2835_cpufreq_get_clock_rate(sc, + BCM2835_FIRMWARE_CLOCK_ID_CORE); VC_UNLOCK(sc); if (val == MSG_ERROR) return (EIO); @@ -756,7 +697,7 @@ sysctl_bcm2835_cpufreq_core_freq(SYSCTL_HANDLER_ARGS) /* write request */ VC_LOCK(sc); - err = bcm2835_cpufreq_set_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_CORE, + err = bcm2835_cpufreq_set_clock_rate(sc, BCM2835_FIRMWARE_CLOCK_ID_CORE, val); if (err == MSG_ERROR) { VC_UNLOCK(sc); @@ -778,7 +719,8 @@ sysctl_bcm2835_cpufreq_sdram_freq(SYSCTL_HANDLER_ARGS) /* get realtime value */ VC_LOCK(sc); - val = bcm2835_cpufreq_get_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_SDRAM); + val = bcm2835_cpufreq_get_clock_rate(sc, + BCM2835_FIRMWARE_CLOCK_ID_SDRAM); VC_UNLOCK(sc); if (val == MSG_ERROR) return (EIO); @@ -789,8 +731,8 @@ sysctl_bcm2835_cpufreq_sdram_freq(SYSCTL_HANDLER_ARGS) /* write request */ VC_LOCK(sc); - err = bcm2835_cpufreq_set_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_SDRAM, - val); + err = bcm2835_cpufreq_set_clock_rate(sc, + BCM2835_FIRMWARE_CLOCK_ID_SDRAM, val); VC_UNLOCK(sc); if (err == MSG_ERROR) { device_printf(sc->dev, "set clock sdram_freq error\n"); @@ -821,9 +763,9 @@ sysctl_bcm2835_cpufreq_turbo(SYSCTL_HANDLER_ARGS) /* write request */ if (val > 0) - sc->turbo_mode = BCM2835_MBOX_TURBO_ON; + sc->turbo_mode = BCM2835_FIRMWARE_TURBO_ON; else - sc->turbo_mode = BCM2835_MBOX_TURBO_OFF; + sc->turbo_mode = BCM2835_FIRMWARE_TURBO_OFF; VC_LOCK(sc); err = bcm2835_cpufreq_set_turbo(sc, sc->turbo_mode); @@ -846,7 +788,7 @@ sysctl_bcm2835_cpufreq_voltage_core(SYSCTL_HANDLER_ARG /* get realtime value */ VC_LOCK(sc); - val = bcm2835_cpufreq_get_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_CORE); + val = bcm2835_cpufreq_get_voltage(sc, BCM2835_FIRMWARE_VOLTAGE_ID_CORE); VC_UNLOCK(sc); if (val == MSG_ERROR) return (EIO); @@ -861,7 +803,7 @@ sysctl_bcm2835_cpufreq_voltage_core(SYSCTL_HANDLER_ARG sc->voltage_core = val; VC_LOCK(sc); - err = bcm2835_cpufreq_set_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_CORE, + err = bcm2835_cpufreq_set_voltage(sc, BCM2835_FIRMWARE_VOLTAGE_ID_CORE, sc->voltage_core); VC_UNLOCK(sc); if (err == MSG_ERROR) { @@ -882,7 +824,8 @@ sysctl_bcm2835_cpufreq_voltage_sdram_c(SYSCTL_HANDLER_ /* get realtime value */ VC_LOCK(sc); - val = bcm2835_cpufreq_get_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_SDRAM_C); + val = bcm2835_cpufreq_get_voltage(sc, + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_C); VC_UNLOCK(sc); if (val == MSG_ERROR) return (EIO); @@ -897,7 +840,8 @@ sysctl_bcm2835_cpufreq_voltage_sdram_c(SYSCTL_HANDLER_ sc->voltage_sdram_c = val; VC_LOCK(sc); - err = bcm2835_cpufreq_set_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_SDRAM_C, + err = bcm2835_cpufreq_set_voltage(sc, + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_C, sc->voltage_sdram_c); VC_UNLOCK(sc); if (err == MSG_ERROR) { @@ -918,7 +862,8 @@ sysctl_bcm2835_cpufreq_voltage_sdram_i(SYSCTL_HANDLER_ /* get realtime value */ VC_LOCK(sc); - val = bcm2835_cpufreq_get_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_SDRAM_I); + val = bcm2835_cpufreq_get_voltage(sc, + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_I); VC_UNLOCK(sc); if (val == MSG_ERROR) return (EIO); @@ -933,8 +878,8 @@ sysctl_bcm2835_cpufreq_voltage_sdram_i(SYSCTL_HANDLER_ sc->voltage_sdram_i = val; VC_LOCK(sc); - err = bcm2835_cpufreq_set_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_SDRAM_I, - sc->voltage_sdram_i); + err = bcm2835_cpufreq_set_voltage(sc, + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_I, sc->voltage_sdram_i); VC_UNLOCK(sc); if (err == MSG_ERROR) { device_printf(sc->dev, "set voltage sdram_i error\n"); @@ -954,7 +899,8 @@ sysctl_bcm2835_cpufreq_voltage_sdram_p(SYSCTL_HANDLER_ /* get realtime value */ VC_LOCK(sc); - val = bcm2835_cpufreq_get_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_SDRAM_P); + val = bcm2835_cpufreq_get_voltage(sc, + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_P); VC_UNLOCK(sc); if (val == MSG_ERROR) return (EIO); @@ -969,8 +915,8 @@ sysctl_bcm2835_cpufreq_voltage_sdram_p(SYSCTL_HANDLER_ sc->voltage_sdram_p = val; VC_LOCK(sc); - err = bcm2835_cpufreq_set_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_SDRAM_P, - sc->voltage_sdram_p); + err = bcm2835_cpufreq_set_voltage(sc, + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_P, sc->voltage_sdram_p); VC_UNLOCK(sc); if (err == MSG_ERROR) { device_printf(sc->dev, "set voltage sdram_p error\n"); @@ -1002,22 +948,22 @@ sysctl_bcm2835_cpufreq_voltage_sdram(SYSCTL_HANDLER_AR sc->voltage_sdram = val; VC_LOCK(sc); - err = bcm2835_cpufreq_set_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_SDRAM_C, - val); + err = bcm2835_cpufreq_set_voltage(sc, + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_C, val); if (err == MSG_ERROR) { VC_UNLOCK(sc); device_printf(sc->dev, "set voltage sdram_c error\n"); return (EIO); } - err = bcm2835_cpufreq_set_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_SDRAM_I, - val); + err = bcm2835_cpufreq_set_voltage(sc, + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_I, val); if (err == MSG_ERROR) { VC_UNLOCK(sc); device_printf(sc->dev, "set voltage sdram_i error\n"); return (EIO); } - err = bcm2835_cpufreq_set_voltage(sc, BCM2835_MBOX_VOLTAGE_ID_SDRAM_P, - val); + err = bcm2835_cpufreq_set_voltage(sc, + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_P, val); if (err == MSG_ERROR) { VC_UNLOCK(sc); device_printf(sc->dev, "set voltage sdram_p error\n"); @@ -1097,42 +1043,42 @@ bcm2835_cpufreq_init(void *arg) /* current clock */ arm_freq = bcm2835_cpufreq_get_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_ARM); + BCM2835_FIRMWARE_CLOCK_ID_ARM); core_freq = bcm2835_cpufreq_get_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_CORE); + BCM2835_FIRMWARE_CLOCK_ID_CORE); sdram_freq = bcm2835_cpufreq_get_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_SDRAM); + BCM2835_FIRMWARE_CLOCK_ID_SDRAM); /* max/min clock */ arm_max_freq = bcm2835_cpufreq_get_max_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_ARM); + BCM2835_FIRMWARE_CLOCK_ID_ARM); arm_min_freq = bcm2835_cpufreq_get_min_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_ARM); + BCM2835_FIRMWARE_CLOCK_ID_ARM); core_max_freq = bcm2835_cpufreq_get_max_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_CORE); + BCM2835_FIRMWARE_CLOCK_ID_CORE); core_min_freq = bcm2835_cpufreq_get_min_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_CORE); + BCM2835_FIRMWARE_CLOCK_ID_CORE); sdram_max_freq = bcm2835_cpufreq_get_max_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_SDRAM); + BCM2835_FIRMWARE_CLOCK_ID_SDRAM); sdram_min_freq = bcm2835_cpufreq_get_min_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_SDRAM); + BCM2835_FIRMWARE_CLOCK_ID_SDRAM); /* turbo mode */ turbo = bcm2835_cpufreq_get_turbo(sc); if (turbo > 0) - sc->turbo_mode = BCM2835_MBOX_TURBO_ON; + sc->turbo_mode = BCM2835_FIRMWARE_TURBO_ON; else - sc->turbo_mode = BCM2835_MBOX_TURBO_OFF; + sc->turbo_mode = BCM2835_FIRMWARE_TURBO_OFF; /* voltage */ voltage_core = bcm2835_cpufreq_get_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_CORE); + BCM2835_FIRMWARE_VOLTAGE_ID_CORE); voltage_sdram_c = bcm2835_cpufreq_get_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_SDRAM_C); + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_C); voltage_sdram_i = bcm2835_cpufreq_get_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_SDRAM_I); + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_I); voltage_sdram_p = bcm2835_cpufreq_get_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_SDRAM_P); + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_P); /* current values (offset from 1.2V) */ sc->voltage_core = voltage_core; @@ -1143,21 +1089,21 @@ bcm2835_cpufreq_init(void *arg) /* max/min voltage */ max_voltage_core = bcm2835_cpufreq_get_max_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_CORE); + BCM2835_FIRMWARE_VOLTAGE_ID_CORE); min_voltage_core = bcm2835_cpufreq_get_min_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_CORE); + BCM2835_FIRMWARE_VOLTAGE_ID_CORE); max_voltage_sdram_c = bcm2835_cpufreq_get_max_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_SDRAM_C); + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_C); max_voltage_sdram_i = bcm2835_cpufreq_get_max_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_SDRAM_I); + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_I); max_voltage_sdram_p = bcm2835_cpufreq_get_max_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_SDRAM_P); + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_P); min_voltage_sdram_c = bcm2835_cpufreq_get_min_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_SDRAM_C); + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_C); min_voltage_sdram_i = bcm2835_cpufreq_get_min_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_SDRAM_I); + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_I); min_voltage_sdram_p = bcm2835_cpufreq_get_min_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_SDRAM_P); + BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_P); /* temperature */ temperature = bcm2835_cpufreq_get_temperature(sc); @@ -1168,7 +1114,7 @@ bcm2835_cpufreq_init(void *arg) device_printf(sc->dev, "current ARM %dMHz, Core %dMHz, SDRAM %dMHz, Turbo %s\n", HZ2MHZ(arm_freq), HZ2MHZ(core_freq), HZ2MHZ(sdram_freq), - (sc->turbo_mode == BCM2835_MBOX_TURBO_ON) ? "ON" : "OFF"); + (sc->turbo_mode == BCM2835_FIRMWARE_TURBO_ON) ? "ON":"OFF"); device_printf(sc->dev, "max/min ARM %d/%dMHz, Core %d/%dMHz, SDRAM %d/%dMHz\n", @@ -1202,7 +1148,7 @@ bcm2835_cpufreq_init(void *arg) device_printf(sc->dev, "ARM %dMHz, Core %dMHz, SDRAM %dMHz, Turbo %s\n", HZ2MHZ(arm_freq), HZ2MHZ(core_freq), HZ2MHZ(sdram_freq), - (sc->turbo_mode == BCM2835_MBOX_TURBO_ON) ? "ON" : "OFF"); + (sc->turbo_mode == BCM2835_FIRMWARE_TURBO_ON) ? "ON":"OFF"); } /* keep in softc (MHz/mV) */ @@ -1216,25 +1162,25 @@ bcm2835_cpufreq_init(void *arg) sc->min_voltage_core = OFFSET2MVOLT(min_voltage_core); /* if turbo is on, set to max values */ - if (sc->turbo_mode == BCM2835_MBOX_TURBO_ON) { - bcm2835_cpufreq_set_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_ARM, - arm_max_freq); + if (sc->turbo_mode == BCM2835_FIRMWARE_TURBO_ON) { + bcm2835_cpufreq_set_clock_rate(sc, + BCM2835_FIRMWARE_CLOCK_ID_ARM, arm_max_freq); DELAY(TRANSITION_LATENCY); - bcm2835_cpufreq_set_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_CORE, - core_max_freq); + bcm2835_cpufreq_set_clock_rate(sc, + BCM2835_FIRMWARE_CLOCK_ID_CORE, core_max_freq); DELAY(TRANSITION_LATENCY); bcm2835_cpufreq_set_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_SDRAM, sdram_max_freq); + BCM2835_FIRMWARE_CLOCK_ID_SDRAM, sdram_max_freq); DELAY(TRANSITION_LATENCY); } else { - bcm2835_cpufreq_set_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_ARM, - arm_min_freq); + bcm2835_cpufreq_set_clock_rate(sc, + BCM2835_FIRMWARE_CLOCK_ID_ARM, arm_min_freq); DELAY(TRANSITION_LATENCY); - bcm2835_cpufreq_set_clock_rate(sc, BCM2835_MBOX_CLOCK_ID_CORE, - core_min_freq); + bcm2835_cpufreq_set_clock_rate(sc, + BCM2835_FIRMWARE_CLOCK_ID_CORE, core_min_freq); DELAY(TRANSITION_LATENCY); bcm2835_cpufreq_set_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_SDRAM, sdram_min_freq); + BCM2835_FIRMWARE_CLOCK_ID_SDRAM, sdram_min_freq); DELAY(TRANSITION_LATENCY); } @@ -1297,6 +1243,12 @@ bcm2835_cpufreq_attach(device_t dev) /* set self dev */ sc = device_get_softc(dev); sc->dev = dev; + sc->firmware = devclass_get_device( + devclass_find("bcm2835_firmware"), 0); + if (sc->firmware == NULL) { + device_printf(dev, "Unable to find firmware device\n"); + return (ENXIO); + } /* initial values */ sc->arm_max_freq = -1; @@ -1430,7 +1382,7 @@ bcm2835_cpufreq_set(device_t dev, const struct cf_sett /* adjust min freq */ min_freq = sc->arm_min_freq; - if (sc->turbo_mode != BCM2835_MBOX_TURBO_ON) + if (sc->turbo_mode != BCM2835_FIRMWARE_TURBO_ON) if (min_freq > cpufreq_lowest_freq) min_freq = cpufreq_lowest_freq; @@ -1441,28 +1393,28 @@ bcm2835_cpufreq_set(device_t dev, const struct cf_sett VC_LOCK(sc); #ifdef DEBUG cur_freq = bcm2835_cpufreq_get_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_ARM); + BCM2835_FIRMWARE_CLOCK_ID_ARM); #endif resp_freq = bcm2835_cpufreq_set_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_ARM, rate_hz); + BCM2835_FIRMWARE_CLOCK_ID_ARM, rate_hz); DELAY(TRANSITION_LATENCY); arm_freq = bcm2835_cpufreq_get_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_ARM); + BCM2835_FIRMWARE_CLOCK_ID_ARM); /* * if non-turbo and lower than or equal min_freq, * clock down core and sdram to default first. */ - if (sc->turbo_mode != BCM2835_MBOX_TURBO_ON) { + if (sc->turbo_mode != BCM2835_FIRMWARE_TURBO_ON) { core_freq = bcm2835_cpufreq_get_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_CORE); + BCM2835_FIRMWARE_CLOCK_ID_CORE); if (rate_hz > MHZ2HZ(sc->arm_min_freq)) { bcm2835_cpufreq_set_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_CORE, + BCM2835_FIRMWARE_CLOCK_ID_CORE, MHZ2HZ(sc->core_max_freq)); DELAY(TRANSITION_LATENCY); bcm2835_cpufreq_set_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_SDRAM, + BCM2835_FIRMWARE_CLOCK_ID_SDRAM, MHZ2HZ(sc->sdram_max_freq)); DELAY(TRANSITION_LATENCY); } else { @@ -1471,20 +1423,20 @@ bcm2835_cpufreq_set(device_t dev, const struct cf_sett /* first, down to 250, then down to min */ DELAY(TRANSITION_LATENCY); bcm2835_cpufreq_set_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_CORE, + BCM2835_FIRMWARE_CLOCK_ID_CORE, MHZ2HZ(DEFAULT_CORE_FREQUENCY)); DELAY(TRANSITION_LATENCY); /* reset core voltage */ bcm2835_cpufreq_set_voltage(sc, - BCM2835_MBOX_VOLTAGE_ID_CORE, 0); + BCM2835_FIRMWARE_VOLTAGE_ID_CORE, 0); DELAY(TRANSITION_LATENCY); } bcm2835_cpufreq_set_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_CORE, + BCM2835_FIRMWARE_CLOCK_ID_CORE, MHZ2HZ(sc->core_min_freq)); DELAY(TRANSITION_LATENCY); bcm2835_cpufreq_set_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_SDRAM, + BCM2835_FIRMWARE_CLOCK_ID_SDRAM, MHZ2HZ(sc->sdram_min_freq)); DELAY(TRANSITION_LATENCY); } @@ -1517,7 +1469,7 @@ bcm2835_cpufreq_get(device_t dev, struct cf_setting *c /* get cuurent value */ VC_LOCK(sc); arm_freq = bcm2835_cpufreq_get_clock_rate(sc, - BCM2835_MBOX_CLOCK_ID_ARM); + BCM2835_FIRMWARE_CLOCK_ID_ARM); VC_UNLOCK(sc); if (arm_freq < 0) { device_printf(dev, "can't get clock\n"); @@ -1557,7 +1509,7 @@ bcm2835_cpufreq_make_freq_list(device_t dev, struct cf freq = min_freq; /* if non-turbo, add extra low freq */ - if (sc->turbo_mode != BCM2835_MBOX_TURBO_ON) + if (sc->turbo_mode != BCM2835_FIRMWARE_TURBO_ON) if (min_freq > cpufreq_lowest_freq) min_freq = cpufreq_lowest_freq; @@ -1654,3 +1606,4 @@ static driver_t bcm2835_cpufreq_driver = { DRIVER_MODULE(bcm2835_cpufreq, cpu, bcm2835_cpufreq_driver, bcm2835_cpufreq_devclass, 0, 0); +MODULE_DEPEND(bcm2835_cpufreq, bcm2835_firmware, 1, 1, 1); Modified: head/sys/arm/broadcom/bcm2835/bcm2835_firmware.h ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_firmware.h Tue Jul 28 10:43:52 2020 (r363642) +++ head/sys/arm/broadcom/bcm2835/bcm2835_firmware.h Tue Jul 28 10:45:29 2020 (r363643) @@ -33,6 +33,115 @@ #ifndef _BCM2835_FIRMWARE_H_ #define _BCM2835_FIRMWARE_H_ +#define BCM2835_FIRMWARE_TAG_GET_CLOCK_RATE 0x00030002 +#define BCM2835_FIRMWARE_TAG_SET_CLOCK_RATE 0x00038002 +#define BCM2835_FIRMWARE_TAG_GET_MAX_CLOCK_RATE 0x00030004 +#define BCM2835_FIRMWARE_TAG_GET_MIN_CLOCK_RATE 0x00030007 + +#define BCM2835_FIRMWARE_CLOCK_ID_EMMC 0x00000001 +#define BCM2835_FIRMWARE_CLOCK_ID_UART 0x00000002 +#define BCM2835_FIRMWARE_CLOCK_ID_ARM 0x00000003 +#define BCM2835_FIRMWARE_CLOCK_ID_CORE 0x00000004 +#define BCM2835_FIRMWARE_CLOCK_ID_V3D 0x00000005 +#define BCM2835_FIRMWARE_CLOCK_ID_H264 0x00000006 +#define BCM2835_FIRMWARE_CLOCK_ID_ISP 0x00000007 +#define BCM2835_FIRMWARE_CLOCK_ID_SDRAM 0x00000008 +#define BCM2835_FIRMWARE_CLOCK_ID_PIXEL 0x00000009 +#define BCM2835_FIRMWARE_CLOCK_ID_PWM 0x0000000a +#define BCM2838_FIRMWARE_CLOCK_ID_EMMC2 0x0000000c + +union msg_get_clock_rate_body { + struct { + uint32_t clock_id; + } req; + struct { + uint32_t clock_id; + uint32_t rate_hz; + } resp; +}; + +union msg_set_clock_rate_body { + struct { + uint32_t clock_id; + uint32_t rate_hz; + } req; + struct { + uint32_t clock_id; + uint32_t rate_hz; + } resp; +}; + +#define BCM2835_FIRMWARE_TAG_GET_VOLTAGE 0x00030003 +#define BCM2835_FIRMWARE_TAG_SET_VOLTAGE 0x00038003 +#define BCM2835_FIRMWARE_TAG_GET_MAX_VOLTAGE 0x00030005 +#define BCM2835_FIRMWARE_TAG_GET_MIN_VOLTAGE 0x00030008 + +#define BCM2835_FIRMWARE_VOLTAGE_ID_CORE 0x00000001 +#define BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_C 0x00000002 +#define BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_P 0x00000003 +#define BCM2835_FIRMWARE_VOLTAGE_ID_SDRAM_I 0x00000004 + +union msg_get_voltage_body { + struct { + uint32_t voltage_id; + } req; + struct { + uint32_t voltage_id; + uint32_t value; + } resp; +}; + +union msg_set_voltage_body { + struct { + uint32_t voltage_id; + uint32_t value; + } req; + struct { + uint32_t voltage_id; + uint32_t value; + } resp; +}; + +#define BCM2835_FIRMWARE_TAG_GET_TEMPERATURE 0x00030006 +#define BCM2835_FIRMWARE_TAG_GET_MAX_TEMPERATURE 0x0003000a + +union msg_get_temperature_body { + struct { + uint32_t temperature_id; + } req; + struct { + uint32_t temperature_id; + uint32_t value; + } resp; +}; + +#define BCM2835_FIRMWARE_TAG_GET_TURBO 0x00030009 +#define BCM2835_FIRMWARE_TAG_SET_TURBO 0x00038009 + +#define BCM2835_FIRMWARE_TURBO_ON 1 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Jul 28 10:58:39 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9DFA63A5F5F; Tue, 28 Jul 2020 10:58:39 +0000 (UTC) (envelope-from nyan@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGDDv3Z6rz4FZs; Tue, 28 Jul 2020 10:58:39 +0000 (UTC) (envelope-from nyan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5DBC7E106; Tue, 28 Jul 2020 10:58:39 +0000 (UTC) (envelope-from nyan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SAwdQT035796; Tue, 28 Jul 2020 10:58:39 GMT (envelope-from nyan@FreeBSD.org) Received: (from nyan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SAwbcj035789; Tue, 28 Jul 2020 10:58:37 GMT (envelope-from nyan@FreeBSD.org) Message-Id: <202007281058.06SAwbcj035789@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: nyan set sender to nyan@FreeBSD.org using -f From: Takahashi Yoshihiro Date: Tue, 28 Jul 2020 10:58:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363644 - in head: cddl/lib cddl/lib/libdtrace cddl/lib/libzpool etc/mtree release/sparc64 rescue/rescue sbin/init sys/kern sys/modules/esp sys/modules/uart usr.sbin/bsdinstall/partedit... X-SVN-Group: head X-SVN-Commit-Author: nyan X-SVN-Commit-Paths: in head: cddl/lib cddl/lib/libdtrace cddl/lib/libzpool etc/mtree release/sparc64 rescue/rescue sbin/init sys/kern sys/modules/esp sys/modules/uart usr.sbin/bsdinstall/partedit usr.sbin/kldxref X-SVN-Commit-Revision: 363644 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 10:58:39 -0000 Author: nyan Date: Tue Jul 28 10:58:37 2020 New Revision: 363644 URL: https://svnweb.freebsd.org/changeset/base/363644 Log: - Cleanups related to sparc64 removal. - Remove remains of sparc64 files. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D25831 Deleted: head/release/sparc64/ head/sbin/init/ttys.sparc64 head/usr.sbin/bsdinstall/partedit/partedit_sparc64.c head/usr.sbin/kldxref/ef_sparc64.c Modified: head/cddl/lib/Makefile head/cddl/lib/libdtrace/Makefile head/cddl/lib/libzpool/Makefile head/etc/mtree/BSD.usr.dist head/rescue/rescue/Makefile head/sys/kern/kern_dump.c head/sys/modules/esp/Makefile head/sys/modules/uart/Makefile Modified: head/cddl/lib/Makefile ============================================================================== --- head/cddl/lib/Makefile Tue Jul 28 10:45:29 2020 (r363643) +++ head/cddl/lib/Makefile Tue Jul 28 10:58:37 2020 (r363644) @@ -2,10 +2,10 @@ .include -SUBDIR= ${_drti} \ +SUBDIR= drti \ libavl \ libctf \ - ${_libdtrace} \ + libdtrace \ libnvpair \ libumem \ libuutil \ @@ -21,11 +21,6 @@ _libzfs= libzfs .if ${MK_LIBTHR} != "no" _libzpool= libzpool .endif -.endif - -.if ${MACHINE_CPUARCH} != "sparc64" -_drti= drti -_libdtrace= libdtrace .endif SUBDIR_DEPEND_libdtrace= libctf Modified: head/cddl/lib/libdtrace/Makefile ============================================================================== --- head/cddl/lib/libdtrace/Makefile Tue Jul 28 10:45:29 2020 (r363643) +++ head/cddl/lib/libdtrace/Makefile Tue Jul 28 10:58:37 2020 (r363644) @@ -103,9 +103,6 @@ CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/powerpc CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/riscv .PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/riscv .PATH: ${SRCTOP}/sys/cddl/dev/dtrace/riscv -.elif ${MACHINE_CPUARCH} == "sparc64" -CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/sparc -.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/sparc .else # temporary hack CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/intel Modified: head/cddl/lib/libzpool/Makefile ============================================================================== --- head/cddl/lib/libzpool/Makefile Tue Jul 28 10:45:29 2020 (r363643) +++ head/cddl/lib/libzpool/Makefile Tue Jul 28 10:58:37 2020 (r363644) @@ -18,9 +18,7 @@ .if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S) .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH} ATOMIC_SRCS= opensolaris_atomic.S -.if ${MACHINE_ARCH} != "sparc64" ACFLAGS+= -Wa,--noexecstack -.endif .else .PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern ATOMIC_SRCS= opensolaris_atomic.c Modified: head/etc/mtree/BSD.usr.dist ============================================================================== --- head/etc/mtree/BSD.usr.dist Tue Jul 28 10:45:29 2020 (r363643) +++ head/etc/mtree/BSD.usr.dist Tue Jul 28 10:58:37 2020 (r363644) @@ -864,8 +864,6 @@ .. powerpc .. - sparc64 - .. .. man5 .. @@ -879,8 +877,6 @@ i386 .. powerpc - .. - sparc64 .. .. man9 Modified: head/rescue/rescue/Makefile ============================================================================== --- head/rescue/rescue/Makefile Tue Jul 28 10:45:29 2020 (r363643) +++ head/rescue/rescue/Makefile Tue Jul 28 10:58:37 2020 (r363644) @@ -147,10 +147,6 @@ CRUNCH_ALIAS_bsdlabel= disklabel #CRUNCH_LIBS+= -lsmb .endif -.if ${MACHINE_CPUARCH} == "sparc64" -CRUNCH_PROGS_sbin+= bsdlabel sunlabel -.endif - .if ${MACHINE_CPUARCH} == "amd64" CRUNCH_PROGS_sbin+= bsdlabel fdisk CRUNCH_ALIAS_bsdlabel= disklabel Modified: head/sys/kern/kern_dump.c ============================================================================== --- head/sys/kern/kern_dump.c Tue Jul 28 10:45:29 2020 (r363643) +++ head/sys/kern/kern_dump.c Tue Jul 28 10:58:37 2020 (r363644) @@ -54,7 +54,7 @@ static size_t fragsz; struct dump_pa dump_map[DUMPSYS_MD_PA_NPAIRS]; -#if !defined(__powerpc__) && !defined(__sparc__) +#if !defined(__powerpc__) void dumpsys_gen_pa_init(void) { @@ -97,14 +97,12 @@ dumpsys_gen_unmap_chunk(vm_paddr_t pa __unused, size_t } -#if !defined(__sparc__) int dumpsys_gen_write_aux_headers(struct dumperinfo *di) { return (0); } -#endif int dumpsys_buf_seek(struct dumperinfo *di, size_t sz) @@ -240,7 +238,6 @@ dumpsys_foreach_chunk(dumpsys_callback_t cb, void *arg return (seqnr); } -#if !defined(__sparc__) static off_t fileofs; static int @@ -387,4 +384,3 @@ dumpsys_generic(struct dumperinfo *di) printf("\n** DUMP FAILED (ERROR %d) **\n", error); return (error); } -#endif Modified: head/sys/modules/esp/Makefile ============================================================================== --- head/sys/modules/esp/Makefile Tue Jul 28 10:45:29 2020 (r363643) +++ head/sys/modules/esp/Makefile Tue Jul 28 10:58:37 2020 (r363644) @@ -3,7 +3,7 @@ .PATH: ${SRCTOP}/sys/dev/esp KMOD= esp -SRCS= device_if.h esp_pci.c ${esp_sbus} bus_if.h ncr53c9x.c ${ofw_bus_if} +SRCS= device_if.h esp_pci.c bus_if.h ncr53c9x.c SRCS+= opt_cam.h pci_if.h .include Modified: head/sys/modules/uart/Makefile ============================================================================== --- head/sys/modules/uart/Makefile Tue Jul 28 10:45:29 2020 (r363643) +++ head/sys/modules/uart/Makefile Tue Jul 28 10:58:37 2020 (r363644) @@ -28,7 +28,7 @@ uart_dev_mu=uart_dev_mu.c .endif KMOD= uart -SRCS= ${uart_bus_acpi} ${uart_bus_ebus} uart_bus_isa.c uart_bus_pccard.c \ +SRCS= ${uart_bus_acpi} uart_bus_isa.c uart_bus_pccard.c \ uart_bus_pci.c uart_bus_puc.c uart_bus_scc.c \ uart_core.c ${uart_cpu_acpi} ${uart_cpu_machine} uart_dbg.c \ ${uart_dev_mvebu} uart_dev_ns8250.c ${uart_dev_mu} \ From owner-svn-src-all@freebsd.org Tue Jul 28 11:13:38 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 47AAF3A65CF; Tue, 28 Jul 2020 11:13:38 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGDZB18L1z4GwW; Tue, 28 Jul 2020 11:13:38 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0B5F7E423; Tue, 28 Jul 2020 11:13:38 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SBDbE9047710; Tue, 28 Jul 2020 11:13:37 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SBDbBn047709; Tue, 28 Jul 2020 11:13:37 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007281113.06SBDbBn047709@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 28 Jul 2020 11:13:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363645 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm/broadcom/bcm2835 X-SVN-Commit-Revision: 363645 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 11:13:38 -0000 Author: andrew Date: Tue Jul 28 11:13:37 2020 New Revision: 363645 URL: https://svnweb.freebsd.org/changeset/base/363645 Log: Aadd Raspberry Pi firmware messages to manage GPIOs Some GPIOs are managed by an external IO expaandder through the firmware. Add the message details for these. Sponsored by: Innovate UK Modified: head/sys/arm/broadcom/bcm2835/bcm2835_firmware.h Modified: head/sys/arm/broadcom/bcm2835/bcm2835_firmware.h ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_firmware.h Tue Jul 28 10:58:37 2020 (r363644) +++ head/sys/arm/broadcom/bcm2835/bcm2835_firmware.h Tue Jul 28 11:13:37 2020 (r363645) @@ -142,6 +142,61 @@ union msg_set_turbo_body { } resp; }; +#define BCM2835_FIRMWARE_TAG_GET_GPIO_STATE 0x00030041 +#define BCM2835_FIRMWARE_TAG_SET_GPIO_STATE 0x00038041 +#define BCM2835_FIRMWARE_TAG_GET_GPIO_CONFIG 0x00030043 +#define BCM2835_FIRMWARE_TAG_SET_GPIO_CONFIG 0x00038043 + +#define BCM2835_FIRMWARE_GPIO_IN 0 +#define BCM2835_FIRMWARE_GPIO_OUT 1 + +union msg_get_gpio_state { + struct { + uint32_t gpio; + } req; + struct { + uint32_t gpio; + uint32_t state; + } resp; +}; + +union msg_set_gpio_state { + struct { + uint32_t gpio; + uint32_t state; + } req; + struct { + uint32_t gpio; + } resp; +}; + +union msg_get_gpio_config { + struct { + uint32_t gpio; + } req; + struct { + uint32_t gpio; + uint32_t dir; + uint32_t pol; + uint32_t term_en; + uint32_t term_pull_up; + } resp; +}; + +union msg_set_gpio_config { + struct { + uint32_t gpio; + uint32_t dir; + uint32_t pol; + uint32_t term_en; + uint32_t term_pull_up; + uint32_t state; + } req; + struct { + uint32_t gpio; + } resp; +}; + int bcm2835_firmware_property(device_t, uint32_t, void *, size_t); #endif From owner-svn-src-all@freebsd.org Tue Jul 28 11:23:38 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 39B5D3A68B9; Tue, 28 Jul 2020 11:23:38 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGDnk0Tqvz4H9S; Tue, 28 Jul 2020 11:23:38 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E80D9E5A4; Tue, 28 Jul 2020 11:23:37 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SBNbcf053883; Tue, 28 Jul 2020 11:23:37 GMT (envelope-from alfredo@FreeBSD.org) Received: (from alfredo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SBNb0E053882; Tue, 28 Jul 2020 11:23:37 GMT (envelope-from alfredo@FreeBSD.org) Message-Id: <202007281123.06SBNb0E053882@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alfredo set sender to alfredo@FreeBSD.org using -f From: "Alfredo Dal'Ava Junior" Date: Tue, 28 Jul 2020 11:23:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363646 - head/sys/dev/virtio/pci X-SVN-Group: head X-SVN-Commit-Author: alfredo X-SVN-Commit-Paths: head/sys/dev/virtio/pci X-SVN-Commit-Revision: 363646 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 11:23:38 -0000 Author: alfredo Date: Tue Jul 28 11:23:37 2020 New Revision: 363646 URL: https://svnweb.freebsd.org/changeset/base/363646 Log: virtio: fix mips regression introduced by r357596 PowerPC support was fixed in r357596 by changing PCI bustag to BE as part of the solution, but this caused regression on mips. This change implements byte swapping of virtio PCI config area in the driver, leaving lower layer untouched. Submittnd by: Fernando Valle Reported by: arichardson Reviewed by: alfredo, arichardson Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D25416 Modified: head/sys/dev/virtio/pci/virtio_pci.c Modified: head/sys/dev/virtio/pci/virtio_pci.c ============================================================================== --- head/sys/dev/virtio/pci/virtio_pci.c Tue Jul 28 11:13:37 2020 (r363645) +++ head/sys/dev/virtio/pci/virtio_pci.c Tue Jul 28 11:23:37 2020 (r363646) @@ -179,23 +179,25 @@ static void vtpci_config_intr(void *); * I/O port read/write wrappers. */ #define vtpci_read_config_1(sc, o) bus_read_1((sc)->vtpci_res, (o)) -#define vtpci_read_config_2(sc, o) bus_read_2((sc)->vtpci_res, (o)) -#define vtpci_read_config_4(sc, o) bus_read_4((sc)->vtpci_res, (o)) #define vtpci_write_config_1(sc, o, v) bus_write_1((sc)->vtpci_res, (o), (v)) -#define vtpci_write_config_2(sc, o, v) bus_write_2((sc)->vtpci_res, (o), (v)) -#define vtpci_write_config_4(sc, o, v) bus_write_4((sc)->vtpci_res, (o), (v)) /* - * Legacy VirtIO header is always PCI endianness (little), so if we - * are in a BE machine we need to swap bytes from LE to BE when reading - * and from BE to LE when writing. - * If we are in a LE machine, there will be no swaps. + * Virtio-pci specifies that PCI Configuration area is guest endian. However, + * since PCI devices are inherently little-endian, on BE systems the bus layer + * transparently converts it to BE. For virtio-legacy, this conversion is + * undesired, so an extra byte swap is required to fix it. */ -#define vtpci_read_header_2(sc, o) le16toh(vtpci_read_config_2(sc, o)) -#define vtpci_read_header_4(sc, o) le32toh(vtpci_read_config_4(sc, o)) -#define vtpci_write_header_2(sc, o, v) vtpci_write_config_2(sc, o, (htole16(v))) -#define vtpci_write_header_4(sc, o, v) vtpci_write_config_4(sc, o, (htole32(v))) +#define vtpci_read_config_2(sc, o) le16toh(bus_read_2((sc)->vtpci_res, (o))) +#define vtpci_read_config_4(sc, o) le32toh(bus_read_4((sc)->vtpci_res, (o))) +#define vtpci_write_config_2(sc, o, v) bus_write_2((sc)->vtpci_res, (o), (htole16(v))) +#define vtpci_write_config_4(sc, o, v) bus_write_4((sc)->vtpci_res, (o), (htole32(v))) +/* PCI Header LE. On BE systems the bus layer takes care of byte swapping */ +#define vtpci_read_header_2(sc, o) (bus_read_2((sc)->vtpci_res, (o))) +#define vtpci_read_header_4(sc, o) (bus_read_4((sc)->vtpci_res, (o))) +#define vtpci_write_header_2(sc, o, v) bus_write_2((sc)->vtpci_res, (o), (v)) +#define vtpci_write_header_4(sc, o, v) bus_write_4((sc)->vtpci_res, (o), (v)) + /* Tunables. */ static int vtpci_disable_msix = 0; TUNABLE_INT("hw.virtio.pci.disable_msix", &vtpci_disable_msix); @@ -289,17 +291,6 @@ vtpci_attach(device_t dev) device_printf(dev, "cannot map I/O space\n"); return (ENXIO); } - -/* - * For legacy VirtIO, the device-specific configuration is guest - * endian, while the common configuration header is always - * PCI (little) endian and will be handled specifically in - * other parts of this file via functions - * 'vtpci_[read|write]_header_[2|4]' - */ -#if _BYTE_ORDER == _BIG_ENDIAN - rman_set_bustag(sc->vtpci_res, &bs_be_tag); -#endif if (pci_find_cap(dev, PCIY_MSI, NULL) != 0) sc->vtpci_flags |= VTPCI_FLAG_NO_MSI; From owner-svn-src-all@freebsd.org Tue Jul 28 11:32:45 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A82A83A6D27; Tue, 28 Jul 2020 11:32:45 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGF0F3ylPz4HYb; Tue, 28 Jul 2020 11:32:45 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6B414E819; Tue, 28 Jul 2020 11:32:45 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SBWj0h060189; Tue, 28 Jul 2020 11:32:45 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SBWjBH060188; Tue, 28 Jul 2020 11:32:45 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007281132.06SBWjBH060188@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 28 Jul 2020 11:32:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363647 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm/broadcom/bcm2835 X-SVN-Commit-Revision: 363647 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 11:32:45 -0000 Author: andrew Date: Tue Jul 28 11:32:45 2020 New Revision: 363647 URL: https://svnweb.freebsd.org/changeset/base/363647 Log: Add a workaround for a bug when setting the Raspberry GIO config and state The Raspberry Pi GPIO config and state messages incorrectly return with the tag length set to 0. We then check this value to have the response flag set. Work around this by setting the response flag when setting the GPIO config or state and this value is zero. Sponsored by: Innovate UK Modified: head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Tue Jul 28 11:23:37 2020 (r363646) +++ head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Tue Jul 28 11:32:45 2020 (r363647) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -362,6 +363,16 @@ bcm2835_mbox_err(device_t dev, bus_addr_t msg_phys, ui tag = (struct bcm2835_mbox_tag_hdr *)(msg + 1); last = (uint8_t *)msg + len; for (idx = 0; tag->tag != 0; idx++) { + /* + * When setting the GPIO config or state the firmware doesn't + * set tag->val_len correctly. + */ + if ((tag->tag == BCM2835_FIRMWARE_TAG_SET_GPIO_CONFIG || + tag->tag == BCM2835_FIRMWARE_TAG_SET_GPIO_STATE) && + tag->val_len == 0) { + tag->val_len = BCM2835_MBOX_TAG_VAL_LEN_RESPONSE | + tag->val_buf_size; + } if ((tag->val_len & BCM2835_MBOX_TAG_VAL_LEN_RESPONSE) == 0) { device_printf(dev, "tag %d response error\n", idx); return (EIO); From owner-svn-src-all@freebsd.org Tue Jul 28 13:44:22 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D471C36A532; Tue, 28 Jul 2020 13:44:22 +0000 (UTC) (envelope-from eric@vangyzen.net) Received: from smtp.vangyzen.net (hotblack.vangyzen.net [IPv6:2607:fc50:1000:7400:216:3eff:fe72:314f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGHw63WGHz4R9R; Tue, 28 Jul 2020 13:44:22 +0000 (UTC) (envelope-from eric@vangyzen.net) Received: from disco.vangyzen.net (unknown [70.97.188.230]) by smtp.vangyzen.net (Postfix) with ESMTPSA id 8481556487; Tue, 28 Jul 2020 08:44:14 -0500 (CDT) Subject: Re: svn commit: r363607 - head/sys/vm To: Mark Johnston , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202007271425.06REPBtv075771@repo.freebsd.org> From: Eric van Gyzen Message-ID: Date: Tue, 28 Jul 2020 08:44:11 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <202007271425.06REPBtv075771@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BGHw63WGHz4R9R X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; ASN(0.00)[asn:36236, ipnet:2607:fc50:1000::/36, country:US]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 13:44:22 -0000 On 7/27/20 9:25 AM, Mark Johnston wrote: > + > + /* > + * We may be attempting to free the page as part of the handling for an > + * I/O error, in which case the page was xbusied by a different thread. > + */ > + vm_page_xbusy_claim(m); I've just noticed that vm_page_xbusy_claim() ignores the WAITERS bit. Is this not a problem in practice? Eric From owner-svn-src-all@freebsd.org Tue Jul 28 15:14:23 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1DAD336C8CB; Tue, 28 Jul 2020 15:14:23 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com [IPv6:2607:f8b0:4864:20::d2a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGKvy23d5z4WFk; Tue, 28 Jul 2020 15:14:22 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-io1-xd2a.google.com with SMTP id a5so5869878ioa.13; Tue, 28 Jul 2020 08:14:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=nKFgKvHVY7BJjktMQ97WwxfuyPRo92GSzSsByqlBtk4=; b=XtE5WWtHN5sUBFJu3bdxKQdhNdLGNKp+WdRT3hKTN2q2eBuga7034yxIdQu6+gZHaz Z2VHA6PuEELC6weDXINuO4TQAJkT0nUwLpo+oP2JR7EGagTXizlbK/Zws+GM0vBp/Gvz ZQ/vfDi5xrZKUFAr2KtFOl3E2Spfbeks2Tw053XO+YRotOBdYUxS65YUb3fYXNfhtm3G OOUhlejuNosAghwxDfSKHKHMQjO1GF9Ojovt9EKLG7YbSHQxOAPtHLLo9B+zxQS+Q639 52begwXa1ge8UUNV6oQn8zLRPtvjAu4qyT4ZAao/ULjw5ueEUZEt4Ewl+v59ivRQKU1C 6yYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=nKFgKvHVY7BJjktMQ97WwxfuyPRo92GSzSsByqlBtk4=; b=Gu05Jbo/TED2/lf2Sgn5NdgMKtLmLPm1gfgIW6LBmh/hREbdNCQ+mKpqbghEH3wE5k kGXKHs1W4hmmUMCGdRu1D82mgwlUeuF1vPHt2KpD+L94/y5GfjG/BoCaTLryfeR42qUp kcbXmcl3it568XV8wYrHv4oZRxBeQ+Ii6S7kAUDdgb91V4itDc+1l8ENLZD/MVlD7nY5 jQkMsYnP8GBq99Ko0WXoH61OvNVcs/scKdVU62bdTjkkZV2qlcBQjQ+NiRA9sOBi4hyr 2ZvA1HDiLo9DgehE3eeKL7T6DLPhD8+voW+GgK3OSufbBAV/yEYdm0+5wBYqtvP6GyA6 oNkw== X-Gm-Message-State: AOAM5306FE2cgcjgxzpXiZ3/mpA8XnRye/4147LXGeDWmhklhVFZSnX4 qJH8Fu9MxHeSCkK85SyAXxgQqhXJ+Tw= X-Google-Smtp-Source: ABdhPJyBHCNKxkgIxguZy3Vg+3nVUi2VkR7n8Sg0cObqY9xll6zLpT5gGxMOzXgHARUUjxnwklWpZQ== X-Received: by 2002:a05:6638:138a:: with SMTP id w10mr17004926jad.36.1595949261077; Tue, 28 Jul 2020 08:14:21 -0700 (PDT) Received: from raichu (toroon0560w-lp130-08-67-71-176-35.dsl.bell.ca. [67.71.176.35]) by smtp.gmail.com with ESMTPSA id x88sm3404761ilk.81.2020.07.28.08.14.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 08:14:20 -0700 (PDT) Sender: Mark Johnston Date: Tue, 28 Jul 2020 11:14:18 -0400 From: Mark Johnston To: Eric van Gyzen Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r363607 - head/sys/vm Message-ID: <20200728151418.GE59953@raichu> References: <202007271425.06REPBtv075771@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4BGKvy23d5z4WFk X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=XtE5WWtH; dmarc=none; spf=pass (mx1.freebsd.org: domain of markjdb@gmail.com designates 2607:f8b0:4864:20::d2a as permitted sender) smtp.mailfrom=markjdb@gmail.com X-Spamd-Result: default: False [-1.94 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; NEURAL_HAM_MEDIUM(-0.98)[-0.976]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; NEURAL_HAM_LONG(-1.02)[-1.024]; MIME_GOOD(-0.10)[text/plain]; MID_RHS_NOT_FQDN(0.50)[]; DMARC_NA(0.00)[freebsd.org]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; NEURAL_HAM_SHORT(-0.24)[-0.240]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::d2a:from]; FORGED_SENDER(0.30)[markj@freebsd.org,markjdb@gmail.com]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[markj@freebsd.org,markjdb@gmail.com]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 15:14:23 -0000 On Tue, Jul 28, 2020 at 08:44:11AM -0500, Eric van Gyzen wrote: > On 7/27/20 9:25 AM, Mark Johnston wrote: > > + > > + /* > > + * We may be attempting to free the page as part of the handling for an > > + * I/O error, in which case the page was xbusied by a different thread. > > + */ > > + vm_page_xbusy_claim(m); > > I've just noticed that vm_page_xbusy_claim() ignores the WAITERS bit. > Is this not a problem in practice? Thanks, I think you're right. I posted a proposed patch here: https://reviews.freebsd.org/D25859 From owner-svn-src-all@freebsd.org Tue Jul 28 15:16:30 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C939636CBC0; Tue, 28 Jul 2020 15:16:30 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGKyQ504Qz4WmQ; Tue, 28 Jul 2020 15:16:30 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8E58011300; Tue, 28 Jul 2020 15:16:30 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SFGUW7096376; Tue, 28 Jul 2020 15:16:30 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SFGUoN096372; Tue, 28 Jul 2020 15:16:30 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007281516.06SFGUoN096372@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 28 Jul 2020 15:16:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363648 - stable/12/usr.sbin/traceroute6 X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/usr.sbin/traceroute6 X-SVN-Commit-Revision: 363648 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 15:16:30 -0000 Author: markj Date: Tue Jul 28 15:16:29 2020 New Revision: 363648 URL: https://svnweb.freebsd.org/changeset/base/363648 Log: MFC r363395: traceroute6: Fix most warnings at the default WARNS level. Modified: stable/12/usr.sbin/traceroute6/Makefile stable/12/usr.sbin/traceroute6/traceroute6.c Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/traceroute6/Makefile ============================================================================== --- stable/12/usr.sbin/traceroute6/Makefile Tue Jul 28 11:32:45 2020 (r363647) +++ stable/12/usr.sbin/traceroute6/Makefile Tue Jul 28 15:16:29 2020 (r363648) @@ -25,8 +25,8 @@ BINMODE= 4555 CFLAGS+= -DIPSEC -DHAVE_POLL CFLAGS+= -I${.CURDIR} -I${TRACEROUTE_DISTDIR} -I. -WARNS?= 3 - LIBADD= ipsec .include + +CWARNFLAGS+= -Wno-cast-align Modified: stable/12/usr.sbin/traceroute6/traceroute6.c ============================================================================== --- stable/12/usr.sbin/traceroute6/traceroute6.c Tue Jul 28 11:32:45 2020 (r363647) +++ stable/12/usr.sbin/traceroute6/traceroute6.c Tue Jul 28 15:16:29 2020 (r363648) @@ -294,16 +294,14 @@ static const char rcsid[] = #define freehostent(x) #endif -u_char packet[512]; /* last inbound (icmp) packet */ -char *outpacket; /* last output packet */ +static u_char packet[512]; /* last inbound (icmp) packet */ +static char *outpacket; /* last output packet */ int main(int, char *[]); int wait_for_reply(int, struct msghdr *); -#ifdef IPSEC -#ifdef IPSEC_POLICY_IPSEC +#if defined(IPSEC) && defined(IPSEC_POLICY_IPSEC) int setpolicy(int so, char *policy); #endif -#endif void send_probe(int, u_long); void *get_uphdr(struct ip6_hdr *, u_char *); int get_hoplim(struct msghdr *); @@ -318,40 +316,40 @@ u_int16_t tcp_chksum(struct sockaddr_in6 *, struct soc void *, u_int32_t); void usage(void); -int rcvsock; /* receive (icmp) socket file descriptor */ -int sndsock; /* send (raw/udp) socket file descriptor */ +static int rcvsock; /* receive (icmp) socket file descriptor */ +static int sndsock; /* send (raw/udp) socket file descriptor */ -struct msghdr rcvmhdr; -struct iovec rcviov[2]; -int rcvhlim; -struct in6_pktinfo *rcvpktinfo; +static struct msghdr rcvmhdr; +static struct iovec rcviov[2]; +static int rcvhlim; +static struct in6_pktinfo *rcvpktinfo; -struct sockaddr_in6 Src, Dst, Rcv; -u_long datalen = 20; /* How much data */ +static struct sockaddr_in6 Src, Dst, Rcv; +static u_long datalen = 20; /* How much data */ #define ICMP6ECHOLEN 8 /* XXX: 2064 = 127(max hops in type 0 rthdr) * sizeof(ip6_hdr) + 16(margin) */ -char rtbuf[2064]; -struct ip6_rthdr *rth; -struct cmsghdr *cmsg; +static char rtbuf[2064]; +static struct ip6_rthdr *rth; +static struct cmsghdr *cmsg; -char *source = NULL; -char *hostname; +static char *source = NULL; +static char *hostname; -u_long nprobes = 3; -u_long first_hop = 1; -u_long max_hops = 30; -u_int16_t srcport; -u_int16_t port = 32768+666; /* start udp dest port # for probe packets */ -u_int16_t ident; -int options; /* socket options */ -int verbose; -int waittime = 5; /* time to wait for response (in seconds) */ -int nflag; /* print addresses numerically */ -int useproto = IPPROTO_UDP; /* protocol to use to send packet */ -int lflag; /* print both numerical address & hostname */ -int as_path; /* print as numbers for each hop */ -char *as_server = NULL; -void *asn; +static u_long nprobes = 3; +static u_long first_hop = 1; +static u_long max_hops = 30; +static u_int16_t srcport; +static u_int16_t port = 32768+666; /* start udp dest port # for probe packets */ +static u_int16_t ident; +static int options; /* socket options */ +static int verbose; +static int waittime = 5; /* time to wait for response (in seconds) */ +static int nflag; /* print addresses numerically */ +static int useproto = IPPROTO_UDP; /* protocol to use to send packet */ +static int lflag; /* print both numerical address & hostname */ +static int as_path; /* print as numbers for each hop */ +static char *as_server = NULL; +static void *asn; int main(int argc, char *argv[]) @@ -366,6 +364,10 @@ main(int argc, char *argv[]) size_t size, minlen; uid_t uid; u_char type, code; +#if defined(IPSEC) && defined(IPSEC_POLICY_IPSEC) + char ipsec_inpolicy[] = "in bypass"; + char ipsec_outpolicy[] = "out bypass"; +#endif /* * Receive ICMP @@ -628,7 +630,7 @@ main(int argc, char *argv[]) fprintf(stderr, "traceroute6: Warning: %s has multiple " "addresses; using %s\n", hostname, hbuf); } - + freeaddrinfo(res); if (*++argv) { ep = NULL; errno = 0; @@ -705,15 +707,14 @@ main(int argc, char *argv[]) if (options & SO_DONTROUTE) (void) setsockopt(rcvsock, SOL_SOCKET, SO_DONTROUTE, (char *)&on, sizeof(on)); -#ifdef IPSEC -#ifdef IPSEC_POLICY_IPSEC +#if defined(IPSEC) && defined(IPSEC_POLICY_IPSEC) /* * do not raise error even if setsockopt fails, kernel may have ipsec * turned off. */ - if (setpolicy(rcvsock, "in bypass") < 0) + if (setpolicy(rcvsock, ipsec_inpolicy) < 0) errx(1, "%s", ipsec_strerror()); - if (setpolicy(rcvsock, "out bypass") < 0) + if (setpolicy(rcvsock, ipsec_outpolicy) < 0) errx(1, "%s", ipsec_strerror()); #else { @@ -735,8 +736,7 @@ main(int argc, char *argv[]) sizeof(level)); #endif } -#endif /*IPSEC_POLICY_IPSEC*/ -#endif /*IPSEC*/ +#endif /* !(IPSEC && IPSEC_POLICY_IPSEC) */ #ifdef SO_SNDBUF i = datalen; @@ -763,15 +763,14 @@ main(int argc, char *argv[]) exit(1); } } -#ifdef IPSEC -#ifdef IPSEC_POLICY_IPSEC +#if defined(IPSEC) && defined(IPSEC_POLICY_IPSEC) /* * do not raise error even if setsockopt fails, kernel may have ipsec * turned off. */ - if (setpolicy(sndsock, "in bypass") < 0) + if (setpolicy(sndsock, ipsec_inpolicy) < 0) errx(1, "%s", ipsec_strerror()); - if (setpolicy(sndsock, "out bypass") < 0) + if (setpolicy(sndsock, ipsec_outpolicy) < 0) errx(1, "%s", ipsec_strerror()); #else { @@ -793,17 +792,13 @@ main(int argc, char *argv[]) sizeof(level)); #endif } -#endif /*IPSEC_POLICY_IPSEC*/ -#endif /*IPSEC*/ +#endif /* !(IPSEC && IPSEC_POLICY_IPSEC) */ /* * Source selection */ bzero(&Src, sizeof(Src)); if (source) { - struct addrinfo hints, *res; - int error; - memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_INET6; hints.ai_socktype = SOCK_DGRAM; /*dummy*/ @@ -1018,12 +1013,9 @@ wait_for_reply(int sock, struct msghdr *mhdr) #endif } -#ifdef IPSEC -#ifdef IPSEC_POLICY_IPSEC +#if defined(IPSEC) && defined(IPSEC_POLICY_IPSEC) int -setpolicy(so, policy) - int so; - char *policy; +setpolicy(int so, char *policy) { char *buf; @@ -1040,7 +1032,6 @@ setpolicy(so, policy) return 0; } #endif -#endif void send_probe(int seq, u_long hops) @@ -1627,11 +1618,11 @@ static u_int32_t crc_c[256] = { }; u_int32_t -sctp_crc32c(void *packet, u_int32_t len) +sctp_crc32c(void *pack, u_int32_t len) { u_int32_t i, crc32c; u_int8_t byte0, byte1, byte2, byte3; - u_int8_t *buf = (u_int8_t *)packet; + u_int8_t *buf = (u_int8_t *)pack; crc32c = ~0; for (i = 0; i < len; i++) From owner-svn-src-all@freebsd.org Tue Jul 28 15:26:20 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BD39736D029; Tue, 28 Jul 2020 15:26:20 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGL9m3xzsz4XJm; Tue, 28 Jul 2020 15:26:20 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6C48911329; Tue, 28 Jul 2020 15:26:20 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SFQKTh002448; Tue, 28 Jul 2020 15:26:20 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SFQKe7002447; Tue, 28 Jul 2020 15:26:20 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007281526.06SFQKe7002447@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 28 Jul 2020 15:26:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363649 - head/bin/ps X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/bin/ps X-SVN-Commit-Revision: 363649 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 15:26:20 -0000 Author: markj Date: Tue Jul 28 15:26:19 2020 New Revision: 363649 URL: https://svnweb.freebsd.org/changeset/base/363649 Log: ps(1): Fix formatting of the "command" field for kernel threads. When -H is specified, for kernel threads the command is formatted as "/" and truncated to MAXCOMLEN. But each of the proc name and td name may be up to MAXCOMLEN bytes in length. Also handle the ki_moretdname field to ensure that the full thread name gets printed. This is already handled correctly when formatting for "-o tdname". Reported by: freqlabs Reviewed by: freqlabs MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25840 Modified: head/bin/ps/ps.c Modified: head/bin/ps/ps.c ============================================================================== --- head/bin/ps/ps.c Tue Jul 28 15:16:29 2020 (r363648) +++ head/bin/ps/ps.c Tue Jul 28 15:26:19 2020 (r363649) @@ -1264,6 +1264,7 @@ fmt(char **(*fn)(kvm_t *, const struct kinfo_proc *, i static void saveuser(KINFO *ki) { + char tdname[COMMLEN + 1]; char *argsp; if (ki->ki_p->ki_flag & P_INMEM) { @@ -1280,12 +1281,14 @@ saveuser(KINFO *ki) * save arguments if needed */ if (needcomm) { - if (ki->ki_p->ki_stat == SZOMB) + if (ki->ki_p->ki_stat == SZOMB) { ki->ki_args = strdup(""); - else if (UREADOK(ki) || (ki->ki_p->ki_args != NULL)) + } else if (UREADOK(ki) || (ki->ki_p->ki_args != NULL)) { + (void)snprintf(tdname, sizeof(tdname), "%s%s", + ki->ki_p->ki_tdname, ki->ki_p->ki_moretdname); ki->ki_args = fmt(kvm_getargv, ki, - ki->ki_p->ki_comm, ki->ki_p->ki_tdname, MAXCOMLEN); - else { + ki->ki_p->ki_comm, tdname, COMMLEN * 2 + 1); + } else { asprintf(&argsp, "(%s)", ki->ki_p->ki_comm); ki->ki_args = argsp; } From owner-svn-src-all@freebsd.org Tue Jul 28 16:08:16 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E23E836DECE; Tue, 28 Jul 2020 16:08:16 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGM685gSGz4ZFy; Tue, 28 Jul 2020 16:08:16 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A69D6119A2; Tue, 28 Jul 2020 16:08:16 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SG8GdZ027555; Tue, 28 Jul 2020 16:08:16 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SG8FgP027547; Tue, 28 Jul 2020 16:08:15 GMT (envelope-from br@FreeBSD.org) Message-Id: <202007281608.06SG8FgP027547@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Tue, 28 Jul 2020 16:08:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363650 - in head/sys: dev/iommu dev/ntb/ntb_hw x86/include x86/iommu x86/x86 X-SVN-Group: head X-SVN-Commit-Author: br X-SVN-Commit-Paths: in head/sys: dev/iommu dev/ntb/ntb_hw x86/include x86/iommu x86/x86 X-SVN-Commit-Revision: 363650 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 16:08:16 -0000 Author: br Date: Tue Jul 28 16:08:14 2020 New Revision: 363650 URL: https://svnweb.freebsd.org/changeset/base/363650 Log: o Move the buswide_ctxs bitmap to iommu_unit and rename related functions. o Rename bus_dma_dmar_load_ident() as well. Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25852 Modified: head/sys/dev/iommu/busdma_iommu.c head/sys/dev/iommu/iommu.h head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c head/sys/x86/include/bus_dma.h head/sys/x86/iommu/intel_ctx.c head/sys/x86/iommu/intel_dmar.h head/sys/x86/iommu/intel_drv.c head/sys/x86/x86/busdma_machdep.c Modified: head/sys/dev/iommu/busdma_iommu.c ============================================================================== --- head/sys/dev/iommu/busdma_iommu.c Tue Jul 28 15:26:19 2020 (r363649) +++ head/sys/dev/iommu/busdma_iommu.c Tue Jul 28 16:08:14 2020 (r363650) @@ -299,7 +299,7 @@ acpi_iommu_get_dma_tag(device_t dev, device_t child) } bool -bus_dma_dmar_set_buswide(device_t dev) +bus_dma_iommu_set_buswide(device_t dev) { struct iommu_unit *unit; device_t parent; @@ -317,12 +317,12 @@ bus_dma_dmar_set_buswide(device_t dev) if (slot != 0 || func != 0) { if (bootverbose) { device_printf(dev, - "dmar%d pci%d:%d:%d requested buswide busdma\n", + "iommu%d pci%d:%d:%d requested buswide busdma\n", unit->unit, busno, slot, func); } return (false); } - dmar_set_buswide_ctx(unit, busno); + iommu_set_buswide_ctx(unit, busno); return (true); } @@ -987,7 +987,7 @@ iommu_fini_busdma(struct iommu_unit *unit) } int -bus_dma_dmar_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map1, +bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map1, vm_paddr_t start, vm_size_t length, int flags) { struct bus_dma_tag_common *tc; Modified: head/sys/dev/iommu/iommu.h ============================================================================== --- head/sys/dev/iommu/iommu.h Tue Jul 28 15:26:19 2020 (r363649) +++ head/sys/dev/iommu/iommu.h Tue Jul 28 16:08:14 2020 (r363650) @@ -34,12 +34,14 @@ #ifndef _SYS_IOMMU_H_ #define _SYS_IOMMU_H_ +#include #include #include #include #include -#include +#include + /* Host or physical memory address, after translation. */ typedef uint64_t iommu_haddr_t; /* Guest or bus address, before translation. */ @@ -96,6 +98,14 @@ struct iommu_unit { struct task dmamap_load_task; TAILQ_HEAD(, bus_dmamap_iommu) delayed_maps; struct taskqueue *delayed_taskqueue; + + /* + * Bitmap of buses for which context must ignore slot:func, + * duplicating the page table pointer into all context table + * entries. This is a client-controlled quirk to support some + * NTBs. + */ + uint32_t buswide_ctxs[(PCI_BUSMAX + 1) / NBBY / sizeof(uint32_t)]; }; /* Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Tue Jul 28 15:26:19 2020 (r363649) +++ head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Tue Jul 28 16:08:14 2020 (r363650) @@ -811,7 +811,7 @@ intel_ntb_map_pci_bars(struct ntb_softc *ntb) device_printf(ntb->device, "Unable to create BAR0 map\n"); return (ENOMEM); } - if (bus_dma_dmar_load_ident(ntb->bar0_dma_tag, ntb->bar0_dma_map, + if (bus_dma_iommu_load_ident(ntb->bar0_dma_tag, ntb->bar0_dma_map, bar->pbase, bar->size, 0)) { device_printf(ntb->device, "Unable to load BAR0 map\n"); return (ENOMEM); Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c Tue Jul 28 15:26:19 2020 (r363649) +++ head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c Tue Jul 28 16:08:14 2020 (r363650) @@ -343,7 +343,7 @@ ntb_plx_attach(device_t dev) * The device occupies whole bus. In translated TLP slot field * keeps LUT index (original bus/slot), function is passed through. */ - bus_dma_dmar_set_buswide(dev); + bus_dma_iommu_set_buswide(dev); /* Identify chip port we are connected to. */ val = bus_read_4(sc->conf_res, 0x360); Modified: head/sys/x86/include/bus_dma.h ============================================================================== --- head/sys/x86/include/bus_dma.h Tue Jul 28 15:26:19 2020 (r363649) +++ head/sys/x86/include/bus_dma.h Tue Jul 28 16:08:14 2020 (r363650) @@ -192,8 +192,8 @@ _bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t } #ifdef _KERNEL -bool bus_dma_dmar_set_buswide(device_t dev); -int bus_dma_dmar_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map, +bool bus_dma_iommu_set_buswide(device_t dev); +int bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map, vm_paddr_t start, vm_size_t length, int flags); #endif Modified: head/sys/x86/iommu/intel_ctx.c ============================================================================== --- head/sys/x86/iommu/intel_ctx.c Tue Jul 28 15:26:19 2020 (r363649) +++ head/sys/x86/iommu/intel_ctx.c Tue Jul 28 16:08:14 2020 (r363650) @@ -196,7 +196,7 @@ ctx_id_entry_init(struct dmar_ctx *ctx, dmar_ctx_entry IOMMU_PGF_NOALLOC); } - if (dmar_is_buswide_ctx(unit, busno)) { + if (iommu_is_buswide_ctx((struct iommu_unit *)unit, busno)) { MPASS(!move); for (i = 0; i <= PCI_BUSMAX; i++) { ctx_id_entry_init_one(&ctxp[i], domain, ctx_root); @@ -464,6 +464,7 @@ dmar_get_ctx_for_dev1(struct dmar_unit *dmar, device_t { struct dmar_domain *domain, *domain1; struct dmar_ctx *ctx, *ctx1; + struct iommu_unit *unit; dmar_ctx_entry_t *ctxp; struct sf_buf *sf; int bus, slot, func, error; @@ -480,9 +481,10 @@ dmar_get_ctx_for_dev1(struct dmar_unit *dmar, device_t } enable = false; TD_PREP_PINNED_ASSERT; + unit = (struct iommu_unit *)dmar; DMAR_LOCK(dmar); - KASSERT(!dmar_is_buswide_ctx(dmar, bus) || (slot == 0 && func == 0), - ("dmar%d pci%d:%d:%d get_ctx for buswide", dmar->iommu.unit, bus, + KASSERT(!iommu_is_buswide_ctx(unit, bus) || (slot == 0 && func == 0), + ("iommu%d pci%d:%d:%d get_ctx for buswide", dmar->iommu.unit, bus, slot, func)); ctx = dmar_find_ctx_locked(dmar, rid); error = 0; Modified: head/sys/x86/iommu/intel_dmar.h ============================================================================== --- head/sys/x86/iommu/intel_dmar.h Tue Jul 28 15:26:19 2020 (r363649) +++ head/sys/x86/iommu/intel_dmar.h Tue Jul 28 16:08:14 2020 (r363650) @@ -167,15 +167,6 @@ struct dmar_unit { struct iommu_map_entries_tailq tlb_flush_entries; struct task qi_task; struct taskqueue *qi_taskqueue; - - /* - * Bitmap of buses for which context must ignore slot:func, - * duplicating the page table pointer into all context table - * entries. This is a client-controlled quirk to support some - * NTBs. - */ - uint32_t buswide_ctxs[(PCI_BUSMAX + 1) / NBBY / sizeof(uint32_t)]; - }; #define DMAR_LOCK(dmar) mtx_lock(&(dmar)->iommu.lock) @@ -290,8 +281,8 @@ void dmar_quirks_pre_use(struct iommu_unit *dmar); int dmar_init_irt(struct dmar_unit *unit); void dmar_fini_irt(struct dmar_unit *unit); -void dmar_set_buswide_ctx(struct iommu_unit *unit, u_int busno); -bool dmar_is_buswide_ctx(struct dmar_unit *unit, u_int busno); +void iommu_set_buswide_ctx(struct iommu_unit *unit, u_int busno); +bool iommu_is_buswide_ctx(struct iommu_unit *unit, u_int busno); extern iommu_haddr_t dmar_high; extern int haw; Modified: head/sys/x86/iommu/intel_drv.c ============================================================================== --- head/sys/x86/iommu/intel_drv.c Tue Jul 28 15:26:19 2020 (r363649) +++ head/sys/x86/iommu/intel_drv.c Tue Jul 28 16:08:14 2020 (r363650) @@ -593,21 +593,18 @@ DRIVER_MODULE(dmar, acpi, dmar_driver, dmar_devclass, MODULE_DEPEND(dmar, acpi, 1, 1, 1); void -dmar_set_buswide_ctx(struct iommu_unit *unit, u_int busno) +iommu_set_buswide_ctx(struct iommu_unit *unit, u_int busno) { - struct dmar_unit *dmar; - dmar = (struct dmar_unit *)unit; - MPASS(busno <= PCI_BUSMAX); - DMAR_LOCK(dmar); - dmar->buswide_ctxs[busno / NBBY / sizeof(uint32_t)] |= + IOMMU_LOCK(unit); + unit->buswide_ctxs[busno / NBBY / sizeof(uint32_t)] |= 1 << (busno % (NBBY * sizeof(uint32_t))); - DMAR_UNLOCK(dmar); + IOMMU_UNLOCK(unit); } bool -dmar_is_buswide_ctx(struct dmar_unit *unit, u_int busno) +iommu_is_buswide_ctx(struct iommu_unit *unit, u_int busno) { MPASS(busno <= PCI_BUSMAX); Modified: head/sys/x86/x86/busdma_machdep.c ============================================================================== --- head/sys/x86/x86/busdma_machdep.c Tue Jul 28 15:26:19 2020 (r363649) +++ head/sys/x86/x86/busdma_machdep.c Tue Jul 28 16:08:14 2020 (r363650) @@ -301,13 +301,13 @@ bus_dma_tag_destroy(bus_dma_tag_t dmat) #ifndef ACPI_DMAR bool -bus_dma_dmar_set_buswide(device_t dev) +bus_dma_iommu_set_buswide(device_t dev) { return (false); } int -bus_dma_dmar_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map, +bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map, vm_paddr_t start, vm_size_t length, int flags) { return (0); From owner-svn-src-all@freebsd.org Tue Jul 28 16:10:53 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 217A336E1D3; Tue, 28 Jul 2020 16:10:53 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGM9859R2z4ZjP; Tue, 28 Jul 2020 16:10:52 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 136D611A35; Tue, 28 Jul 2020 16:10:52 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SGApWw027761; Tue, 28 Jul 2020 16:10:51 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SGApIP027760; Tue, 28 Jul 2020 16:10:51 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202007281610.06SGApIP027760@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Tue, 28 Jul 2020 16:10:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363651 - stable/12/lib/geom/eli X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: stable/12/lib/geom/eli X-SVN-Commit-Revision: 363651 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 16:10:53 -0000 Author: gbe (doc committer) Date: Tue Jul 28 16:10:51 2020 New Revision: 363651 URL: https://svnweb.freebsd.org/changeset/base/363651 Log: MFC r363363, r363416: geli(8): new example with file based storage r363363: geli(8): Add an example on how to use geli(8) with a file as encrypted storage Reviewed by: bcr (mentor) Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D25741 r363416: geli(8): Add missing commands in the EXAMPLES section Reported by: Fabian Keil Reviewed by: bcr (mentor) Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D25761 Modified: stable/12/lib/geom/eli/geli.8 Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/geom/eli/geli.8 ============================================================================== --- stable/12/lib/geom/eli/geli.8 Tue Jul 28 16:08:14 2020 (r363650) +++ stable/12/lib/geom/eli/geli.8 Tue Jul 28 16:10:51 2020 (r363651) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 19, 2020 +.Dd July 22, 2020 .Dt GELI 8 .Os .Sh NAME @@ -1094,6 +1094,66 @@ resuming the laptop: # geli resume gpt/private Enter passphrase: .Ed +.Pp +To create a +.Nm +encrypted filesystem with a file as storage device follow this example. +First a file named private0 is created in +.Pa /usr +and attached as a memory disk like +.Pa /dev/md0 +for example. +.Bd -literal -offset indent +# dd if=/dev/zero of=/usr/private0 bs=1m count=256 +# chmod 0600 /usr/private0 +# mdconfig -t vnode -f /usr/private0 +.Ed +.Pp +It is recommended to place the following line in +.Xr rc.conf 5 +to have the memory disk automatically created during boot. +.Bd -literal -offset indent +mdconfig_md0="-t vnode -f /usr/private0" +.Ed +.Pp +After +.Pa /dev/md0 +is created a random key has to be generated and stored in a secure location, +like +.Pa /root +for example. +This key should be protected by a passphrase, which +is requested when geli init is called. +.Bd -literal -offset indent +# dd if=/dev/random of=/root/private0.key bs=64 count=1 +# geli init -K /root/private0.key -s 4096 /dev/md0 +Enter new passphrase: +Reenter new passphrase: +# geli attach -k /root/private0.key /dev/md0 +Enter passphrase: +# dd if=/dev/random of=/dev/md0.eli bs=1m +.Ed +.Pp +Once the initialization of the +.Pa /dev/md0.eli +device is ready create a UFS filesystem and mount it for example in +.Pa /private . +.Bd -literal -offset indent +# newfs /dev/md0.eli +# mount /dev/md0.eli /private +.Ed +.Pp +After a system reboot the +.Nm +device can be mounted again with the following commands. +The call of geli attach will ask for the passphrase. +It is recommended to do this procedure after the boot, because otherwise +the boot process would be waiting for the passphrase input. +.Bd -literal -offset indent +# geli attach -k /root/private0.key /dev/md0 +Enter passphrase: +# mount /dev/md0.eli /private +.Ed .Sh ENCRYPTION MODES .Nm supports two encryption modes: @@ -1156,7 +1216,9 @@ block cipher was implemented by Yoshisato Yanagisawa i .Pp Highest .Nm GELI -metadata version supported by the given FreeBSD version: +metadata version supported by the given +.Fx +version: .Bl -column -offset indent ".Sy FreeBSD" ".Sy version" .It Sy FreeBSD Ta Sy GELI .It Sy version Ta Sy version From owner-svn-src-all@freebsd.org Tue Jul 28 17:09:16 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1F4C336F3E7; Tue, 28 Jul 2020 17:09:16 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGNSX011lz4dpC; Tue, 28 Jul 2020 17:09:16 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D76641276B; Tue, 28 Jul 2020 17:09:15 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SH9FQk065836; Tue, 28 Jul 2020 17:09:15 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SH9FLv065835; Tue, 28 Jul 2020 17:09:15 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202007281709.06SH9FLv065835@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Tue, 28 Jul 2020 17:09:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363652 - head/share/man/man3 X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/share/man/man3 X-SVN-Commit-Revision: 363652 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 17:09:16 -0000 Author: jhb Date: Tue Jul 28 17:09:15 2020 New Revision: 363652 URL: https://svnweb.freebsd.org/changeset/base/363652 Log: Add further clarification on si_addr and si_trapno. - In the initial description of si_addr, do not claim that it is always the faulting instruction. - For si_addr, document that it is generally set to the PC for synchronous signals, but that it can be set to the the address of the faulting memory reference for some signals including SIGSEGV and SIGBUS. In particular, while SIGSEGV generally sets si_addr to the faulting memory reference, SIGBUS can vary. On some platforms, some SIGBUS signals set si_addr to the PC and other SIGBUS signals set si_addr to the faulting address depending on the specific hardware exception. - For si_trapno, synchronous signals should set this to some value. Reviewed by: kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25777 Modified: head/share/man/man3/siginfo.3 Modified: head/share/man/man3/siginfo.3 ============================================================================== --- head/share/man/man3/siginfo.3 Tue Jul 28 16:10:51 2020 (r363651) +++ head/share/man/man3/siginfo.3 Tue Jul 28 17:09:15 2020 (r363652) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 8, 2020 +.Dd July 28, 2020 .Dt SIGINFO 3 .Os .Sh NAME @@ -68,7 +68,7 @@ sending process ID .It Vt uid_t Ta Va si_uid Ta sending process's real user ID .It Vt void Ta Va *si_addr Ta -address of faulting instruction +virtual address .It Vt int Ta Va si_status Ta exit value or signal .It Vt long Ta Va si_band Ta @@ -208,25 +208,24 @@ signal sent by .Xr pthread_kill 3 .El .Pp +For synchronous signals, +.Va si_addr +is generally set to the address of the faulting instruction. +However, synchronous signals raised by a faulting memory access such as +.Dv SIGSEGV +and +.Dv SIGBUS +may report the address of the faulting memory access (if available) in +.Va si_addr +instead. +.Pp +Sychronous signals set +.Va si_trapno +to a machine-dependent trap number. +.Pp In addition, the following signal-specific information is available: .Bl -column ".Dv SIGPOLL" ".Dv CLD_CONTINUED" .It Sy Signal Ta Sy Member Ta Sy Value -.It Dv SIGILL Ta Va si_addr Ta -address of faulting instruction -.It Ta Va si_trapno Ta -machine dependent of trap code -.It Dv SIGFPE Ta Va si_addr Ta -address of faulting instruction -.It Ta Va si_trapno Ta -machine dependent of trap code -.It Dv SIGSEGV Ta Va si_addr Ta -address of faulting memory reference -.It Ta Va si_trapno Ta -machine dependent of trap code -.It Dv SIGBUS Ta Va si_addr Ta -address of faulting instruction -.It Ta Va si_trapno Ta -machine dependent of trap code .It Dv SIGCHLD Ta Va si_pid Ta child process ID .It Ta Va si_status Ta From owner-svn-src-all@freebsd.org Tue Jul 28 18:42:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 70E69371942; Tue, 28 Jul 2020 18:42:02 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGQWY1T6Gz3VNB; Tue, 28 Jul 2020 18:42:00 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 06SIfq8F022469 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 28 Jul 2020 21:41:55 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 06SIfq8F022469 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 06SIfqgm022468; Tue, 28 Jul 2020 21:41:52 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 28 Jul 2020 21:41:52 +0300 From: Konstantin Belousov To: Conrad Meyer Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r363482 - in head/sys: kern sys Message-ID: <20200728184152.GH2551@kib.kiev.ua> References: <202007241734.06OHY53J080448@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202007241734.06OHY53J080448@repo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 4BGQWY1T6Gz3VNB X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kostikbel@gmail.com) smtp.mailfrom=kostikbel@gmail.com X-Spamd-Result: default: False [1.83 / 15.00]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_SPAM_MEDIUM(0.56)[0.558]; NEURAL_SPAM_SHORT(0.98)[0.984]; NEURAL_SPAM_LONG(0.29)[0.292]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; FREEMAIL_ENVFROM(0.00)[gmail.com]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : No valid SPF, No valid DKIM,none] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 18:42:02 -0000 On Fri, Jul 24, 2020 at 05:34:05PM +0000, Conrad Meyer wrote: > Author: cem > Date: Fri Jul 24 17:34:04 2020 > New Revision: 363482 > URL: https://svnweb.freebsd.org/changeset/base/363482 > > Log: > Add unlocked/SMR fast path to getblk() > > Convert the bufobj tries to an SMR zone/PCTRIE and add a gbincore_unlocked() > API wrapping this functionality. Use it for a fast path in getblkx(), > falling back to locked lookup if we raced a thread changing the buf's > identity. > > Reported by: Attilio > Reviewed by: kib, markj > Testing: pho (in progress) > Sponsored by: Isilon > Differential Revision: https://reviews.freebsd.org/D25782 > > Modified: > head/sys/kern/vfs_bio.c > head/sys/kern/vfs_subr.c > head/sys/sys/buf.h > > Modified: head/sys/kern/vfs_bio.c > ============================================================================== > --- head/sys/kern/vfs_bio.c Fri Jul 24 17:32:10 2020 (r363481) > +++ head/sys/kern/vfs_bio.c Fri Jul 24 17:34:04 2020 (r363482) > @@ -3849,7 +3849,7 @@ getblkx(struct vnode *vp, daddr_t blkno, daddr_t dblkn > struct buf *bp; > struct bufobj *bo; > daddr_t d_blkno; > - int bsize, error, maxsize, vmio; > + int bsize, error, maxsize, vmio, lockflags; > off_t offset; > > CTR3(KTR_BUF, "getblk(%p, %ld, %d)", vp, (long)blkno, size); > @@ -3864,11 +3864,33 @@ getblkx(struct vnode *vp, daddr_t blkno, daddr_t dblkn > > bo = &vp->v_bufobj; > d_blkno = dblkno; > + > + /* Attempt lockless lookup first. */ > + bp = gbincore_unlocked(bo, blkno); > + if (bp == NULL) > + goto newbuf_unlocked; > + > + lockflags = LK_EXCLUSIVE | LK_SLEEPFAIL | > + ((flags & GB_LOCK_NOWAIT) ? LK_NOWAIT : 0); > + > + error = BUF_TIMELOCK(bp, lockflags, NULL, "getblku", slpflag, > + slptimeo); I realized that this is not safe. There is an ordering between buffer types that defines which order buffer locks should obey. For instance, on UFS the critical order is inode buffer -> snaplk -> cg buffer, or data block -> indirect data block. Since buffer identity can change under us, we might end up waiting for a lock of type that is incompatible with the currently owned lock. I think the easiest fix is to use LK_NOWAIT always, after all it is lockless path. ERESTART/EINTR checks below than can be removed. > + if (error == EINTR || error == ERESTART) > + return (error); > + else if (error != 0) > + goto loop; > + > + /* Verify buf identify has not changed since lookup. */ > + if (bp->b_bufobj == bo && bp->b_lblkno == blkno) > + goto foundbuf_fastpath; > + > + /* It changed, fallback to locked lookup. */ > + BUF_UNLOCK_RAW(bp); > + > loop: > BO_RLOCK(bo); > bp = gbincore(bo, blkno); > if (bp != NULL) { > - int lockflags; > /* > * Buffer is in-core. If the buffer is not busy nor managed, > * it must be on a queue. > @@ -3890,8 +3912,10 @@ loop: > /* We timed out or were interrupted. */ > else if (error != 0) > return (error); > + > +foundbuf_fastpath: > /* If recursed, assume caller knows the rules. */ > - else if (BUF_LOCKRECURSED(bp)) > + if (BUF_LOCKRECURSED(bp)) > goto end; > > /* > @@ -3989,6 +4013,7 @@ loop: > * buffer is also considered valid (not marked B_INVAL). > */ > BO_RUNLOCK(bo); > +newbuf_unlocked: > /* > * If the user does not want us to create the buffer, bail out > * here. > > Modified: head/sys/kern/vfs_subr.c > ============================================================================== > --- head/sys/kern/vfs_subr.c Fri Jul 24 17:32:10 2020 (r363481) > +++ head/sys/kern/vfs_subr.c Fri Jul 24 17:34:04 2020 (r363482) > @@ -234,6 +234,7 @@ static struct mtx __exclusive_cache_line vnode_list_mt > struct nfs_public nfs_pub; > > static uma_zone_t buf_trie_zone; > +static smr_t buf_trie_smr; > > /* Zone for allocation of new vnodes - used exclusively by getnewvnode() */ > static uma_zone_t vnode_zone; > @@ -491,17 +492,16 @@ static int vnsz2log; > static void * > buf_trie_alloc(struct pctrie *ptree) > { > - > - return uma_zalloc(buf_trie_zone, M_NOWAIT); > + return (uma_zalloc_smr(buf_trie_zone, M_NOWAIT)); > } > > static void > buf_trie_free(struct pctrie *ptree, void *node) > { > - > - uma_zfree(buf_trie_zone, node); > + uma_zfree_smr(buf_trie_zone, node); > } > -PCTRIE_DEFINE(BUF, buf, b_lblkno, buf_trie_alloc, buf_trie_free); > +PCTRIE_DEFINE_SMR(BUF, buf, b_lblkno, buf_trie_alloc, buf_trie_free, > + buf_trie_smr); > > /* > * Initialize the vnode management data structures. > @@ -675,7 +675,8 @@ vntblinit(void *dummy __unused) > */ > buf_trie_zone = uma_zcreate("BUF TRIE", pctrie_node_size(), > NULL, NULL, pctrie_zone_init, NULL, UMA_ALIGN_PTR, > - UMA_ZONE_NOFREE); > + UMA_ZONE_NOFREE | UMA_ZONE_SMR); > + buf_trie_smr = uma_zone_get_smr(buf_trie_zone); > uma_prealloc(buf_trie_zone, nbuf); > > vnodes_created = counter_u64_alloc(M_WAITOK); > @@ -2330,7 +2331,25 @@ gbincore(struct bufobj *bo, daddr_t lblkno) > bp = BUF_PCTRIE_LOOKUP(&bo->bo_clean.bv_root, lblkno); > if (bp != NULL) > return (bp); > - return BUF_PCTRIE_LOOKUP(&bo->bo_dirty.bv_root, lblkno); > + return (BUF_PCTRIE_LOOKUP(&bo->bo_dirty.bv_root, lblkno)); > +} > + > +/* > + * Look up a buf using the buffer tries, without the bufobj lock. This relies > + * on SMR for safe lookup, and bufs being in a no-free zone to provide type > + * stability of the result. Like other lockless lookups, the found buf may > + * already be invalid by the time this function returns. > + */ > +struct buf * > +gbincore_unlocked(struct bufobj *bo, daddr_t lblkno) > +{ > + struct buf *bp; > + > + ASSERT_BO_UNLOCKED(bo); > + bp = BUF_PCTRIE_LOOKUP_UNLOCKED(&bo->bo_clean.bv_root, lblkno); > + if (bp != NULL) > + return (bp); > + return (BUF_PCTRIE_LOOKUP_UNLOCKED(&bo->bo_dirty.bv_root, lblkno)); > } > > /* > > Modified: head/sys/sys/buf.h > ============================================================================== > --- head/sys/sys/buf.h Fri Jul 24 17:32:10 2020 (r363481) > +++ head/sys/sys/buf.h Fri Jul 24 17:34:04 2020 (r363482) > @@ -326,6 +326,9 @@ extern const char *buf_wmesg; /* Default buffer lock > KASSERT(((bp)->b_flags & B_REMFREE) == 0, \ > ("BUF_UNLOCK %p while B_REMFREE is still set.", (bp))); \ > \ > + BUF_UNLOCK_RAW((bp)); \ > +} while (0) > +#define BUF_UNLOCK_RAW(bp) do { \ > (void)_lockmgr_args(&(bp)->b_lock, LK_RELEASE, NULL, \ > LK_WMESG_DEFAULT, LK_PRIO_DEFAULT, LK_TIMO_DEFAULT, \ > LOCK_FILE, LOCK_LINE); \ > @@ -547,6 +550,7 @@ void vfs_busy_pages_acquire(struct buf *bp); > void vfs_busy_pages_release(struct buf *bp); > struct buf *incore(struct bufobj *, daddr_t); > struct buf *gbincore(struct bufobj *, daddr_t); > +struct buf *gbincore_unlocked(struct bufobj *, daddr_t); > struct buf *getblk(struct vnode *, daddr_t, int, int, int, int); > int getblkx(struct vnode *vp, daddr_t blkno, daddr_t dblkno, int size, > int slpflag, int slptimeo, int flags, struct buf **bpp); From owner-svn-src-all@freebsd.org Tue Jul 28 19:35:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 85F3A372363; Tue, 28 Jul 2020 19:35:25 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGRj92yX5z3Xhd; Tue, 28 Jul 2020 19:35:25 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 49D6C13DFC; Tue, 28 Jul 2020 19:35:25 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SJZPIO060357; Tue, 28 Jul 2020 19:35:25 GMT (envelope-from truckman@FreeBSD.org) Received: (from truckman@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SJZPbm060356; Tue, 28 Jul 2020 19:35:25 GMT (envelope-from truckman@FreeBSD.org) Message-Id: <202007281935.06SJZPbm060356@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: truckman set sender to truckman@FreeBSD.org using -f From: Don Lewis Date: Tue, 28 Jul 2020 19:35:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363653 - stable/11 X-SVN-Group: stable-11 X-SVN-Commit-Author: truckman X-SVN-Commit-Paths: stable/11 X-SVN-Commit-Revision: 363653 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 19:35:25 -0000 Author: truckman Date: Tue Jul 28 19:35:24 2020 New Revision: 363653 URL: https://svnweb.freebsd.org/changeset/base/363653 Log: Make lex a bootstrap tool when cross-building on recent 13-CURRENT. The import of flex 2.6.4 into -CURRENT changed the type of yy_n_chars in the lex skeleton from yy_size_t to int, which breaks the build of binutils/ld when using the host copy of lex. ldlex.c:3216:3: error: incompatible pointer types passing 'int *' to parameter of type 'yy_size_t *' (aka 'unsigned long *') [-Werror,-Wincompatible-pointer-types] ...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is a direct commit to stable/11 since binutils/ld has been removed from -CURRENT, and it would require a different fix there since the bootstrap tool version of lex would also cause breakage. Modified: stable/11/Makefile.inc1 Modified: stable/11/Makefile.inc1 ============================================================================== --- stable/11/Makefile.inc1 Tue Jul 28 17:09:15 2020 (r363652) +++ stable/11/Makefile.inc1 Tue Jul 28 19:35:24 2020 (r363653) @@ -1724,10 +1724,14 @@ _vtfontcvt= usr.bin/vtfontcvt .if ${BOOTSTRAPPING} < 1000033 _libopenbsd= lib/libopenbsd _m4= usr.bin/m4 -_lex= usr.bin/lex ${_bt}-usr.bin/m4: ${_bt}-lib/libopenbsd ${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4 +.endif + +# flex 2.6.4 introduced in 13-CURRRENT r362333 breaks binutils/ld build +.if ${BOOTSTRAPPING} < 1000033 || ${BOOTSTRAPPING} > 1300098 +_lex= usr.bin/lex .endif # r245440 mtree -N support added From owner-svn-src-all@freebsd.org Tue Jul 28 19:47:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 64533372F4A; Tue, 28 Jul 2020 19:47:09 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGRyh6jXPz3Z1P; Tue, 28 Jul 2020 19:47:08 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 06SJl10A075165; Tue, 28 Jul 2020 12:47:01 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 06SJl1IC075164; Tue, 28 Jul 2020 12:47:01 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202007281947.06SJl1IC075164@gndrsh.dnsmgr.net> Subject: Re: svn commit: r363598 - head/usr.sbin/nologin In-Reply-To: <65062b6a-9a8e-e4fc-9355-99f26e7ef341@FreeBSD.org> To: Mateusz Piotrowski <0mp@freebsd.org> Date: Tue, 28 Jul 2020 12:47:01 -0700 (PDT) CC: rgrimes@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, yuripv@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4BGRyh6jXPz3Z1P X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 19:47:09 -0000 > Hi, > > On 7/27/20 7:17 PM, Rodney W. Grimes wrote: > > On 7/27/20 6:41 PM, Rodney W. Grimes wrote: > >>>> Author: 0mp (doc,ports committer) > >>>> Date: Mon Jul 27 10:45:47 2020 > >>>> New Revision: 363598 > >>>> URL: https://svnweb.freebsd.org/changeset/base/363598 > >>>> > >>>> Log: > >>>> nologin.8: Improve wording > >>> I disagree that this improves wording. The norm of action for > >>> "logging" in Unix is to "write to syslog", not "log to syslog". > >> Hmm, I agree, but here it is "log using syslog". > > Please read syslog(3) it is rather consistent about using > > "write to syslog". The action of calling syslog(3) is to > > "writes message to the system message logger." > > Obviously, we write to syslog but from what I remember the reason why we decided to change the > wording to "log using syscall" was that you don't write to the syslog(3) function, but you use it > instead. > > > > >> Have you got any idea how to further improve this sentence? > > No, but can we not degrade it? > > Sure. Would you like me to just revert it? Without beter wording that would be easy to do. -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Tue Jul 28 19:50:40 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3E34A373284; Tue, 28 Jul 2020 19:50:40 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGS2m0t8Tz3Z2h; Tue, 28 Jul 2020 19:50:40 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0153114524; Tue, 28 Jul 2020 19:50:40 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SJodhZ066882; Tue, 28 Jul 2020 19:50:39 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SJod0j066881; Tue, 28 Jul 2020 19:50:39 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007281950.06SJod0j066881@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 28 Jul 2020 19:50:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363654 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 363654 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 19:50:40 -0000 Author: markj Date: Tue Jul 28 19:50:39 2020 New Revision: 363654 URL: https://svnweb.freebsd.org/changeset/base/363654 Log: vm_page_xbusy_claim(): Use atomics to update busy lock state. vm_page_xbusy_claim() could clobber the waiter bit. For its original use, kernel memory pages, this was not a problem since nothing would ever block on the busy lock for such pages. r363607 introduced a new use where this could in principle be a problem. Fix the problem by using atomic_cmpset to update the lock owner. Since this macro is defined only for INVARIANTS kernels the extra overhead doesn't seem prohibitive. Reported by: vangyzen Reviewed by: alc, kib, vangyzen Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25859 Modified: head/sys/vm/vm_page.h Modified: head/sys/vm/vm_page.h ============================================================================== --- head/sys/vm/vm_page.h Tue Jul 28 19:35:24 2020 (r363653) +++ head/sys/vm/vm_page.h Tue Jul 28 19:50:39 2020 (r363654) @@ -772,8 +772,13 @@ void vm_page_assert_pga_writeable(vm_page_t m, uint16_ #define VM_PAGE_ASSERT_PGA_WRITEABLE(m, bits) \ vm_page_assert_pga_writeable(m, bits) #define vm_page_xbusy_claim(m) do { \ + u_int _busy_lock; \ + \ vm_page_assert_xbusied_unchecked((m)); \ - (m)->busy_lock = VPB_CURTHREAD_EXCLUSIVE; \ + do { \ + _busy_lock = atomic_load_int(&(m)->busy_lock); \ + } while (!atomic_cmpset_int(&(m)->busy_lock, _busy_lock, \ + (_busy_lock & VPB_BIT_FLAGMASK) | VPB_CURTHREAD_EXCLUSIVE)); \ } while (0) #else #define VM_PAGE_OBJECT_BUSY_ASSERT(m) (void)0 From owner-svn-src-all@freebsd.org Tue Jul 28 20:06:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD80E373833; Tue, 28 Jul 2020 20:06:19 +0000 (UTC) (envelope-from csjp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGSNq5bryz3ZsD; Tue, 28 Jul 2020 20:06:19 +0000 (UTC) (envelope-from csjp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A08B51445E; Tue, 28 Jul 2020 20:06:19 +0000 (UTC) (envelope-from csjp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SK6Jgf078716; Tue, 28 Jul 2020 20:06:19 GMT (envelope-from csjp@FreeBSD.org) Received: (from csjp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SK6GmX078702; Tue, 28 Jul 2020 20:06:16 GMT (envelope-from csjp@FreeBSD.org) Message-Id: <202007282006.06SK6GmX078702@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: csjp set sender to csjp@FreeBSD.org using -f From: "Christian S.J. Peron" Date: Tue, 28 Jul 2020 20:06:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363655 - in head/contrib/openbsm: . bin/auditd bin/auditdistd libauditd libbsm man sys/bsm X-SVN-Group: head X-SVN-Commit-Author: csjp X-SVN-Commit-Paths: in head/contrib/openbsm: . bin/auditd bin/auditdistd libauditd libbsm man sys/bsm X-SVN-Commit-Revision: 363655 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 20:06:19 -0000 Author: csjp Date: Tue Jul 28 20:06:16 2020 New Revision: 363655 URL: https://svnweb.freebsd.org/changeset/base/363655 Log: Fixup some incorrect information and some comments. These changes were cherry picked up the upstream OpenBSD repository. At some point we will look at doing another import, but the diffs are substantial and will require some careful testing. Differential Revision: https://reviews.freebsd.org/D25021 MFC after: 2 weeks Submitted by: gbe Reviewed by: myself, bcr Modified: head/contrib/openbsm/CREDITS head/contrib/openbsm/bin/auditd/auditd.c head/contrib/openbsm/bin/auditdistd/auditdistd.c head/contrib/openbsm/bin/auditdistd/proto_tls.c head/contrib/openbsm/libauditd/auditd_lib.c head/contrib/openbsm/libbsm/au_control.3 head/contrib/openbsm/libbsm/au_domain.3 head/contrib/openbsm/libbsm/au_errno.3 head/contrib/openbsm/libbsm/au_socket_type.3 head/contrib/openbsm/man/audit.log.5 head/contrib/openbsm/man/getaudit.2 head/contrib/openbsm/sys/bsm/audit.h Modified: head/contrib/openbsm/CREDITS ============================================================================== --- head/contrib/openbsm/CREDITS Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/CREDITS Tue Jul 28 20:06:16 2020 (r363655) @@ -36,6 +36,9 @@ the development of OpenBSM: Ryan Steinmetz The FreeBSD Foundation Brooks Davis + Mateusz Piotrowski + Alan Somers + Aniket Pandey In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel Software's FlexeLint tool were used to identify a number of bugs in the Modified: head/contrib/openbsm/bin/auditd/auditd.c ============================================================================== --- head/contrib/openbsm/bin/auditd/auditd.c Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/bin/auditd/auditd.c Tue Jul 28 20:06:16 2020 (r363655) @@ -712,7 +712,7 @@ auditd_config_controls(void) */ err = auditd_set_qsize(); if (err) { - auditd_log_err("audit_set_qsize() %s: %m", + auditd_log_err("auditd_set_qsize() %s: %m", auditd_strerror(err)); ret = -1; } else Modified: head/contrib/openbsm/bin/auditdistd/auditdistd.c ============================================================================== --- head/contrib/openbsm/bin/auditdistd/auditdistd.c Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/bin/auditdistd/auditdistd.c Tue Jul 28 20:06:16 2020 (r363655) @@ -523,7 +523,7 @@ main_loop(void) } TAILQ_FOREACH(adhost, &adcfg->adc_hosts, adh_next) { if (adhost->adh_role == ADIST_ROLE_SENDER) { - /* Only sender workers asks for connections. */ + /* Only sender workers ask for connections. */ PJDLOG_ASSERT(adhost->adh_conn != NULL); fd = proto_descriptor(adhost->adh_conn); PJDLOG_ASSERT(fd >= 0); Modified: head/contrib/openbsm/bin/auditdistd/proto_tls.c ============================================================================== --- head/contrib/openbsm/bin/auditdistd/proto_tls.c Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/bin/auditdistd/proto_tls.c Tue Jul 28 20:06:16 2020 (r363655) @@ -413,7 +413,7 @@ tls_exec_client(const char *user, int startfd, const c tls_certificate_verify(ssl, fingerprint); /* - * The following byte is send to make proto_connect_wait() to work. + * The following byte is sent to make proto_connect_wait() work. */ connected = 1; for (;;) { @@ -460,7 +460,7 @@ tls_call_exec_client(struct proto_conn *sock, const ch proto_close(sock); } else { /* - * The FD_CLOEXEC is cleared by dup2(2), so when we not + * The FD_CLOEXEC is cleared by dup2(2), so when we do not * call it, we have to clear it by hand in case it is set. */ if (fcntl(startfd, F_SETFD, 0) == -1) Modified: head/contrib/openbsm/libauditd/auditd_lib.c ============================================================================== --- head/contrib/openbsm/libauditd/auditd_lib.c Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/libauditd/auditd_lib.c Tue Jul 28 20:06:16 2020 (r363655) @@ -498,7 +498,7 @@ auditd_expire_trails(int (*warn_expired)(char *)) * update the mtime of the trail file to the current * time. This is so we don't prematurely remove a trail * file that was created while the system clock reset - * to the * "beginning of time" but later the system + * to the "beginning of time" but later the system * clock is set to the correct current time. */ if (current_time >= JAN_01_2000 && Modified: head/contrib/openbsm/libbsm/au_control.3 ============================================================================== --- head/contrib/openbsm/libbsm/au_control.3 Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/libbsm/au_control.3 Tue Jul 28 20:06:16 2020 (r363655) @@ -201,7 +201,7 @@ converts an audit policy flags string, .Fa polstr , to a numeric audit policy mask returned via .Fa policy . -.Sh RETURN VALULES +.Sh RETURN VALUES The .Fn getacfilesz , .Fn getacdir , Modified: head/contrib/openbsm/libbsm/au_domain.3 ============================================================================== --- head/contrib/openbsm/libbsm/au_domain.3 Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/libbsm/au_domain.3 Tue Jul 28 20:06:16 2020 (r363655) @@ -62,7 +62,7 @@ The function accepts a local domain, and returns the BSM domain for it. This call cannot fail, and instead returns a BSM domain indicating to a later decoder that the domain could not be encoded. -.Sh RETURN VALULES +.Sh RETURN VALUES On success, .Fn au_bsm_to_domain returns 0 and a converted domain; on failure, it returns -1 but does not set Modified: head/contrib/openbsm/libbsm/au_errno.3 ============================================================================== --- head/contrib/openbsm/libbsm/au_errno.3 Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/libbsm/au_errno.3 Tue Jul 28 20:06:16 2020 (r363655) @@ -76,7 +76,7 @@ function converts a BSM error value to a string, gener local error number and using the local .Xr strerror 3 function, but will also work for errors that are not locally defined. -.Sh RETURN VALULES +.Sh RETURN VALUES On success, .Fn au_bsm_to_errno returns 0 and a converted error value; on failure, it returns -1 but does not Modified: head/contrib/openbsm/libbsm/au_socket_type.3 ============================================================================== --- head/contrib/openbsm/libbsm/au_socket_type.3 Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/libbsm/au_socket_type.3 Tue Jul 28 20:06:16 2020 (r363655) @@ -61,7 +61,7 @@ operating system. function accepts a local socket type, and returns the BSM socket type for it. This call cannot fail, and instead returns a BSM socket type indicating to a later decoder that the socket type could not be encoded. -.Sh RETURN VALULES +.Sh RETURN VALUES On success, .Fn au_bsm_to_socket_type returns 0 and a converted socket type; on failure, it returns -1 but does not Modified: head/contrib/openbsm/man/audit.log.5 ============================================================================== --- head/contrib/openbsm/man/audit.log.5 Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/man/audit.log.5 Tue Jul 28 20:06:16 2020 (r363655) @@ -102,7 +102,7 @@ token can be created using .It Sy "Field Bytes Description" .It "Token ID 1 byte Token ID" .It "Record Byte Count 4 bytes Number of bytes in record" -.It "Version Number 2 bytes Record version number" +.It "Version Number 1 byte Record version number" .It "Event Type 2 bytes Event type" .It "Event Modifier 2 bytes Event sub-type" .It "Seconds 4/8 bytes Record time stamp (32/64-bits)" @@ -126,7 +126,7 @@ token can be created using .It Sy "Field Bytes Description" .It "Token ID 1 byte Token ID" .It "Record Byte Count 4 bytes Number of bytes in record" -.It "Version Number 2 bytes Record version number" +.It "Version Number 1 byte Record version number" .It "Event Type 2 bytes Event type" .It "Event Modifier 2 bytes Event sub-type" .It "Address Type/Length 1 byte Host address type and length" @@ -325,7 +325,7 @@ or .It "Process ID 4 bytes Process ID" .It "Session ID 4 bytes Audit session ID" .It "Terminal Port ID 4/8 bytes Terminal port ID (32/64-bits)" -.It "Terminal Address Type/Length 1 byte Length of machine address" +.It "Terminal Address Type/Length 4 bytes Length of machine address" .It "Terminal Machine Address 4 bytes IPv4 or IPv6 address of machine" .El .Ss Return Token Modified: head/contrib/openbsm/man/getaudit.2 ============================================================================== --- head/contrib/openbsm/man/getaudit.2 Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/man/getaudit.2 Tue Jul 28 20:06:16 2020 (r363655) @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 19, 2008 +.Dd March 14, 2018 .Dt GETAUDIT 2 .Os .Sh NAME @@ -62,6 +62,7 @@ struct auditinfo { au_mask_t ai_mask; /* Audit masks */ au_tid_t ai_termid; /* Terminal ID */ au_asid_t ai_asid; /* Audit session ID */ + au_asflgs_t ai_flags; /* Audit session flags. */ }; typedef struct auditinfo auditinfo_t; .Ed Modified: head/contrib/openbsm/sys/bsm/audit.h ============================================================================== --- head/contrib/openbsm/sys/bsm/audit.h Tue Jul 28 19:50:39 2020 (r363654) +++ head/contrib/openbsm/sys/bsm/audit.h Tue Jul 28 20:06:16 2020 (r363655) @@ -46,7 +46,7 @@ #define MIN_AUDIT_FILE_SIZE (512 * 1024) /* - * Minimum noumber of free blocks on the filesystem containing the audit + * Minimum number of free blocks on the filesystem containing the audit * log necessary to avoid a hard log rotation. DO NOT SET THIS VALUE TO 0 * as the kernel does an unsigned compare, plus we want to leave a few blocks * free so userspace can terminate the log, etc. @@ -249,14 +249,14 @@ typedef struct au_token token_t; /* * Kernel audit queue control parameters: * Default: Maximum: - * aq_hiwater: AQ_HIWATER (100) AQ_MAXHIGH (10000) + * aq_hiwater: AQ_HIWATER (100) AQ_MAXHIGH (10000) * aq_lowater: AQ_LOWATER (10) Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AAFBC373ABE; Tue, 28 Jul 2020 20:18:42 +0000 (UTC) (envelope-from csjp@ion.sqrt.ca) Received: from ion.sqrt.ca (ion.sqrt.ca [192.73.242.220]) by mx1.freebsd.org (Postfix) with ESMTP id 4BGSg62VQSz3bMK; Tue, 28 Jul 2020 20:18:42 +0000 (UTC) (envelope-from csjp@ion.sqrt.ca) Received: by ion.sqrt.ca (Postfix, from userid 1000) id 40CC981A1D; Tue, 28 Jul 2020 13:18:36 -0700 (PDT) Date: Tue, 28 Jul 2020 13:18:36 -0700 From: Christian Peron To: "Christian S.J. Peron" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r363655 - in head/contrib/openbsm: . bin/auditd bin/auditdistd libauditd libbsm man sys/bsm Message-ID: <20200728201836.GA31178@ion.sqrt.ca> References: <202007282006.06SK6GmX078702@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202007282006.06SK6GmX078702@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Rspamd-Queue-Id: 4BGSg62VQSz3bMK X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36236, ipnet:192.73.242.0/24, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 20:18:42 -0000 On Tue, Jul 28, 2020 at 08:06:16PM +0000, Christian S.J. Peron wrote: > Author: csjp > Date: Tue Jul 28 20:06:16 2020 > New Revision: 363655 > URL: https://svnweb.freebsd.org/changeset/base/363655 > > Log: > Fixup some incorrect information and some comments. These changes > were cherry picked up the upstream OpenBSD repository. At some point we ^ This should be OpenBSM :) From owner-svn-src-all@freebsd.org Tue Jul 28 22:32:50 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C1BA537646D; Tue, 28 Jul 2020 22:32:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGWdt4mMKz406Q; Tue, 28 Jul 2020 22:32:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8772E16481; Tue, 28 Jul 2020 22:32:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06SMWovq071104; Tue, 28 Jul 2020 22:32:50 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06SMWob3071103; Tue, 28 Jul 2020 22:32:50 GMT (envelope-from mav@FreeBSD.org) Message-Id: <202007282232.06SMWob3071103@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 28 Jul 2020 22:32:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363656 - head/usr.sbin/ctld X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/usr.sbin/ctld X-SVN-Commit-Revision: 363656 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 22:32:50 -0000 Author: mav Date: Tue Jul 28 22:32:50 2020 New Revision: 363656 URL: https://svnweb.freebsd.org/changeset/base/363656 Log: When modifying LUN pass "special" options too. Before switching to nvlists CTL merged previous and new options, so any options not passed just kept previous value. Now CTL completely replaces them, so we must pass everything still relevant. MFC after: 1 week Sponsored by: iXsystems, Inc. Modified: head/usr.sbin/ctld/kernel.c Modified: head/usr.sbin/ctld/kernel.c ============================================================================== --- head/usr.sbin/ctld/kernel.c Tue Jul 28 20:06:16 2020 (r363655) +++ head/usr.sbin/ctld/kernel.c Tue Jul 28 22:32:50 2020 (r363656) @@ -777,6 +777,30 @@ kernel_lun_modify(struct lun *lun) req.reqdata.modify.lun_id = lun->l_ctl_lun; req.reqdata.modify.lun_size_bytes = lun->l_size; + if (lun->l_path != NULL) { + o = option_find(&lun->l_options, "file"); + if (o != NULL) { + option_set(o, lun->l_path); + } else { + o = option_new(&lun->l_options, "file", lun->l_path); + assert(o != NULL); + } + } + + o = option_find(&lun->l_options, "ctld_name"); + if (o != NULL) { + option_set(o, lun->l_name); + } else { + o = option_new(&lun->l_options, "ctld_name", lun->l_name); + assert(o != NULL); + } + + o = option_find(&lun->l_options, "scsiname"); + if (o == NULL && lun->l_scsiname != NULL) { + o = option_new(&lun->l_options, "scsiname", lun->l_scsiname); + assert(o != NULL); + } + if (!TAILQ_EMPTY(&lun->l_options)) { req.args_nvl = nvlist_create(0); if (req.args_nvl == NULL) { From owner-svn-src-all@freebsd.org Tue Jul 28 22:37:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1EEB837659A for ; Tue, 28 Jul 2020 22:37:19 +0000 (UTC) (envelope-from delfina.garden@b2btradedatabiz.com) Received: from IND01-MA1-obe.outbound.protection.outlook.com (mail-eopbgr1380130.outbound.protection.outlook.com [40.107.138.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGWl15k13z40bX for ; Tue, 28 Jul 2020 22:37:17 +0000 (UTC) (envelope-from delfina.garden@b2btradedatabiz.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OZqNOgSEPNb4Ohc7stQ65PsaBD4u/wXCYvC3XtlWSYPSwicdbej1h2/nJuTYwTtRI8/+aGwjqv9EQmgdxkyx594c2i4RxS98Ro4QJ6DycoibrIGrYobhYeQHdbj4uea2kNaxmQ/Iaao1XoehsxlRPaxFd5Qyo5XvbmbKsHb+pWrFIrABLVqiaAel/yoGsmREkONhjo8bKREHeOGbxnHzvYQUT1qKSboiOvK23hontNmG8as/LmYjOT3tLYzJ2GqB9J26qSLepLL4e/UL4drQygwKMVqKD+zkjiYYkju2xCRcjmUC0UFhYruElC0jJrx+ZkRHFk5Z+YR2fE1AFqVuiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o66IqUhX8uJe/hUUKh9o8r6kEcX40gRe2HO3feb5h8s=; b=bLDVSKljVHxaDqkPAedUIEaNHAH4UsGeJPdagHm1qQOM643LNUaLg4XEv/r/jM3Kk7yExIIO0/FQB7ANrfbblb++t/TnBcnjt7gkxHG/lKyL1a+pdDF3AvyY+vQehdRVPmpD5eF/l7cSeJZ5mK9H2hQaV2cy0eV4ORJ247aHsM/YHqUdoxU7biz3LPGidTzXC6XTkZjhr/XcHlnAYc6J2lsA/TPYiTPmyMPRSirhV/1fCDiYZ7IvXTxi3BnTIEL/yJSrSQQ2qVH1wlQRYdzcdEFl5icmpHw4NdacTqjzdBMvyL5bk+4NDHBZvIn6oAnuR9iWjv77cPPFdYX8CyvpSA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=b2btradedatabiz.com; dmarc=pass action=none header.from=b2btradedatabiz.com; dkim=pass header.d=b2btradedatabiz.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NETORGFT5599670.onmicrosoft.com; s=selector1-NETORGFT5599670-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o66IqUhX8uJe/hUUKh9o8r6kEcX40gRe2HO3feb5h8s=; b=aMlGK/Vh6tX//WvkopxKI7xon7q92k3XVmZbCx00Yy2ArNVGv3y+RHIw1Lv9fDivU7xNrLW0sJyH2l1vTBOBzxpqa1Xzxb9pgSjEtoIlF5Nxdrakwc3YMP7k7eIjXcDNJm0yF8e1IuGtVKU1LMBKvXN7qbl8foID1/AqXUSbVX0= Received: from MAXPR01MB3855.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:6e::21) by MA1PR0101MB1783.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:24::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16; Tue, 28 Jul 2020 22:37:13 +0000 Received: from MAXPR01MB3855.INDPRD01.PROD.OUTLOOK.COM ([fe80::590:b6a2:b2d8:9b11]) by MAXPR01MB3855.INDPRD01.PROD.OUTLOOK.COM ([fe80::590:b6a2:b2d8:9b11%6]) with mapi id 15.20.3216.033; Tue, 28 Jul 2020 22:37:13 +0000 From: Delfina Garden To: "svn-src-all@freebsd.org" Subject: Freebsd Thread-Topic: Freebsd Thread-Index: AdZlL50ZOYdXIFmVRvmDCDiPUTanvw== Date: Tue, 28 Jul 2020 22:37:13 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [23.82.78.24] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 444010db-5115-4e10-26f6-08d83346c61e x-ms-traffictypediagnostic: MA1PR0101MB1783: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: V8J3DqazfzR6iqOqHlyU4eAQG5NGdnr9XM8V/EsTnemvGWlllwidkpRxrNgTIwcc8o9PLMgxoa/k4sQYmX6cvsKlkMzJw8XpNLELnKqAIaTg5A3XsDuGCEiTnIZBE9Vv8pA/zyOpWjxkV919B46kYMrzlEG/PGoHESxsZ3fvgUvzwGSEZGfIhSa+lzdPE8aMHt+WmdVFwLx4gcgOSM741KE2EjCUo2hH1lw0e9eEZ28jgj2MxQTPxHA4/LxVeMY8tEkv+T2QUgF0rP/hE/T0UNX44xT2V4BMkXw6hqat2m0pWIRppw7rMNeuHybWdhgo4U6saeYF+CoPI3ZkgicHZS64tHaYWwqQQEfMuZb/a1I9D1S18Ed5IKDdxex2oW7N x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MAXPR01MB3855.INDPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(396003)(39850400004)(136003)(366004)(346002)(376002)(3480700007)(26005)(9686003)(6506007)(316002)(7696005)(76116006)(52536014)(4744005)(55236004)(2906002)(55016002)(5660300002)(6916009)(7116003)(33656002)(86362001)(508600001)(44832011)(66556008)(186003)(8676002)(66476007)(64756008)(66446008)(66946007)(8936002)(71200400001)(71110200004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: rSegpfdg6LHAUmPpCT9jg9/zVlsCMOHaYNzPExS+pGwCRYIcHk5Hz9Tjs9kaf1Z0PUzyRvCdOEGRlKnhOvMLXtfGNm5GlF40+GtPHDjiyc0yMa0VvzkVA5+X7Ui4rddPKawzDYOy03ZsaN5moqzWkyCNF/5LaACOlFn+dVmxq0+4/x4GTuJgfBul/m/GYn1MnKeBahX2nzNdmDzHGFWBPaWw/wq/WY6JNv4mQN5foACQ8XGDckuOtTCeB6PE7ry859Ks2m+z2DNZ1rwZe1nDKlmUFke8wEufnccH+0W0m3fiAEMhcb5qCCqwDr3TuO5nrl287deutWZJohT5oSsq7TJrTcJZF1sAC7tvYiLmgbKQhtCo4Nzz1aPLmkUpOXC7dyHHLrDB3iBmSd4122RRctxktxtrYQdnxySXUPvfeuIev6CajcsYHkJYUPu7WYNUMJVYBjqH4ngmmbv1c9f0mWfvVaeYYlQAaZ04iZNiaMhmR87S+hpD8lTO7w0XmG/5VHa4advnf1UOkBP7q0L6TTjPCt3wf1hxmfnXalRgQwVSZ3nTN9JOyjRFHP7GC4j6RmuhGWsl7E5MNanQewwqhqJNutzpM6XH6igwaCCmFP5cG6EchYSxONyyj/58Z3UFq+5PGhHUZFl5BiMci/o9Cw== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: b2btradedatabiz.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MAXPR01MB3855.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 444010db-5115-4e10-26f6-08d83346c61e X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jul 2020 22:37:13.6597 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 06e16213-65f3-4dd7-8a06-e0e7dc362cb1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kqgQfryTH3LUUp5AZwWOSTmJojNMrpJDi/n88UkI6za+cRoOOsDCoJTMx2alMxoFDQHLgJM5H0cJDBFtN6v9kqNPYK/7JPblzK07k37Fqd5CN7PmlQm9Hb0Gt/qRBlqN X-MS-Exchange-Transport-CrossTenantHeadersStamped: MA1PR0101MB1783 X-Rspamd-Queue-Id: 4BGWl15k13z40bX X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=NETORGFT5599670.onmicrosoft.com header.s=selector1-NETORGFT5599670-onmicrosoft-com header.b=aMlGK/Vh; dmarc=none; spf=pass (mx1.freebsd.org: domain of delfina.garden@b2btradedatabiz.com designates 40.107.138.130 as permitted sender) smtp.mailfrom=delfina.garden@b2btradedatabiz.com X-Spamd-Result: default: False [-4.53 / 15.00]; NEURAL_HAM_MEDIUM(-1.01)[-1.006]; R_DKIM_ALLOW(-0.20)[NETORGFT5599670.onmicrosoft.com:s=selector1-NETORGFT5599670-onmicrosoft-com]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_NA(0.00)[b2btradedatabiz.com]; NEURAL_HAM_LONG(-0.99)[-0.990]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_THREE(0.00)[3]; RCVD_IN_DNSWL_LOW(-0.10)[40.107.138.130:from]; DKIM_TRACE(0.00)[NETORGFT5599670.onmicrosoft.com:+]; NEURAL_HAM_SHORT(-0.94)[-0.938]; TO_DN_EQ_ADDR_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.107.138.130:from] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 22:37:19 -0000 Hi, Good Day, If you are interested in acquiring the Registrants list. I can provide you = the cost and additional details. Southern California Linux Expo 05 - 08 Mar 2020 Pasadena, USA Registrants list of Counts: 5,000 Currently the best way to grow your business is through digital. This list = will help you pass information about your organization and products directl= y and digitally to the buyer. This list will help you to acquire many poten= tial clients / leads. Each record of the list contains: Contact Name, Email Address, Company Name= , URL/Website, Phone No, Title/Designation. I Look forward to hearing from you. Thanks & Regards, Delfina Garden - Business Analyst From owner-svn-src-all@freebsd.org Wed Jul 29 00:34:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4EFEB3784C6; Wed, 29 Jul 2020 00:34:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGZL91DfPz455W; Wed, 29 Jul 2020 00:34:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0D425175F2; Wed, 29 Jul 2020 00:34:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06T0YO6U044583; Wed, 29 Jul 2020 00:34:24 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06T0YOPQ044582; Wed, 29 Jul 2020 00:34:24 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202007290034.06T0YOPQ044582@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 29 Jul 2020 00:34:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363657 - head/crypto/openssh X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/crypto/openssh X-SVN-Commit-Revision: 363657 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 00:34:25 -0000 Author: emaste Date: Wed Jul 29 00:34:24 2020 New Revision: 363657 URL: https://svnweb.freebsd.org/changeset/base/363657 Log: sshd: allow UseBlocklist alias for UseBlacklist blacklistd has been renamed to blocklistd upstream, and a future import into FreeBSD will follow that change. Support the new name as an alias in config files. Reviewed by: bz, delphij MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25865 Modified: head/crypto/openssh/servconf.c head/crypto/openssh/sshd_config.5 Modified: head/crypto/openssh/servconf.c ============================================================================== --- head/crypto/openssh/servconf.c Tue Jul 28 22:32:50 2020 (r363656) +++ head/crypto/openssh/servconf.c Wed Jul 29 00:34:24 2020 (r363657) @@ -660,6 +660,7 @@ static struct { { "rdomain", sRDomain, SSHCFG_ALL }, { "casignaturealgorithms", sCASignatureAlgorithms, SSHCFG_ALL }, { "useblacklist", sUseBlacklist, SSHCFG_GLOBAL }, + { "useblocklist", sUseBlacklist, SSHCFG_GLOBAL }, /* alias */ { "noneenabled", sUnsupported, SSHCFG_ALL }, { "hpndisabled", sDeprecated, SSHCFG_ALL }, { "hpnbuffersize", sDeprecated, SSHCFG_ALL }, Modified: head/crypto/openssh/sshd_config.5 ============================================================================== --- head/crypto/openssh/sshd_config.5 Tue Jul 28 22:32:50 2020 (r363656) +++ head/crypto/openssh/sshd_config.5 Wed Jul 29 00:34:24 2020 (r363657) @@ -35,7 +35,7 @@ .\" .\" $OpenBSD: sshd_config.5,v 1.282 2018/09/20 03:28:06 djm Exp $ .\" $FreeBSD$ -.Dd $Mdocdate: September 20 2018 $ +.Dd $Mdocdate: July 28 2020 $ .Dt SSHD_CONFIG 5 .Os .Sh NAME @@ -1602,6 +1602,11 @@ to the daemon. The default is .Cm no . +For forward compatibility with an upcoming +.Xr blacklistd +rename, the +.Cm UseBlocklist +alias can be used instead. .It Cm UseDNS Specifies whether .Xr sshd 8 From owner-svn-src-all@freebsd.org Wed Jul 29 04:36:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6282337DCAC; Wed, 29 Jul 2020 04:36:46 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGgjp2328z4Hpx; Wed, 29 Jul 2020 04:36:46 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 293721A3C2; Wed, 29 Jul 2020 04:36:46 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06T4akP8093973; Wed, 29 Jul 2020 04:36:46 GMT (envelope-from truckman@FreeBSD.org) Received: (from truckman@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06T4akES093972; Wed, 29 Jul 2020 04:36:46 GMT (envelope-from truckman@FreeBSD.org) Message-Id: <202007290436.06T4akES093972@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: truckman set sender to truckman@FreeBSD.org using -f From: Don Lewis Date: Wed, 29 Jul 2020 04:36:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363658 - stable/12 X-SVN-Group: stable-12 X-SVN-Commit-Author: truckman X-SVN-Commit-Paths: stable/12 X-SVN-Commit-Revision: 363658 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 04:36:46 -0000 Author: truckman Date: Wed Jul 29 04:36:45 2020 New Revision: 363658 URL: https://svnweb.freebsd.org/changeset/base/363658 Log: Make lex a bootstrap tool when cross-building on recent 13-CURRENT if binutils/ld is going to be built. The latter is no longer true by default. The import of flex 2.6.4 into -CURRENT changed the type of yy_n_chars in the lex skeleton from yy_size_t to int, which breaks the build of binutils/ld when using the host copy of lex. ldlex.c:3216:3: error: incompatible pointer types passing 'int *' to parameter of type 'yy_size_t *' (aka 'unsigned long *') [-Werror,-Wincompatible-pointer-types] ...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is a direct commit to stable/12 since binutils/ld has been removed from -CURRENT, and it would require a different fix there since the bootstrap tool version of lex would also cause breakage. This is similar to the stable/11 change in r363653, but in stable/12 we only need to build lex as a bootstrap tool if binutils/ld is going to be built. Modified: stable/12/Makefile.inc1 Modified: stable/12/Makefile.inc1 ============================================================================== --- stable/12/Makefile.inc1 Wed Jul 29 00:34:24 2020 (r363657) +++ stable/12/Makefile.inc1 Wed Jul 29 04:36:45 2020 (r363658) @@ -2066,10 +2066,15 @@ _vtfontcvt= usr.bin/vtfontcvt .if ${BOOTSTRAPPING} < 1000033 _m4= usr.bin/m4 -_lex= usr.bin/lex ${_bt}-usr.bin/m4: ${_bt}-lib/libopenbsd ${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4 +.endif + +# flex 2.6.4 introduced in 13-CURRRENT r362333 breaks binutils/ld build +.if ${BOOTSTRAPPING} < 1000033 || \ + (${BOOTSTRAPPING} > 1300098 && ${MK_LLD_IS_LD} == "no") +_lex= usr.bin/lex .endif # r245440 mtree -N support added From owner-svn-src-all@freebsd.org Wed Jul 29 05:27:20 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BBD5137E86E; Wed, 29 Jul 2020 05:27:20 +0000 (UTC) (envelope-from rew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGhr84NkJz4KnB; Wed, 29 Jul 2020 05:27:20 +0000 (UTC) (envelope-from rew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7586A1B08F; Wed, 29 Jul 2020 05:27:20 +0000 (UTC) (envelope-from rew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06T5RKaE025227; Wed, 29 Jul 2020 05:27:20 GMT (envelope-from rew@FreeBSD.org) Received: (from rew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06T5RK0L025226; Wed, 29 Jul 2020 05:27:20 GMT (envelope-from rew@FreeBSD.org) Message-Id: <202007290527.06T5RK0L025226@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rew set sender to rew@FreeBSD.org using -f From: Robert Wing Date: Wed, 29 Jul 2020 05:27:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363659 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: rew X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 363659 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 05:27:20 -0000 Author: rew Date: Wed Jul 29 05:27:19 2020 New Revision: 363659 URL: https://svnweb.freebsd.org/changeset/base/363659 Log: Add myself (rew) as src committer. Reviewed by: kevans (mentor), allanjude (mentor) Approved by: kevans (mentor), allanjude (mentor) Differential Revision: https://reviews.freebsd.org/D25837 Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Wed Jul 29 04:36:45 2020 (r363658) +++ head/share/misc/committers-src.dot Wed Jul 29 05:27:19 2020 (r363659) @@ -300,6 +300,7 @@ ram [label="Ram Kishore Vegesna\nram@FreeBSD.org\n2018 ray [label="Aleksandr Rybalko\nray@FreeBSD.org\n2011/05/25"] rdivacky [label="Roman Divacky\nrdivacky@FreeBSD.org\n2008/03/13"] remko [label="Remko Lodder\nremko@FreeBSD.org\n2007/02/23"] +rew [label="Robert Wing\nrew@FreeBSD.org\n2020/07/23"] rgrimes [label="Rodney W. Grimes\nrgrimes@FreeBSD.org\n1993/06/12\n2017/03/03"] rik [label="Roman Kurakin\nrik@FreeBSD.org\n2003/12/18"] rlibby [label="Ryan Libby\nrlibby@FreeBSD.org\n2017/06/07"] @@ -404,6 +405,7 @@ adrian -> sgalabov ae -> melifaro +allanjude -> rew allanjude -> tsoome alc -> davide @@ -672,6 +674,8 @@ ken -> chuck ken -> ram ken -> slm ken -> will + +kevans -> rew kib -> ae kib -> badger From owner-svn-src-all@freebsd.org Wed Jul 29 08:24:40 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ED68F3A3880; Wed, 29 Jul 2020 08:24:40 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGmmm60MBz4TYx; Wed, 29 Jul 2020 08:24:40 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B295D1D07F; Wed, 29 Jul 2020 08:24:40 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06T8OeW8035467; Wed, 29 Jul 2020 08:24:40 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06T8Oev4035466; Wed, 29 Jul 2020 08:24:40 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <202007290824.06T8Oev4035466@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 29 Jul 2020 08:24:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363660 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm/broadcom/bcm2835 X-SVN-Commit-Revision: 363660 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 08:24:41 -0000 Author: andrew Date: Wed Jul 29 08:24:40 2020 New Revision: 363660 URL: https://svnweb.freebsd.org/changeset/base/363660 Log: Only try managing the regulator when EXT_RESOURCES is defined Not all Raspberry Pi kernel configs define EXT_RESOURCES. Check for this before trying to manage the regulator. Sponsored by: Innovate UK Modified: head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Wed Jul 29 05:27:19 2020 (r363659) +++ head/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Wed Jul 29 08:24:40 2020 (r363660) @@ -394,10 +394,13 @@ bcm_sdhci_intr(void *arg) static int bcm_sdhci_update_ios(device_t bus, device_t child) { +#ifdef EXT_RESOURCES struct bcm_sdhci_softc *sc; struct mmc_ios *ios; +#endif int rv; +#ifdef EXT_RESOURCES sc = device_get_softc(bus); ios = &sc->sc_slot.host.ios; @@ -407,17 +410,20 @@ bcm_sdhci_update_ios(device_t bus, device_t child) if (sc->sc_mmc_helper.vqmmc_supply) regulator_enable(sc->sc_mmc_helper.vqmmc_supply); } +#endif rv = sdhci_generic_update_ios(bus, child); if (rv != 0) return (rv); +#ifdef EXT_RESOURCES if (ios->power_mode == power_off) { if (sc->sc_mmc_helper.vmmc_supply) regulator_disable(sc->sc_mmc_helper.vmmc_supply); if (sc->sc_mmc_helper.vqmmc_supply) regulator_disable(sc->sc_mmc_helper.vqmmc_supply); } +#endif return (0); } From owner-svn-src-all@freebsd.org Wed Jul 29 09:43:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 40CEF3A5A4F; Wed, 29 Jul 2020 09:43:58 +0000 (UTC) (envelope-from tijl@freebsd.org) Received: from mailrelay104.isp.belgacom.be (mailrelay104.isp.belgacom.be [195.238.20.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "relay.skynet.be", Issuer "GlobalSign RSA OV SSL CA 2018" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGpXD42sFz4Z02; Wed, 29 Jul 2020 09:43:56 +0000 (UTC) (envelope-from tijl@freebsd.org) IronPort-SDR: 6RqUIZCjavrFaRBhDCZcoUjwjOoW5c/x3CF1MWd4ZsZiVN5+faOFlQDo1wgBzqIi9O/yYVk18O 9wVPz6tO7KtH6ZU12y/HFuw5VPRxlb74+//keOv5r4bOxj20ZGZeKtyeoIH7Ku5xb2TmoWkNzG fSGEPH3pYzWx1E2bDoguDIr6XExVJkVw+OBZ4DcPbgE8VPijEZ9GKHXofc4EoU32VJ1wLa9y/k dmHA3E36ZlK0Ull5nTE8DG+9wJ9+y9Cnkp83gBfvAcBkNG5eWJQEby7Kfs0lOi8x+/MEd/EUFj sRc= X-Belgacom-Dynamic: yes IronPort-PHdr: =?us-ascii?q?9a23=3AkR7oVxZrku5dhaTBdDY31Kj/LSx+4OfEezUN45?= =?us-ascii?q?9isYplN5qZpsyyYh7h7PlgxGXEQZ/co6odzbaP7ea+BSdZvt6oizMrSNR0TR?= =?us-ascii?q?gLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ?= =?us-ascii?q?/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCybL9vLRi6twTcu8YZjYd/KKs61w?= =?us-ascii?q?fErGZPd+lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2?= =?us-ascii?q?466svrtQLeTQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUj?= =?us-ascii?q?ms86tnVBnlgzocOjUn7G/YlNB/jKNDoBKguRN/xZLUYJqIP/Z6Z6/RYM8WSX?= =?us-ascii?q?ZEUstXSidPAJ6zb5EXAuQPPehWsZTzqVgMohuwCgajGOzhxyRUhnL0x6A2z/?= =?us-ascii?q?gtHR3Y0AEmAtkAsG7UrNLwNKoKT+63ya3IxijdYvNR3jf985bHchU7rvGKRr?= =?us-ascii?q?J7bM3cyVUuFwPHilWdsozrPymL2esTrmWV8uRuWfioi249pAF8uz6izdojhY?= =?us-ascii?q?fVnIwa0EzE9Tlnz4YvI921UFB2bNq5HZZesyyXK4h7T80+Tm12pis3yaALtY?= =?us-ascii?q?C/cSUOyZkq2gPSZuKJfYWH7B/uUOmfLCpkiHxqeb+ymhe//0amx+bhWMe011?= =?us-ascii?q?NKoTBEktnKrn0N2QbT5daZRfRm5UeuxCyD1wfJ6uFLJ00/iKnVK4Y5z7Mzi5?= =?us-ascii?q?Yfq1rPEyDqlEnsg6KbdF8o9vWs5unjZLjtu4WSOJVuig7kN6Qjgsm/AeMlPQ?= =?us-ascii?q?cQR2Wb4uG81KH7/U3+XbVKkuU6kqnHv5DeIsQWvq25DBVR0oYi7hawES2m0N?= =?us-ascii?q?MCkXkbLVJFehaHg5L1NFHJJ/D4Fumwg1G2nzdt3PDKJLrhAo/CLnTbkbfhe6?= =?us-ascii?q?hy61JExQcw0NxT/YxYB74dLP7pVUL8tsbUAgI9PgGw2+rnDc9y1oIaWWKBGK?= =?us-ascii?q?+ZN6bSvEeU5uIuIemMYJQYuDjnK/c7+fHhlmQ5lkIHcamux5sXZ2i0Hu56LE?= =?us-ascii?q?WBfXrsntABHH8RvgogSuzmkUaCUSRPaHqrX6Iz+Cs0B5+9AIfNXICinqKO0z?= =?us-ascii?q?ygHpJLfGxGDUqMEXjwfYWeR/gMcD6SItNmkjEcTrihVYkh2Qi1tA/g17VrN/?= =?us-ascii?q?Db+ikctZ/42th1/fPcmg8p+jxvEsuRyWaNT3t7nmkQXT85wLh/oVBhyleEya?= =?us-ascii?q?V4mOZYGsBK6/xVVQc6MJvcz+1mC9DuRA3BZMyJRU2oQtW8Hz4+UMk+w8QTbE?= =?us-ascii?q?pnHNWilB/D1TKwA7AJj7yLGIA08qXE0nfvIsZy0W3G1LU/gFQ9TMtPL3Opib?= =?us-ascii?q?Bk+AjIGoHFiUKZl7yldfdU4CmY2WvL6GOVoEwQBAN1WL7ZUFgxfEbbh+/VoE?= =?us-ascii?q?TYQOn9J64gN159LsrKAaxNcdDshFNdDKP/OdbaS0yrlmqaPjrOwamDOtm5M1?= =?us-ascii?q?4B1TnQXRBX2zsY+myLYE1nXn+s?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2BfAACIRCFf/8cv8FFgHAEBAQEBAQc?= =?us-ascii?q?BARIBAQQEAQFAB4ExBQEBCwEBgwMUVAFJFY02hgaCEIhdgiWPDYF9CwEBAQE?= =?us-ascii?q?BAQEBASsMBAEBhEwCgiQlNgcOAgMBAQEDAgUBAQYBAQEBAQEFBAGGDzkMQwE?= =?us-ascii?q?QAYFiKQGDEQEFOhwjEAsOBgQuVwYTgyeDAAuud4E0hDsBCwGBCoQRfwaBOAG?= =?us-ascii?q?GO4UIgV2CAIERgxA+hD2FdgSZb4EYmgtygmmIW5ETMJ90hVCXApZuCoIATTA?= =?us-ascii?q?IO4JpUBkNlyOFRD8DMDcCBggBAQMJiQCHaAEB?= X-IPAS-Result: =?us-ascii?q?A2BfAACIRCFf/8cv8FFgHAEBAQEBAQcBARIBAQQEAQFAB?= =?us-ascii?q?4ExBQEBCwEBgwMUVAFJFY02hgaCEIhdgiWPDYF9CwEBAQEBAQEBASsMBAEBh?= =?us-ascii?q?EwCgiQlNgcOAgMBAQEDAgUBAQYBAQEBAQEFBAGGDzkMQwEQAYFiKQGDEQEFO?= =?us-ascii?q?hwjEAsOBgQuVwYTgyeDAAuud4E0hDsBCwGBCoQRfwaBOAGGO4UIgV2CAIERg?= =?us-ascii?q?xA+hD2FdgSZb4EYmgtygmmIW5ETMJ90hVCXApZuCoIATTAIO4JpUBkNlyOFR?= =?us-ascii?q?D8DMDcCBggBAQMJiQCHaAEB?= Received: from 199.47-240-81.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([81.240.47.199]) by relay.skynet.be with ESMTP; 29 Jul 2020 11:43:23 +0200 Received: from localhost (localhost [127.0.0.1]) by kalimero.tijl.coosemans.org (8.16.1/8.16.1) with ESMTP id 06T9hMAM016702; Wed, 29 Jul 2020 11:43:22 +0200 (CEST) (envelope-from tijl@FreeBSD.org) Date: Wed, 29 Jul 2020 11:43:22 +0200 From: =?UTF-8?B?VMSzbA==?= Coosemans To: Ed Maste Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r363657 - head/crypto/openssh Message-ID: <20200729114322.4ff17fde@FreeBSD.org> In-Reply-To: <202007290034.06T0YOPQ044582@repo.freebsd.org> References: <202007290034.06T0YOPQ044582@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BGpXD42sFz4Z02 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; local_wl_from(0.00)[freebsd.org]; ASN(0.00)[asn:5432, ipnet:195.238.0.0/19, country:BE] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 09:43:58 -0000 On Wed, 29 Jul 2020 00:34:24 +0000 (UTC) Ed Maste wrote: > Author: emaste > Date: Wed Jul 29 00:34:24 2020 > New Revision: 363657 > URL: https://svnweb.freebsd.org/changeset/base/363657 > > Log: > sshd: allow UseBlocklist alias for UseBlacklist > > blacklistd has been renamed to blocklistd upstream, and a future > import into FreeBSD will follow that change. Support the new name > as an alias in config files. > > Reviewed by: bz, delphij > MFC after: 1 week > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D25865 > > Modified: > head/crypto/openssh/servconf.c > head/crypto/openssh/sshd_config.5 > > Modified: head/crypto/openssh/servconf.c > ============================================================================== > --- head/crypto/openssh/servconf.c Tue Jul 28 22:32:50 2020 (r363656) > +++ head/crypto/openssh/servconf.c Wed Jul 29 00:34:24 2020 (r363657) > @@ -660,6 +660,7 @@ static struct { > { "rdomain", sRDomain, SSHCFG_ALL }, > { "casignaturealgorithms", sCASignatureAlgorithms, SSHCFG_ALL }, > { "useblacklist", sUseBlacklist, SSHCFG_GLOBAL }, > + { "useblocklist", sUseBlacklist, SSHCFG_GLOBAL }, /* alias */ > { "noneenabled", sUnsupported, SSHCFG_ALL }, > { "hpndisabled", sDeprecated, SSHCFG_ALL }, > { "hpnbuffersize", sDeprecated, SSHCFG_ALL }, > > Modified: head/crypto/openssh/sshd_config.5 > ============================================================================== > --- head/crypto/openssh/sshd_config.5 Tue Jul 28 22:32:50 2020 (r363656) > +++ head/crypto/openssh/sshd_config.5 Wed Jul 29 00:34:24 2020 (r363657) > @@ -35,7 +35,7 @@ > .\" > .\" $OpenBSD: sshd_config.5,v 1.282 2018/09/20 03:28:06 djm Exp $ > .\" $FreeBSD$ > -.Dd $Mdocdate: September 20 2018 $ > +.Dd $Mdocdate: July 28 2020 $ > .Dt SSHD_CONFIG 5 > .Os > .Sh NAME > @@ -1602,6 +1602,11 @@ to the > daemon. > The default is > .Cm no . > +For forward compatibility with an upcoming > +.Xr blacklistd > +rename, the > +.Cm UseBlocklist I realise this is very pedantic, but my spell checker says it's "block list", two words, so if you're using camel case it should be UseBlockList. From owner-svn-src-all@freebsd.org Wed Jul 29 11:17:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D2F4E3A7CEA; Wed, 29 Jul 2020 11:17:44 +0000 (UTC) (envelope-from debdrup@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGrcS5H73z4fYc; Wed, 29 Jul 2020 11:17:44 +0000 (UTC) (envelope-from debdrup@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9894E1F0A7; Wed, 29 Jul 2020 11:17:44 +0000 (UTC) (envelope-from debdrup@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TBHi59039365; Wed, 29 Jul 2020 11:17:44 GMT (envelope-from debdrup@FreeBSD.org) Received: (from debdrup@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TBHiDE039362; Wed, 29 Jul 2020 11:17:44 GMT (envelope-from debdrup@FreeBSD.org) Message-Id: <202007291117.06TBHiDE039362@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: debdrup set sender to debdrup@FreeBSD.org using -f From: Daniel Ebdrup Jensen Date: Wed, 29 Jul 2020 11:17:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363661 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: debdrup X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 363661 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 11:17:44 -0000 Author: debdrup (doc committer) Date: Wed Jul 29 11:17:44 2020 New Revision: 363661 URL: https://svnweb.freebsd.org/changeset/base/363661 Log: Outline mentorship As part of onboarding and while listening to Holy Ghost by The Bar-Kays, outline my mentorship. 0mp is mentor, with allanjude and bcr as co-mentor. Reviewed by: 0mp, allanjude, bcr Approved by: 0mp (mentor), allanjude (mentor), bcr (mentor) Differential Revision: D25855 Modified: head/share/misc/committers-doc.dot Modified: head/share/misc/committers-doc.dot ============================================================================== --- head/share/misc/committers-doc.dot Wed Jul 29 08:24:40 2020 (r363660) +++ head/share/misc/committers-doc.dot Wed Jul 29 11:17:44 2020 (r363661) @@ -62,6 +62,7 @@ carlavilla [label="Sergio Carlavilla\ncarlavilla@FreeB chinsan [label="Chinsan Huang\nchinsan@FreeBSD.org\n2006/09/20"] crees [label="Chris Rees\ncrees@FreeBSD.org\n2013/05/27"] danger [label="Daniel Gerzo\ndanger@FreeBSD.org\n2006/08/20"] +debdrup [label="Daniel Ebdrup Jensen\ndebdrup@FreeBSD.org\n2020/07/26"] delphij [label="Xin Li\ndelphij@FreeBSD.org\n2004/09/14"] dexter [label="Michael Dexter\ndexter@FreeBSD.org\n2016/11/15"] dru [label="Dru Lavigne\ndru@FreeBSD.org\n2013/01/22"] @@ -103,6 +104,10 @@ zeising [label="Niclas Zeising\nzeising@FreeBSD.org\n2 # Group together all the mentees for a particular mentor. # Keep the list sorted by mentor login. +"0mp" -> debdrup + +allanjude -> debdrup + bcr -> gavin bcr -> wblock bcr -> eadler @@ -117,6 +122,7 @@ bcr -> sg bcr -> carlavilla bcr -> "0mp" bcr -> gbe +bcr -> debdrup blackend -> ale From owner-svn-src-all@freebsd.org Wed Jul 29 11:19:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 918903A7E10; Wed, 29 Jul 2020 11:19:58 +0000 (UTC) (envelope-from debdrup@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGrg23HfYz4flf; Wed, 29 Jul 2020 11:19:58 +0000 (UTC) (envelope-from debdrup@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 542FD1F02D; Wed, 29 Jul 2020 11:19:58 +0000 (UTC) (envelope-from debdrup@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TBJwfC039502; Wed, 29 Jul 2020 11:19:58 GMT (envelope-from debdrup@FreeBSD.org) Received: (from debdrup@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TBJw8v039501; Wed, 29 Jul 2020 11:19:58 GMT (envelope-from debdrup@FreeBSD.org) Message-Id: <202007291119.06TBJw8v039501@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: debdrup set sender to debdrup@FreeBSD.org using -f From: Daniel Ebdrup Jensen Date: Wed, 29 Jul 2020 11:19:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363662 - head/usr.bin/calendar/calendars X-SVN-Group: head X-SVN-Commit-Author: debdrup X-SVN-Commit-Paths: head/usr.bin/calendar/calendars X-SVN-Commit-Revision: 363662 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 11:19:58 -0000 Author: debdrup (doc committer) Date: Wed Jul 29 11:19:57 2020 New Revision: 363662 URL: https://svnweb.freebsd.org/changeset/base/363662 Log: Add my entry to the calendar file As part of onboarding, ensure that I'm listed in the FreeBSD calendar file, while listening to Don't Take Away The Music by Tavares. Reviewed by: 0mp, bcr Approved by: 0mp (mentor), allanjude (mentor) Differential Revision: D25856 Modified: head/usr.bin/calendar/calendars/calendar.freebsd Modified: head/usr.bin/calendar/calendars/calendar.freebsd ============================================================================== --- head/usr.bin/calendar/calendars/calendar.freebsd Wed Jul 29 11:17:44 2020 (r363661) +++ head/usr.bin/calendar/calendars/calendar.freebsd Wed Jul 29 11:19:57 2020 (r363662) @@ -404,6 +404,7 @@ 10/20 Joel Dahl born in Bitterna, Skaraborg, Sweden, 1983 10/20 Dmitry Marakasov born in Moscow, Russian Federation, 1984 10/21 Ben Smithurst born in Sheffield, South Yorkshire, United Kingdom, 1981 +10/21 Daniel Ebdrup Jensen born in Aalborg, Denmark, 19XX 10/22 Jean-Sebastien Pedron born in Redon, Ille-et-Vilaine, France, 1980 10/23 Mario Sergio Fujikawa Ferreira born in Brasilia, Distrito Federal, Brazil, 1976 10/23 Romain Tartière born in Clermont-Ferrand, France, 1984 From owner-svn-src-all@freebsd.org Wed Jul 29 13:23:29 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 728EC3AACA6; Wed, 29 Jul 2020 13:23:29 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGvPY2N8Mz3Xkp; Wed, 29 Jul 2020 13:23:29 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 34EB8203FD; Wed, 29 Jul 2020 13:23:29 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TDNS9I019489; Wed, 29 Jul 2020 13:23:28 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TDNSdU019484; Wed, 29 Jul 2020 13:23:28 GMT (envelope-from br@FreeBSD.org) Message-Id: <202007291323.06TDNSdU019484@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Wed, 29 Jul 2020 13:23:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363663 - in head/sys: dev/iommu x86/include x86/iommu X-SVN-Group: head X-SVN-Commit-Author: br X-SVN-Commit-Paths: in head/sys: dev/iommu x86/include x86/iommu X-SVN-Commit-Revision: 363663 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 13:23:29 -0000 Author: br Date: Wed Jul 29 13:23:27 2020 New Revision: 363663 URL: https://svnweb.freebsd.org/changeset/base/363663 Log: o Move iommu_set_buswide_ctx, iommu_is_buswide_ctx to the generic iommu busdma backend; o Move bus_dma_iommu_set_buswide, bus_dma_iommu_load_ident prototypes to iommu.h. Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D25866 Modified: head/sys/dev/iommu/busdma_iommu.c head/sys/dev/iommu/iommu.h head/sys/x86/include/bus_dma.h head/sys/x86/iommu/intel_dmar.h head/sys/x86/iommu/intel_drv.c Modified: head/sys/dev/iommu/busdma_iommu.c ============================================================================== --- head/sys/dev/iommu/busdma_iommu.c Wed Jul 29 11:19:57 2020 (r363662) +++ head/sys/dev/iommu/busdma_iommu.c Wed Jul 29 13:23:27 2020 (r363663) @@ -326,6 +326,26 @@ bus_dma_iommu_set_buswide(device_t dev) return (true); } +void +iommu_set_buswide_ctx(struct iommu_unit *unit, u_int busno) +{ + + MPASS(busno <= PCI_BUSMAX); + IOMMU_LOCK(unit); + unit->buswide_ctxs[busno / NBBY / sizeof(uint32_t)] |= + 1 << (busno % (NBBY * sizeof(uint32_t))); + IOMMU_UNLOCK(unit); +} + +bool +iommu_is_buswide_ctx(struct iommu_unit *unit, u_int busno) +{ + + MPASS(busno <= PCI_BUSMAX); + return ((unit->buswide_ctxs[busno / NBBY / sizeof(uint32_t)] & + (1U << (busno % (NBBY * sizeof(uint32_t))))) != 0); +} + static MALLOC_DEFINE(M_IOMMU_DMAMAP, "iommu_dmamap", "IOMMU DMA Map"); static void iommu_bus_schedule_dmamap(struct iommu_unit *unit, Modified: head/sys/dev/iommu/iommu.h ============================================================================== --- head/sys/dev/iommu/iommu.h Wed Jul 29 11:19:57 2020 (r363662) +++ head/sys/dev/iommu/iommu.h Wed Jul 29 13:23:27 2020 (r363663) @@ -221,6 +221,13 @@ int iommu_gas_map_region(struct iommu_domain *domain, int iommu_gas_reserve_region(struct iommu_domain *domain, iommu_gaddr_t start, iommu_gaddr_t end); +void iommu_set_buswide_ctx(struct iommu_unit *unit, u_int busno); +bool iommu_is_buswide_ctx(struct iommu_unit *unit, u_int busno); + +bool bus_dma_iommu_set_buswide(device_t dev); +int bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map, + vm_paddr_t start, vm_size_t length, int flags); + SYSCTL_DECL(_hw_iommu); #endif /* !_SYS_IOMMU_H_ */ Modified: head/sys/x86/include/bus_dma.h ============================================================================== --- head/sys/x86/include/bus_dma.h Wed Jul 29 11:19:57 2020 (r363662) +++ head/sys/x86/include/bus_dma.h Wed Jul 29 13:23:27 2020 (r363663) @@ -191,11 +191,5 @@ _bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t return (tc->impl->map_complete(dmat, map, segs, nsegs, error)); } -#ifdef _KERNEL -bool bus_dma_iommu_set_buswide(device_t dev); -int bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map, - vm_paddr_t start, vm_size_t length, int flags); -#endif - #endif /* !_X86_BUS_DMA_H_ */ Modified: head/sys/x86/iommu/intel_dmar.h ============================================================================== --- head/sys/x86/iommu/intel_dmar.h Wed Jul 29 11:19:57 2020 (r363662) +++ head/sys/x86/iommu/intel_dmar.h Wed Jul 29 13:23:27 2020 (r363663) @@ -281,9 +281,6 @@ void dmar_quirks_pre_use(struct iommu_unit *dmar); int dmar_init_irt(struct dmar_unit *unit); void dmar_fini_irt(struct dmar_unit *unit); -void iommu_set_buswide_ctx(struct iommu_unit *unit, u_int busno); -bool iommu_is_buswide_ctx(struct iommu_unit *unit, u_int busno); - extern iommu_haddr_t dmar_high; extern int haw; extern int dmar_tbl_pagecnt; Modified: head/sys/x86/iommu/intel_drv.c ============================================================================== --- head/sys/x86/iommu/intel_drv.c Wed Jul 29 11:19:57 2020 (r363662) +++ head/sys/x86/iommu/intel_drv.c Wed Jul 29 13:23:27 2020 (r363663) @@ -592,26 +592,6 @@ static driver_t dmar_driver = { DRIVER_MODULE(dmar, acpi, dmar_driver, dmar_devclass, 0, 0); MODULE_DEPEND(dmar, acpi, 1, 1, 1); -void -iommu_set_buswide_ctx(struct iommu_unit *unit, u_int busno) -{ - - MPASS(busno <= PCI_BUSMAX); - IOMMU_LOCK(unit); - unit->buswide_ctxs[busno / NBBY / sizeof(uint32_t)] |= - 1 << (busno % (NBBY * sizeof(uint32_t))); - IOMMU_UNLOCK(unit); -} - -bool -iommu_is_buswide_ctx(struct iommu_unit *unit, u_int busno) -{ - - MPASS(busno <= PCI_BUSMAX); - return ((unit->buswide_ctxs[busno / NBBY / sizeof(uint32_t)] & - (1U << (busno % (NBBY * sizeof(uint32_t))))) != 0); -} - static void dmar_print_path(int busno, int depth, const ACPI_DMAR_PCI_PATH *path) { From owner-svn-src-all@freebsd.org Wed Jul 29 14:30:45 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C2F5D3AC217; Wed, 29 Jul 2020 14:30:45 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGwv94pHnz3btT; Wed, 29 Jul 2020 14:30:45 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8956820E63; Wed, 29 Jul 2020 14:30:45 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TEUjVu056881; Wed, 29 Jul 2020 14:30:45 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TEUhjT056869; Wed, 29 Jul 2020 14:30:43 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007291430.06TEUhjT056869@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Wed, 29 Jul 2020 14:30:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363664 - in stable/12/sys: compat/linuxkpi/common/src dev/sound/usb dev/usb dev/usb/input dev/usb/storage X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in stable/12/sys: compat/linuxkpi/common/src dev/sound/usb dev/usb dev/usb/input dev/usb/storage X-SVN-Commit-Revision: 363664 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 14:30:45 -0000 Author: markj Date: Wed Jul 29 14:30:42 2020 New Revision: 363664 URL: https://svnweb.freebsd.org/changeset/base/363664 Log: MFC r363420: usb(4): Stop checking for failures from malloc(M_WAITOK). Modified: stable/12/sys/compat/linuxkpi/common/src/linux_usb.c stable/12/sys/dev/sound/usb/uaudio.c stable/12/sys/dev/usb/input/uhid.c stable/12/sys/dev/usb/input/uhid_snes.c stable/12/sys/dev/usb/storage/ustorage_fs.c stable/12/sys/dev/usb/usb_dev.c stable/12/sys/dev/usb/usb_device.c stable/12/sys/dev/usb/usb_freebsd.h stable/12/sys/dev/usb/usb_freebsd_loader.h stable/12/sys/dev/usb/usb_generic.c stable/12/sys/dev/usb/usb_mbuf.c stable/12/sys/dev/usb/usb_transfer.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/compat/linuxkpi/common/src/linux_usb.c ============================================================================== --- stable/12/sys/compat/linuxkpi/common/src/linux_usb.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/compat/linuxkpi/common/src/linux_usb.c Wed Jul 29 14:30:42 2020 (r363664) @@ -707,8 +707,6 @@ usb_control_msg(struct usb_device *dev, struct usb_hos * 0xFFFF is a FreeBSD specific magic value. */ urb = usb_alloc_urb(0xFFFF, size); - if (urb == NULL) - return (-ENOMEM); urb->dev = dev; urb->endpoint = uhe; @@ -1008,16 +1006,14 @@ usb_alloc_urb(uint16_t iso_packets, uint16_t mem_flags } urb = malloc(size, M_USBDEV, M_WAITOK | M_ZERO); - if (urb) { - cv_init(&urb->cv_wait, "URBWAIT"); - if (iso_packets == 0xFFFF) { - urb->setup_packet = (void *)(urb + 1); - urb->transfer_buffer = (void *)(urb->setup_packet + - sizeof(struct usb_device_request)); - } else { - urb->number_of_packets = iso_packets; - } + cv_init(&urb->cv_wait, "URBWAIT"); + if (iso_packets == 0xFFFF) { + urb->setup_packet = (void *)(urb + 1); + urb->transfer_buffer = (void *)(urb->setup_packet + + sizeof(struct usb_device_request)); + } else { + urb->number_of_packets = iso_packets; } return (urb); } @@ -1722,8 +1718,6 @@ usb_bulk_msg(struct usb_device *udev, struct usb_host_ return (err); urb = usb_alloc_urb(0, 0); - if (urb == NULL) - return (-ENOMEM); usb_fill_bulk_urb(urb, udev, uhe, data, len, usb_linux_wait_complete, NULL); Modified: stable/12/sys/dev/sound/usb/uaudio.c ============================================================================== --- stable/12/sys/dev/sound/usb/uaudio.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/sound/usb/uaudio.c Wed Jul 29 14:30:42 2020 (r363664) @@ -4964,10 +4964,6 @@ uaudio_mixer_fill_info(struct uaudio_softc *sc, iot = malloc(sizeof(struct uaudio_terminal_node) * 256, M_TEMP, M_WAITOK | M_ZERO); - if (iot == NULL) { - DPRINTF("no memory!\n"); - goto done; - } while ((desc = usb_desc_foreach(cd, desc))) { dp = desc; Modified: stable/12/sys/dev/usb/input/uhid.c ============================================================================== --- stable/12/sys/dev/usb/input/uhid.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/input/uhid.c Wed Jul 29 14:30:42 2020 (r363664) @@ -450,10 +450,6 @@ uhid_get_report(struct uhid_softc *sc, uint8_t type, if (kern_data == NULL) { kern_data = malloc(len, M_USBDEV, M_WAITOK); - if (kern_data == NULL) { - err = ENOMEM; - goto done; - } free_data = 1; } err = usbd_req_get_report(sc->sc_udev, NULL, kern_data, @@ -486,10 +482,6 @@ uhid_set_report(struct uhid_softc *sc, uint8_t type, if (kern_data == NULL) { kern_data = malloc(len, M_USBDEV, M_WAITOK); - if (kern_data == NULL) { - err = ENOMEM; - goto done; - } free_data = 1; err = copyin(user_data, kern_data, len); if (err) { Modified: stable/12/sys/dev/usb/input/uhid_snes.c ============================================================================== --- stable/12/sys/dev/usb/input/uhid_snes.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/input/uhid_snes.c Wed Jul 29 14:30:42 2020 (r363664) @@ -168,10 +168,6 @@ uhid_get_report(struct uhid_snes_softc *sc, uint8_t ty if (kern_data == NULL) { kern_data = malloc(len, M_USBDEV, M_WAITOK); - if (kern_data == NULL) { - err = ENOMEM; - goto done; - } free_data = 1; } err = usbd_req_get_report(sc->sc_udev, NULL, kern_data, @@ -203,10 +199,6 @@ uhid_set_report(struct uhid_snes_softc *sc, uint8_t ty if (kern_data == NULL) { kern_data = malloc(len, M_USBDEV, M_WAITOK); - if (kern_data == NULL) { - err = ENOMEM; - goto done; - } free_data = 1; err = copyin(user_data, kern_data, len); if (err) { Modified: stable/12/sys/dev/usb/storage/ustorage_fs.c ============================================================================== --- stable/12/sys/dev/usb/storage/ustorage_fs.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/storage/ustorage_fs.c Wed Jul 29 14:30:42 2020 (r363664) @@ -380,10 +380,6 @@ ustorage_fs_attach(device_t dev) ustorage_fs_ramdisk = malloc(USTORAGE_FS_RAM_SECT << 9, M_USB, M_ZERO | M_WAITOK); - - if (ustorage_fs_ramdisk == NULL) { - return (ENOMEM); - } } sc->sc_lun[0].memory_image = ustorage_fs_ramdisk; sc->sc_lun[0].num_sectors = USTORAGE_FS_RAM_SECT; Modified: stable/12/sys/dev/usb/usb_dev.c ============================================================================== --- stable/12/sys/dev/usb/usb_dev.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/usb_dev.c Wed Jul 29 14:30:42 2020 (r363664) @@ -385,13 +385,11 @@ usb_fifo_alloc(struct mtx *mtx) struct usb_fifo *f; f = malloc(sizeof(*f), M_USBDEV, M_WAITOK | M_ZERO); - if (f != NULL) { - cv_init(&f->cv_io, "FIFO-IO"); - cv_init(&f->cv_drain, "FIFO-DRAIN"); - f->priv_mtx = mtx; - f->refcount = 1; - knlist_init_mtx(&f->selinfo.si_note, mtx); - } + cv_init(&f->cv_io, "FIFO-IO"); + cv_init(&f->cv_drain, "FIFO-DRAIN"); + f->priv_mtx = mtx; + f->refcount = 1; + knlist_init_mtx(&f->selinfo.si_note, mtx); return (f); } @@ -2308,9 +2306,6 @@ usb_alloc_symlink(const char *target) struct usb_symlink *ps; ps = malloc(sizeof(*ps), M_USBDEV, M_WAITOK); - if (ps == NULL) { - return (ps); - } /* XXX no longer needed */ strlcpy(ps->src_path, target, sizeof(ps->src_path)); ps->src_len = strlen(ps->src_path); Modified: stable/12/sys/dev/usb/usb_device.c ============================================================================== --- stable/12/sys/dev/usb/usb_device.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/usb_device.c Wed Jul 29 14:30:42 2020 (r363664) @@ -1785,9 +1785,11 @@ usb_alloc_device(device_t parent_dev, struct usb_bus * return (NULL); } udev = malloc(sizeof(*udev), M_USB, M_WAITOK | M_ZERO); +#if (USB_HAVE_MALLOC_WAITOK == 0) if (udev == NULL) { return (NULL); } +#endif /* initialise our SX-lock */ sx_init_flags(&udev->enum_sx, "USB config SX lock", SX_DUPOK); sx_init_flags(&udev->sr_sx, "USB suspend and resume SX lock", SX_NOWITNESS); Modified: stable/12/sys/dev/usb/usb_freebsd.h ============================================================================== --- stable/12/sys/dev/usb/usb_freebsd.h Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/usb_freebsd.h Wed Jul 29 14:30:42 2020 (r363664) @@ -53,6 +53,7 @@ #define USB_HAVE_FIXED_CONFIG 0 #define USB_HAVE_FIXED_PORT 0 #define USB_HAVE_DISABLE_ENUM 1 +#define USB_HAVE_MALLOC_WAITOK 1 /* define zero ticks callout value */ #define USB_CALLOUT_ZERO_TICKS 1 Modified: stable/12/sys/dev/usb/usb_freebsd_loader.h ============================================================================== --- stable/12/sys/dev/usb/usb_freebsd_loader.h Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/usb_freebsd_loader.h Wed Jul 29 14:30:42 2020 (r363664) @@ -53,6 +53,7 @@ #define USB_HAVE_FIXED_CONFIG 0 #define USB_HAVE_FIXED_PORT 0 #define USB_HAVE_DISABLE_ENUM 0 +#define USB_HAVE_MALLOC_WAITOK 0 #define USB_CALLOUT_ZERO_TICKS 1 Modified: stable/12/sys/dev/usb/usb_generic.c ============================================================================== --- stable/12/sys/dev/usb/usb_generic.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/usb_generic.c Wed Jul 29 14:30:42 2020 (r363664) @@ -2338,11 +2338,6 @@ ugen_ioctl_post(struct usb_fifo *f, u_long cmd, void * } f->fs_xfer = malloc(sizeof(f->fs_xfer[0]) * u.pinit->ep_index_max, M_USB, M_WAITOK | M_ZERO); - if (f->fs_xfer == NULL) { - usb_fifo_free_buffer(f); - error = ENOMEM; - break; - } f->fs_ep_max = u.pinit->ep_index_max; f->fs_ep_ptr = u.pinit->pEndpoints; break; Modified: stable/12/sys/dev/usb/usb_mbuf.c ============================================================================== --- stable/12/sys/dev/usb/usb_mbuf.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/usb_mbuf.c Wed Jul 29 14:30:42 2020 (r363664) @@ -78,15 +78,10 @@ usb_alloc_mbufs(struct malloc_type *type, struct usb_i alloc_size = (block_size + sizeof(struct usb_mbuf)) * nblocks; free_ptr = malloc(alloc_size, type, M_WAITOK | M_ZERO); - - if (free_ptr == NULL) { - goto done; - } m_ptr = free_ptr; data_ptr = (void *)(m_ptr + nblocks); while (nblocks--) { - m_ptr->cur_data_ptr = m_ptr->min_data_ptr = data_ptr; @@ -99,6 +94,5 @@ usb_alloc_mbufs(struct malloc_type *type, struct usb_i data_ptr += block_size; } } -done: return (free_ptr); } Modified: stable/12/sys/dev/usb/usb_transfer.c ============================================================================== --- stable/12/sys/dev/usb/usb_transfer.c Wed Jul 29 13:23:27 2020 (r363663) +++ stable/12/sys/dev/usb/usb_transfer.c Wed Jul 29 14:30:42 2020 (r363664) @@ -1342,14 +1342,15 @@ usbd_transfer_setup(struct usb_device *udev, /* allocate zeroed memory */ buf = malloc(parm->size[0], M_USB, M_WAITOK | M_ZERO); - +#if (USB_HAVE_MALLOC_WAITOK == 0) if (buf == NULL) { parm->err = USB_ERR_NOMEM; DPRINTFN(0, "cannot allocate memory block for " "configuration (%d bytes)\n", parm->size[0]); goto done; - } + } +#endif parm->dma_tag_p = USB_ADD_BYTES(buf, parm->size[1]); parm->dma_page_ptr = USB_ADD_BYTES(buf, parm->size[3]); parm->dma_page_cache_ptr = USB_ADD_BYTES(buf, parm->size[4]); From owner-svn-src-all@freebsd.org Wed Jul 29 14:33:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6F8DB3AC454; Wed, 29 Jul 2020 14:33:34 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGwyQ2NMrz3cLS; Wed, 29 Jul 2020 14:33:34 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 34B52213F5; Wed, 29 Jul 2020 14:33:34 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TEXXGc062655; Wed, 29 Jul 2020 14:33:33 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TEXVah062644; Wed, 29 Jul 2020 14:33:31 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007291433.06TEXVah062644@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Wed, 29 Jul 2020 14:33:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363665 - in stable/11/sys: compat/linuxkpi/common/src dev/sound/usb dev/usb dev/usb/input dev/usb/storage X-SVN-Group: stable-11 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in stable/11/sys: compat/linuxkpi/common/src dev/sound/usb dev/usb dev/usb/input dev/usb/storage X-SVN-Commit-Revision: 363665 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 14:33:34 -0000 Author: markj Date: Wed Jul 29 14:33:31 2020 New Revision: 363665 URL: https://svnweb.freebsd.org/changeset/base/363665 Log: MFC r363420: usb(4): Stop checking for failures from malloc(M_WAITOK). Modified: stable/11/sys/compat/linuxkpi/common/src/linux_usb.c stable/11/sys/dev/sound/usb/uaudio.c stable/11/sys/dev/usb/input/uhid.c stable/11/sys/dev/usb/storage/ustorage_fs.c stable/11/sys/dev/usb/usb_dev.c stable/11/sys/dev/usb/usb_device.c stable/11/sys/dev/usb/usb_freebsd.h stable/11/sys/dev/usb/usb_freebsd_loader.h stable/11/sys/dev/usb/usb_generic.c stable/11/sys/dev/usb/usb_mbuf.c stable/11/sys/dev/usb/usb_transfer.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/compat/linuxkpi/common/src/linux_usb.c ============================================================================== --- stable/11/sys/compat/linuxkpi/common/src/linux_usb.c Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/compat/linuxkpi/common/src/linux_usb.c Wed Jul 29 14:33:31 2020 (r363665) @@ -707,8 +707,6 @@ usb_control_msg(struct usb_device *dev, struct usb_hos * 0xFFFF is a FreeBSD specific magic value. */ urb = usb_alloc_urb(0xFFFF, size); - if (urb == NULL) - return (-ENOMEM); urb->dev = dev; urb->endpoint = uhe; @@ -1008,16 +1006,14 @@ usb_alloc_urb(uint16_t iso_packets, uint16_t mem_flags } urb = malloc(size, M_USBDEV, M_WAITOK | M_ZERO); - if (urb) { - cv_init(&urb->cv_wait, "URBWAIT"); - if (iso_packets == 0xFFFF) { - urb->setup_packet = (void *)(urb + 1); - urb->transfer_buffer = (void *)(urb->setup_packet + - sizeof(struct usb_device_request)); - } else { - urb->number_of_packets = iso_packets; - } + cv_init(&urb->cv_wait, "URBWAIT"); + if (iso_packets == 0xFFFF) { + urb->setup_packet = (void *)(urb + 1); + urb->transfer_buffer = (void *)(urb->setup_packet + + sizeof(struct usb_device_request)); + } else { + urb->number_of_packets = iso_packets; } return (urb); } @@ -1722,8 +1718,6 @@ usb_bulk_msg(struct usb_device *udev, struct usb_host_ return (err); urb = usb_alloc_urb(0, 0); - if (urb == NULL) - return (-ENOMEM); usb_fill_bulk_urb(urb, udev, uhe, data, len, usb_linux_wait_complete, NULL); Modified: stable/11/sys/dev/sound/usb/uaudio.c ============================================================================== --- stable/11/sys/dev/sound/usb/uaudio.c Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/sound/usb/uaudio.c Wed Jul 29 14:33:31 2020 (r363665) @@ -4962,10 +4962,6 @@ uaudio_mixer_fill_info(struct uaudio_softc *sc, iot = malloc(sizeof(struct uaudio_terminal_node) * 256, M_TEMP, M_WAITOK | M_ZERO); - if (iot == NULL) { - DPRINTF("no memory!\n"); - goto done; - } while ((desc = usb_desc_foreach(cd, desc))) { dp = desc; Modified: stable/11/sys/dev/usb/input/uhid.c ============================================================================== --- stable/11/sys/dev/usb/input/uhid.c Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/usb/input/uhid.c Wed Jul 29 14:33:31 2020 (r363665) @@ -448,10 +448,6 @@ uhid_get_report(struct uhid_softc *sc, uint8_t type, if (kern_data == NULL) { kern_data = malloc(len, M_USBDEV, M_WAITOK); - if (kern_data == NULL) { - err = ENOMEM; - goto done; - } free_data = 1; } err = usbd_req_get_report(sc->sc_udev, NULL, kern_data, @@ -484,10 +480,6 @@ uhid_set_report(struct uhid_softc *sc, uint8_t type, if (kern_data == NULL) { kern_data = malloc(len, M_USBDEV, M_WAITOK); - if (kern_data == NULL) { - err = ENOMEM; - goto done; - } free_data = 1; err = copyin(user_data, kern_data, len); if (err) { Modified: stable/11/sys/dev/usb/storage/ustorage_fs.c ============================================================================== --- stable/11/sys/dev/usb/storage/ustorage_fs.c Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/usb/storage/ustorage_fs.c Wed Jul 29 14:33:31 2020 (r363665) @@ -378,10 +378,6 @@ ustorage_fs_attach(device_t dev) ustorage_fs_ramdisk = malloc(USTORAGE_FS_RAM_SECT << 9, M_USB, M_ZERO | M_WAITOK); - - if (ustorage_fs_ramdisk == NULL) { - return (ENOMEM); - } } sc->sc_lun[0].memory_image = ustorage_fs_ramdisk; sc->sc_lun[0].num_sectors = USTORAGE_FS_RAM_SECT; Modified: stable/11/sys/dev/usb/usb_dev.c ============================================================================== --- stable/11/sys/dev/usb/usb_dev.c Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/usb/usb_dev.c Wed Jul 29 14:33:31 2020 (r363665) @@ -383,13 +383,11 @@ usb_fifo_alloc(struct mtx *mtx) struct usb_fifo *f; f = malloc(sizeof(*f), M_USBDEV, M_WAITOK | M_ZERO); - if (f != NULL) { - cv_init(&f->cv_io, "FIFO-IO"); - cv_init(&f->cv_drain, "FIFO-DRAIN"); - f->priv_mtx = mtx; - f->refcount = 1; - knlist_init_mtx(&f->selinfo.si_note, mtx); - } + cv_init(&f->cv_io, "FIFO-IO"); + cv_init(&f->cv_drain, "FIFO-DRAIN"); + f->priv_mtx = mtx; + f->refcount = 1; + knlist_init_mtx(&f->selinfo.si_note, mtx); return (f); } @@ -2318,9 +2316,6 @@ usb_alloc_symlink(const char *target) struct usb_symlink *ps; ps = malloc(sizeof(*ps), M_USBDEV, M_WAITOK); - if (ps == NULL) { - return (ps); - } /* XXX no longer needed */ strlcpy(ps->src_path, target, sizeof(ps->src_path)); ps->src_len = strlen(ps->src_path); Modified: stable/11/sys/dev/usb/usb_device.c ============================================================================== --- stable/11/sys/dev/usb/usb_device.c Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/usb/usb_device.c Wed Jul 29 14:33:31 2020 (r363665) @@ -1783,9 +1783,11 @@ usb_alloc_device(device_t parent_dev, struct usb_bus * return (NULL); } udev = malloc(sizeof(*udev), M_USB, M_WAITOK | M_ZERO); +#if (USB_HAVE_MALLOC_WAITOK == 0) if (udev == NULL) { return (NULL); } +#endif /* initialise our SX-lock */ sx_init_flags(&udev->enum_sx, "USB config SX lock", SX_DUPOK); sx_init_flags(&udev->sr_sx, "USB suspend and resume SX lock", SX_NOWITNESS); Modified: stable/11/sys/dev/usb/usb_freebsd.h ============================================================================== --- stable/11/sys/dev/usb/usb_freebsd.h Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/usb/usb_freebsd.h Wed Jul 29 14:33:31 2020 (r363665) @@ -51,6 +51,7 @@ #define USB_HAVE_FIXED_CONFIG 0 #define USB_HAVE_FIXED_PORT 0 #define USB_HAVE_DISABLE_ENUM 1 +#define USB_HAVE_MALLOC_WAITOK 1 /* define zero ticks callout value */ #define USB_CALLOUT_ZERO_TICKS 1 Modified: stable/11/sys/dev/usb/usb_freebsd_loader.h ============================================================================== --- stable/11/sys/dev/usb/usb_freebsd_loader.h Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/usb/usb_freebsd_loader.h Wed Jul 29 14:33:31 2020 (r363665) @@ -51,6 +51,7 @@ #define USB_HAVE_FIXED_CONFIG 0 #define USB_HAVE_FIXED_PORT 0 #define USB_HAVE_DISABLE_ENUM 0 +#define USB_HAVE_MALLOC_WAITOK 0 #define USB_CALLOUT_ZERO_TICKS 1 Modified: stable/11/sys/dev/usb/usb_generic.c ============================================================================== --- stable/11/sys/dev/usb/usb_generic.c Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/usb/usb_generic.c Wed Jul 29 14:33:31 2020 (r363665) @@ -2336,11 +2336,6 @@ ugen_ioctl_post(struct usb_fifo *f, u_long cmd, void * } f->fs_xfer = malloc(sizeof(f->fs_xfer[0]) * u.pinit->ep_index_max, M_USB, M_WAITOK | M_ZERO); - if (f->fs_xfer == NULL) { - usb_fifo_free_buffer(f); - error = ENOMEM; - break; - } f->fs_ep_max = u.pinit->ep_index_max; f->fs_ep_ptr = u.pinit->pEndpoints; break; Modified: stable/11/sys/dev/usb/usb_mbuf.c ============================================================================== --- stable/11/sys/dev/usb/usb_mbuf.c Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/usb/usb_mbuf.c Wed Jul 29 14:33:31 2020 (r363665) @@ -76,15 +76,10 @@ usb_alloc_mbufs(struct malloc_type *type, struct usb_i alloc_size = (block_size + sizeof(struct usb_mbuf)) * nblocks; free_ptr = malloc(alloc_size, type, M_WAITOK | M_ZERO); - - if (free_ptr == NULL) { - goto done; - } m_ptr = free_ptr; data_ptr = (void *)(m_ptr + nblocks); while (nblocks--) { - m_ptr->cur_data_ptr = m_ptr->min_data_ptr = data_ptr; @@ -97,6 +92,5 @@ usb_alloc_mbufs(struct malloc_type *type, struct usb_i data_ptr += block_size; } } -done: return (free_ptr); } Modified: stable/11/sys/dev/usb/usb_transfer.c ============================================================================== --- stable/11/sys/dev/usb/usb_transfer.c Wed Jul 29 14:30:42 2020 (r363664) +++ stable/11/sys/dev/usb/usb_transfer.c Wed Jul 29 14:33:31 2020 (r363665) @@ -1341,14 +1341,15 @@ usbd_transfer_setup(struct usb_device *udev, /* allocate zeroed memory */ buf = malloc(parm->size[0], M_USB, M_WAITOK | M_ZERO); - +#if (USB_HAVE_MALLOC_WAITOK == 0) if (buf == NULL) { parm->err = USB_ERR_NOMEM; DPRINTFN(0, "cannot allocate memory block for " "configuration (%d bytes)\n", parm->size[0]); goto done; - } + } +#endif parm->dma_tag_p = USB_ADD_BYTES(buf, parm->size[1]); parm->dma_page_ptr = USB_ADD_BYTES(buf, parm->size[3]); parm->dma_page_cache_ptr = USB_ADD_BYTES(buf, parm->size[4]); From owner-svn-src-all@freebsd.org Wed Jul 29 15:46:17 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F213B3AD3B3; Wed, 29 Jul 2020 15:46:17 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BGyZK6FVFz3gYh; Wed, 29 Jul 2020 15:46:17 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BAFA8222B2; Wed, 29 Jul 2020 15:46:17 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TFkHFF005513; Wed, 29 Jul 2020 15:46:17 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TFkHMH005512; Wed, 29 Jul 2020 15:46:17 GMT (envelope-from br@FreeBSD.org) Message-Id: <202007291546.06TFkHMH005512@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Wed, 29 Jul 2020 15:46:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363666 - head/sys/dev/ntb/ntb_hw X-SVN-Group: head X-SVN-Commit-Author: br X-SVN-Commit-Paths: head/sys/dev/ntb/ntb_hw X-SVN-Commit-Revision: 363666 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 15:46:18 -0000 Author: br Date: Wed Jul 29 15:46:17 2020 New Revision: 363666 URL: https://svnweb.freebsd.org/changeset/base/363666 Log: Fix build. Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25879 Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Wed Jul 29 14:33:31 2020 (r363665) +++ head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Wed Jul 29 15:46:17 2020 (r363666) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "ntb_hw_intel.h" #include "../ntb.h" Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c Wed Jul 29 14:33:31 2020 (r363665) +++ head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c Wed Jul 29 15:46:17 2020 (r363666) @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "../ntb.h" From owner-svn-src-all@freebsd.org Wed Jul 29 17:04:34 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 25BE13AEB74; Wed, 29 Jul 2020 17:04:34 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH0Jd75g7z422H; Wed, 29 Jul 2020 17:04:33 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D6FF4230CD; Wed, 29 Jul 2020 17:04:33 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TH4Xc8054647; Wed, 29 Jul 2020 17:04:33 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TH4Xgc054646; Wed, 29 Jul 2020 17:04:33 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007291704.06TH4Xgc054646@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Wed, 29 Jul 2020 17:04:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363667 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363667 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 17:04:34 -0000 Author: mjg Date: Wed Jul 29 17:04:33 2020 New Revision: 363667 URL: https://svnweb.freebsd.org/changeset/base/363667 Log: vfs: honor error code returned by mac_vnode_check_rename_from MFC after: 3 days Modified: head/sys/kern/vfs_syscalls.c Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Wed Jul 29 15:46:17 2020 (r363666) +++ head/sys/kern/vfs_syscalls.c Wed Jul 29 17:04:33 2020 (r363667) @@ -3556,20 +3556,27 @@ again: NDINIT_ATRIGHTS(&fromnd, DELETE, LOCKPARENT | LOCKLEAF | SAVESTART | AUDITVNODE1, pathseg, old, oldfd, &cap_renameat_source_rights, td); -#else - NDINIT_ATRIGHTS(&fromnd, DELETE, WANTPARENT | SAVESTART | AUDITVNODE1, - pathseg, old, oldfd, - &cap_renameat_source_rights, td); -#endif - if ((error = namei(&fromnd)) != 0) return (error); -#ifdef MAC error = mac_vnode_check_rename_from(td->td_ucred, fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd); VOP_UNLOCK(fromnd.ni_dvp); if (fromnd.ni_dvp != fromnd.ni_vp) VOP_UNLOCK(fromnd.ni_vp); + if (error != 0) { + NDFREE(&fromnd, NDF_ONLY_PNBUF); + vrele(fromnd.ni_dvp); + vrele(fromnd.ni_vp); + if (fromnd.ni_startdir) + vrele(fromnd.ni_startdir); + return (error); + } +#else + NDINIT_ATRIGHTS(&fromnd, DELETE, WANTPARENT | SAVESTART | AUDITVNODE1, + pathseg, old, oldfd, + &cap_renameat_source_rights, td); + if ((error = namei(&fromnd)) != 0) + return (error); #endif fvp = fromnd.ni_vp; NDINIT_ATRIGHTS(&tond, RENAME, LOCKPARENT | LOCKLEAF | NOCACHE | From owner-svn-src-all@freebsd.org Wed Jul 29 17:05:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ED09E3AEC65; Wed, 29 Jul 2020 17:05:32 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH0Km5SMPz42Jm; Wed, 29 Jul 2020 17:05:32 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9E88D2332B; Wed, 29 Jul 2020 17:05:32 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TH5WLN054754; Wed, 29 Jul 2020 17:05:32 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TH5Wlb054752; Wed, 29 Jul 2020 17:05:32 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007291705.06TH5Wlb054752@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Wed, 29 Jul 2020 17:05:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363668 - in head/sys: kern security/mac X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: kern security/mac X-SVN-Commit-Revision: 363668 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 17:05:33 -0000 Author: mjg Date: Wed Jul 29 17:05:31 2020 New Revision: 363668 URL: https://svnweb.freebsd.org/changeset/base/363668 Log: vfs: elide MAC-induced locking on rename if there are no relevant hoooks Modified: head/sys/kern/vfs_syscalls.c head/sys/security/mac/mac_framework.c head/sys/security/mac/mac_framework.h Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Wed Jul 29 17:04:33 2020 (r363667) +++ head/sys/kern/vfs_syscalls.c Wed Jul 29 17:05:31 2020 (r363668) @@ -3541,6 +3541,33 @@ sys_renameat(struct thread *td, struct renameat_args * UIO_USERSPACE)); } +#ifdef MAC +static int +kern_renameat_mac(struct thread *td, int oldfd, const char *old, int newfd, + const char *new, enum uio_seg pathseg, struct nameidata *fromnd) +{ + int error; + + NDINIT_ATRIGHTS(fromnd, DELETE, LOCKPARENT | LOCKLEAF | SAVESTART | + AUDITVNODE1, pathseg, old, oldfd, &cap_renameat_source_rights, td); + if ((error = namei(fromnd)) != 0) + return (error); + error = mac_vnode_check_rename_from(td->td_ucred, fromnd->ni_dvp, + fromnd->ni_vp, &fromnd->ni_cnd); + VOP_UNLOCK(fromnd->ni_dvp); + if (fromnd->ni_dvp != fromnd->ni_vp) + VOP_UNLOCK(fromnd->ni_vp); + if (error != 0) { + NDFREE(fromnd, NDF_ONLY_PNBUF); + vrele(fromnd->ni_dvp); + vrele(fromnd->ni_vp); + if (fromnd->ni_startdir) + vrele(fromnd->ni_startdir); + } + return (error); +} +#endif + int kern_renameat(struct thread *td, int oldfd, const char *old, int newfd, const char *new, enum uio_seg pathseg) @@ -3553,30 +3580,19 @@ kern_renameat(struct thread *td, int oldfd, const char again: bwillwrite(); #ifdef MAC - NDINIT_ATRIGHTS(&fromnd, DELETE, LOCKPARENT | LOCKLEAF | SAVESTART | - AUDITVNODE1, pathseg, old, oldfd, - &cap_renameat_source_rights, td); - if ((error = namei(&fromnd)) != 0) - return (error); - error = mac_vnode_check_rename_from(td->td_ucred, fromnd.ni_dvp, - fromnd.ni_vp, &fromnd.ni_cnd); - VOP_UNLOCK(fromnd.ni_dvp); - if (fromnd.ni_dvp != fromnd.ni_vp) - VOP_UNLOCK(fromnd.ni_vp); - if (error != 0) { - NDFREE(&fromnd, NDF_ONLY_PNBUF); - vrele(fromnd.ni_dvp); - vrele(fromnd.ni_vp); - if (fromnd.ni_startdir) - vrele(fromnd.ni_startdir); - return (error); - } -#else + if (mac_vnode_check_rename_from_enabled()) { + error = kern_renameat_mac(td, oldfd, old, newfd, new, pathseg, + &fromnd); + if (error != 0) + return (error); + } else { +#endif NDINIT_ATRIGHTS(&fromnd, DELETE, WANTPARENT | SAVESTART | AUDITVNODE1, - pathseg, old, oldfd, - &cap_renameat_source_rights, td); + pathseg, old, oldfd, &cap_renameat_source_rights, td); if ((error = namei(&fromnd)) != 0) return (error); +#ifdef MAC + } #endif fvp = fromnd.ni_vp; NDINIT_ATRIGHTS(&tond, RENAME, LOCKPARENT | LOCKLEAF | NOCACHE | Modified: head/sys/security/mac/mac_framework.c ============================================================================== --- head/sys/security/mac/mac_framework.c Wed Jul 29 17:04:33 2020 (r363667) +++ head/sys/security/mac/mac_framework.c Wed Jul 29 17:05:31 2020 (r363668) @@ -139,6 +139,7 @@ FPFLAG(vnode_check_read); FPFLAG(vnode_check_write); FPFLAG(vnode_check_mmap); FPFLAG_RARE(vnode_check_poll); +FPFLAG_RARE(vnode_check_rename_from); #undef FPFLAG #undef FPFLAG_RARE @@ -427,6 +428,8 @@ struct mac_policy_fastpath_elem mac_policy_fastpath_ar .flag = &mac_vnode_check_mmap_fp_flag }, { .offset = FPO(vnode_check_poll), .flag = &mac_vnode_check_poll_fp_flag }, + { .offset = FPO(vnode_check_rename_from), + .flag = &mac_vnode_check_rename_from_fp_flag }, }; static void Modified: head/sys/security/mac/mac_framework.h ============================================================================== --- head/sys/security/mac/mac_framework.h Wed Jul 29 17:04:33 2020 (r363667) +++ head/sys/security/mac/mac_framework.h Wed Jul 29 17:05:31 2020 (r363668) @@ -482,6 +482,10 @@ mac_vnode_check_poll(struct ucred *active_cred, struct #endif int mac_vnode_check_readdir(struct ucred *cred, struct vnode *vp); int mac_vnode_check_readlink(struct ucred *cred, struct vnode *vp); +#define mac_vnode_check_rename_from_enabled() __predict_false(mac_vnode_check_rename_from_fp_flag) +#ifdef MAC +extern bool mac_vnode_check_rename_from_fp_flag; +#endif int mac_vnode_check_rename_from(struct ucred *cred, struct vnode *dvp, struct vnode *vp, struct componentname *cnp); int mac_vnode_check_rename_to(struct ucred *cred, struct vnode *dvp, From owner-svn-src-all@freebsd.org Wed Jul 29 19:22:51 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5B12F3696C3; Wed, 29 Jul 2020 19:22:51 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH3NC1lpgz48Vk; Wed, 29 Jul 2020 19:22:51 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 207CF24DBE; Wed, 29 Jul 2020 19:22:51 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TJMptt040169; Wed, 29 Jul 2020 19:22:51 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TJMpT0040168; Wed, 29 Jul 2020 19:22:51 GMT (envelope-from br@FreeBSD.org) Message-Id: <202007291922.06TJMpT0040168@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Wed, 29 Jul 2020 19:22:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363669 - head/sys/x86/x86 X-SVN-Group: head X-SVN-Commit-Author: br X-SVN-Commit-Paths: head/sys/x86/x86 X-SVN-Commit-Revision: 363669 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 19:22:51 -0000 Author: br Date: Wed Jul 29 19:22:50 2020 New Revision: 363669 URL: https://svnweb.freebsd.org/changeset/base/363669 Log: Fix !ACPI_DMAR build. Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25882 Modified: head/sys/x86/x86/busdma_machdep.c Modified: head/sys/x86/x86/busdma_machdep.c ============================================================================== --- head/sys/x86/x86/busdma_machdep.c Wed Jul 29 17:05:31 2020 (r363668) +++ head/sys/x86/x86/busdma_machdep.c Wed Jul 29 19:22:50 2020 (r363669) @@ -300,6 +300,10 @@ bus_dma_tag_destroy(bus_dma_tag_t dmat) } #ifndef ACPI_DMAR +bool bus_dma_iommu_set_buswide(device_t dev); +int bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map, + vm_paddr_t start, vm_size_t length, int flags); + bool bus_dma_iommu_set_buswide(device_t dev) { From owner-svn-src-all@freebsd.org Wed Jul 29 19:36:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 935FF36A59F; Wed, 29 Jul 2020 19:36:26 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH3gt3MG2z49br; Wed, 29 Jul 2020 19:36:26 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5679F25085; Wed, 29 Jul 2020 19:36:26 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TJaQ30046410; Wed, 29 Jul 2020 19:36:26 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TJaOpQ046402; Wed, 29 Jul 2020 19:36:24 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202007291936.06TJaOpQ046402@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Wed, 29 Jul 2020 19:36:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363670 - in head/contrib/ipfilter: iplang ipsend X-SVN-Group: head X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in head/contrib/ipfilter: iplang ipsend X-SVN-Commit-Revision: 363670 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 19:36:26 -0000 Author: cy Date: Wed Jul 29 19:36:24 2020 New Revision: 363670 URL: https://svnweb.freebsd.org/changeset/base/363670 Log: Continued ipfilter #ifdef cleanup. The r343701 log entry contains a complete description. MFC after: 1 week Modified: head/contrib/ipfilter/iplang/iplang_y.y head/contrib/ipfilter/ipsend/arp.c head/contrib/ipfilter/ipsend/ipresend.c head/contrib/ipfilter/ipsend/ipsend.c head/contrib/ipfilter/ipsend/iptest.c head/contrib/ipfilter/ipsend/iptests.c head/contrib/ipfilter/ipsend/sock.c Modified: head/contrib/ipfilter/iplang/iplang_y.y ============================================================================== --- head/contrib/ipfilter/iplang/iplang_y.y Wed Jul 29 19:22:50 2020 (r363669) +++ head/contrib/ipfilter/iplang/iplang_y.y Wed Jul 29 19:36:24 2020 (r363670) @@ -45,11 +45,6 @@ #include "ipf.h" #include "iplang.h" -#if !defined(__NetBSD__) && (!defined(__FreeBSD_version) && \ - __FreeBSD_version < 400020) && (!SOLARIS || SOLARIS2 < 10) -extern struct ether_addr *ether_aton __P((char *)); -#endif - extern int opts; extern struct ipopt_names ionames[]; extern int state, state, lineNum, token; @@ -58,11 +53,7 @@ extern char yytext[]; extern FILE *yyin; int yylex __P((void)); #define YYDEBUG 1 -#if !defined(ultrix) && !defined(hpux) int yydebug = 1; -#else -extern int yydebug; -#endif iface_t *iflist = NULL, **iftail = &iflist; iface_t *cifp = NULL; Modified: head/contrib/ipfilter/ipsend/arp.c ============================================================================== --- head/contrib/ipfilter/ipsend/arp.c Wed Jul 29 19:22:50 2020 (r363669) +++ head/contrib/ipfilter/ipsend/arp.c Wed Jul 29 19:36:24 2020 (r363670) @@ -11,17 +11,13 @@ static const char rcsid[] = "@(#)$Id$"; #endif #include #include -#if !defined(ultrix) && !defined(hpux) && !defined(__hpux) && !defined(__osf__) && !defined(_AIX51) # include -#endif #include #include #include #include #include -#ifndef ultrix # include -#endif #include #include #include Modified: head/contrib/ipfilter/ipsend/ipresend.c ============================================================================== --- head/contrib/ipfilter/ipsend/ipresend.c Wed Jul 29 19:22:50 2020 (r363669) +++ head/contrib/ipfilter/ipsend/ipresend.c Wed Jul 29 19:36:24 2020 (r363670) @@ -38,15 +38,7 @@ int opts = 0; # ifdef sun char default_device[] = "le0"; # else -# ifdef ultrix -char default_device[] = "ln0"; -# else -# ifdef __bsdi__ -char default_device[] = "ef0"; -# else char default_device[] = "lan0"; -# endif -# endif # endif #else char default_device[] = DEFAULT_DEVICE; Modified: head/contrib/ipfilter/ipsend/ipsend.c ============================================================================== --- head/contrib/ipfilter/ipsend/ipsend.c Wed Jul 29 19:22:50 2020 (r363669) +++ head/contrib/ipfilter/ipsend/ipsend.c Wed Jul 29 19:36:24 2020 (r363670) @@ -33,15 +33,7 @@ extern void iplang __P((FILE *)); char options[68]; int opts; -# ifdef ultrix -char default_device[] = "ln0"; -# else -# ifdef __bsdi__ -char default_device[] = "ef0"; -# else char default_device[] = "le0"; -# endif /* __bsdi__ */ -# endif /* ultrix */ static void usage __P((char *)); Modified: head/contrib/ipfilter/ipsend/iptest.c ============================================================================== --- head/contrib/ipfilter/ipsend/iptest.c Wed Jul 29 19:22:50 2020 (r363669) +++ head/contrib/ipfilter/ipsend/iptest.c Wed Jul 29 19:36:24 2020 (r363670) @@ -34,15 +34,7 @@ char options[68]; # ifdef sun char default_device[] = "le0"; # else -# ifdef ultrix -char default_device[] = "ln0"; -# else -# ifdef __bsdi__ -char default_device[] = "ef0"; -# else char default_device[] = "lan0"; -# endif -# endif # endif static void usage __P((char *)); Modified: head/contrib/ipfilter/ipsend/iptests.c ============================================================================== --- head/contrib/ipfilter/ipsend/iptests.c Wed Jul 29 19:22:50 2020 (r363669) +++ head/contrib/ipfilter/ipsend/iptests.c Wed Jul 29 19:36:24 2020 (r363670) @@ -36,18 +36,13 @@ typedef int boolean_t; # endif # undef _KERNEL # undef KERNEL -#if !defined(solaris) && !defined(linux) && !defined(__sgi) +#if !defined(solaris) # include # include # include #endif -#if !defined(ultrix) && !defined(hpux) && !defined(linux) && \ - !defined(__sgi) && !defined(__osf__) && !defined(_AIX51) # include -#endif -#ifndef ultrix # include -#endif #if defined(solaris) # include #else @@ -57,11 +52,9 @@ typedef int boolean_t; #include #include #endif -#if BSD >= 199103 # include # include # include -#endif #include #include #include @@ -74,7 +67,7 @@ typedef int boolean_t; #include #include #include -#if defined(__SVR4) || defined(__svr4__) || defined(__sgi) +#if defined(__SVR4) || defined(__svr4__) # include #endif #include @@ -82,7 +75,7 @@ typedef int boolean_t; #include #include # include -# if !defined(__hpux) && !defined(solaris) +# if !defined(solaris) # include # endif #include "ipsend.h" Modified: head/contrib/ipfilter/ipsend/sock.c ============================================================================== --- head/contrib/ipfilter/ipsend/sock.c Wed Jul 29 19:22:50 2020 (r363669) +++ head/contrib/ipfilter/ipsend/sock.c Wed Jul 29 19:36:24 2020 (r363670) @@ -21,14 +21,8 @@ static const char rcsid[] = "@(#)$Id$"; */ typedef int boolean_t; #endif -#ifndef ultrix #include -#endif -#if (__FreeBSD_version >= 300000) # include -#else -# include -#endif # ifdef __NetBSD__ # include # endif @@ -38,10 +32,6 @@ typedef int boolean_t; # define _KERNEL # define KERNEL # endif -# ifdef ultrix -# undef LOCORE -# include -# endif # include # ifdef __FreeBSD__ # undef _WANT_FILE @@ -54,18 +44,14 @@ typedef int boolean_t; #include #include #include -#if !defined(ultrix) && !defined(hpux) && !defined(__osf__) # include -#endif #ifdef sun #include #include #endif -#if BSD >= 199103 #include #include #include -#endif #include #include #include @@ -143,128 +129,10 @@ int kmemcpy(buf, pos, n) struct nlist names[4] = { { "_proc" }, { "_nproc" }, -#ifdef ultrix - { "_u" }, -#else { NULL }, -#endif { NULL } }; -#if BSD < 199103 -static struct proc *getproc() -{ - struct proc *p; - pid_t pid = getpid(); - int siz, n; - - n = nlist(KERNEL, names); - if (n != 0) - { - fprintf(stderr, "nlist(%#x) == %d\n", names, n); - return NULL; - } - if (KMCPY(&nproc, names[1].n_value, sizeof(nproc)) == -1) - { - fprintf(stderr, "read nproc (%#x)\n", names[1].n_value); - return NULL; - } - siz = nproc * sizeof(struct proc); - if (KMCPY(&p, names[0].n_value, sizeof(p)) == -1) - { - fprintf(stderr, "read(%#x,%#x,%d) proc\n", - names[0].n_value, &p, sizeof(p)); - return NULL; - } - proc = (struct proc *)malloc(siz); - if (KMCPY(proc, p, siz) == -1) - { - fprintf(stderr, "read(%#x,%#x,%d) proc\n", - p, proc, siz); - return NULL; - } - - p = proc; - - for (n = nproc; n; n--, p++) - if (p->p_pid == pid) - break; - if (!n) - return NULL; - - return p; -} - - -struct tcpcb *find_tcp(fd, ti) - int fd; - struct tcpiphdr *ti; -{ - struct tcpcb *t; - struct inpcb *i; - struct socket *s; - struct user *up; - struct proc *p; - struct file *f, **o; - - if (!(p = getproc())) - return NULL; - up = (struct user *)malloc(sizeof(*up)); -#ifndef ultrix - if (KMCPY(up, p->p_uarea, sizeof(*up)) == -1) - { - fprintf(stderr, "read(%#x,%#x) failed\n", p, p->p_uarea); - return NULL; - } -#else - if (KMCPY(up, names[2].n_value, sizeof(*up)) == -1) - { - fprintf(stderr, "read(%#x,%#x) failed\n", p, names[2].n_value); - return NULL; - } -#endif - - o = (struct file **)calloc(up->u_lastfile + 1, sizeof(*o)); - if (KMCPY(o, up->u_ofile, (up->u_lastfile + 1) * sizeof(*o)) == -1) - { - fprintf(stderr, "read(%#x,%#x,%d) - u_ofile - failed\n", - up->u_ofile, o, sizeof(*o)); - return NULL; - } - f = (struct file *)calloc(1, sizeof(*f)); - if (KMCPY(f, o[fd], sizeof(*f)) == -1) - { - fprintf(stderr, "read(%#x,%#x,%d) - o[fd] - failed\n", - up->u_ofile[fd], f, sizeof(*f)); - return NULL; - } - - s = (struct socket *)calloc(1, sizeof(*s)); - if (KMCPY(s, f->f_data, sizeof(*s)) == -1) - { - fprintf(stderr, "read(%#x,%#x,%d) - f_data - failed\n", - o[fd], s, sizeof(*s)); - return NULL; - } - - i = (struct inpcb *)calloc(1, sizeof(*i)); - if (KMCPY(i, s->so_pcb, sizeof(*i)) == -1) - { - fprintf(stderr, "kvm_read(%#x,%#x,%d) - so_pcb - failed\n", - s->so_pcb, i, sizeof(*i)); - return NULL; - } - - t = (struct tcpcb *)calloc(1, sizeof(*t)); - if (KMCPY(t, i->inp_ppcb, sizeof(*t)) == -1) - { - fprintf(stderr, "read(%#x,%#x,%d) - inp_ppcb - failed\n", - i->inp_ppcb, t, sizeof(*t)); - return NULL; - } - return (struct tcpcb *)i->inp_ppcb; -} -#else static struct kinfo_proc *getproc() { static struct kinfo_proc kp; @@ -304,7 +172,7 @@ struct tcpcb *find_tcp(tfd, ti) fd = (struct filedesc *)malloc(sizeof(*fd)); if (fd == NULL) return NULL; -#if defined( __FreeBSD_version) && __FreeBSD_version >= 500013 +#if defined( __FreeBSD_version) if (KMCPY(fd, p->ki_fd, sizeof(*fd)) == -1) { fprintf(stderr, "read(%#lx,%#lx) failed\n", @@ -381,7 +249,6 @@ finderror: free(t); return NULL; } -#endif /* BSD < 199301 */ int do_socket(dev, mtu, ti, gwip) char *dev; From owner-svn-src-all@freebsd.org Wed Jul 29 19:38:50 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D9BAE36A43E; Wed, 29 Jul 2020 19:38:50 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH3kf5NCnz49nk; Wed, 29 Jul 2020 19:38:50 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 97F1225086; Wed, 29 Jul 2020 19:38:50 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TJco2M046562; Wed, 29 Jul 2020 19:38:50 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TJcoeA046560; Wed, 29 Jul 2020 19:38:50 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007291938.06TJcoeA046560@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Wed, 29 Jul 2020 19:38:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363671 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 363671 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 19:38:50 -0000 Author: markj Date: Wed Jul 29 19:38:49 2020 New Revision: 363671 URL: https://svnweb.freebsd.org/changeset/base/363671 Log: Remove the volatile qualifier from busy_lock. Use atomic(9) to load the lock state. Some places were doing this already, so it was inconsistent. In initialization code, the lock state is still initialized with plain stores. Reviewed by: alc, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25861 Modified: head/sys/vm/vm_page.c head/sys/vm/vm_page.h Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Wed Jul 29 19:36:24 2020 (r363670) +++ head/sys/vm/vm_page.c Wed Jul 29 19:38:49 2020 (r363671) @@ -908,7 +908,7 @@ vm_page_busy_downgrade(vm_page_t m) vm_page_assert_xbusied(m); - x = m->busy_lock; + x = vm_page_busy_fetch(m); for (;;) { if (atomic_fcmpset_rel_int(&m->busy_lock, &x, VPB_SHARERS_WORD(1))) @@ -931,7 +931,7 @@ vm_page_busy_tryupgrade(vm_page_t m) vm_page_assert_sbusied(m); - x = m->busy_lock; + x = vm_page_busy_fetch(m); ce = VPB_CURTHREAD_EXCLUSIVE; for (;;) { if (VPB_SHARERS(x) > 1) @@ -955,7 +955,7 @@ vm_page_sbusied(vm_page_t m) { u_int x; - x = m->busy_lock; + x = vm_page_busy_fetch(m); return ((x & VPB_BIT_SHARED) != 0 && x != VPB_UNBUSIED); } @@ -971,7 +971,7 @@ vm_page_sunbusy(vm_page_t m) vm_page_assert_sbusied(m); - x = m->busy_lock; + x = vm_page_busy_fetch(m); for (;;) { KASSERT(x != VPB_FREED, ("vm_page_sunbusy: Unlocking freed page.")); @@ -1072,7 +1072,7 @@ _vm_page_busy_sleep(vm_object_t obj, vm_page_t m, vm_p xsleep = (allocflags & (VM_ALLOC_SBUSY | VM_ALLOC_IGN_SBUSY)) != 0; sleepq_lock(m); - x = atomic_load_int(&m->busy_lock); + x = vm_page_busy_fetch(m); do { /* * If the page changes objects or becomes unlocked we can @@ -1110,7 +1110,7 @@ vm_page_trysbusy(vm_page_t m) u_int x; obj = m->object; - x = m->busy_lock; + x = vm_page_busy_fetch(m); for (;;) { if ((x & VPB_BIT_SHARED) == 0) return (0); @@ -1146,7 +1146,7 @@ vm_page_tryxbusy(vm_page_t m) { vm_object_t obj; - if (atomic_cmpset_acq_int(&(m)->busy_lock, VPB_UNBUSIED, + if (atomic_cmpset_acq_int(&m->busy_lock, VPB_UNBUSIED, VPB_CURTHREAD_EXCLUSIVE) == 0) return (0); @@ -1354,7 +1354,7 @@ vm_page_readahead_finish(vm_page_t m) * have shown that deactivating the page is usually the best choice, * unless the page is wanted by another thread. */ - if ((m->busy_lock & VPB_BIT_WAITERS) != 0) + if ((vm_page_busy_fetch(m) & VPB_BIT_WAITERS) != 0) vm_page_activate(m); else vm_page_deactivate(m); @@ -1719,7 +1719,7 @@ vm_page_busy_release(vm_page_t m) { u_int x; - x = atomic_load_int(&m->busy_lock); + x = vm_page_busy_fetch(m); for (;;) { if (x == VPB_FREED) break; Modified: head/sys/vm/vm_page.h ============================================================================== --- head/sys/vm/vm_page.h Wed Jul 29 19:36:24 2020 (r363670) +++ head/sys/vm/vm_page.h Wed Jul 29 19:38:49 2020 (r363671) @@ -100,7 +100,8 @@ * field and is described in detail below. * * The following annotations are possible: - * (A) the field is atomic and may require additional synchronization. + * (A) the field must be accessed using atomic(9) and may require + * additional synchronization. * (B) the page busy lock. * (C) the field is immutable. * (F) the per-domain lock for the free queues @@ -243,8 +244,8 @@ struct vm_page { vm_paddr_t phys_addr; /* physical address of page (C) */ struct md_page md; /* machine dependent stuff */ u_int ref_count; /* page references (A) */ - volatile u_int busy_lock; /* busy owners lock */ - union vm_page_astate a; /* state accessed atomically */ + u_int busy_lock; /* busy owners lock (A) */ + union vm_page_astate a; /* state accessed atomically (A) */ uint8_t order; /* index of the buddy queue (F) */ uint8_t pool; /* vm_phys freepool index (F) */ uint8_t flags; /* page PG_* flags (P) */ @@ -701,6 +702,8 @@ void vm_page_assert_locked_KBI(vm_page_t m, const char void vm_page_lock_assert_KBI(vm_page_t m, int a, const char *file, int line); #endif +#define vm_page_busy_fetch(m) atomic_load_int(&(m)->busy_lock) + #define vm_page_assert_busied(m) \ KASSERT(vm_page_busied(m), \ ("vm_page_assert_busied: page %p not busy @ %s:%d", \ @@ -712,7 +715,7 @@ void vm_page_lock_assert_KBI(vm_page_t m, int a, const (m), __FILE__, __LINE__)) #define vm_page_assert_unbusied(m) \ - KASSERT((m->busy_lock & ~VPB_BIT_WAITERS) != \ + KASSERT((vm_page_busy_fetch(m) & ~VPB_BIT_WAITERS) != \ VPB_CURTHREAD_EXCLUSIVE, \ ("vm_page_assert_xbusied: page %p busy_lock %#x owned" \ " by me @ %s:%d", \ @@ -725,7 +728,7 @@ void vm_page_lock_assert_KBI(vm_page_t m, int a, const } while (0) #define vm_page_assert_xbusied(m) do { \ vm_page_assert_xbusied_unchecked(m); \ - KASSERT((m->busy_lock & ~VPB_BIT_WAITERS) == \ + KASSERT((vm_page_busy_fetch(m) & ~VPB_BIT_WAITERS) == \ VPB_CURTHREAD_EXCLUSIVE, \ ("vm_page_assert_xbusied: page %p busy_lock %#x not owned" \ " by me @ %s:%d", \ @@ -733,7 +736,7 @@ void vm_page_lock_assert_KBI(vm_page_t m, int a, const } while (0) #define vm_page_busied(m) \ - ((m)->busy_lock != VPB_UNBUSIED) + (vm_page_busy_fetch(m) != VPB_UNBUSIED) #define vm_page_sbusy(m) do { \ if (!vm_page_trysbusy(m)) \ @@ -742,10 +745,10 @@ void vm_page_lock_assert_KBI(vm_page_t m, int a, const } while (0) #define vm_page_xbusied(m) \ - (((m)->busy_lock & VPB_SINGLE_EXCLUSIVE) != 0) + ((vm_page_busy_fetch(m) & VPB_SINGLE_EXCLUSIVE) != 0) #define vm_page_busy_freed(m) \ - ((m)->busy_lock == VPB_FREED) + (vm_page_busy_fetch(m) == VPB_FREED) #define vm_page_xbusy(m) do { \ if (!vm_page_tryxbusy(m)) \ @@ -771,12 +774,17 @@ void vm_page_object_busy_assert(vm_page_t m); void vm_page_assert_pga_writeable(vm_page_t m, uint16_t bits); #define VM_PAGE_ASSERT_PGA_WRITEABLE(m, bits) \ vm_page_assert_pga_writeable(m, bits) +/* + * Claim ownership of a page's xbusy state. In non-INVARIANTS kernels this + * operation is a no-op since ownership is not tracked. In particular + * this macro does not provide any synchronization with the previous owner. + */ #define vm_page_xbusy_claim(m) do { \ u_int _busy_lock; \ \ vm_page_assert_xbusied_unchecked((m)); \ do { \ - _busy_lock = atomic_load_int(&(m)->busy_lock); \ + _busy_lock = vm_page_busy_fetch(m); \ } while (!atomic_cmpset_int(&(m)->busy_lock, _busy_lock, \ (_busy_lock & VPB_BIT_FLAGMASK) | VPB_CURTHREAD_EXCLUSIVE)); \ } while (0) From owner-svn-src-all@freebsd.org Wed Jul 29 20:30:16 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BAA8B36BAA4; Wed, 29 Jul 2020 20:30:16 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH4t03qXhz4DK0; Wed, 29 Jul 2020 20:30:16 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 63991254F8; Wed, 29 Jul 2020 20:30:16 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TKUGeO077008; Wed, 29 Jul 2020 20:30:16 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TKUGRr077007; Wed, 29 Jul 2020 20:30:16 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202007292030.06TKUGRr077007@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 29 Jul 2020 20:30:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363672 - stable/12/usr.sbin/mountd X-SVN-Group: stable-12 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/12/usr.sbin/mountd X-SVN-Commit-Revision: 363672 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 20:30:16 -0000 Author: brooks Date: Wed Jul 29 20:30:15 2020 New Revision: 363672 URL: https://svnweb.freebsd.org/changeset/base/363672 Log: MFC r363435: Avoid reading one byte before the path buffer. This happens when there's only one component (e.g. "/foo"). This (mostly-harmless) bug has been present since June 1990 when it was commited to mountd.c SCCS version 5.9. Note: the bug is on the second changed line, the first line is changed for visual consistency. Reviewed by: cem, emaste, mckusick, rmacklem Reported by: CHERI Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25759 Modified: stable/12/usr.sbin/mountd/mountd.c Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/mountd/mountd.c ============================================================================== --- stable/12/usr.sbin/mountd/mountd.c Wed Jul 29 19:38:49 2020 (r363671) +++ stable/12/usr.sbin/mountd/mountd.c Wed Jul 29 20:30:15 2020 (r363672) @@ -3140,9 +3140,9 @@ do_mount(struct exportlist *ep, struct grouplist *grp, goto error_exit; } /* back up over the last component */ - while (*cp == '/' && cp > dirp) + while (cp > dirp && *cp == '/') cp--; - while (*(cp - 1) != '/' && cp > dirp) + while (cp > dirp && *(cp - 1) != '/') cp--; if (cp == dirp) { if (debug) From owner-svn-src-all@freebsd.org Wed Jul 29 20:31:12 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0E56C36BD1E; Wed, 29 Jul 2020 20:31:12 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH4v36bY3z4DyC; Wed, 29 Jul 2020 20:31:11 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C6FBE257A0; Wed, 29 Jul 2020 20:31:11 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TKVBso080151; Wed, 29 Jul 2020 20:31:11 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TKVBPD080150; Wed, 29 Jul 2020 20:31:11 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202007292031.06TKVBPD080150@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 29 Jul 2020 20:31:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363673 - stable/11/usr.sbin/mountd X-SVN-Group: stable-11 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/11/usr.sbin/mountd X-SVN-Commit-Revision: 363673 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 20:31:12 -0000 Author: brooks Date: Wed Jul 29 20:31:11 2020 New Revision: 363673 URL: https://svnweb.freebsd.org/changeset/base/363673 Log: MFC r363435: Avoid reading one byte before the path buffer. This happens when there's only one component (e.g. "/foo"). This (mostly-harmless) bug has been present since June 1990 when it was commited to mountd.c SCCS version 5.9. Note: the bug is on the second changed line, the first line is changed for visual consistency. Reviewed by: cem, emaste, mckusick, rmacklem Reported by: CHERI Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25759 Modified: stable/11/usr.sbin/mountd/mountd.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/mountd/mountd.c ============================================================================== --- stable/11/usr.sbin/mountd/mountd.c Wed Jul 29 20:30:15 2020 (r363672) +++ stable/11/usr.sbin/mountd/mountd.c Wed Jul 29 20:31:11 2020 (r363673) @@ -3142,9 +3142,9 @@ do_mount(struct exportlist *ep, struct grouplist *grp, goto error_exit; } /* back up over the last component */ - while (*cp == '/' && cp > dirp) + while (cp > dirp && *cp == '/') cp--; - while (*(cp - 1) != '/' && cp > dirp) + while (cp > dirp && *(cp - 1) != '/') cp--; if (cp == dirp) { if (debug) From owner-svn-src-all@freebsd.org Wed Jul 29 21:15:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9EFB836CC77; Wed, 29 Jul 2020 21:15:08 +0000 (UTC) (envelope-from jmg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH5sm3fHGz4Gqt; Wed, 29 Jul 2020 21:15:08 +0000 (UTC) (envelope-from jmg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 609F226212; Wed, 29 Jul 2020 21:15:08 +0000 (UTC) (envelope-from jmg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TLF8gV007477; Wed, 29 Jul 2020 21:15:08 GMT (envelope-from jmg@FreeBSD.org) Received: (from jmg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TLF66w007470; Wed, 29 Jul 2020 21:15:06 GMT (envelope-from jmg@FreeBSD.org) Message-Id: <202007292115.06TLF66w007470@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jmg set sender to jmg@FreeBSD.org using -f From: John-Mark Gurney Date: Wed, 29 Jul 2020 21:15:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363674 - in head/share/man/man4: . man4.aarch64 man4.i386 X-SVN-Group: head X-SVN-Commit-Author: jmg X-SVN-Commit-Paths: in head/share/man/man4: . man4.aarch64 man4.i386 X-SVN-Commit-Revision: 363674 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 21:15:08 -0000 Author: jmg Date: Wed Jul 29 21:15:06 2020 New Revision: 363674 URL: https://svnweb.freebsd.org/changeset/base/363674 Log: add link to crypto(7) page, and drop a link to unrelated crypt(3) page.. Modified: head/share/man/man4/aesni.4 head/share/man/man4/hifn.4 head/share/man/man4/man4.aarch64/armv8crypto.4 head/share/man/man4/man4.i386/glxsb.4 head/share/man/man4/padlock.4 head/share/man/man4/safe.4 head/share/man/man4/safexcel.4 Modified: head/share/man/man4/aesni.4 ============================================================================== --- head/share/man/man4/aesni.4 Wed Jul 29 20:31:11 2020 (r363673) +++ head/share/man/man4/aesni.4 Wed Jul 29 21:15:06 2020 (r363674) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 26, 2017 +.Dd July 29, 2020 .Dt AESNI 4 .Os .Sh NAME @@ -88,6 +88,7 @@ implementations. .Xr ipsec 4 , .Xr padlock 4 , .Xr random 4 , +.Xr crypto 7 , .Xr crypto 9 .Sh HISTORY The Modified: head/share/man/man4/hifn.4 ============================================================================== --- head/share/man/man4/hifn.4 Wed Jul 29 20:31:11 2020 (r363673) +++ head/share/man/man4/hifn.4 Wed Jul 29 21:15:06 2020 (r363674) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 11, 2020 +.Dd July 29, 2020 .Dt HIFN 4 .Os .Sh NAME @@ -101,11 +101,11 @@ See Contains a 7955 and supports symmetric and random number operations. .El .Sh SEE ALSO -.Xr crypt 3 , .Xr crypto 4 , .Xr intro 4 , .Xr ipsec 4 , .Xr random 4 , +.Xr crypto 7 , .Xr crypto 9 .Sh HISTORY The Modified: head/share/man/man4/man4.aarch64/armv8crypto.4 ============================================================================== --- head/share/man/man4/man4.aarch64/armv8crypto.4 Wed Jul 29 20:31:11 2020 (r363673) +++ head/share/man/man4/man4.aarch64/armv8crypto.4 Wed Jul 29 21:15:06 2020 (r363674) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 20, 2016 +.Dd July 29, 2020 .Dt ARMV8CRYPTO 4 .Os .Sh NAME @@ -69,6 +69,7 @@ driver registers itself to accelerate AES operations f .Xr intro 4 , .Xr ipsec 4 , .Xr random 4 , +.Xr crypto 7 , .Xr crypto 9 .Sh HISTORY The Modified: head/share/man/man4/man4.i386/glxsb.4 ============================================================================== --- head/share/man/man4/man4.i386/glxsb.4 Wed Jul 29 20:31:11 2020 (r363673) +++ head/share/man/man4/man4.i386/glxsb.4 Wed Jul 29 21:15:06 2020 (r363674) @@ -16,7 +16,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 8, 2008 +.Dd July 29, 2020 .Dt GLXSB 4 i386 .Os .Sh NAME @@ -73,6 +73,7 @@ device driver with AES keys of length != 128 bits. .Xr ipsec 4 , .Xr pci 4 , .Xr random 4 , +.Xr crypto 7 , .Xr crypto 9 .Sh HISTORY The Modified: head/share/man/man4/padlock.4 ============================================================================== --- head/share/man/man4/padlock.4 Wed Jul 29 20:31:11 2020 (r363673) +++ head/share/man/man4/padlock.4 Wed Jul 29 21:15:06 2020 (r363674) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 8, 2010 +.Dd July 29, 2020 .Dt PADLOCK 4 .Os .Sh NAME @@ -72,6 +72,7 @@ subsystem. .Xr intro 4 , .Xr ipsec 4 , .Xr random 4 , +.Xr crypto 7 , .Xr crypto 9 .Sh HISTORY The Modified: head/share/man/man4/safe.4 ============================================================================== --- head/share/man/man4/safe.4 Wed Jul 29 20:31:11 2020 (r363673) +++ head/share/man/man4/safe.4 Wed Jul 29 21:15:06 2020 (r363674) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\"/ -.Dd May 11, 2020 +.Dd July 29, 2020 .Dt SAFE 4 .Os .Sh NAME @@ -124,6 +124,7 @@ A faster version of the 1141. .Xr intro 4 , .Xr ipsec 4 , .Xr random 4 , +.Xr crypto 7 , .Xr crypto 9 .Sh BUGS Public key support is not implemented. Modified: head/share/man/man4/safexcel.4 ============================================================================== --- head/share/man/man4/safexcel.4 Wed Jul 29 20:31:11 2020 (r363673) +++ head/share/man/man4/safexcel.4 Wed Jul 29 21:15:06 2020 (r363674) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 23, 2020 +.Dd July 29, 2020 .Dt SAFEXCEL 4 .Os .Sh NAME @@ -75,6 +75,7 @@ with SHA1-HMAC and SHA2-HMAC for encrypt-then-authenti .Xr crypto 4 , .Xr ipsec 4 , .Xr random 4 , +.Xr crypto 7 , .Xr geli 8 , .Xr crypto 9 .Sh HISTORY From owner-svn-src-all@freebsd.org Wed Jul 29 22:08:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C300D36DF17; Wed, 29 Jul 2020 22:08:56 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH73r4rkVz4KMw; Wed, 29 Jul 2020 22:08:56 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 89D4626CCA; Wed, 29 Jul 2020 22:08:56 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TM8uVE039425; Wed, 29 Jul 2020 22:08:56 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TM8sOH039412; Wed, 29 Jul 2020 22:08:54 GMT (envelope-from br@FreeBSD.org) Message-Id: <202007292208.06TM8sOH039412@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Wed, 29 Jul 2020 22:08:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363675 - in head/sys: dev/iommu dev/ntb/ntb_hw x86/iommu X-SVN-Group: head X-SVN-Commit-Author: br X-SVN-Commit-Paths: in head/sys: dev/iommu dev/ntb/ntb_hw x86/iommu X-SVN-Commit-Revision: 363675 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 22:08:56 -0000 Author: br Date: Wed Jul 29 22:08:54 2020 New Revision: 363675 URL: https://svnweb.freebsd.org/changeset/base/363675 Log: o Don't include headers from iommu.h, include them from the header consumers instead; o Order includes properly. Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25878 Modified: head/sys/dev/iommu/iommu.h head/sys/dev/iommu/iommu_gas.c head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c head/sys/x86/iommu/intel_ctx.c head/sys/x86/iommu/intel_drv.c head/sys/x86/iommu/intel_idpgtbl.c head/sys/x86/iommu/intel_intrmap.c head/sys/x86/iommu/intel_qi.c head/sys/x86/iommu/intel_quirks.c head/sys/x86/iommu/intel_utils.c Modified: head/sys/dev/iommu/iommu.h ============================================================================== --- head/sys/dev/iommu/iommu.h Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/dev/iommu/iommu.h Wed Jul 29 22:08:54 2020 (r363675) @@ -34,14 +34,6 @@ #ifndef _SYS_IOMMU_H_ #define _SYS_IOMMU_H_ -#include -#include -#include -#include -#include - -#include - /* Host or physical memory address, after translation. */ typedef uint64_t iommu_haddr_t; /* Guest or bus address, before translation. */ Modified: head/sys/dev/iommu/iommu_gas.c ============================================================================== --- head/sys/dev/iommu/iommu_gas.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/dev/iommu/iommu_gas.c Wed Jul 29 22:08:54 2020 (r363675) @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -60,6 +59,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include +#include #include #include #include @@ -67,11 +69,9 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include #include #endif +#include /* * Guest Address Space management. Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/dev/ntb/ntb_hw/ntb_hw_intel.c Wed Jul 29 22:08:54 2020 (r363675) @@ -50,6 +50,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include #include Modified: head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c ============================================================================== --- head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/dev/ntb/ntb_hw/ntb_hw_plx.c Wed Jul 29 22:08:54 2020 (r363675) @@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include #include Modified: head/sys/x86/iommu/intel_ctx.c ============================================================================== --- head/sys/x86/iommu/intel_ctx.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/x86/iommu/intel_ctx.c Wed Jul 29 22:08:54 2020 (r363675) @@ -58,18 +58,18 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include +#include +#include #include #include #include #include -#include -#include #include -#include #include -#include +#include #include -#include static MALLOC_DEFINE(M_DMAR_CTX, "dmar_ctx", "Intel DMAR Context"); static MALLOC_DEFINE(M_DMAR_DOMAIN, "dmar_dom", "Intel DMAR Domain"); Modified: head/sys/x86/iommu/intel_drv.c ============================================================================== --- head/sys/x86/iommu/intel_drv.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/x86/iommu/intel_drv.c Wed Jul 29 22:08:54 2020 (r363675) @@ -54,11 +54,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include -#include -#include #include #include #include @@ -66,11 +61,16 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include +#include +#include +#include #include #include +#include +#include +#include +#include +#include #include #ifdef DEV_APIC Modified: head/sys/x86/iommu/intel_idpgtbl.c ============================================================================== --- head/sys/x86/iommu/intel_idpgtbl.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/x86/iommu/intel_idpgtbl.c Wed Jul 29 22:08:54 2020 (r363675) @@ -58,15 +58,15 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include #include #include -#include #include -#include +#include #include static int domain_unmap_buf_locked(struct dmar_domain *domain, Modified: head/sys/x86/iommu/intel_intrmap.c ============================================================================== --- head/sys/x86/iommu/intel_intrmap.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/x86/iommu/intel_intrmap.c Wed Jul 29 22:08:54 2020 (r363675) @@ -40,24 +40,25 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include -#include -#include #include #include #include #include #include +#include +#include +#include +#include #include #include #include -#include #include -#include +#include #include -#include #include static struct dmar_unit *dmar_ir_find(device_t src, uint16_t *rid, Modified: head/sys/x86/iommu/intel_qi.c ============================================================================== --- head/sys/x86/iommu/intel_qi.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/x86/iommu/intel_qi.c Wed Jul 29 22:08:54 2020 (r363675) @@ -45,20 +45,20 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include -#include #include #include #include #include #include +#include +#include +#include +#include +#include #include #include -#include #include -#include +#include #include static bool Modified: head/sys/x86/iommu/intel_quirks.c ============================================================================== --- head/sys/x86/iommu/intel_quirks.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/x86/iommu/intel_quirks.c Wed Jul 29 22:08:54 2020 (r363675) @@ -46,10 +46,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include -#include #include #include #include @@ -57,12 +53,16 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include +#include +#include +#include +#include #include -#include #include -#include +#include #include -#include typedef void (*dmar_quirk_cpu_fun)(struct dmar_unit *); Modified: head/sys/x86/iommu/intel_utils.c ============================================================================== --- head/sys/x86/iommu/intel_utils.c Wed Jul 29 21:15:06 2020 (r363674) +++ head/sys/x86/iommu/intel_utils.c Wed Jul 29 22:08:54 2020 (r363675) @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -59,14 +58,15 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include #include #include #include -#include #include -#include +#include #include u_int From owner-svn-src-all@freebsd.org Wed Jul 29 22:10:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EE89E36DFBA; Wed, 29 Jul 2020 22:10:25 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH75Y4jhKz4KVZ; Wed, 29 Jul 2020 22:10:25 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 78BE926CCE; Wed, 29 Jul 2020 22:10:25 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TMAPxH039576; Wed, 29 Jul 2020 22:10:25 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TMAPdZ039575; Wed, 29 Jul 2020 22:10:25 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202007292210.06TMAPdZ039575@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 29 Jul 2020 22:10:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363676 - stable/12/sys/kern X-SVN-Group: stable-12 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/12/sys/kern X-SVN-Commit-Revision: 363676 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 22:10:26 -0000 Author: brooks Date: Wed Jul 29 22:10:25 2020 New Revision: 363676 URL: https://svnweb.freebsd.org/changeset/base/363676 Log: MFC r363438: Use SI_ORDER_(FOURTH|FIFTH) rather than bespoke versions. No functional change. When these SYSINITs were added these macros didn't exist. Reviewed by: imp Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25758 Modified: stable/12/sys/kern/init_main.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/kern/init_main.c ============================================================================== --- stable/12/sys/kern/init_main.c Wed Jul 29 22:08:54 2020 (r363675) +++ stable/12/sys/kern/init_main.c Wed Jul 29 22:10:25 2020 (r363676) @@ -367,18 +367,18 @@ SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, pri #ifdef WITNESS static char wit_warn[] = "WARNING: WITNESS option enabled, expect reduced performance.\n"; -SYSINIT(witwarn, SI_SUB_COPYRIGHT, SI_ORDER_THIRD + 1, +SYSINIT(witwarn, SI_SUB_COPYRIGHT, SI_ORDER_FOURTH, print_caddr_t, wit_warn); -SYSINIT(witwarn2, SI_SUB_LAST, SI_ORDER_THIRD + 1, +SYSINIT(witwarn2, SI_SUB_LAST, SI_ORDER_FOURTH, print_caddr_t, wit_warn); #endif #ifdef DIAGNOSTIC static char diag_warn[] = "WARNING: DIAGNOSTIC option enabled, expect reduced performance.\n"; -SYSINIT(diagwarn, SI_SUB_COPYRIGHT, SI_ORDER_THIRD + 2, +SYSINIT(diagwarn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, print_caddr_t, diag_warn); -SYSINIT(diagwarn2, SI_SUB_LAST, SI_ORDER_THIRD + 2, +SYSINIT(diagwarn2, SI_SUB_LAST, SI_ORDER_FIFTH, print_caddr_t, diag_warn); #endif From owner-svn-src-all@freebsd.org Wed Jul 29 22:58:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 67D8E36E7D0; Wed, 29 Jul 2020 22:58:09 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH88d1vvpz4Md9; Wed, 29 Jul 2020 22:58:09 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0A7A7274C5; Wed, 29 Jul 2020 22:58:09 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TMw8BW070178; Wed, 29 Jul 2020 22:58:08 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TMw806070177; Wed, 29 Jul 2020 22:58:08 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202007292258.06TMw806070177@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Wed, 29 Jul 2020 22:58:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363677 - head/sys/fs/nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsserver X-SVN-Commit-Revision: 363677 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 22:58:09 -0000 Author: rmacklem Date: Wed Jul 29 22:58:08 2020 New Revision: 363677 URL: https://svnweb.freebsd.org/changeset/base/363677 Log: Add support for ext_pgs mbufs to nfsrvd_readdir() and nfsrvd_readdirplus(). This patch code that optionally (based on ND_TLS, never set yet) generates readdir replies in ext_pgs mbufs. To trim the list back, a new function that is ext_pgs aware called nfsm_trimtrailing() replaces newnfs_trimtrailing(). newnfs_trimtrailing() is no longer used, but will be removed in a future commit, since its removal does modify the internal kpi between the NFS modules. This is another in the series of commits that add support to the NFS client and server for building RPC messages in ext_pgs mbufs with anonymous pages. This is useful so that the entire mbuf list does not need to be copied before calling sosend() when NFS over TLS is enabled. Use of ext_pgs mbufs will not be enabled until the kernel RPC is updated to handle TLS. Modified: head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Wed Jul 29 22:10:25 2020 (r363676) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Wed Jul 29 22:58:08 2020 (r363677) @@ -144,6 +144,8 @@ static int nfsrv_dsremove(struct vnode *, char *, stru static int nfsrv_dssetacl(struct vnode *, struct acl *, struct ucred *, NFSPROC_T *); static int nfsrv_pnfsstatfs(struct statfs *, struct mount *); +static void nfsm_trimtrailing(struct nfsrv_descript *, struct mbuf *, + char *, int, int); int nfs_pnfsio(task_fn_t *, void *); @@ -2043,6 +2045,17 @@ again: vput(vp); /* + * If cnt > MCLBYTES and the reply will not be saved, use + * ext_pgs mbufs for TLS. + * For NFSv4.0, we do not know for sure if the reply will + * be saved, so do not use ext_pgs mbufs for NFSv4.0. + */ + if (cnt > MCLBYTES && siz > MCLBYTES && + (nd->nd_flag & (ND_TLS | ND_EXTPG | ND_SAVEREPLY)) == ND_TLS && + (nd->nd_flag & (ND_NFSV4 | ND_NFSV41)) != ND_NFSV4) + nd->nd_flag |= ND_EXTPG; + + /* * dirlen is the size of the reply, including all XDR and must * not exceed cnt. For NFSv2, RFC1094 didn't clearly indicate * if the XDR should be included in "count", but to be safe, we do. @@ -2146,6 +2159,7 @@ nfsrvd_readdirplus(struct nfsrv_descript *nd, int isdg struct mount *mp, *new_mp; uint64_t mounted_on_fileno; struct thread *p = curthread; + int bextpg0, bextpg1, bextpgsiz0, bextpgsiz1; if (nd->nd_repstat) { nfsrv_postopattr(nd, getret, &at); @@ -2359,11 +2373,27 @@ again: } /* + * If the reply is likely to exceed MCLBYTES and the reply will + * not be saved, use ext_pgs mbufs for TLS. + * It is difficult to predict how large each entry will be and + * how many entries have been read, so just assume the directory + * entries grow by a factor of 4 when attributes are included. + * For NFSv4.0, we do not know for sure if the reply will + * be saved, so do not use ext_pgs mbufs for NFSv4.0. + */ + if (cnt > MCLBYTES && siz > MCLBYTES / 4 && + (nd->nd_flag & (ND_TLS | ND_EXTPG | ND_SAVEREPLY)) == ND_TLS && + (nd->nd_flag & (ND_NFSV4 | ND_NFSV41)) != ND_NFSV4) + nd->nd_flag |= ND_EXTPG; + + /* * Save this position, in case there is an error before one entry * is created. */ mb0 = nd->nd_mb; bpos0 = nd->nd_bpos; + bextpg0 = nd->nd_bextpg; + bextpgsiz0 = nd->nd_bextpgsiz; /* * Fill in the first part of the reply. @@ -2385,6 +2415,8 @@ again: */ mb1 = nd->nd_mb; bpos1 = nd->nd_bpos; + bextpg1 = nd->nd_bextpg; + bextpgsiz1 = nd->nd_bextpgsiz; /* Loop through the records and build reply */ entrycnt = 0; @@ -2401,6 +2433,8 @@ again: */ mb1 = nd->nd_mb; bpos1 = nd->nd_bpos; + bextpg1 = nd->nd_bextpg; + bextpgsiz1 = nd->nd_bextpgsiz; /* * For readdir_and_lookup get the vnode using @@ -2626,11 +2660,11 @@ invalid: if (!nd->nd_repstat && entrycnt == 0) nd->nd_repstat = NFSERR_TOOSMALL; if (nd->nd_repstat) { - newnfs_trimtrailing(nd, mb0, bpos0); + nfsm_trimtrailing(nd, mb0, bpos0, bextpg0, bextpgsiz0); if (nd->nd_flag & ND_NFSV3) nfsrv_postopattr(nd, getret, &at); } else - newnfs_trimtrailing(nd, mb1, bpos1); + nfsm_trimtrailing(nd, mb1, bpos1, bextpg1, bextpgsiz1); eofflag = 0; } else if (cpos < cend) eofflag = 0; @@ -6416,6 +6450,44 @@ out: } NFSEXITCODE(error); return (error); +} + +/* + * Trim trailing data off the mbuf list being built. + */ +static void +nfsm_trimtrailing(struct nfsrv_descript *nd, struct mbuf *mb, char *bpos, + int bextpg, int bextpgsiz) +{ + vm_page_t pg; + int fullpgsiz, i; + + if (mb->m_next != NULL) { + m_freem(mb->m_next); + mb->m_next = NULL; + } + if ((mb->m_flags & M_EXTPG) != 0) { + /* First, get rid of any pages after this position. */ + for (i = mb->m_epg_npgs - 1; i > bextpg; i--) { + pg = PHYS_TO_VM_PAGE(mb->m_epg_pa[i]); + vm_page_unwire_noq(pg); + vm_page_free(pg); + } + mb->m_epg_npgs = bextpg + 1; + if (bextpg == 0) + fullpgsiz = PAGE_SIZE - mb->m_epg_1st_off; + else + fullpgsiz = PAGE_SIZE; + mb->m_epg_last_len = fullpgsiz - bextpgsiz; + mb->m_len = m_epg_pagelen(mb, 0, mb->m_epg_1st_off); + for (i = 1; i < mb->m_epg_npgs; i++) + mb->m_len += m_epg_pagelen(mb, i, 0); + nd->nd_bextpgsiz = bextpgsiz; + nd->nd_bextpg = bextpg; + } else + mb->m_len = bpos - mtod(mb, char *); + nd->nd_mb = mb; + nd->nd_bpos = bpos; } extern int (*nfsd_call_nfsd)(struct thread *, struct nfssvc_args *); From owner-svn-src-all@freebsd.org Wed Jul 29 23:21:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7678236F15E; Wed, 29 Jul 2020 23:21:57 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH8h52bzBz4Ncm; Wed, 29 Jul 2020 23:21:57 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3C28E276E1; Wed, 29 Jul 2020 23:21:57 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TNLv1u087455; Wed, 29 Jul 2020 23:21:57 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TNLuoq087451; Wed, 29 Jul 2020 23:21:56 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202007292321.06TNLuoq087451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Wed, 29 Jul 2020 23:21:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex X-SVN-Commit-Revision: 363679 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 23:21:57 -0000 Author: kevans Date: Wed Jul 29 23:21:56 2020 New Revision: 363679 URL: https://svnweb.freebsd.org/changeset/base/363679 Log: regex(3): Interpret many escaped ordinary characters as EESCAPE In IEEE 1003.1-2008 [1] and earlier revisions, BRE/ERE grammar allows for any character to be escaped, but "ORD_CHAR preceded by an unescaped character [gives undefined results]". Historically, we've interpreted an escaped ordinary character as the ordinary character itself. This becomes problematic when some extensions give special meanings to an otherwise ordinary character (e.g. GNU's \b, \s, \w), meaning we may have two different valid interpretations of the same sequence. To make this easier to deal with and given that the standard calls this undefined, we should throw an error (EESCAPE) if we run into this scenario to ease transition into a state where some escaped ordinaries are blessed with a special meaning -- it will either error out or have extended behavior, rather than have two entirely different versions of undefined behavior that leave the consumer of regex(3) guessing as to what behavior will be used or leaving them with false impressions. This change bumps the symbol version of regcomp to FBSD_1.6 and provides the old escape semantics for legacy applications, just in case one has an older application that would immediately turn into a pumpkin because of an extraneous escape that's embedded or otherwise critical to its operation. This is the final piece needed before enhancing libregex with GNU extensions and flipping the switch on bsdgrep. [1] http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/ PR: 229925 (exp-run, courtesy of antoine) Differential Revision: https://reviews.freebsd.org/D10510 Modified: head/contrib/netbsd-tests/lib/libc/regex/data/meta.in head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in head/lib/libc/regex/Symbol.map head/lib/libc/regex/regcomp.c Modified: head/contrib/netbsd-tests/lib/libc/regex/data/meta.in ============================================================================== --- head/contrib/netbsd-tests/lib/libc/regex/data/meta.in Wed Jul 29 23:17:16 2020 (r363678) +++ head/contrib/netbsd-tests/lib/libc/regex/data/meta.in Wed Jul 29 23:21:56 2020 (r363679) @@ -4,7 +4,9 @@ a[bc]d & abd abd a\*c & a*c a*c a\\b & a\b a\b a\\\*b & a\*b a\*b -a\bc & abc abc +# Begin FreeBSD +a\bc &C EESCAPE +# End FreeBSD a\ &C EESCAPE a\\bc & a\bc a\bc \{ bC BADRPT Modified: head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in ============================================================================== --- head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in Wed Jul 29 23:17:16 2020 (r363678) +++ head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in Wed Jul 29 23:21:56 2020 (r363679) @@ -12,7 +12,7 @@ a(b+)c - abbbc abbbc bbb a(b*)c - ac ac @c (a|ab)(bc([de]+)f|cde) - abcdef abcdef a,bcdef,de # Begin FreeBSD -a\(b\|c\)d b ab|cd ab|cd b|c +a\(b|c\)d b ab|cd ab|cd b|c # End FreeBSD # the regression tester only asks for 9 subexpressions a(b)(c)(d)(e)(f)(g)(h)(i)(j)k - abcdefghijk abcdefghijk b,c,d,e,f,g,h,i,j Modified: head/lib/libc/regex/Symbol.map ============================================================================== --- head/lib/libc/regex/Symbol.map Wed Jul 29 23:17:16 2020 (r363678) +++ head/lib/libc/regex/Symbol.map Wed Jul 29 23:21:56 2020 (r363679) @@ -3,8 +3,11 @@ */ FBSD_1.0 { - regcomp; regerror; regexec; regfree; +}; + +FBSD_1.6 { + regcomp; }; Modified: head/lib/libc/regex/regcomp.c ============================================================================== --- head/lib/libc/regex/regcomp.c Wed Jul 29 23:17:16 2020 (r363678) +++ head/lib/libc/regex/regcomp.c Wed Jul 29 23:21:56 2020 (r363679) @@ -102,11 +102,14 @@ struct parse { sopno pend[NPAREN]; /* -> ) ([0] unused) */ bool allowbranch; /* can this expression branch? */ bool bre; /* convenience; is this a BRE? */ + int pflags; /* other parsing flags -- legacy escapes? */ bool (*parse_expr)(struct parse *, struct branchc *); void (*pre_parse)(struct parse *, struct branchc *); void (*post_parse)(struct parse *, struct branchc *); }; +#define PFLAG_LEGACY_ESC 0x00000001 + /* ========= begin header generated by ./mkh ========= */ #ifdef __cplusplus extern "C" { @@ -132,6 +135,7 @@ static void p_b_cclass(struct parse *p, cset *cs); static void p_b_eclass(struct parse *p, cset *cs); static wint_t p_b_symbol(struct parse *p); static wint_t p_b_coll_elem(struct parse *p, wint_t endc); +static bool may_escape(struct parse *p, const wint_t ch); static wint_t othercase(wint_t ch); static void bothcases(struct parse *p, wint_t ch); static void ordinary(struct parse *p, wint_t ch); @@ -199,22 +203,10 @@ static char nuls[10]; /* place to point scanner in ev /* Macro used by computejump()/computematchjump() */ #define MIN(a,b) ((a)<(b)?(a):(b)) -/* - - regcomp - interface for parser and compilation - = extern int regcomp(regex_t *, const char *, int); - = #define REG_BASIC 0000 - = #define REG_EXTENDED 0001 - = #define REG_ICASE 0002 - = #define REG_NOSUB 0004 - = #define REG_NEWLINE 0010 - = #define REG_NOSPEC 0020 - = #define REG_PEND 0040 - = #define REG_DUMP 0200 - */ -int /* 0 success, otherwise REG_something */ -regcomp(regex_t * __restrict preg, +static int /* 0 success, otherwise REG_something */ +regcomp_internal(regex_t * __restrict preg, const char * __restrict pattern, - int cflags) + int cflags, int pflags) { struct parse pa; struct re_guts *g; @@ -273,6 +265,7 @@ regcomp(regex_t * __restrict preg, p->end = p->next + len; p->error = 0; p->ncsalloc = 0; + p->pflags = pflags; for (i = 0; i < NPAREN; i++) { p->pbegin[i] = 0; p->pend[i] = 0; @@ -346,6 +339,43 @@ regcomp(regex_t * __restrict preg, } /* + - regcomp - interface for parser and compilation + = extern int regcomp(regex_t *, const char *, int); + = #define REG_BASIC 0000 + = #define REG_EXTENDED 0001 + = #define REG_ICASE 0002 + = #define REG_NOSUB 0004 + = #define REG_NEWLINE 0010 + = #define REG_NOSPEC 0020 + = #define REG_PEND 0040 + = #define REG_DUMP 0200 + */ +int /* 0 success, otherwise REG_something */ +regcomp(regex_t * __restrict preg, + const char * __restrict pattern, + int cflags) +{ + + return (regcomp_internal(preg, pattern, cflags, 0)); +} + +#ifndef LIBREGEX +/* + * Legacy interface that requires more lax escaping behavior. + */ +int +freebsd12_regcomp(regex_t * __restrict preg, + const char * __restrict pattern, + int cflags, int pflags) +{ + + return (regcomp_internal(preg, pattern, cflags, PFLAG_LEGACY_ESC)); +} + +__sym_compat(regcomp, freebsd12_regcomp, FBSD_1.0); +#endif /* !LIBREGEX */ + +/* - p_ere_exp - parse one subERE, an atom possibly followed by a repetition op, - return whether we should terminate or not == static bool p_ere_exp(struct parse *p); @@ -435,7 +465,10 @@ p_ere_exp(struct parse *p, struct branchc *bc) EMIT(OEOW, 0); break; default: - ordinary(p, wc); + if (may_escape(p, wc)) + ordinary(p, wc); + else + SETERROR(REG_EESCAPE); break; } break; @@ -797,7 +830,10 @@ p_simp_re(struct parse *p, struct branchc *bc) return (false); /* Definitely not $... */ p->next--; wc = WGETNEXT(); - ordinary(p, wc); + if ((c & BACKSL) == 0 || may_escape(p, wc)) + ordinary(p, wc); + else + SETERROR(REG_EESCAPE); break; } @@ -1092,6 +1128,55 @@ p_b_coll_elem(struct parse *p, else SETERROR(REG_ECOLLATE); /* neither */ return(0); +} + +/* + - may_escape - determine whether 'ch' is escape-able in the current context + == static int may_escape(struct parse *p, const wint_t ch) + */ +static bool +may_escape(struct parse *p, const wint_t ch) +{ + + if ((p->pflags & PFLAG_LEGACY_ESC) != 0) + return (true); + if (isalpha(ch) || ch == '\'' || ch == '`') + return (false); + return (true); +#ifdef NOTYET + /* + * Build a whitelist of characters that may be escaped to produce an + * ordinary in the current context. This assumes that these have not + * been otherwise interpreted as a special character. Escaping an + * ordinary character yields undefined results according to + * IEEE 1003.1-2008. Some extensions (notably, some GNU extensions) take + * advantage of this and use escaped ordinary characters to provide + * special meaning, e.g. \b, \B, \w, \W, \s, \S. + */ + switch(ch) { + case '|': + case '+': + case '?': + /* The above characters may not be escaped in BREs */ + if (!(p->g->cflags®_EXTENDED)) + return (false); + /* Fallthrough */ + case '(': + case ')': + case '{': + case '}': + case '.': + case '[': + case ']': + case '\\': + case '*': + case '^': + case '$': + return (true); + default: + return (false); + } +#endif } /* From owner-svn-src-all@freebsd.org Wed Jul 29 23:24:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 79B1A36F0C4; Wed, 29 Jul 2020 23:24:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH8l52g5cz4P5y; Wed, 29 Jul 2020 23:24:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3E25D271FD; Wed, 29 Jul 2020 23:24:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TNOX55088385; Wed, 29 Jul 2020 23:24:33 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TNOXhl088384; Wed, 29 Jul 2020 23:24:33 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202007292324.06TNOXhl088384@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 29 Jul 2020 23:24:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363680 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363680 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 23:24:33 -0000 Author: jhb Date: Wed Jul 29 23:24:32 2020 New Revision: 363680 URL: https://svnweb.freebsd.org/changeset/base/363680 Log: Properly handle a closed TLS socket with pending receive data. If the remote end closes a TLS socket and the socket buffer still contains not-yet-decrypted TLS records but no decrypted TLS records, soreceive needs to block or fail with EWOULDBLOCK. Previously it was trying to return data and dereferencing a NULL pointer. Reviewed by: np Sponsored by: Chelsio Differential Revision: https://reviews.freebsd.org/D25838 Modified: head/sys/kern/uipc_socket.c Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Wed Jul 29 23:21:56 2020 (r363679) +++ head/sys/kern/uipc_socket.c Wed Jul 29 23:24:32 2020 (r363680) @@ -1965,12 +1965,17 @@ restart: } SOCKBUF_LOCK_ASSERT(&so->so_rcv); if (so->so_rcv.sb_state & SBS_CANTRCVMORE) { - if (m == NULL && so->so_rcv.sb_tlsdcc == 0 && + if (m != NULL) + goto dontblock; +#ifdef KERN_TLS + else if (so->so_rcv.sb_tlsdcc == 0 && so->so_rcv.sb_tlscc == 0) { +#else + else { +#endif SOCKBUF_UNLOCK(&so->so_rcv); goto release; - } else - goto dontblock; + } } for (; m != NULL; m = m->m_next) if (m->m_type == MT_OOBDATA || (m->m_flags & M_EOR)) { From owner-svn-src-all@freebsd.org Wed Jul 29 23:59:36 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 95C3536FE3C; Wed, 29 Jul 2020 23:59:36 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BH9WX3Xzfz4QTV; Wed, 29 Jul 2020 23:59:36 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5CB5427B52; Wed, 29 Jul 2020 23:59:36 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06TNxarS007350; Wed, 29 Jul 2020 23:59:36 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06TNxaJV007347; Wed, 29 Jul 2020 23:59:36 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202007292359.06TNxaJV007347@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Wed, 29 Jul 2020 23:59:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363681 - head X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 363681 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 23:59:36 -0000 Author: kevans Date: Wed Jul 29 23:59:35 2020 New Revision: 363681 URL: https://svnweb.freebsd.org/changeset/base/363681 Log: UPDATING / RELNOTES: Document new regcomp(3) behavior This is a breaking change that had a not-insignificant impact in ports, it is worth documenting it well. Modified: head/RELNOTES head/UPDATING Modified: head/RELNOTES ============================================================================== --- head/RELNOTES Wed Jul 29 23:24:32 2020 (r363680) +++ head/RELNOTES Wed Jul 29 23:59:35 2020 (r363681) @@ -10,6 +10,10 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +r363679: + Applications using regex(3), e.g. sed/grep, will no longer accept + redundant escapes for most ordinary characters. + r363253: SCTP support has been removed from GENERIC kernel configurations. The SCTP stack is now built as sctp.ko and can be dynamically loaded. Modified: head/UPDATING ============================================================================== --- head/UPDATING Wed Jul 29 23:24:32 2020 (r363680) +++ head/UPDATING Wed Jul 29 23:59:35 2020 (r363681) @@ -26,6 +26,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20200729: + r363679 has redefined some undefined behavior in regcomp(3); notably, + extraneous escapes of most ordinary characters will no longer be + accepted. An exp-run has identified all of the problems with this in + ports, but other non-ports software may need extra escapes removed to + continue to function. + 20200627: A new implementation of bc and dc has been imorted in r362681. This implementation corrects non-conformant behavior of the previous bc From owner-svn-src-all@freebsd.org Thu Jul 30 00:52:37 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B96353712B3; Thu, 30 Jul 2020 00:52:37 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHBhj4Tq0z4TFN; Thu, 30 Jul 2020 00:52:37 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7D0658BA0; Thu, 30 Jul 2020 00:52:37 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06U0qb8e044357; Thu, 30 Jul 2020 00:52:37 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06U0qb7K044356; Thu, 30 Jul 2020 00:52:37 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007300052.06U0qb7K044356@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 30 Jul 2020 00:52:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363682 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363682 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 00:52:37 -0000 Author: markj Date: Thu Jul 30 00:52:37 2020 New Revision: 363682 URL: https://svnweb.freebsd.org/changeset/base/363682 Log: Fix a logic error in uipc_ready_scan(). When processing the last record in a socket buffer, take care to avoid a NULL pointer dereference when advancing the record iterator. Reported by: syzbot+6a689cc9c27bd265237a@syzkaller.appspotmail.com Fixes: r359778 MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/uipc_usrreq.c Modified: head/sys/kern/uipc_usrreq.c ============================================================================== --- head/sys/kern/uipc_usrreq.c Wed Jul 29 23:59:35 2020 (r363681) +++ head/sys/kern/uipc_usrreq.c Thu Jul 30 00:52:37 2020 (r363682) @@ -1279,7 +1279,8 @@ uipc_ready_scan(struct socket *so, struct mbuf *m, int mb = mb->m_next; if (mb == NULL) { mb = n; - n = mb->m_nextpkt; + if (mb != NULL) + n = mb->m_nextpkt; } } } From owner-svn-src-all@freebsd.org Thu Jul 30 00:53:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AC17F37130D; Thu, 30 Jul 2020 00:53:57 +0000 (UTC) (envelope-from jmg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHBkF47vHz4TSn; Thu, 30 Jul 2020 00:53:57 +0000 (UTC) (envelope-from jmg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5808D87EB; Thu, 30 Jul 2020 00:53:57 +0000 (UTC) (envelope-from jmg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06U0rvpK044456; Thu, 30 Jul 2020 00:53:57 GMT (envelope-from jmg@FreeBSD.org) Received: (from jmg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06U0ruI2044453; Thu, 30 Jul 2020 00:53:56 GMT (envelope-from jmg@FreeBSD.org) Message-Id: <202007300053.06U0ruI2044453@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jmg set sender to jmg@FreeBSD.org using -f From: John-Mark Gurney Date: Thu, 30 Jul 2020 00:53:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363683 - in head: . share/man/man4 sys/conf sys/dev/cy sys/dev/rc sys/dev/rp sys/modules/rc sys/modules/rp X-SVN-Group: head X-SVN-Commit-Author: jmg X-SVN-Commit-Paths: in head: . share/man/man4 sys/conf sys/dev/cy sys/dev/rc sys/dev/rp sys/modules/rc sys/modules/rp X-SVN-Commit-Revision: 363683 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 00:53:57 -0000 Author: jmg Date: Thu Jul 30 00:53:56 2020 New Revision: 363683 URL: https://svnweb.freebsd.org/changeset/base/363683 Log: remove some long abandonded serial drivers (cy, rc, rp) since 2008 Reviewed by: phk (earlier version) Reviewed by: emaste (earlier version) Reviewed by: bcr (earlier version) Reviewed by: zeising (earlier version) Differential Revision: https://reviews.freebsd.org/D25874 Deleted: head/share/man/man4/cy.4 head/share/man/man4/rc.4 head/share/man/man4/rp.4 head/sys/dev/cy/ head/sys/dev/rc/ head/sys/dev/rp/ head/sys/modules/rc/ head/sys/modules/rp/ Modified: head/ObsoleteFiles.inc head/share/man/man4/Makefile head/sys/conf/files Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Thu Jul 30 00:52:37 2020 (r363682) +++ head/ObsoleteFiles.inc Thu Jul 30 00:53:56 2020 (r363683) @@ -36,6 +36,11 @@ # xargs -n1 | sort | uniq -d; # done +# 20200729: remove long expired serial drivers +OLD_FILES+=usr/share/man/man4/cy.4.gz +OLD_FILES+=usr/share/man/man4/rc.4.gz +OLD_FILES+=usr/share/man/man4/rp.4.gz + # 20200715: rework of devstat(9) man page OLD_FILES+=usr/share/man/man9/devstat_add_entry.9.gz Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Thu Jul 30 00:52:37 2020 (r363682) +++ head/share/man/man4/Makefile Thu Jul 30 00:53:56 2020 (r363683) @@ -121,7 +121,6 @@ MAN= aac.4 \ cxgb.4 \ cxgbe.4 \ cxgbev.4 \ - cy.4 \ cyapa.4 \ da.4 \ dc.4 \ @@ -434,7 +433,6 @@ MAN= aac.4 \ ${_qlnxe.4} \ ral.4 \ random.4 \ - rc.4 \ rctl.4 \ re.4 \ rgephy.4 \ @@ -442,7 +440,6 @@ MAN= aac.4 \ rl.4 \ rndtest.4 \ route.4 \ - rp.4 \ rtwn.4 \ rtwnfw.4 \ rtwn_pci.4 \ Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Jul 30 00:52:37 2020 (r363682) +++ head/sys/conf/files Thu Jul 30 00:53:56 2020 (r363683) @@ -1541,9 +1541,6 @@ t6fw.fw optional cxgbe \ clean "t6fw.fw" dev/cxgbe/crypto/t4_crypto.c optional ccr \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" -dev/cy/cy.c optional cy -dev/cy/cy_isa.c optional cy isa -dev/cy/cy_pci.c optional cy pci dev/cyapa/cyapa.c optional cyapa iicbus dev/dc/if_dc.c optional dc pci dev/dc/dcphy.c optional dc pci @@ -2775,14 +2772,10 @@ dev/random/random_harvestq.c standard dev/random/randomdev.c optional !random_loadable dev/random/fortuna.c optional !random_loadable dev/random/hash.c optional !random_loadable -dev/rc/rc.c optional rc dev/rccgpio/rccgpio.c optional rccgpio gpio dev/re/if_re.c optional re dev/rl/if_rl.c optional rl pci dev/rndtest/rndtest.c optional rndtest -dev/rp/rp.c optional rp -dev/rp/rp_isa.c optional rp isa -dev/rp/rp_pci.c optional rp pci # dev/rtwn/if_rtwn.c optional rtwn dev/rtwn/if_rtwn_beacon.c optional rtwn From owner-svn-src-all@freebsd.org Thu Jul 30 01:52:42 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A7C82372C18; Thu, 30 Jul 2020 01:52:42 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-to1can01on0620.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5d::620]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHD1x63qNz4XJB; Thu, 30 Jul 2020 01:52:37 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n3xbzEDJL6nKNIaTZz6vnIR144WNtJZKcmswdVFF70nd6bvZsnSstRcwSfcbKdB3Drlm+eDXmebvXLAfDefMXVnJwuP+GnYMS8jwnBmex98IZoC8BE8eYmBupZP371xoUEAJi6j1646MkUETTnXJdl3cljuJcdEdQbPVHeZ1DyEpmg4qfiQS3zfU9dBS701dKtbqNUAyioKexwSk0J26sSK49iPsGbYShIk8AlzFaLq0rvbux3mpupLCkQDWFa14YkhjkoQnaUuF7U7Zd4MitlJzq+0EdRmvel04lJZyxCPQw5Yjd93T9IIWXFgkvzq+363W5aW5de2IsLRCcx0Axw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0X7tqfjSl26kPG2eZDYItDp+CifDQaVOdAWnm+GooZk=; b=UVKbP9qnc9G9GWFmtY5UZ2sAsneYFMtfs7sdlSH0hwcqFjj5eDHlvurk2OmoOHa7fIb7gHxR6TGUyv2zlQ8vECLWlRsh2TVMi60x4moA/zuC9trGIehPE7MS3e49EzZN4Fzri0buLUTc4Yug84c/B97o5+aamei+PbVNMXMXioTDsIcWhS0e5hqWdTKXosd4hxDesIpAWBvTh68a6NOtfZdZkcs5t42Gzf1meNo432cTlWhiJ4r+aNUxEmvJ8DhQSW2mplqjNoBTZjZbirjcbHZNX9mEq9ZNrmPoDcaHk6NT5ykeTht1EV5XrNlxvAi2HcQoMKp4hg2BpUnpOgudrQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0X7tqfjSl26kPG2eZDYItDp+CifDQaVOdAWnm+GooZk=; b=ucc7SHI+S44VLo7syNHe42MeVsBiXWz/FH4RYr051SA/nZvPfqVFVN9MoY/9j76Q43MPIyJUCmMDiYYTMuA+q9vvgrM69RlsgAmVRHu+pAsFTp3D6wxHXY1Fa9z2u2kNsBu3K1w2zCITRmSJdDFo4IzhpYYoEDuUPrsLkP4TRy29C3YbDMXfP6XUvVtyMGSWG5PxEp7RehRCtDUU9C1HskDFQexhzReBtvANVYDXFK0rEUA+PLZh7j57aE0vSi8z6zEzhNXh6mcfa6egHHKfJMIPREhHvK+W+h/6TJE2OR+NBNtIDOFqJDhty7goCo1wwvhjVXdZVbgNH+hIiL+eWQ== Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:38::14) by YQBPR0101MB1940.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.28; Thu, 30 Jul 2020 01:52:35 +0000 Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::60f3:4ca2:8a4a:1e91]) by QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::60f3:4ca2:8a4a:1e91%7]) with mapi id 15.20.3216.033; Thu, 30 Jul 2020 01:52:35 +0000 From: Rick Macklem To: Brooks Davis , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-stable@freebsd.org" , "svn-src-stable-12@freebsd.org" Subject: Re: svn commit: r363625 - stable/12/usr.sbin/mountd Thread-Topic: svn commit: r363625 - stable/12/usr.sbin/mountd Thread-Index: AQHWZGw7l3AA2GANGkmYHY+WWlMRT6kfVzKs Date: Thu, 30 Jul 2020 01:52:35 +0000 Message-ID: References: <202007272318.06RNIFjV005206@repo.freebsd.org> In-Reply-To: <202007272318.06RNIFjV005206@repo.freebsd.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 07933a14-c3df-49d3-1c6d-08d8342b3b3f x-ms-traffictypediagnostic: YQBPR0101MB1940: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: siACDIdhffcmbtaAL0qImLDdF4nhz0gHPkNnfIWUXlt4AKs1V9HP+JGZTe/dheWMLAcS2xAvsGJmg6vrItaNJh2tUtV0TWUtWvcfVQ701j2WbDjo4JaPn0saxDH0jApbw+CI8bph/qoDjbYKZiNWyFBPigaimQjc48qFs9BBy6W7GyE4XfcRJR4Ar2MFgc/rHFLmo8UPGRZ25/rn4XHmo9gu6s925UVdzz0vPOGyNxo0AET7xGCDVagrtQp2akkr4fA2uY+oUJjJ/XkNyvyPjdmQosnTiaw3JF93IXNxZdEKZU7SpECyA9s1Erk3MdJLVjOCNc3t8nFkL02daUC6ZqT7bw2e+2pKRIDthwxynTsijApazjE3q5a5d0AKmUn3cbb9jDeOSFv0ScqylsNR1w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(396003)(346002)(39860400002)(136003)(376002)(366004)(478600001)(966005)(2906002)(9686003)(786003)(316002)(55016002)(110136005)(71200400001)(5660300002)(8936002)(52536014)(66446008)(186003)(450100002)(76116006)(91956017)(66476007)(33656002)(83380400001)(7696005)(66946007)(6506007)(86362001)(64756008)(66556008)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: GSb1TaJP9Rqsb5L1NO7EjMCyq0A0RwGgQKi+KikXb45lP1ugsqejaafABvhvpXlI9+a5xdiDiO+HgrysAiCWLLQ2cGtCFd/zDCPDJmwnGDXJCSXu5XYSq1wzpteNdmZySUFzNx6crKWCBK9gGgwhPP2+ltkoQ+EwveoOO+BOOEqHIEwIYFYrLz5GWP7kt/vQTf0jssvM5/hCPDpLxMzW/Wa+yGiqjwzT0AW1Aya47aOkIhlrNL2jX2e4FFwvvS4GqJ92XBOlbIECWJAqAdWnZpDLFCRQ+fNJwCRTxbjekMSn50GebqKBOMXkcYtRH7s8FeMjA+6hOXcyQnPGtfDx2Y5Aq8ZEWG6l94vQN6+aCwOSnvH4HTQ+vkf7tYr2mfiaVUZZ4alF++eEF2c83lwcW8jWivgSQoCTY8Jwnz//IFZOKMLnNgeJnexO+kbSigwEMT+9y5xX5ozfic/EOroXxq/tCPBJAqgoxcC0PxTRyaTnHwJY+P+0I+n2kONh3+n8+eS+hGW41sgjpNh0HUgEs1mXZmgg1U53GB0pQWIaUBLZYEv3vPhqTtULaHPJRN6G x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 07933a14-c3df-49d3-1c6d-08d8342b3b3f X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2020 01:52:35.4295 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Nrsw0j8vPjlixyDmDCeI2gFXjP23WMHOs+eyRoPp3OTdYWCIQ08YR2TGiso0ejArawQqZSMGlypuvNlRr0jD7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBPR0101MB1940 X-Rspamd-Queue-Id: 4BHD1x63qNz4XJB X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=uoguelph.ca header.s=selector1 header.b=ucc7SHI+; dmarc=none; spf=pass (mx1.freebsd.org: domain of rmacklem@uoguelph.ca designates 2a01:111:f400:fe5d::620 as permitted sender) smtp.mailfrom=rmacklem@uoguelph.ca X-Spamd-Result: default: False [-5.17 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.98)[-0.981]; R_DKIM_ALLOW(-0.20)[uoguelph.ca:s=selector1]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[uoguelph.ca]; NEURAL_HAM_LONG(-1.03)[-1.027]; RCPT_COUNT_FIVE(0.00)[5]; DWL_DNSWL_LOW(-1.00)[uoguelph.ca:dkim]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[uoguelph.ca:+]; NEURAL_HAM_SHORT(-0.67)[-0.666]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 01:52:42 -0000 Brooks Davis wrote:=0A= >Author: brooks=0A= >Date: Mon Jul 27 23:18:14 2020=0A= >New Revision: 363625=0A= >URL: https://svnweb.freebsd.org/changeset/base/363625=0A= >=0A= >Log:=0A= > MFC r363439:=0A= >=0A= > Correct a type-mismatch between xdr_long and the variable "bad".=0A= >=0A= > Way back in r28911 (August 1997, CVS rev 1.22) we imported a NetBSD=0A= > information leak fix via OpenBSD. Unfortunatly we failed to track the= =0A= > followup commit that fixed the type of the error code. Apply the change= =0A= > from int to long now.=0A= I don't think this is correct.=0A= RFC-1813 defines the error return for a MNT RPC as a 32bit quantity.=0A= =0A= Way back when this stuff was written it was in K&R days and "long" was=0A= always a 32bit integer.=0A= =0A= If you look at head/lib/libc/xdr/xdr.c you'll see "long" used to refer to 3= 2bit=0A= numbers throughout it. Look near the end, where it does a "longlong" (64bit= s)=0A= using 2 longs.=0A= =0A= The good news w.r.t. this ancient code is that XDR_PUTLONG() assumes 32bits= .=0A= =0A= Also, note that xdr_int() and xdr_long() do exactly the same thing.=0A= =0A= I support int32_t would be preferred to "int" to make sure "bad" is 32bits= =0A= and then you can use xdr_int32_t(), which does exactly the same thing as=0A= xdr_int() and about the same thing as xdr_long(). { They all assume a "long= "=0A= is 32bits. Scary to look at now that "long" isn't always 32bits. }=0A= --> I can't see how the xdr.c code would work for a machine that is BIG_END= IAN=0A= and where "long" is 64bits, but we don't have any of those.=0A= =0A= I don't think "int bad" was wrong and "long bad" definitely seems wrong for= =0A= 64bit systems, although the xdr.c code simply ends up putting the low order= =0A= 32bits on the wire, I think?=0A= =0A= rick=0A= =0A= Reviewed by: emaste=0A= Reported by: CHERI=0A= Obtained from: CheriBSD=0A= Sponsored by: DARPA=0A= Differential Revision: https://reviews.freebsd.org/D25779=0A= =0A= Modified:=0A= stable/12/usr.sbin/mountd/mountd.c=0A= Directory Properties:=0A= stable/12/ (props changed)=0A= =0A= Modified: stable/12/usr.sbin/mountd/mountd.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=0A= --- stable/12/usr.sbin/mountd/mountd.c Mon Jul 27 21:19:41 2020 (r3= 63624)=0A= +++ stable/12/usr.sbin/mountd/mountd.c Mon Jul 27 23:18:14 2020 (r3= 63625)=0A= @@ -1087,7 +1087,8 @@ mntsrv(struct svc_req *rqstp, SVCXPRT *transp)=0A= struct sockaddr *saddr;=0A= u_short sport;=0A= char rpcpath[MNTPATHLEN + 1], dirpath[MAXPATHLEN];=0A= - int bad =3D 0, defset, hostset;=0A= + int defset, hostset;=0A= + long bad =3D 0;=0A= sigset_t sighup_mask;=0A= int numsecflavors, *secflavorsp;=0A= =0A= From owner-svn-src-all@freebsd.org Thu Jul 30 02:52:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 36D1C374559; Thu, 30 Jul 2020 02:52:56 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHFMX0jQrz4Zrg; Thu, 30 Jul 2020 02:52:56 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F08DDA0C8; Thu, 30 Jul 2020 02:52:55 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06U2qtB3017623; Thu, 30 Jul 2020 02:52:55 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06U2qtgr017622; Thu, 30 Jul 2020 02:52:55 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202007300252.06U2qtgr017622@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 30 Jul 2020 02:52:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363685 - in stable: 10/contrib/ipfilter/man 11/contrib/ipfilter/man 12/contrib/ipfilter/man X-SVN-Group: stable-11 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 10/contrib/ipfilter/man 11/contrib/ipfilter/man 12/contrib/ipfilter/man X-SVN-Commit-Revision: 363685 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 02:52:56 -0000 Author: cy Date: Thu Jul 30 02:52:55 2020 New Revision: 363685 URL: https://svnweb.freebsd.org/changeset/base/363685 Log: MFC r363453: Document the IPFILTER_PREDEFINED environment variable. PR: 248088 Reported by: joeb1@a1poweruser.com Modified: stable/11/contrib/ipfilter/man/ipf.8 Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/contrib/ipfilter/man/ipf.8 stable/12/contrib/ipfilter/man/ipf.8 Directory Properties: stable/10/ (props changed) stable/12/ (props changed) Modified: stable/11/contrib/ipfilter/man/ipf.8 ============================================================================== --- stable/11/contrib/ipfilter/man/ipf.8 Thu Jul 30 02:37:15 2020 (r363684) +++ stable/11/contrib/ipfilter/man/ipf.8 Thu Jul 30 02:52:55 2020 (r363685) @@ -158,6 +158,15 @@ display the statistics prior to them being zeroed. Zero global statistics held in the kernel for filtering only (this doesn't affect fragment or state statistics). .DT +.SH ENVIRONMENT +.NM utilizes the following environment variable. +.TP +.B IPF_PREDEFINED +ipfilter variables, see VARIABLES in ipf(5), can be specified in this +environment variable providing shell access to ipfilter and ipnat variables. +For example, +.br +IPF_PREDEFINED='my_server="10.1.1.1"; my_client="10.1.1.2";' .SH FILES /dev/ipauth .br From owner-svn-src-all@freebsd.org Thu Jul 30 02:52:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 885B93743FD; Thu, 30 Jul 2020 02:52:56 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHFMX36pjz4Zvb; Thu, 30 Jul 2020 02:52:56 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4E6D6A314; Thu, 30 Jul 2020 02:52:56 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06U2quru017630; Thu, 30 Jul 2020 02:52:56 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06U2quGX017629; Thu, 30 Jul 2020 02:52:56 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202007300252.06U2quGX017629@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 30 Jul 2020 02:52:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363685 - in stable: 10/contrib/ipfilter/man 11/contrib/ipfilter/man 12/contrib/ipfilter/man X-SVN-Group: stable-12 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 10/contrib/ipfilter/man 11/contrib/ipfilter/man 12/contrib/ipfilter/man X-SVN-Commit-Revision: 363685 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 02:52:56 -0000 Author: cy Date: Thu Jul 30 02:52:55 2020 New Revision: 363685 URL: https://svnweb.freebsd.org/changeset/base/363685 Log: MFC r363453: Document the IPFILTER_PREDEFINED environment variable. PR: 248088 Reported by: joeb1@a1poweruser.com Modified: stable/12/contrib/ipfilter/man/ipf.8 Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/10/contrib/ipfilter/man/ipf.8 stable/11/contrib/ipfilter/man/ipf.8 Directory Properties: stable/10/ (props changed) stable/11/ (props changed) Modified: stable/12/contrib/ipfilter/man/ipf.8 ============================================================================== --- stable/12/contrib/ipfilter/man/ipf.8 Thu Jul 30 02:37:15 2020 (r363684) +++ stable/12/contrib/ipfilter/man/ipf.8 Thu Jul 30 02:52:55 2020 (r363685) @@ -158,6 +158,15 @@ display the statistics prior to them being zeroed. Zero global statistics held in the kernel for filtering only (this doesn't affect fragment or state statistics). .DT +.SH ENVIRONMENT +.NM utilizes the following environment variable. +.TP +.B IPF_PREDEFINED +ipfilter variables, see VARIABLES in ipf(5), can be specified in this +environment variable providing shell access to ipfilter and ipnat variables. +For example, +.br +IPF_PREDEFINED='my_server="10.1.1.1"; my_client="10.1.1.2";' .SH FILES /dev/ipauth .br From owner-svn-src-all@freebsd.org Thu Jul 30 02:52:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EB0793744AF; Thu, 30 Jul 2020 02:52:56 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHFMX5Xnsz4b9r; Thu, 30 Jul 2020 02:52:56 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A2BC99F5E; Thu, 30 Jul 2020 02:52:56 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06U2quWj017636; Thu, 30 Jul 2020 02:52:56 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06U2quuO017635; Thu, 30 Jul 2020 02:52:56 GMT (envelope-from cy@FreeBSD.org) Message-Id: <202007300252.06U2quuO017635@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 30 Jul 2020 02:52:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r363685 - in stable: 10/contrib/ipfilter/man 11/contrib/ipfilter/man 12/contrib/ipfilter/man X-SVN-Group: stable-10 X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in stable: 10/contrib/ipfilter/man 11/contrib/ipfilter/man 12/contrib/ipfilter/man X-SVN-Commit-Revision: 363685 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 02:52:57 -0000 Author: cy Date: Thu Jul 30 02:52:55 2020 New Revision: 363685 URL: https://svnweb.freebsd.org/changeset/base/363685 Log: MFC r363453: Document the IPFILTER_PREDEFINED environment variable. PR: 248088 Reported by: joeb1@a1poweruser.com Modified: stable/10/contrib/ipfilter/man/ipf.8 Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/contrib/ipfilter/man/ipf.8 stable/12/contrib/ipfilter/man/ipf.8 Directory Properties: stable/11/ (props changed) stable/12/ (props changed) Modified: stable/10/contrib/ipfilter/man/ipf.8 ============================================================================== --- stable/10/contrib/ipfilter/man/ipf.8 Thu Jul 30 02:37:15 2020 (r363684) +++ stable/10/contrib/ipfilter/man/ipf.8 Thu Jul 30 02:52:55 2020 (r363685) @@ -158,6 +158,15 @@ display the statistics prior to them being zeroed. Zero global statistics held in the kernel for filtering only (this doesn't affect fragment or state statistics). .DT +.SH ENVIRONMENT +.NM utilizes the following environment variable. +.TP +.B IPF_PREDEFINED +ipfilter variables, see VARIABLES in ipf(5), can be specified in this +environment variable providing shell access to ipfilter and ipnat variables. +For example, +.br +IPF_PREDEFINED='my_server="10.1.1.1"; my_client="10.1.1.2";' .SH FILES /dev/ipauth .br From owner-svn-src-all@freebsd.org Thu Jul 30 03:25:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 05073376380 for ; Thu, 30 Jul 2020 03:25:59 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound5a.ore.mailhop.org (outbound5a.ore.mailhop.org [44.233.67.66]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHG5f3mW8z4dRP for ; Thu, 30 Jul 2020 03:25:58 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1596079551; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=rUPzpAlCEzzn77SDh0hZ52DKIuLEgFUG9fG0oql5aSIOa9bS+mmDJYdMXyhav828yhyJrfltFtLm4 P7oq5JXQz7kloawp/Y32UWrYn/tUXVaZzXpILjOSkKeSHxb4BHRKnKO6vVGoztsm54xfFsIAL55gLJ wXSidZhWsaZeYGaL375COTMeu+MtWJ2mCKDK+Q8UmhYV3Nn3K2yWILjs9avQ4pUSvIp/NpXbW/IFk5 WRXnyXX0yBf0BbTkfxhhmmpII6hVt8aA6jJ3lU3/fGyVdZrQFVMNIjf1Dipg/45BfyZXxvJzMKW/Dj N2JyHDGqa8cuIe+yKDOYZ0O3HnsAP5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:to:from:subject:message-id:dkim-signature:from; bh=wySEfhvHdHrb73jnhAtNPtKULYaiAr9lKq8KXug6fSg=; b=lcZ3oc0v1OY4leKmOo/vwMa7yB4QjNuDThKKGIYYgT2bipvV7Xcnj5k303YtwBDiLNN6En+1zoscE lC/Q1aM+XQxiG7gh6ru6z1oMEYqTlzZoo0ZrVCwfo6AUkQDxZ6VFTYIpvo+2XdHTaVRdVIL8wr2Ho0 Ixm7f0yqNI2LnU5oLL/w+lRW8/jLjv8BVkkkNAU6WR0riNj6+pgZ5vyUPkBhwvtmLoRThF4XrbcUvq yictyrkfNWw9avQ/pJCS61dqDh/BiWx4eJZDV3/71BrPBDGogZ/SMtAFLS1HGAW5krJKXn1KYSlgZ/ LNS8h7BP+sCcBtZi4LDg8oTDtArOm7Q== ARC-Authentication-Results: i=1; outbound3.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:to:from:subject:message-id:from; bh=wySEfhvHdHrb73jnhAtNPtKULYaiAr9lKq8KXug6fSg=; b=Sr5xQ3lnvuoLHBb9KWEqxtrvW7KjDt2mKjoAwQqcUP79rcROLCnPldV2prLioEZz8dNFVmpOi/1qz 1JZAmKdC+kmEXb206+tPnymegfzLYGYhX03KPyMhNEr94q9LJ5UPvBBcHHntbMXlPMg3018eC5hapj 2xVGi5NIspnU13olqvkiJpoFhqvGBO2VUkss3qRFH3w3NRQTd1VMbrVQF9ZpJhiNfjQEpjmJu22M2b VjdWL8v9v4wyhem1hWXov1NKe1cBVttoph78zSCwyj0X6acPzsR7jDEHsJhkEIKikDtL1xpFsic62y n10jkiSj+E65yeE19NMPVwittOJ0+iA== X-MHO-RoutePath: aGlwcGll X-MHO-User: 5cbffb2e-d214-11ea-a2ba-9f0c275c2f69 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (c-67-177-211-60.hsd1.co.comcast.net [67.177.211.60]) by outbound3.ore.mailhop.org (Halon) with ESMTPSA id 5cbffb2e-d214-11ea-a2ba-9f0c275c2f69; Thu, 30 Jul 2020 03:25:49 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 06U3PmDl008570; Wed, 29 Jul 2020 21:25:48 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <4d5b871fad9412661c3914a64c8ca0b7a01d1dc6.camel@freebsd.org> Subject: Re: svn commit: r363625 - stable/12/usr.sbin/mountd From: Ian Lepore To: Rick Macklem , Brooks Davis , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-stable@freebsd.org" , "svn-src-stable-12@freebsd.org" Date: Wed, 29 Jul 2020 21:25:48 -0600 In-Reply-To: References: <202007272318.06RNIFjV005206@repo.freebsd.org> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BHG5f3mW8z4dRP X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; ASN(0.00)[asn:16509, ipnet:44.224.0.0/11, country:US]; local_wl_from(0.00)[freebsd.org] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 03:25:59 -0000 On Thu, 2020-07-30 at 01:52 +0000, Rick Macklem wrote: > Brooks Davis wrote: > > Author: brooks > > Date: Mon Jul 27 23:18:14 2020 > > New Revision: 363625 > > URL: https://svnweb.freebsd.org/changeset/base/363625 > > > > Log: > > MFC r363439: > > > > Correct a type-mismatch between xdr_long and the variable "bad". > > > > [...] > --> I can't see how the xdr.c code would work for a machine that is > BIG_ENDIAN and where "long" is 64bits, but we don't have any of > those. > mips64 and powerpc64 are both big endian with 64-bit long. -- Ian From owner-svn-src-all@freebsd.org Thu Jul 30 03:53:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AC9D8376C9E; Thu, 30 Jul 2020 03:53:44 +0000 (UTC) (envelope-from lwhsu@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHGjh41DTz4ffr; Thu, 30 Jul 2020 03:53:44 +0000 (UTC) (envelope-from lwhsu@freebsd.org) Received: from mail-yb1-f171.google.com (mail-yb1-f171.google.com [209.85.219.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: lwhsu/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 684BE1A9DB; Thu, 30 Jul 2020 03:53:44 +0000 (UTC) (envelope-from lwhsu@freebsd.org) Received: by mail-yb1-f171.google.com with SMTP id c14so13728112ybj.0; Wed, 29 Jul 2020 20:53:44 -0700 (PDT) X-Gm-Message-State: AOAM530e8mD14GwWJrwfD+rIfE7sfgcEMS8lFxdckXPj9b41LfIKBK7K IRCbu9YYo8waLc5MRf35JLXuRdtuvknNBiWUrts= X-Google-Smtp-Source: ABdhPJygu0EUkCuhL5zIQUXFlVeoLC5G/UsLsi+rcA/ytgJ3Em6Y7xmQdVWzx+0AgfLA1KK7QbrwwM4MCx5huJjRzP0= X-Received: by 2002:a25:b1a5:: with SMTP id h37mr53960180ybj.241.1596081223622; Wed, 29 Jul 2020 20:53:43 -0700 (PDT) MIME-Version: 1.0 References: <202007292321.06TNLuoq087451@repo.freebsd.org> In-Reply-To: <202007292321.06TNLuoq087451@repo.freebsd.org> From: Li-Wen Hsu Date: Thu, 30 Jul 2020 11:53:32 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Kyle Evans Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 03:53:44 -0000 On Thu, Jul 30, 2020 at 7:22 AM Kyle Evans wrote: > > Author: kevans > Date: Wed Jul 29 23:21:56 2020 > New Revision: 363679 > URL: https://svnweb.freebsd.org/changeset/base/363679 > > Log: > regex(3): Interpret many escaped ordinary characters as EESCAPE > > In IEEE 1003.1-2008 [1] and earlier revisions, BRE/ERE grammar allows for > any character to be escaped, but "ORD_CHAR preceded by an unescaped > character [gives undefined results]". > > Historically, we've interpreted an escaped ordinary character as the > ordinary character itself. This becomes problematic when some extensions > give special meanings to an otherwise ordinary character > (e.g. GNU's \b, \s, \w), meaning we may have two different valid > interpretations of the same sequence. > > To make this easier to deal with and given that the standard calls this > undefined, we should throw an error (EESCAPE) if we run into this scenario > to ease transition into a state where some escaped ordinaries are blessed > with a special meaning -- it will either error out or have extended > behavior, rather than have two entirely different versions of undefined > behavior that leave the consumer of regex(3) guessing as to what behavior > will be used or leaving them with false impressions. > > This change bumps the symbol version of regcomp to FBSD_1.6 and provides the > old escape semantics for legacy applications, just in case one has an older > application that would immediately turn into a pumpkin because of an > extraneous escape that's embehttps://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/dded or otherwise critical to its operation. > > This is the final piece needed before enhancing libregex with GNU extensions > and flipping the switch on bsdgrep. > > [1] http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/ > > PR: 229925 (exp-run, courtesy of antoine) > Differential Revision: https://reviews.freebsd.org/D10510 > > Modified: > head/contrib/netbsd-tests/lib/libc/regex/data/meta.in > head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in > head/lib/libc/regex/Symbol.map > head/lib/libc/regex/regcomp.c I think there are 3 test cases need to be modified after this change: https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/ https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.diff/diff_test/side_by_side/ https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.sed/sed2_test/hex_subst/ Please help to check them, thanks! Li-Wen From owner-svn-src-all@freebsd.org Thu Jul 30 04:07:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4A8A0376DDA; Thu, 30 Jul 2020 04:07:24 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHH1S1Fgjz4g9m; Thu, 30 Jul 2020 04:07:24 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 08CF51AA0D; Thu, 30 Jul 2020 04:07:24 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f169.google.com with SMTP id b79so24447833qkg.9; Wed, 29 Jul 2020 21:07:24 -0700 (PDT) X-Gm-Message-State: AOAM533wh2E6fJ1coHodcf27G9zZDVdh8NL/DpwxMF6EJX6PicVM0gTB xqB8FvwdhFiF1WuImSodAzjIJT68xX3LYdtLKsg= X-Google-Smtp-Source: ABdhPJzlioR3HP9WPy2waGWRKu7tmUcCHQLgarVmnUN40oWQqt0F0T1U4VrOn6Qn5X1odmGayChQZ3PdA8eDsOGxV1I= X-Received: by 2002:a05:620a:628:: with SMTP id 8mr37632630qkv.103.1596082043533; Wed, 29 Jul 2020 21:07:23 -0700 (PDT) MIME-Version: 1.0 References: <202007292321.06TNLuoq087451@repo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Wed, 29 Jul 2020 23:07:12 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Li-Wen Hsu Cc: Kyle Evans , src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 04:07:24 -0000 Sorry, on mobile, so doubling down on bad formatting by top-posting... The sed/diff tests are easy to fix, will do those in about 8/9 hours. The Google test failure is interesting- this expression has clearly been wrong and getting the wrong results, so we've caught a legitimate issue here. I think the best path forward for that one is to commit my libregex extensions and link that baby up so that \w works. Thanks, Kyle Evans On Wed, Jul 29, 2020, 22:53 Li-Wen Hsu wrote: > On Thu, Jul 30, 2020 at 7:22 AM Kyle Evans wrote: > > > > Author: kevans > > Date: Wed Jul 29 23:21:56 2020 > > New Revision: 363679 > > URL: https://svnweb.freebsd.org/changeset/base/363679 > > > > Log: > > regex(3): Interpret many escaped ordinary characters as EESCAPE > > > > In IEEE 1003.1-2008 [1] and earlier revisions, BRE/ERE grammar allows > for > > any character to be escaped, but "ORD_CHAR preceded by an unescaped > > character [gives undefined results]". > > > > Historically, we've interpreted an escaped ordinary character as the > > ordinary character itself. This becomes problematic when some > extensions > > give special meanings to an otherwise ordinary character > > (e.g. GNU's \b, \s, \w), meaning we may have two different valid > > interpretations of the same sequence. > > > > To make this easier to deal with and given that the standard calls this > > undefined, we should throw an error (EESCAPE) if we run into this > scenario > > to ease transition into a state where some escaped ordinaries are > blessed > > with a special meaning -- it will either error out or have extended > > behavior, rather than have two entirely different versions of undefined > > behavior that leave the consumer of regex(3) guessing as to what > behavior > > will be used or leaving them with false impressions. > > > > This change bumps the symbol version of regcomp to FBSD_1.6 and > provides the > > old escape semantics for legacy applications, just in case one has an > older > > application that would immediately turn into a pumpkin because of an > > extraneous escape that's embehttps:// > ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/dded > or otherwise critical to its operation. > > > > This is the final piece needed before enhancing libregex with GNU > extensions > > and flipping the switch on bsdgrep. > > > > [1] http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/ > > > > PR: 229925 (exp-run, courtesy of antoine) > > Differential Revision: https://reviews.freebsd.org/D10510 > > > > Modified: > > head/contrib/netbsd-tests/lib/libc/regex/data/meta.in > > head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in > > head/lib/libc/regex/Symbol.map > > head/lib/libc/regex/regcomp.c > > I think there are 3 test cases need to be modified after this change: > > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/ > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.diff/diff_test/side_by_side/ > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.sed/sed2_test/hex_subst/ > > Please help to check them, thanks! > > Li-Wen > From owner-svn-src-all@freebsd.org Thu Jul 30 07:03:37 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 876DB37B021; Thu, 30 Jul 2020 07:03:37 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-qb1can01on061b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5c::61b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHLwn1FmCz3bV8; Thu, 30 Jul 2020 07:03:36 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qo1EwlOZ5PnH/k6QrqjqHomS4tnWVaqijJrVH9pktwxNm1L0AZxH82fKE/Vyj/jF9RZNJat9sjVKFT25Iij5QYwhIqDagthh79tuVtn2xFJx3iR9oCDN2IXXKfv3+XqNR+xPzVP/PGbapL4k0zpMMJvKB5JbwWJ72EjE1qNiXHHjvHd2TtfXwsg6fiytAmdx1AYsLcIP77Zu1MAbk4R6ubsTZehzwgBkCfSweKyFbDtYdB2NOdEqgwitKaGSWdujOxSwvqcPHlcjIPolUE7xn2kkylZrn6I99T/b4s/TVp+M8Fb2sGA2FTpjf/++wluSzhDj7TZO1NyE1w4znGfqGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GUH7hEdbcCkO9sDeuQUJywSt9df2IgZBiathivs8GYw=; b=MOt/0HPugDVe8i2XWAWXBrx/M0eiHzwTw3eWD66xy1o3284HPNpX2Duqjx4iPAs0ychfI8uk3Tsw1o8rLwK79y4hX425ug7wYd/cRHLZeLPCfVBCWf8qjFIZuf+L4Gk1KAzDVFdCsqyapaxjwwKGwUci8ayY/52htZQhgaSOvbPNHESwixFrBQf/WX6nnSw5ByJgULpWsP6AHwN0ibVJSxWdz2cz2juQNsZE7UyKbYE/vLZO9JdsEwhR3Q84SuXpGD2OqnYkI0bz0o88CWCeTcPW5YG/L7xypCLPovWD9nH+siid/JPwEUsjyVHO/DWbn4cW0Ry9Q0zQeO7UegHEew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GUH7hEdbcCkO9sDeuQUJywSt9df2IgZBiathivs8GYw=; b=kgNxKcoqsF0XdHZiuNvkyCtG/Lfwfl8CjqCCYFhcnR6Cln60MIO/5NRNR3dX83qhPcq7Ord8VuRkaRA4HNSdcGCmJj39Jqw8FlHB3OkEpHT7Uid3X23lcyIsj+hRDNS+dQ534E9RVihhVukNLToii7KV/cw9stRFkNqA0xwFGg0gb0ClfTOUDeDG9g2MmQH3CSJjD8/bBkshCrcqbm0BgAO8tS9O+Zf9V9uLheLEKH8Xt78jFCD/dGNoZSWH6xHP16ogwsV1lgTG6zf1eJ259UElG7mEfuvR9UQBgVExazboFB9ZG8HwHUhdTnVD0NxxXmVkTefrFs+5vGCcpPwUEg== Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:38::14) by YQXPR0101MB2007.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:1a::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.21; Thu, 30 Jul 2020 07:03:34 +0000 Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::60f3:4ca2:8a4a:1e91]) by QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::60f3:4ca2:8a4a:1e91%7]) with mapi id 15.20.3216.033; Thu, 30 Jul 2020 07:03:27 +0000 From: Rick Macklem To: Ian Lepore , Brooks Davis , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-stable@freebsd.org" , "svn-src-stable-12@freebsd.org" Subject: Re: svn commit: r363625 - stable/12/usr.sbin/mountd Thread-Topic: svn commit: r363625 - stable/12/usr.sbin/mountd Thread-Index: AQHWZGw7l3AA2GANGkmYHY+WWlMRT6kfVzKsgAAiMQCAADpv4g== Date: Thu, 30 Jul 2020 07:03:27 +0000 Message-ID: References: <202007272318.06RNIFjV005206@repo.freebsd.org> , <4d5b871fad9412661c3914a64c8ca0b7a01d1dc6.camel@freebsd.org> In-Reply-To: <4d5b871fad9412661c3914a64c8ca0b7a01d1dc6.camel@freebsd.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aa208615-02fc-4811-bee0-08d83456a88a x-ms-traffictypediagnostic: YQXPR0101MB2007: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: G2W9MSScjiq2bp31BOUjbgiwqQb5SNEgmCyYOJnR9QlUSetssG2t6pBwkPUepRIYJOKMHHekLQIbNxrsGRoohh4c9djUADXZ0T+yMu/SS2nagEISY0Zme/ysuVyw0gi5Tju3KuJB8i/8uw20cAG0g/792Bx8rC0/0uRrhED4z7zP3aGyJg1sYZ9/5/OmlS7qfjULms2mj7d5rMpvh5qe77xRjz17PV3CLuudH4cI7UHyi5kdPFV05GAQpN31fvxv4aocaasfQ7w/C4hIoHuiQoZpzXs5iLFr8GJ9hqZwG2iWOWF0PIvw9FAIeSChn9sYyKMDBKWZWy+t9FFfbaJR2kitIuRrZT76KUrkRa7fm0HxYgI/Nsmu59nd7FkKeSHnuun8BF9ynicJiOxKi6fq7A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(136003)(376002)(346002)(366004)(396003)(39860400002)(66476007)(110136005)(2906002)(83380400001)(186003)(66446008)(64756008)(66556008)(5660300002)(52536014)(91956017)(76116006)(66946007)(6506007)(33656002)(86362001)(478600001)(966005)(71200400001)(316002)(786003)(55016002)(7696005)(450100002)(9686003)(8676002)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: gu97slwXZKmCjd8PL+cjXA73YghfTJinedCqumZT+9G/R55p164glMNQaSdWr8Qsj3pg9ueHqAD9pCd+TB7F5TDnS5dLFPhN1VcR7tBSMvJuGdW8Y1komJNtMcE5UOi7dFjwiyAO1w2J+gqNfYXVoKM/DwWSO449riVALU+WFE7fADE3q5Ofer+qIXcvYxNI/2xHs5DA/BL8ARxFx0xp1mUr0S3OkOwI5kAblUieTTRaucidAHkUPxarinGvJaX2Tmk02mrXf3aIesIkxa51NnKlrzBVgN4zB3b//u1rg/x9L7dHFo7HtiqzgoTx2a0gmjhwX59dWIikuT1s6iEHG469mu4eJPKAwo7/8An25rdafUtz6Bg6kioLCgnoxmhI9TYzN/GpkW1cxVi9diYYMChyP615VoQBhBf8H+A6J9o7VSmZRJ7hHDA+5e6YFIeYI4exndjUk2h2Bn3l5MwnYcrbsKehCy9/bB5F+ZNrdNp+T2Eyph3uUDZvdVeMM6S1zcR8erM7yNJvXh0D+4hrt9KsKTK7A5KJ3CDdJsoGSOBShOQKwvA7/gYV7MJcU6wF x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: aa208615-02fc-4811-bee0-08d83456a88a X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2020 07:03:27.1282 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: n23s8LIh9VDW9n5xxO34ubx6tHhy1euP4lr/yFs3nsHBjxhcpZfVRNXn5oni0ICguuZZ1py+o77MamUz+jfXJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQXPR0101MB2007 X-Rspamd-Queue-Id: 4BHLwn1FmCz3bV8 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 07:03:37 -0000 Ian Lepore wrote:=0A= >On Thu, 2020-07-30 at 01:52 +0000, Rick Macklem wrote:=0A= >> Brooks Davis wrote:=0A= >> > Author: brooks=0A= >> > Date: Mon Jul 27 23:18:14 2020=0A= >> > New Revision: 363625=0A= >> > URL: https://svnweb.freebsd.org/changeset/base/363625=0A= >> >=0A= >> > Log:=0A= >> > MFC r363439:=0A= >> >=0A= >> > Correct a type-mismatch between xdr_long and the variable "bad".=0A= >> >=0A= >> > [...]=0A= >> --> I can't see how the xdr.c code would work for a machine that is=0A= >> BIG_ENDIAN and where "long" is 64bits, but we don't have any of=0A= >> those.=0A= >>=0A= >=0A= >mips64 and powerpc64 are both big endian with 64-bit long.=0A= Oops, I didn't know that. In the past, I've run PowerPC and MIPS, but thoug= ht=0A= they both were little endian. (I recall the arches can be run either way.)= =0A= =0A= Anyhow, take a look at head/lib/libc/xdr/xdr.c and it looks to me like it= =0A= has been broken "forever" (ever since we stopped using a K&R compiler=0A= that would have always made "long" 32bits).=0A= =0A= If anyone has either of these and can set up an NFS server on one of=0A= them and then try and do an NFSv3 mount that is not allowed, it would=0A= be interesting to see the packet trace and if the MNT RPC fails, because=0A= it looks like it will put the high order 32bits on the wire and they'll=0A= always be 0?=0A= =0A= Just to clarify. The behaviour wasn't broken by this commit. I just=0A= don't see how the commit fixes anything?=0A= =0A= rick, who doesn't have these arches to test on.=0A= =0A= -- Ian=0A= =0A= =0A= =0A= From owner-svn-src-all@freebsd.org Thu Jul 30 07:11:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8174937B037; Thu, 30 Jul 2020 07:11:09 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHM5T2tZNz3c4w; Thu, 30 Jul 2020 07:11:09 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 463ACD248; Thu, 30 Jul 2020 07:11:09 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06U7B94m074227; Thu, 30 Jul 2020 07:11:09 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06U7B9tF074226; Thu, 30 Jul 2020 07:11:09 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007300711.06U7B9tF074226@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 07:11:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363688 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363688 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 07:11:09 -0000 Author: mjg Date: Thu Jul 30 07:11:08 2020 New Revision: 363688 URL: https://svnweb.freebsd.org/changeset/base/363688 Log: vfs: make sure startdir_used is always assigned to before use CID: 1431070 Modified: head/sys/kern/vfs_lookup.c Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Thu Jul 30 04:05:59 2020 (r363687) +++ head/sys/kern/vfs_lookup.c Thu Jul 30 07:11:08 2020 (r363688) @@ -289,11 +289,13 @@ namei_setup(struct nameidata *ndp, struct vnode **dpp, struct pwd *pwd; cap_rights_t rights; struct filecaps dirfd_caps; - int error, startdir_used; + int error; + bool startdir_used; cnp = &ndp->ni_cnd; td = cnp->cn_thread; + startdir_used = false; *pwdp = NULL; #ifdef CAPABILITY_MODE @@ -340,7 +342,7 @@ namei_setup(struct nameidata *ndp, struct vnode **dpp, } else { if (ndp->ni_startdir != NULL) { *dpp = ndp->ni_startdir; - startdir_used = 1; + startdir_used = true; } else if (ndp->ni_dirfd == AT_FDCWD) { *dpp = pwd->pwd_cdir; vrefact(*dpp); From owner-svn-src-all@freebsd.org Thu Jul 30 07:26:12 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 557BB37BC54; Thu, 30 Jul 2020 07:26:12 +0000 (UTC) (envelope-from whu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHMQr1Zcjz3chv; Thu, 30 Jul 2020 07:26:12 +0000 (UTC) (envelope-from whu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 195ADD524; Thu, 30 Jul 2020 07:26:12 +0000 (UTC) (envelope-from whu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06U7QBHM084773; Thu, 30 Jul 2020 07:26:11 GMT (envelope-from whu@FreeBSD.org) Received: (from whu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06U7QBvq084772; Thu, 30 Jul 2020 07:26:11 GMT (envelope-from whu@FreeBSD.org) Message-Id: <202007300726.06U7QBvq084772@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: whu set sender to whu@FreeBSD.org using -f From: Wei Hu Date: Thu, 30 Jul 2020 07:26:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363689 - head/sys/dev/hyperv/vmbus X-SVN-Group: head X-SVN-Commit-Author: whu X-SVN-Commit-Paths: head/sys/dev/hyperv/vmbus X-SVN-Commit-Revision: 363689 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 07:26:12 -0000 Author: whu Date: Thu Jul 30 07:26:11 2020 New Revision: 363689 URL: https://svnweb.freebsd.org/changeset/base/363689 Log: Prevent framebuffer mmio space from being allocated to other devices on HyperV. On Gen2 VMs, Hyper-V provides mmio space for framebuffer. This mmio address range is not useable for other PCI devices. Currently only efifb driver is using this range without reserving it from system. Therefore, vmbus driver reserves it before any other PCI device drivers start to request mmio addresses. PR: 222996 Submitted by: weh@microsoft.com Reported by: dmitry_kuleshov@ukr.net Reviewed by: decui@microsoft.com Sponsored by: Microsoft Modified: head/sys/dev/hyperv/vmbus/vmbus.c Modified: head/sys/dev/hyperv/vmbus/vmbus.c ============================================================================== --- head/sys/dev/hyperv/vmbus/vmbus.c Thu Jul 30 07:11:08 2020 (r363688) +++ head/sys/dev/hyperv/vmbus/vmbus.c Thu Jul 30 07:26:11 2020 (r363689) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -46,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -1332,12 +1334,66 @@ vmbus_get_mmio_res(device_t dev) vmbus_get_mmio_res_pass(dev, parse_32); } +/* + * On Gen2 VMs, Hyper-V provides mmio space for framebuffer. + * This mmio address range is not useable for other PCI devices. + * Currently only efifb driver is using this range without reserving + * it from system. + * Therefore, vmbus driver reserves it before any other PCI device + * drivers start to request mmio addresses. + */ +static struct resource *hv_fb_res; + static void +vmbus_fb_mmio_res(device_t dev) +{ + struct efi_fb *efifb; + caddr_t kmdp; + + struct vmbus_softc *sc = device_get_softc(dev); + int rid = 0; + + kmdp = preload_search_by_type("elf kernel"); + if (kmdp == NULL) + kmdp = preload_search_by_type("elf64 kernel"); + efifb = (struct efi_fb *)preload_search_info(kmdp, + MODINFO_METADATA | MODINFOMD_EFI_FB); + if (efifb == NULL) { + if (bootverbose) + device_printf(dev, + "fb has no preloaded kernel efi information\n"); + /* We are on Gen1 VM, just return. */ + return; + } else { + if (bootverbose) + device_printf(dev, + "efifb: fb_addr: %#jx, size: %#jx, " + "actual size needed: 0x%x\n", + efifb->fb_addr, efifb->fb_size, + (int) efifb->fb_height * efifb->fb_width); + } + + hv_fb_res = pcib_host_res_alloc(&sc->vmbus_mmio_res, dev, + SYS_RES_MEMORY, &rid, + efifb->fb_addr, efifb->fb_addr + efifb->fb_size, efifb->fb_size, + RF_ACTIVE | rman_make_alignment_flags(PAGE_SIZE)); + + if (hv_fb_res && bootverbose) + device_printf(dev, + "successfully reserved memory for framebuffer " + "starting at %#jx, size %#jx\n", + efifb->fb_addr, efifb->fb_size); +} + +static void vmbus_free_mmio_res(device_t dev) { struct vmbus_softc *sc = device_get_softc(dev); pcib_host_res_free(dev, &sc->vmbus_mmio_res); + + if (hv_fb_res) + hv_fb_res = NULL; } #endif /* NEW_PCIB */ @@ -1387,6 +1443,7 @@ vmbus_doattach(struct vmbus_softc *sc) #ifdef NEW_PCIB vmbus_get_mmio_res(sc->vmbus_dev); + vmbus_fb_mmio_res(sc->vmbus_dev); #endif sc->vmbus_flags |= VMBUS_FLAG_ATTACHED; From owner-svn-src-all@freebsd.org Thu Jul 30 11:26:49 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 93CB33A23B1; Thu, 30 Jul 2020 11:26:49 +0000 (UTC) (envelope-from se@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHSmT3RqGz4D6k; Thu, 30 Jul 2020 11:26:49 +0000 (UTC) (envelope-from se@freebsd.org) Received: from Stefans-MacBook-Pro-449.fritz.box (p200300cd5f2774009111951f0e662ec3.dip0.t-ipconnect.de [IPv6:2003:cd:5f27:7400:9111:951f:e66:2ec3]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: se/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id B9F2A1D57A; Thu, 30 Jul 2020 11:26:48 +0000 (UTC) (envelope-from se@freebsd.org) Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Kyle Evans References: <202007292321.06TNLuoq087451@repo.freebsd.org> From: =?UTF-8?Q?Stefan_E=c3=9fer?= Autocrypt: addr=se@freebsd.org; keydata= mQENBFVxiRIBCADOLNOZBsqlplHUQ3tG782FNtVT33rQli9EjNt2fhFERHIo4NxHlWBpHLnU b0s4L/eItx7au0i7Gegv01A9LUMwOnAc9EFAm4EW3Wmoa6MYrcP7xDClohg/Y69f7SNpEs3x YATBy+L6NzWZbJjZXD4vqPgZSDuMcLU7BEdJf0f+6h1BJPnGuwHpsSdnnMrZeIM8xQ8PPUVQ L0GZkVojHgNUngJH6e21qDrud0BkdiBcij0M3TCP4GQrJ/YMdurfc8mhueLpwGR2U1W8TYB7 4UY+NLw0McThOCLCxXflIeF/Y7jSB0zxzvb/H3LWkodUTkV57yX9IbUAGA5RKRg9zsUtABEB AAG0J1N0ZWZhbiBFw59lciAoRnJlZUJTRCkgPHNlQGZyZWVic2Qub3JnPokBVAQTAQoAPgIb AwULCQgHAwUVCgkICwUWAwIBAAIeAQIXgBYhBKNx6mWcC+zIK3FTE0frte9a/fVEBQJa8u+q BQkLJQETAAoJEEfrte9a/fVEOeMH/icmdK1eZQvB3U8quJo9VMaZsaTuCMbUE4NThyfsIvIm MCd+rb/yULmMYwqNfjyKB1x4ikR4x+94l+yJoz7K0Usks+eNKDmMGJM6pWWssTigaJubFdVd hVVC+C1QJi7JshYSib08uONoPmO4lv5Az0TDYGtsMzsES2sIlc62c9go5WPGYhQFRbX3Lk6y V6m8OHh+G9XGSj3oPO4UteRwu+SzTdOLunZBWG1wu34+IeZm663D+2gOppQLWpLa2qaTerqw THu377ayZ2B2LPJ5JkvkZeHYPkwDQ+b5PGn0UhfkxPnDVYki5F7qKxvQ5uq1/q9YaCX7mmOl H2yO7tgVsrW5AQ0EVXGJEgEIALEj9qCXMZVucjpcd3QxM/TlUr98m5viEd1z4tCnPUyRWcIC EVtj2h5xMH+2iB0q1+KWhq+NsWtvScmEmfHnsr7dJ1K677OdpDhKVaJk61eeRulFY1R4yb6C 1MMxK+WgYB+vvpG0UeyR0M4uBewcPvRsq4yGUHFQKtLAbMdoPTSryJA+ElnmK1vdY+rPcHgi OIMBZM7ahsPXC0C9K4e5SP9clGyIoMpbfHXdx9q+Rp3zVtlbhyk3BS/xccu/+9pk9ICXL6GR js2sNnJ0wxdU1DsAlC59a5MnSruwiZFwRnkQhr3x6wk97Lg7sLS9jjTnCN7LGlVmSmpOEMy6 uq1AWfUAEQEAAYkBPAQYAQoAJgIbDBYhBKNx6mWcC+zIK3FTE0frte9a/fVEBQJa8u+rBQkL JQEZAAoJEEfrte9a/fVEuesH/2DNxGWnHvWwMyiyhlQtafvDKwEn/wAgR8gHJFodB7emf8rA TnukH7MVttCoHtjN5lvv9RSBHjNTZls5wR/ANlwdRuPQHd8ZGxLe3S6IuUB3zDSwFltLGurO N2kOMhs5mTGyypSa+uw3rtQbUAVYf1oPbiR4FLtiM8FLyEvE95hX5fPq9Qvx9FmN79kmCIEw jDKPqDaUf/OR2fEF0LSIbXHEk4tNqCEwx5DIJ0fp5/z5UzICUAmwxyRs5O/Hre1jzPsMVyud Ml9t7UTOJGKVWwRory1PMnOFxN+iz5/d4FhYSKXF7kfMiFgol4LuWaxJRwbBrr71VGBrRy2a L1nw6Bc= Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <270c05f8-c75d-363f-c067-18c4c4773338@freebsd.org> Date: Thu, 30 Jul 2020 13:26:46 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <202007292321.06TNLuoq087451@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 11:26:49 -0000 Am 30.07.20 um 01:21 schrieb Kyle Evans: [...] > This change bumps the symbol version of regcomp to FBSD_1.6 and provides the > old escape semantics for legacy applications, just in case one has an older > application that would immediately turn into a pumpkin because of an > extraneous escape that's embedded or otherwise critical to its operation. I get an error during make buildworld with option WITH_TESTS=yes: ===> usr.bin/bmake/tests (install) ld-elf.so.1: /usr/src/amd64.amd64/tmp/legacy/usr/sbin/make: Undefined symbol "regcomp@FBSD_1.6" Regards, STefan From owner-svn-src-all@freebsd.org Thu Jul 30 11:46:29 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 660863A267F; Thu, 30 Jul 2020 11:46:29 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHTC91xWNz4FGk; Thu, 30 Jul 2020 11:46:29 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qt1-f170.google.com (mail-qt1-f170.google.com [209.85.160.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 1F6051E033; Thu, 30 Jul 2020 11:46:29 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f170.google.com with SMTP id k18so20019324qtm.10; Thu, 30 Jul 2020 04:46:29 -0700 (PDT) X-Gm-Message-State: AOAM530H/p3Jyyxwrc8ei/sWyD1xRb894Bvqq5Wp3/em16dFe9entuzg HpWV74KJGFCtqjtcRXqN6UkajBVJLYDUJOp3/aE= X-Google-Smtp-Source: ABdhPJw1sGjIhtl9EqcIPKh2jDGc/QWqSw6ooSqpnEXN7TK+JZOZ71m0I7OKKnaK9dyZERe+KOwtB71saeO6PvJ5JDM= X-Received: by 2002:aed:2822:: with SMTP id r31mr2445337qtd.310.1596109588542; Thu, 30 Jul 2020 04:46:28 -0700 (PDT) MIME-Version: 1.0 References: <202007292321.06TNLuoq087451@repo.freebsd.org> <270c05f8-c75d-363f-c067-18c4c4773338@freebsd.org> In-Reply-To: <270c05f8-c75d-363f-c067-18c4c4773338@freebsd.org> From: Kyle Evans Date: Thu, 30 Jul 2020 06:46:17 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: =?UTF-8?B?U3RlZmFuIEXDn2Vy?= Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 11:46:29 -0000 On Thu, Jul 30, 2020 at 6:26 AM Stefan E=C3=9Fer wrote: > > Am 30.07.20 um 01:21 schrieb Kyle Evans: > [...] > > This change bumps the symbol version of regcomp to FBSD_1.6 and provi= des the > > old escape semantics for legacy applications, just in case one has an= older > > application that would immediately turn into a pumpkin because of an > > extraneous escape that's embedded or otherwise critical to its operat= ion. > > I get an error during make buildworld with option WITH_TESTS=3Dyes: > > =3D=3D=3D> usr.bin/bmake/tests (install) > ld-elf.so.1: /usr/src/amd64.amd64/tmp/legacy/usr/sbin/make: Undefined > symbol "regcomp@FBSD_1.6" > > Regards, STefan Hi, Can you describe the environment in which you're running installworld, please? i.e. is it just a raw installworld directly in your shell, or something more complicated? I observed this in testing an exceptional scenario; running installworld in a buildenv. installworld injects .WAIT between lib and libexec + other subdirs, which is supposed to prevent stuff like this (new binary got installed linked against new libc before new libc). Running in a buildenv set SYSROOT and stripped out the .WAITs, leaving me with an annoyance where I had to installworld twice. Thanks, Kyle Evans From owner-svn-src-all@freebsd.org Thu Jul 30 11:48:58 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2E3713A2870; Thu, 30 Jul 2020 11:48:58 +0000 (UTC) (envelope-from gbe@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHTG20QcKz4FRb; Thu, 30 Jul 2020 11:48:58 +0000 (UTC) (envelope-from gbe@freebsd.org) Received: from localhost (p4fd3ae86.dip0.t-ipconnect.de [79.211.174.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: gbe) by smtp.freebsd.org (Postfix) with ESMTPSA id A75161E10F; Thu, 30 Jul 2020 11:48:57 +0000 (UTC) (envelope-from gbe@freebsd.org) Date: Thu, 30 Jul 2020 13:48:56 +0200 From: Gordon Bergling To: Stefan =?iso-8859-1?Q?E=DFer?= Cc: Kyle Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, david@catwhisker.org Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex Message-ID: <20200730114856.GA21708@lion.0xfce3.net> References: <202007292321.06TNLuoq087451@repo.freebsd.org> <270c05f8-c75d-363f-c067-18c4c4773338@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <270c05f8-c75d-363f-c067-18c4c4773338@freebsd.org> X-Url: X-Operating-System: FreeBSD 12.1-STABLE amd64 X-Host-Uptime: 1:42PM up 2 days, 19:34, 4 users, load averages: 0.38, 0.33, 0.31 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 11:48:58 -0000 On Thu, Jul 30, 2020 at 01:26:46PM +0200, Stefan Eßer wrote: > Am 30.07.20 um 01:21 schrieb Kyle Evans: > [...] > > This change bumps the symbol version of regcomp to FBSD_1.6 and provides the > > old escape semantics for legacy applications, just in case one has an older > > application that would immediately turn into a pumpkin because of an > > extraneous escape that's embedded or otherwise critical to its operation. > > I get an error during make buildworld with option WITH_TESTS=yes: > > ===> usr.bin/bmake/tests (install) > ld-elf.so.1: /usr/src/amd64.amd64/tmp/legacy/usr/sbin/make: Undefined > symbol "regcomp@FBSD_1.6" > > Regards, STefan I got the same error this morning and was able to solve it by doing a full buildworld without NO_CLEAN=yes. You may want to try this in case you are using NO_CLEAN=yes. --Gordon From owner-svn-src-all@freebsd.org Thu Jul 30 11:54:28 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3A9373A2E34; Thu, 30 Jul 2020 11:54:28 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHTNN0skQz4G3Q; Thu, 30 Jul 2020 11:54:28 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id F08521E285; Thu, 30 Jul 2020 11:54:27 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f181.google.com with SMTP id o22so19819698qtt.13; Thu, 30 Jul 2020 04:54:27 -0700 (PDT) X-Gm-Message-State: AOAM5310veQG9+vg13w7J01CIEqpkHBfY/EwlqjgicKQ73QHMzyAH92W 6jQAk3JCLH5ap4g9fggjn0ab9N6J0gUOR9LDGAk= X-Google-Smtp-Source: ABdhPJx9W4M3QhWQoh+aAGWskWswUee4IqP3HRemPf/KnWoy1HveDQ0NRTnseJdVVO0Vm+hQ/7m/Zg0faYoDpZBdWb0= X-Received: by 2002:ac8:7a66:: with SMTP id w6mr2583311qtt.242.1596110067577; Thu, 30 Jul 2020 04:54:27 -0700 (PDT) MIME-Version: 1.0 References: <202007292321.06TNLuoq087451@repo.freebsd.org> <270c05f8-c75d-363f-c067-18c4c4773338@freebsd.org> <20200730114856.GA21708@lion.0xfce3.net> In-Reply-To: <20200730114856.GA21708@lion.0xfce3.net> From: Kyle Evans Date: Thu, 30 Jul 2020 06:54:16 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Gordon Bergling Cc: =?UTF-8?B?U3RlZmFuIEXDn2Vy?= , src-committers , svn-src-all , svn-src-head , David Wolfskill Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 11:54:28 -0000 On Thu, Jul 30, 2020 at 6:48 AM Gordon Bergling wrote: > > On Thu, Jul 30, 2020 at 01:26:46PM +0200, Stefan E=C3=9Fer wrote: > > Am 30.07.20 um 01:21 schrieb Kyle Evans: > > [...] > > > This change bumps the symbol version of regcomp to FBSD_1.6 and pro= vides the > > > old escape semantics for legacy applications, just in case one has = an older > > > application that would immediately turn into a pumpkin because of a= n > > > extraneous escape that's embedded or otherwise critical to its oper= ation. > > > > I get an error during make buildworld with option WITH_TESTS=3Dyes: > > > > =3D=3D=3D> usr.bin/bmake/tests (install) > > ld-elf.so.1: /usr/src/amd64.amd64/tmp/legacy/usr/sbin/make: Undefined > > symbol "regcomp@FBSD_1.6" > > > > Regards, STefan > > I got the same error this morning and was able to solve it by doing a ful= l > buildworld without NO_CLEAN=3Dyes. > > You may want to try this in case you are using NO_CLEAN=3Dyes. > This is interesting; there shouldn't be any NO_CLEAN implications with this change. There were no dependency changes, libc should definitely get rebuilt because regcomp.c changed and thus, the libc in your objdir should have the symbol. The binary referenced above is one that we symlink into OBJDIR from the host system. I think it's also likely your problem was just fixed by the second installworld. The first one will manage to get libc installed, but not before you get errors from all the other stuff. Thanks, Kyle Evans From owner-svn-src-all@freebsd.org Thu Jul 30 12:02:17 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C41BE3A3DAD; Thu, 30 Jul 2020 12:02:17 +0000 (UTC) (envelope-from se@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHTYP4sH4z4H6S; Thu, 30 Jul 2020 12:02:17 +0000 (UTC) (envelope-from se@freebsd.org) Received: from Stefans-MacBook-Pro-449.fritz.box (p200300cd5f2774009111951f0e662ec3.dip0.t-ipconnect.de [IPv6:2003:cd:5f27:7400:9111:951f:e66:2ec3]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: se/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 9A6D51E09A; Thu, 30 Jul 2020 12:02:16 +0000 (UTC) (envelope-from se@freebsd.org) Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Gordon Bergling Cc: Kyle Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, david@catwhisker.org References: <202007292321.06TNLuoq087451@repo.freebsd.org> <270c05f8-c75d-363f-c067-18c4c4773338@freebsd.org> <20200730114856.GA21708@lion.0xfce3.net> From: =?UTF-8?Q?Stefan_E=c3=9fer?= Autocrypt: addr=se@freebsd.org; keydata= mQENBFVxiRIBCADOLNOZBsqlplHUQ3tG782FNtVT33rQli9EjNt2fhFERHIo4NxHlWBpHLnU b0s4L/eItx7au0i7Gegv01A9LUMwOnAc9EFAm4EW3Wmoa6MYrcP7xDClohg/Y69f7SNpEs3x YATBy+L6NzWZbJjZXD4vqPgZSDuMcLU7BEdJf0f+6h1BJPnGuwHpsSdnnMrZeIM8xQ8PPUVQ L0GZkVojHgNUngJH6e21qDrud0BkdiBcij0M3TCP4GQrJ/YMdurfc8mhueLpwGR2U1W8TYB7 4UY+NLw0McThOCLCxXflIeF/Y7jSB0zxzvb/H3LWkodUTkV57yX9IbUAGA5RKRg9zsUtABEB AAG0J1N0ZWZhbiBFw59lciAoRnJlZUJTRCkgPHNlQGZyZWVic2Qub3JnPokBVAQTAQoAPgIb AwULCQgHAwUVCgkICwUWAwIBAAIeAQIXgBYhBKNx6mWcC+zIK3FTE0frte9a/fVEBQJa8u+q BQkLJQETAAoJEEfrte9a/fVEOeMH/icmdK1eZQvB3U8quJo9VMaZsaTuCMbUE4NThyfsIvIm MCd+rb/yULmMYwqNfjyKB1x4ikR4x+94l+yJoz7K0Usks+eNKDmMGJM6pWWssTigaJubFdVd hVVC+C1QJi7JshYSib08uONoPmO4lv5Az0TDYGtsMzsES2sIlc62c9go5WPGYhQFRbX3Lk6y V6m8OHh+G9XGSj3oPO4UteRwu+SzTdOLunZBWG1wu34+IeZm663D+2gOppQLWpLa2qaTerqw THu377ayZ2B2LPJ5JkvkZeHYPkwDQ+b5PGn0UhfkxPnDVYki5F7qKxvQ5uq1/q9YaCX7mmOl H2yO7tgVsrW5AQ0EVXGJEgEIALEj9qCXMZVucjpcd3QxM/TlUr98m5viEd1z4tCnPUyRWcIC EVtj2h5xMH+2iB0q1+KWhq+NsWtvScmEmfHnsr7dJ1K677OdpDhKVaJk61eeRulFY1R4yb6C 1MMxK+WgYB+vvpG0UeyR0M4uBewcPvRsq4yGUHFQKtLAbMdoPTSryJA+ElnmK1vdY+rPcHgi OIMBZM7ahsPXC0C9K4e5SP9clGyIoMpbfHXdx9q+Rp3zVtlbhyk3BS/xccu/+9pk9ICXL6GR js2sNnJ0wxdU1DsAlC59a5MnSruwiZFwRnkQhr3x6wk97Lg7sLS9jjTnCN7LGlVmSmpOEMy6 uq1AWfUAEQEAAYkBPAQYAQoAJgIbDBYhBKNx6mWcC+zIK3FTE0frte9a/fVEBQJa8u+rBQkL JQEZAAoJEEfrte9a/fVEuesH/2DNxGWnHvWwMyiyhlQtafvDKwEn/wAgR8gHJFodB7emf8rA TnukH7MVttCoHtjN5lvv9RSBHjNTZls5wR/ANlwdRuPQHd8ZGxLe3S6IuUB3zDSwFltLGurO N2kOMhs5mTGyypSa+uw3rtQbUAVYf1oPbiR4FLtiM8FLyEvE95hX5fPq9Qvx9FmN79kmCIEw jDKPqDaUf/OR2fEF0LSIbXHEk4tNqCEwx5DIJ0fp5/z5UzICUAmwxyRs5O/Hre1jzPsMVyud Ml9t7UTOJGKVWwRory1PMnOFxN+iz5/d4FhYSKXF7kfMiFgol4LuWaxJRwbBrr71VGBrRy2a L1nw6Bc= Message-ID: <1084ccea-e91c-eefe-9628-837b6f3fa7d0@freebsd.org> Date: Thu, 30 Jul 2020 14:02:15 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20200730114856.GA21708@lion.0xfce3.net> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 12:02:17 -0000 Am 30.07.20 um 13:48 schrieb Gordon Bergling: > On Thu, Jul 30, 2020 at 01:26:46PM +0200, Stefan Eßer wrote: >> Am 30.07.20 um 01:21 schrieb Kyle Evans: >> [...] >>> This change bumps the symbol version of regcomp to FBSD_1.6 and provides the >>> old escape semantics for legacy applications, just in case one has an older >>> application that would immediately turn into a pumpkin because of an >>> extraneous escape that's embedded or otherwise critical to its operation. >> >> I get an error during make buildworld with option WITH_TESTS=yes: >> >> ===> usr.bin/bmake/tests (install) >> ld-elf.so.1: /usr/src/amd64.amd64/tmp/legacy/usr/sbin/make: Undefined >> symbol "regcomp@FBSD_1.6" >> >> Regards, STefan > > I got the same error this morning and was able to solve it by doing a full > buildworld without NO_CLEAN=yes. > > You may want to try this in case you are using NO_CLEAN=yes. Too late ... but thanks for the hint ... I have restarted make buildworld installworld on an unmodified source tree from when the error occurred and it just finished, without error this time. Maybe that it will work with WITH_TESTS too, now - I'll start another build/install cycle now and will report back. If it does not work, I'll try without NO_CLEAN (I'm building with META_MODE enabled, normally). Regards, STefan From owner-svn-src-all@freebsd.org Thu Jul 30 12:17:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3B0F53A47B5; Thu, 30 Jul 2020 12:17:56 +0000 (UTC) (envelope-from se@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHTvS0sMtz4JSY; Thu, 30 Jul 2020 12:17:56 +0000 (UTC) (envelope-from se@freebsd.org) Received: from Stefans-MacBook-Pro-449.fritz.box (p200300cd5f2774009111951f0e662ec3.dip0.t-ipconnect.de [IPv6:2003:cd:5f27:7400:9111:951f:e66:2ec3]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: se/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 31F3E1E048; Thu, 30 Jul 2020 12:17:55 +0000 (UTC) (envelope-from se@freebsd.org) Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Kyle Evans Cc: Gordon Bergling , src-committers , svn-src-all , svn-src-head , David Wolfskill References: <202007292321.06TNLuoq087451@repo.freebsd.org> <270c05f8-c75d-363f-c067-18c4c4773338@freebsd.org> <20200730114856.GA21708@lion.0xfce3.net> From: =?UTF-8?Q?Stefan_E=c3=9fer?= Autocrypt: addr=se@freebsd.org; keydata= mQENBFVxiRIBCADOLNOZBsqlplHUQ3tG782FNtVT33rQli9EjNt2fhFERHIo4NxHlWBpHLnU b0s4L/eItx7au0i7Gegv01A9LUMwOnAc9EFAm4EW3Wmoa6MYrcP7xDClohg/Y69f7SNpEs3x YATBy+L6NzWZbJjZXD4vqPgZSDuMcLU7BEdJf0f+6h1BJPnGuwHpsSdnnMrZeIM8xQ8PPUVQ L0GZkVojHgNUngJH6e21qDrud0BkdiBcij0M3TCP4GQrJ/YMdurfc8mhueLpwGR2U1W8TYB7 4UY+NLw0McThOCLCxXflIeF/Y7jSB0zxzvb/H3LWkodUTkV57yX9IbUAGA5RKRg9zsUtABEB AAG0J1N0ZWZhbiBFw59lciAoRnJlZUJTRCkgPHNlQGZyZWVic2Qub3JnPokBVAQTAQoAPgIb AwULCQgHAwUVCgkICwUWAwIBAAIeAQIXgBYhBKNx6mWcC+zIK3FTE0frte9a/fVEBQJa8u+q BQkLJQETAAoJEEfrte9a/fVEOeMH/icmdK1eZQvB3U8quJo9VMaZsaTuCMbUE4NThyfsIvIm MCd+rb/yULmMYwqNfjyKB1x4ikR4x+94l+yJoz7K0Usks+eNKDmMGJM6pWWssTigaJubFdVd hVVC+C1QJi7JshYSib08uONoPmO4lv5Az0TDYGtsMzsES2sIlc62c9go5WPGYhQFRbX3Lk6y V6m8OHh+G9XGSj3oPO4UteRwu+SzTdOLunZBWG1wu34+IeZm663D+2gOppQLWpLa2qaTerqw THu377ayZ2B2LPJ5JkvkZeHYPkwDQ+b5PGn0UhfkxPnDVYki5F7qKxvQ5uq1/q9YaCX7mmOl H2yO7tgVsrW5AQ0EVXGJEgEIALEj9qCXMZVucjpcd3QxM/TlUr98m5viEd1z4tCnPUyRWcIC EVtj2h5xMH+2iB0q1+KWhq+NsWtvScmEmfHnsr7dJ1K677OdpDhKVaJk61eeRulFY1R4yb6C 1MMxK+WgYB+vvpG0UeyR0M4uBewcPvRsq4yGUHFQKtLAbMdoPTSryJA+ElnmK1vdY+rPcHgi OIMBZM7ahsPXC0C9K4e5SP9clGyIoMpbfHXdx9q+Rp3zVtlbhyk3BS/xccu/+9pk9ICXL6GR js2sNnJ0wxdU1DsAlC59a5MnSruwiZFwRnkQhr3x6wk97Lg7sLS9jjTnCN7LGlVmSmpOEMy6 uq1AWfUAEQEAAYkBPAQYAQoAJgIbDBYhBKNx6mWcC+zIK3FTE0frte9a/fVEBQJa8u+rBQkL JQEZAAoJEEfrte9a/fVEuesH/2DNxGWnHvWwMyiyhlQtafvDKwEn/wAgR8gHJFodB7emf8rA TnukH7MVttCoHtjN5lvv9RSBHjNTZls5wR/ANlwdRuPQHd8ZGxLe3S6IuUB3zDSwFltLGurO N2kOMhs5mTGyypSa+uw3rtQbUAVYf1oPbiR4FLtiM8FLyEvE95hX5fPq9Qvx9FmN79kmCIEw jDKPqDaUf/OR2fEF0LSIbXHEk4tNqCEwx5DIJ0fp5/z5UzICUAmwxyRs5O/Hre1jzPsMVyud Ml9t7UTOJGKVWwRory1PMnOFxN+iz5/d4FhYSKXF7kfMiFgol4LuWaxJRwbBrr71VGBrRy2a L1nw6Bc= Message-ID: <0f9136da-9c0f-93eb-d51b-63d637081d49@freebsd.org> Date: Thu, 30 Jul 2020 14:17:54 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 12:17:56 -0000 Am 30.07.20 um 13:54 schrieb Kyle Evans: > On Thu, Jul 30, 2020 at 6:48 AM Gordon Bergling wrote: >> I got the same error this morning and was able to solve it by doing a full >> buildworld without NO_CLEAN=yes. >> >> You may want to try this in case you are using NO_CLEAN=yes. >> > > This is interesting; there shouldn't be any NO_CLEAN implications with > this change. There were no dependency changes, libc should definitely > get rebuilt because regcomp.c changed and thus, the libc in your > objdir should have the symbol. The binary referenced above is one that > we symlink into OBJDIR from the host system. > > I think it's also likely your problem was just fixed by the second > installworld. The first one will manage to get libc installed, but not > before you get errors from all the other stuff. This appears to be true: after once completing installworld with WITHOUT_TESTS=yes the build and installation does also succeed for subsequent runs with WITH_TESTS=yes. My guess is that "make install" in tests tries to link against the base system version of the library and the freshly built one with the correct symbol version has not been installed, yet. Regards, STefan From owner-svn-src-all@freebsd.org Thu Jul 30 12:59:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 04BD83A4F6A; Thu, 30 Jul 2020 12:59:24 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHVqH6KM8z4LcD; Thu, 30 Jul 2020 12:59:23 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BD8501149C; Thu, 30 Jul 2020 12:59:23 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UCxNF7094601; Thu, 30 Jul 2020 12:59:23 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UCxNAV094600; Thu, 30 Jul 2020 12:59:23 GMT (envelope-from avg@FreeBSD.org) Message-Id: <202007301259.06UCxNAV094600@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Thu, 30 Jul 2020 12:59:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363690 - stable/12/sys/dev/sound/pci/hda X-SVN-Group: stable-12 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: stable/12/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 363690 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 12:59:24 -0000 Author: avg Date: Thu Jul 30 12:59:23 2020 New Revision: 363690 URL: https://svnweb.freebsd.org/changeset/base/363690 Log: MFC r362294,r362647: hdac_intr_handler: keep working until global interrupt status clears It is plausible that the hardware interrupts a host only when GIS goes from zero to one. GIS is formed by OR-ing multiple hardware statuses, so it's possible that a previously cleared status gets set again while another status has not been cleared yet. Thus, there will be no new interrupt as GIS always stayed set. If we don't re-examine GIS then we can leave it set and never get another interrupt again. Without this change I frequently saw a problem where snd_hda would stop working. Setting dev.hdac.1.polling=1 would bring it back to life and afterwards I could set polling back to zero. Sometimes the problem started right after a boot, sometimes it happened after resuming from S3, frequently it would occur when sound output and input are active concurrently (such as during conferencing). I looked at HDAC_INTSTS while the sound was not working and I saw that both HDAC_INTSTS_GIS and HDAC_INTSTS_CIS were set, but there were no interrupts. Modified: stable/12/sys/dev/sound/pci/hda/hdac.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- stable/12/sys/dev/sound/pci/hda/hdac.c Thu Jul 30 07:26:11 2020 (r363689) +++ stable/12/sys/dev/sound/pci/hda/hdac.c Thu Jul 30 12:59:23 2020 (r363690) @@ -302,34 +302,36 @@ hdac_config_fetch(struct hdac_softc *sc, uint32_t *on, } } -/**************************************************************************** - * void hdac_intr_handler(void *) - * - * Interrupt handler. Processes interrupts received from the hdac. - ****************************************************************************/ static void -hdac_intr_handler(void *context) +hdac_one_intr(struct hdac_softc *sc, uint32_t intsts) { - struct hdac_softc *sc; device_t dev; - uint32_t intsts; uint8_t rirbsts; int i; - sc = (struct hdac_softc *)context; - hdac_lock(sc); - - /* Do we have anything to do? */ - intsts = HDAC_READ_4(&sc->mem, HDAC_INTSTS); - if ((intsts & HDAC_INTSTS_GIS) == 0) { - hdac_unlock(sc); - return; - } - /* Was this a controller interrupt? */ if (intsts & HDAC_INTSTS_CIS) { - rirbsts = HDAC_READ_1(&sc->mem, HDAC_RIRBSTS); + /* + * Placeholder: if we ever enable any bits in HDAC_WAKEEN, then + * we will need to check and clear HDAC_STATESTS. + * That event is used to report codec status changes such as + * a reset or a wake-up event. + */ + /* + * Placeholder: if we ever enable HDAC_CORBCTL_CMEIE, then we + * will need to check and clear HDAC_CORBSTS_CMEI in + * HDAC_CORBSTS. + * That event is used to report CORB memory errors. + */ + /* + * Placeholder: if we ever enable HDAC_RIRBCTL_RIRBOIC, then we + * will need to check and clear HDAC_RIRBSTS_RIRBOIS in + * HDAC_RIRBSTS. + * That event is used to report response FIFO overruns. + */ + /* Get as many responses that we can */ + rirbsts = HDAC_READ_1(&sc->mem, HDAC_RIRBSTS); while (rirbsts & HDAC_RIRBSTS_RINTFL) { HDAC_WRITE_1(&sc->mem, HDAC_RIRBSTS, HDAC_RIRBSTS_RINTFL); @@ -345,16 +347,45 @@ hdac_intr_handler(void *context) if ((intsts & (1 << i)) == 0) continue; HDAC_WRITE_1(&sc->mem, (i << 5) + HDAC_SDSTS, - HDAC_SDSTS_DESE | HDAC_SDSTS_FIFOE | HDAC_SDSTS_BCIS ); + HDAC_SDSTS_DESE | HDAC_SDSTS_FIFOE | HDAC_SDSTS_BCIS); if ((dev = sc->streams[i].dev) != NULL) { HDAC_STREAM_INTR(dev, sc->streams[i].dir, sc->streams[i].stream); } } } +} - HDAC_WRITE_4(&sc->mem, HDAC_INTSTS, intsts); - hdac_unlock(sc); +/**************************************************************************** + * void hdac_intr_handler(void *) + * + * Interrupt handler. Processes interrupts received from the hdac. + ****************************************************************************/ +static void +hdac_intr_handler(void *context) +{ + struct hdac_softc *sc; + uint32_t intsts; + + sc = (struct hdac_softc *)context; + + /* + * Loop until HDAC_INTSTS_GIS gets clear. + * It is plausible that hardware interrupts a host only when GIS goes + * from zero to one. GIS is formed by OR-ing multiple hardware + * statuses, so it's possible that a previously cleared status gets set + * again while another status has not been cleared yet. Thus, there + * will be no new interrupt as GIS always stayed set. If we don't + * re-examine GIS then we can leave it set and never get an interrupt + * again. + */ + intsts = HDAC_READ_4(&sc->mem, HDAC_INTSTS); + while ((intsts & HDAC_INTSTS_GIS) != 0) { + hdac_lock(sc); + hdac_one_intr(sc, intsts); + hdac_unlock(sc); + intsts = HDAC_READ_4(&sc->mem, HDAC_INTSTS); + } } static void @@ -1508,6 +1539,24 @@ hdac_attach2(void *arg) device_printf(sc->dev, "Starting RIRB Engine...\n"); ); hdac_rirb_start(sc); + + /* + * Clear HDAC_WAKEEN as at present we have no use for SDI wake + * (status change) interrupts. The documentation says that we + * should not make any assumptions about the state of this register + * and set it explicitly. + * NB: this needs to be done before the interrupt is enabled as + * the handler does not expect this interrupt source. + */ + HDAC_WRITE_2(&sc->mem, HDAC_WAKEEN, 0); + + /* + * Read and clear post-reset SDI wake status. + * Each set bit corresponds to a codec that came out of reset. + */ + statests = HDAC_READ_2(&sc->mem, HDAC_STATESTS); + HDAC_WRITE_2(&sc->mem, HDAC_STATESTS, statests); + HDA_BOOTHVERBOSE( device_printf(sc->dev, "Enabling controller interrupt...\n"); @@ -1523,7 +1572,6 @@ hdac_attach2(void *arg) HDA_BOOTHVERBOSE( device_printf(sc->dev, "Scanning HDA codecs ...\n"); ); - statests = HDAC_READ_2(&sc->mem, HDAC_STATESTS); hdac_unlock(sc); for (i = 0; i < HDAC_CODEC_MAX; i++) { if (HDAC_STATESTS_SDIWAKE(statests, i)) { @@ -1637,6 +1685,19 @@ hdac_resume(device_t dev) device_printf(dev, "Starting RIRB Engine...\n"); ); hdac_rirb_start(sc); + + /* + * Clear HDAC_WAKEEN as at present we have no use for SDI wake + * (status change) events. The documentation says that we should + * not make any assumptions about the state of this register and + * set it explicitly. + * Also, clear HDAC_STATESTS. + * NB: this needs to be done before the interrupt is enabled as + * the handler does not expect this interrupt source. + */ + HDAC_WRITE_2(&sc->mem, HDAC_WAKEEN, 0); + HDAC_WRITE_2(&sc->mem, HDAC_STATESTS, HDAC_STATESTS_SDIWAKE_MASK); + HDA_BOOTHVERBOSE( device_printf(dev, "Enabling controller interrupt...\n"); ); From owner-svn-src-all@freebsd.org Thu Jul 30 13:17:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9246E3A547F; Thu, 30 Jul 2020 13:17:02 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHWCf3MFnz4MHH; Thu, 30 Jul 2020 13:17:02 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5683F11564; Thu, 30 Jul 2020 13:17:02 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UDH2kU006815; Thu, 30 Jul 2020 13:17:02 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UDH2Bg006814; Thu, 30 Jul 2020 13:17:02 GMT (envelope-from avg@FreeBSD.org) Message-Id: <202007301317.06UDH2Bg006814@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Thu, 30 Jul 2020 13:17:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363691 - stable/12/sys/dev/gpio X-SVN-Group: stable-12 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: stable/12/sys/dev/gpio X-SVN-Commit-Revision: 363691 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 13:17:02 -0000 Author: avg Date: Thu Jul 30 13:17:01 2020 New Revision: 363691 URL: https://svnweb.freebsd.org/changeset/base/363691 Log: MFC r362492: gpiobus_release_pin: remove incorrect prefix from error messages Modified: stable/12/sys/dev/gpio/gpiobus.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/gpio/gpiobus.c ============================================================================== --- stable/12/sys/dev/gpio/gpiobus.c Thu Jul 30 12:59:23 2020 (r363690) +++ stable/12/sys/dev/gpio/gpiobus.c Thu Jul 30 13:17:01 2020 (r363691) @@ -421,13 +421,13 @@ gpiobus_release_pin(device_t bus, uint32_t pin) /* Consistency check. */ if (pin >= sc->sc_npins) { device_printf(bus, - "gpiobus_acquire_pin: invalid pin %d, max=%d\n", + "invalid pin %d, max=%d\n", pin, sc->sc_npins - 1); return (-1); } if (!sc->sc_pins[pin].mapped) { - device_printf(bus, "gpiobus_acquire_pin: pin %d is not mapped\n", pin); + device_printf(bus, "pin %d is not mapped\n", pin); return (-1); } sc->sc_pins[pin].mapped = 0; From owner-svn-src-all@freebsd.org Thu Jul 30 13:33:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 937D73A5D6D; Thu, 30 Jul 2020 13:33:46 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHWZy325zz4NJ7; Thu, 30 Jul 2020 13:33:46 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4BAB811B9D; Thu, 30 Jul 2020 13:33:46 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UDXka6018687; Thu, 30 Jul 2020 13:33:46 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UDXk8L018686; Thu, 30 Jul 2020 13:33:46 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202007301333.06UDXk8L018686@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Thu, 30 Jul 2020 13:33:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363692 - head/usr.bin/diff/tests X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/usr.bin/diff/tests X-SVN-Commit-Revision: 363692 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 13:33:46 -0000 Author: kevans Date: Thu Jul 30 13:33:45 2020 New Revision: 363692 URL: https://svnweb.freebsd.org/changeset/base/363692 Log: diff: fix side_by_side after r363679 It's currently unclear to me how this could have worked previously; \n here is not a literal newline but actual '\' 'n', and was getting passed to the underlying regex engine as such. regex(3) does not translate this to a newline, and this became an error because we don't really allow escaping of arbitrary ordinary characters anymore. Run the pattern strings through printf to make sure we're dealing with real newlines before passing them through to atf_check, which ultimately feeds them directly to regcomp(3). This fix is different than that will be needed for sed, in that this is the proper way to inject newlines into search strings as long as regex(3) won't combine \ + n as folks might expect. Reported by: Jenkins via lwhsu MFC after: 1 week Modified: head/usr.bin/diff/tests/diff_test.sh Modified: head/usr.bin/diff/tests/diff_test.sh ============================================================================== --- head/usr.bin/diff/tests/diff_test.sh Thu Jul 30 13:17:01 2020 (r363691) +++ head/usr.bin/diff/tests/diff_test.sh Thu Jul 30 13:33:45 2020 (r363692) @@ -108,8 +108,8 @@ side_by_side_body() atf_check -o save:A printf "A\nB\nC\n" atf_check -o save:B printf "D\nB\nE\n" - exp_output="A[[:space:]]+|[[:space:]]+D\nB[[:space:]]+B\nC[[:space:]]+|[[:space:]]+E" - exp_output_suppressed="A[[:space:]]+|[[:space:]]+D\nC[[:space:]]+|[[:space:]]+E" + exp_output=$(printf "A[[:space:]]+|[[:space:]]+D\nB[[:space:]]+B\nC[[:space:]]+|[[:space:]]+E") + exp_output_suppressed=$(printf "A[[:space:]]+|[[:space:]]+D\nC[[:space:]]+|[[:space:]]+E") atf_check -o match:"$exp_output" -s exit:1 \ diff --side-by-side A B From owner-svn-src-all@freebsd.org Thu Jul 30 13:36:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F28243A5CEB; Thu, 30 Jul 2020 13:36:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHWf06BLgz4NDZ; Thu, 30 Jul 2020 13:36:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B7C61118B9; Thu, 30 Jul 2020 13:36:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UDaOIP018856; Thu, 30 Jul 2020 13:36:24 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UDaOva018855; Thu, 30 Jul 2020 13:36:24 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202007301336.06UDaOva018855@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Thu, 30 Jul 2020 13:36:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363693 - head/usr.bin/sed/tests X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/usr.bin/sed/tests X-SVN-Commit-Revision: 363693 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 13:36:25 -0000 Author: kevans Date: Thu Jul 30 13:36:24 2020 New Revision: 363693 URL: https://svnweb.freebsd.org/changeset/base/363693 Log: sed: fix hex_subst test after after r363679 r363679 is in-fact the future change referenced by the comment, helpfully left and forgotten by kevans. Instead of just silently not matching, we should now be erroring out with vigor. Modified: head/usr.bin/sed/tests/sed2_test.sh Modified: head/usr.bin/sed/tests/sed2_test.sh ============================================================================== --- head/usr.bin/sed/tests/sed2_test.sh Thu Jul 30 13:33:45 2020 (r363692) +++ head/usr.bin/sed/tests/sed2_test.sh Thu Jul 30 13:36:24 2020 (r363693) @@ -109,11 +109,9 @@ hex_subst_body() # Single digit \x should work as well. atf_check -o "inline:xn" sed 's/\xd/x/' c - # Invalid digit should cause us to ignore the sequence. This test - # invokes UB, escapes of an ordinary character. A future change will - # make regex(3) on longer tolerate this and we'll need to adjust what - # we're doing, but for now this will suffice. - atf_check -o "inline:" sed 's/\xx//' d + # This should get passed through to the underlying regex engine as + # \xx, which is an invalid escape of an ordinary character. + atf_check -s exit:1 -e not-empty sed 's/\xx//' d } atf_test_case commands_on_stdin From owner-svn-src-all@freebsd.org Thu Jul 30 13:55:06 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1C9593A61AA; Thu, 30 Jul 2020 13:55:06 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHX3Y6Vtvz4PCv; Thu, 30 Jul 2020 13:55:05 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C279611EAD; Thu, 30 Jul 2020 13:55:05 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UDt5TH031160; Thu, 30 Jul 2020 13:55:05 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UDt50o031158; Thu, 30 Jul 2020 13:55:05 GMT (envelope-from avg@FreeBSD.org) Message-Id: <202007301355.06UDt50o031158@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Thu, 30 Jul 2020 13:55:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363694 - in stable/12/sys: dev/ena modules/ena X-SVN-Group: stable-12 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: in stable/12/sys: dev/ena modules/ena X-SVN-Commit-Revision: 363694 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 13:55:06 -0000 Author: avg Date: Thu Jul 30 13:55:05 2020 New Revision: 363694 URL: https://svnweb.freebsd.org/changeset/base/363694 Log: MFC r362530: teach ena driver about RSS kernel option Networking is broken if the driver configures its (virtual) hardware to use a hash algorithm (or a key) different from the one that the network stack (software RSS) uses. This can be seen with connections initiated from the host. The PCB will be placed into the hash table based on the hash value calculated by the software. The hardware-calculated hash value in reponse packets will be different, so the PCB won't be found. Tested with a kernel compiled with 'options RSS' on an instance with ena driver. Modified: stable/12/sys/dev/ena/ena.c stable/12/sys/modules/ena/Makefile Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/ena/ena.c ============================================================================== --- stable/12/sys/dev/ena/ena.c Thu Jul 30 13:36:24 2020 (r363693) +++ stable/12/sys/dev/ena/ena.c Thu Jul 30 13:55:05 2020 (r363694) @@ -30,6 +30,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_rss.h" + #include #include #include @@ -62,6 +64,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#ifdef RSS +#include +#endif #include #include @@ -1424,6 +1429,19 @@ ena_rx_hash_mbuf(struct ena_ring *rx_ring, struct ena_ if (likely(adapter->rss_support)) { mbuf->m_pkthdr.flowid = ena_rx_ctx->hash; +#ifdef RSS + /* + * Hardware and software RSS are in agreement only when both are + * configured to Toeplitz algorithm. This driver configures + * that algorithm only when software RSS is enabled and uses it. + */ + if (adapter->ena_dev->rss.hash_func != ENA_ADMIN_TOEPLITZ && + ena_rx_ctx->l3_proto != ENA_ETH_IO_L3_PROTO_UNKNOWN) { + M_HASHTYPE_SET(mbuf, M_HASHTYPE_OPAQUE_HASH); + return; + } +#endif + if (ena_rx_ctx->frag && (ena_rx_ctx->l3_proto != ENA_ETH_IO_L3_PROTO_UNKNOWN)) { M_HASHTYPE_SET(mbuf, M_HASHTYPE_OPAQUE_HASH); @@ -3106,6 +3124,16 @@ ena_rss_init_default(struct ena_adapter *adapter) } } +#ifdef RSS + uint8_t rss_algo = rss_gethashalgo(); + if (rss_algo == RSS_HASH_TOEPLITZ) { + uint8_t hash_key[RSS_KEYSIZE]; + + rss_getkey(hash_key); + rc = ena_com_fill_hash_function(ena_dev, ENA_ADMIN_TOEPLITZ, + hash_key, RSS_KEYSIZE, 0xFFFFFFFF); + } else +#endif rc = ena_com_fill_hash_function(ena_dev, ENA_ADMIN_CRC32, NULL, ENA_HASH_KEY_SIZE, 0xFFFFFFFF); if (unlikely((rc != 0) && (rc != EOPNOTSUPP))) { Modified: stable/12/sys/modules/ena/Makefile ============================================================================== --- stable/12/sys/modules/ena/Makefile Thu Jul 30 13:36:24 2020 (r363693) +++ stable/12/sys/modules/ena/Makefile Thu Jul 30 13:55:05 2020 (r363694) @@ -36,6 +36,7 @@ KMOD = if_ena SRCS = ena.c ena_com.c ena_eth_com.c ena_sysctl.c SRCS += device_if.h bus_if.h pci_if.h +SRCS += opt_rss.h CFLAGS += -I${SRCTOP}/sys/contrib .include From owner-svn-src-all@freebsd.org Thu Jul 30 13:56:46 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 517DD3A6538; Thu, 30 Jul 2020 13:56:46 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHX5V1Swqz4PXq; Thu, 30 Jul 2020 13:56:46 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1600E11EAE; Thu, 30 Jul 2020 13:56:46 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UDujEN031300; Thu, 30 Jul 2020 13:56:45 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UDujjh031299; Thu, 30 Jul 2020 13:56:45 GMT (envelope-from avg@FreeBSD.org) Message-Id: <202007301356.06UDujjh031299@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Thu, 30 Jul 2020 13:56:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363695 - stable/12/sys/modules/dtb/allwinner X-SVN-Group: stable-12 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: stable/12/sys/modules/dtb/allwinner X-SVN-Commit-Revision: 363695 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 13:56:46 -0000 Author: avg Date: Thu Jul 30 13:56:45 2020 New Revision: 363695 URL: https://svnweb.freebsd.org/changeset/base/363695 Log: MFC r363232: build DTS for Orange Pi PC Plus as well Modified: stable/12/sys/modules/dtb/allwinner/Makefile Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/modules/dtb/allwinner/Makefile ============================================================================== --- stable/12/sys/modules/dtb/allwinner/Makefile Thu Jul 30 13:55:05 2020 (r363694) +++ stable/12/sys/modules/dtb/allwinner/Makefile Thu Jul 30 13:56:45 2020 (r363695) @@ -21,6 +21,7 @@ DTS= \ sun8i-h3-nanopi-neo.dts \ sun8i-h3-orangepi-one.dts \ sun8i-h3-orangepi-pc.dts \ + sun8i-h3-orangepi-pc-plus.dts \ sun8i-h3-orangepi-plus2e.dts DTSO= sun8i-a83t-sid.dtso \ From owner-svn-src-all@freebsd.org Thu Jul 30 14:01:55 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 060503A6741; Thu, 30 Jul 2020 14:01:55 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHXCQ6QbJz4Q0h; Thu, 30 Jul 2020 14:01:54 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BFD7F120AD; Thu, 30 Jul 2020 14:01:54 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UE1sE2034018; Thu, 30 Jul 2020 14:01:54 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UE1sXj034017; Thu, 30 Jul 2020 14:01:54 GMT (envelope-from avg@FreeBSD.org) Message-Id: <202007301401.06UE1sXj034017@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Thu, 30 Jul 2020 14:01:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363696 - stable/12/sys/dev/gpio X-SVN-Group: stable-12 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: stable/12/sys/dev/gpio X-SVN-Commit-Revision: 363696 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 14:01:55 -0000 Author: avg Date: Thu Jul 30 14:01:54 2020 New Revision: 363696 URL: https://svnweb.freebsd.org/changeset/base/363696 Log: MFC r363382: gpioiic: never drive lines active high Few drivers support GPIO_PIN_OPENDRAIN. Modified: stable/12/sys/dev/gpio/gpioiic.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/gpio/gpioiic.c ============================================================================== --- stable/12/sys/dev/gpio/gpioiic.c Thu Jul 30 13:56:45 2020 (r363695) +++ stable/12/sys/dev/gpio/gpioiic.c Thu Jul 30 14:01:54 2020 (r363696) @@ -191,16 +191,14 @@ static void gpioiic_setsda(device_t dev, int val) { struct gpioiic_softc *sc = device_get_softc(dev); - int err; - /* - * Some controllers cannot set an output value while a pin is in input - * mode; in that case we set the pin again after changing mode. - */ - err = gpio_pin_set_active(sc->sdapin, val); - gpio_pin_setflags(sc->sdapin, GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN); - if (err != 0) - gpio_pin_set_active(sc->sdapin, val); + if (val) { + gpio_pin_setflags(sc->sdapin, GPIO_PIN_INPUT); + } else { + gpio_pin_setflags(sc->sdapin, + GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN); + gpio_pin_set_active(sc->sdapin, 0); + } } static void @@ -208,8 +206,13 @@ gpioiic_setscl(device_t dev, int val) { struct gpioiic_softc *sc = device_get_softc(dev); - gpio_pin_setflags(sc->sclpin, GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN); - gpio_pin_set_active(sc->sclpin, val); + if (val) { + gpio_pin_setflags(sc->sclpin, GPIO_PIN_INPUT); + } else { + gpio_pin_setflags(sc->sclpin, + GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN); + gpio_pin_set_active(sc->sclpin, 0); + } } static int From owner-svn-src-all@freebsd.org Thu Jul 30 14:05:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 569843A6871; Thu, 30 Jul 2020 14:05:25 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHXHT1dynz4Q8T; Thu, 30 Jul 2020 14:05:25 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 01873121B7; Thu, 30 Jul 2020 14:05:25 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UE5Oij037294; Thu, 30 Jul 2020 14:05:24 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UE5Ovs037292; Thu, 30 Jul 2020 14:05:24 GMT (envelope-from avg@FreeBSD.org) Message-Id: <202007301405.06UE5Ovs037292@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Thu, 30 Jul 2020 14:05:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363697 - in stable/12/sys/cddl/dev: dtrace/arm fbt/arm X-SVN-Group: stable-12 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: in stable/12/sys/cddl/dev: dtrace/arm fbt/arm X-SVN-Commit-Revision: 363697 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 14:05:25 -0000 Author: avg Date: Thu Jul 30 14:05:24 2020 New Revision: 363697 URL: https://svnweb.freebsd.org/changeset/base/363697 Log: MFC r363383: dtrace/fbt: fix return probe arguments on arm arg0 should be an offset of the return point within the function, arg1 should be the return value. Previously the return probe had arguments as if for the entry probe. Tested on armv7. andrew noted that the same problem seems to be present on arm64, mips, and riscv. I am not sure if I will get around to fixing those. So, platform users or anyone looking to make a contribution please be aware of this opportunity. Modified: stable/12/sys/cddl/dev/dtrace/arm/dtrace_subr.c stable/12/sys/cddl/dev/fbt/arm/fbt_isa.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/cddl/dev/dtrace/arm/dtrace_subr.c ============================================================================== --- stable/12/sys/cddl/dev/dtrace/arm/dtrace_subr.c Thu Jul 30 14:01:54 2020 (r363696) +++ stable/12/sys/cddl/dev/dtrace/arm/dtrace_subr.c Thu Jul 30 14:05:24 2020 (r363697) @@ -248,7 +248,7 @@ dtrace_invop_start(struct trapframe *frame) register_t *r0, *sp; int data, invop, reg, update_sp; - invop = dtrace_invop(frame->tf_pc, frame, frame->tf_pc); + invop = dtrace_invop(frame->tf_pc, frame, frame->tf_r0); switch (invop & DTRACE_INVOP_MASK) { case DTRACE_INVOP_PUSHM: sp = (register_t *)frame->tf_svc_sp; Modified: stable/12/sys/cddl/dev/fbt/arm/fbt_isa.c ============================================================================== --- stable/12/sys/cddl/dev/fbt/arm/fbt_isa.c Thu Jul 30 14:01:54 2020 (r363696) +++ stable/12/sys/cddl/dev/fbt/arm/fbt_isa.c Thu Jul 30 14:05:24 2020 (r363697) @@ -56,9 +56,12 @@ fbt_invop(uintptr_t addr, struct trapframe *frame, uin register_t fifthparam; for (; fbt != NULL; fbt = fbt->fbtp_hashnext) { - if ((uintptr_t)fbt->fbtp_patchpoint == addr) { - cpu->cpu_dtrace_caller = addr; + if ((uintptr_t)fbt->fbtp_patchpoint != addr) + continue; + cpu->cpu_dtrace_caller = addr; + + if (fbt->fbtp_roffset == 0) { /* Get 5th parameter from stack */ DTRACE_CPUFLAG_SET(CPU_DTRACE_NOFAULT); fifthparam = *(register_t *)frame->tf_svc_sp; @@ -67,11 +70,13 @@ fbt_invop(uintptr_t addr, struct trapframe *frame, uin dtrace_probe(fbt->fbtp_id, frame->tf_r0, frame->tf_r1, frame->tf_r2, frame->tf_r3, fifthparam); - - cpu->cpu_dtrace_caller = 0; - - return (fbt->fbtp_rval | (fbt->fbtp_savedval << DTRACE_INVOP_SHIFT)); + } else { + dtrace_probe(fbt->fbtp_id, fbt->fbtp_roffset, rval, + 0, 0, 0); } + + cpu->cpu_dtrace_caller = 0; + return (fbt->fbtp_rval | (fbt->fbtp_savedval << DTRACE_INVOP_SHIFT)); } return (0); @@ -178,6 +183,7 @@ again: fbt->fbtp_rval = DTRACE_INVOP_B; else fbt->fbtp_rval = DTRACE_INVOP_POPM; + fbt->fbtp_roffset = (uintptr_t)instr - (uintptr_t)symval->value; fbt->fbtp_savedval = *instr; fbt->fbtp_patchval = FBT_BREAKPOINT; fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)]; From owner-svn-src-all@freebsd.org Thu Jul 30 14:41:42 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2473D3A768D; Thu, 30 Jul 2020 14:41:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHY5L0Bq9z4S13; Thu, 30 Jul 2020 14:41:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DF2061282D; Thu, 30 Jul 2020 14:41:41 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UEffsu060943; Thu, 30 Jul 2020 14:41:41 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UEffeA060942; Thu, 30 Jul 2020 14:41:41 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202007301441.06UEffeA060942@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 30 Jul 2020 14:41:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363698 - stable/12/sbin/md5 X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/sbin/md5 X-SVN-Commit-Revision: 363698 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 14:41:42 -0000 Author: emaste Date: Thu Jul 30 14:41:41 2020 New Revision: 363698 URL: https://svnweb.freebsd.org/changeset/base/363698 Log: MFC r363457: md5: return non-zero if built-in tests (-x) fail Modified: stable/12/sbin/md5/md5.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sbin/md5/md5.c ============================================================================== --- stable/12/sbin/md5/md5.c Thu Jul 30 14:05:24 2020 (r363697) +++ stable/12/sbin/md5/md5.c Thu Jul 30 14:41:41 2020 (r363698) @@ -498,10 +498,12 @@ MDTestSuite(const Algorithm_t *alg) for (i = 0; i < MDTESTCOUNT; i++) { (*alg->Data)(MDTestInput[i], strlen(MDTestInput[i]), buffer); printf("%s (\"%s\") = %s", alg->name, MDTestInput[i], buffer); - if (strcmp(buffer, (*alg->TestOutput)[i]) == 0) + if (strcmp(buffer, (*alg->TestOutput)[i]) == 0) { printf(" - verified correct\n"); - else + } else { printf(" - INCORRECT RESULT!\n"); + failed++; + } } } From owner-svn-src-all@freebsd.org Thu Jul 30 14:42:51 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 23B903A77D3; Thu, 30 Jul 2020 14:42:51 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHY6g05Bjz4SJY; Thu, 30 Jul 2020 14:42:51 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D9E26127ED; Thu, 30 Jul 2020 14:42:50 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UEgo7G061781; Thu, 30 Jul 2020 14:42:50 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UEgogV061780; Thu, 30 Jul 2020 14:42:50 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202007301442.06UEgogV061780@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 30 Jul 2020 14:42:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363699 - stable/12/usr.bin/fortune X-SVN-Group: stable-12 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/12/usr.bin/fortune X-SVN-Commit-Revision: 363699 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 14:42:51 -0000 Author: emaste Date: Thu Jul 30 14:42:50 2020 New Revision: 363699 URL: https://svnweb.freebsd.org/changeset/base/363699 Log: MFC r361596: fortune: remove warning about potentially offensive fortunes They were removed long ago. PR: 246736 Submitted by: Ruby Lazuli Lord Modified: stable/12/usr.bin/fortune/README Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.bin/fortune/README ============================================================================== --- stable/12/usr.bin/fortune/README Thu Jul 30 14:41:41 2020 (r363698) +++ stable/12/usr.bin/fortune/README Thu Jul 30 14:42:50 2020 (r363699) @@ -1,13 +1,6 @@ # @(#)README 8.1 (Berkeley) 5/31/93 # $FreeBSD$ -The potentially offensive fortunes are installed by default on FreeBSD -systems. If you're absolutely, *positively*, without-a-shadow-of-a-doubt -sure that your user community goes berzerk/sues your pants off/drops dead -upon reading one of them, edit the Makefile in the subdirectory datfiles, -and do "make all install". - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Some years ago, my neighbor Avery said to me: "There has not been an adequate jokebook published since "Joe_Miller", which came out in 1739 and which, incidentally, was the most miserable no-good ... jokebook in the From owner-svn-src-all@freebsd.org Thu Jul 30 14:45:07 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DACE53A76B1; Thu, 30 Jul 2020 14:45:07 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHY9H5mb6z4Scc; Thu, 30 Jul 2020 14:45:07 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AA21E12842; Thu, 30 Jul 2020 14:45:07 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UEj7s1062028; Thu, 30 Jul 2020 14:45:07 GMT (envelope-from mmel@FreeBSD.org) Received: (from mmel@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UEj5uj062013; Thu, 30 Jul 2020 14:45:05 GMT (envelope-from mmel@FreeBSD.org) Message-Id: <202007301445.06UEj5uj062013@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mmel set sender to mmel@FreeBSD.org using -f From: Michal Meloun Date: Thu, 30 Jul 2020 14:45:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363700 - in head/sys: arm/ti arm/ti/am335x arm/ti/clk arm/ti/cpsw arm/ti/omap4 arm/ti/usb dev/uart modules X-SVN-Group: head X-SVN-Commit-Author: mmel X-SVN-Commit-Paths: in head/sys: arm/ti arm/ti/am335x arm/ti/clk arm/ti/cpsw arm/ti/omap4 arm/ti/usb dev/uart modules X-SVN-Commit-Revision: 363700 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 14:45:07 -0000 Author: mmel Date: Thu Jul 30 14:45:05 2020 New Revision: 363700 URL: https://svnweb.freebsd.org/changeset/base/363700 Log: Move Ti AM335x to dev/extres/clk framework. Re-implement clocks for these SoC by using now standard extres/clk framework. This is necessary for future expansion of these. The new implementation is (due to the size of the patch) only the initial (minimum) version. It will be updated/expanded with a subsequent set of particular patches. This patch is also not tested on OMAP4 based boards (BeagleBone), so all possible issues should be (and will be) fixed by ASAP once identified. Submited by: Oskar Holmlund (oskar.holmlund@ohdata.se) Differential Revision: https://reviews.freebsd.org/D25118 Added: head/sys/arm/ti/am335x/am3359_cppi41.c (contents, props changed) head/sys/arm/ti/am335x/am335x_usb_phy.c (contents, props changed) head/sys/arm/ti/clk/ head/sys/arm/ti/clk/clock_common.c (contents, props changed) head/sys/arm/ti/clk/clock_common.h (contents, props changed) head/sys/arm/ti/clk/ti_clk_clkctrl.c (contents, props changed) head/sys/arm/ti/clk/ti_clk_clkctrl.h (contents, props changed) head/sys/arm/ti/clk/ti_clk_dpll.c (contents, props changed) head/sys/arm/ti/clk/ti_clk_dpll.h (contents, props changed) head/sys/arm/ti/clk/ti_clkctrl.c (contents, props changed) head/sys/arm/ti/clk/ti_divider_clock.c (contents, props changed) head/sys/arm/ti/clk/ti_dpll_clock.c (contents, props changed) head/sys/arm/ti/clk/ti_gate_clock.c (contents, props changed) head/sys/arm/ti/clk/ti_mux_clock.c (contents, props changed) head/sys/arm/ti/ti_omap4_cm.c (contents, props changed) head/sys/arm/ti/ti_omap4_cm.h (contents, props changed) head/sys/arm/ti/ti_prm.c (contents, props changed) head/sys/arm/ti/ti_prm.h (contents, props changed) head/sys/arm/ti/ti_scm_syscon.c (contents, props changed) head/sys/arm/ti/ti_sysc.h (contents, props changed) Deleted: head/sys/arm/ti/am335x/am335x_prcm.c head/sys/arm/ti/am335x/am335x_usbss.c head/sys/arm/ti/ti_hwmods.c head/sys/arm/ti/ti_hwmods.h Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c head/sys/arm/ti/am335x/am335x_dmtpps.c head/sys/arm/ti/am335x/am335x_dmtreg.h head/sys/arm/ti/am335x/am335x_gpio.c head/sys/arm/ti/am335x/am335x_lcd.c head/sys/arm/ti/am335x/am335x_musb.c head/sys/arm/ti/am335x/am335x_pwmss.c head/sys/arm/ti/am335x/am335x_rtc.c head/sys/arm/ti/am335x/am335x_scm.c head/sys/arm/ti/am335x/files.am335x head/sys/arm/ti/cpsw/if_cpsw.c head/sys/arm/ti/files.ti head/sys/arm/ti/omap4/files.omap4 head/sys/arm/ti/ti_adc.c head/sys/arm/ti/ti_edma3.c head/sys/arm/ti/ti_gpio.c head/sys/arm/ti/ti_i2c.c head/sys/arm/ti/ti_mbox.c head/sys/arm/ti/ti_pinmux.c head/sys/arm/ti/ti_prcm.c head/sys/arm/ti/ti_prcm.h head/sys/arm/ti/ti_pruss.c head/sys/arm/ti/ti_scm.c head/sys/arm/ti/ti_sdhci.c head/sys/arm/ti/ti_sdma.c head/sys/arm/ti/ti_spi.c head/sys/arm/ti/ti_sysc.c head/sys/arm/ti/ti_wdt.c head/sys/arm/ti/usb/omap_ehci.c head/sys/arm/ti/usb/omap_host.c head/sys/arm/ti/usb/omap_tll.c head/sys/dev/uart/uart_dev_ti8250.c head/sys/modules/Makefile Added: head/sys/arm/ti/am335x/am3359_cppi41.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/ti/am335x/am3359_cppi41.c Thu Jul 30 14:45:05 2020 (r363700) @@ -0,0 +1,192 @@ +/*- + * Copyright (c) 2019 Emmanuel Vadot + * + * Copyright (c) 2020 Oskar Holmlund + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ +/* Based on sys/arm/ti/ti_sysc.c */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include + +#include + +#if 0 +#define DPRINTF(dev, msg...) device_printf(dev, msg) +#else +#define DPRINTF(dev, msg...) +#endif + +struct ti_am3359_cppi41_softc { + device_t dev; + struct syscon * syscon; + struct resource * res[4]; + bus_space_tag_t bst; + bus_space_handle_t bsh; + struct mtx mtx; +}; + +static struct resource_spec ti_am3359_cppi41_res_spec[] = { + { SYS_RES_MEMORY, 0, RF_ACTIVE | RF_SHAREABLE }, + { SYS_RES_MEMORY, 1, RF_ACTIVE | RF_SHAREABLE }, + { SYS_RES_MEMORY, 2, RF_ACTIVE | RF_SHAREABLE }, + { SYS_RES_MEMORY, 3, RF_ACTIVE | RF_SHAREABLE }, + { -1, 0 } +}; + +/* Device */ +static struct ofw_compat_data compat_data[] = { + { "ti,am3359-cppi41", 1 }, + { NULL, 0 } +}; + +static int +ti_am3359_cppi41_write_4(device_t dev, bus_addr_t addr, uint32_t val) +{ + struct ti_am3359_cppi41_softc *sc; + + sc = device_get_softc(dev); + DPRINTF(sc->dev, "offset=%lx write %x\n", addr, val); + mtx_lock(&sc->mtx); + bus_space_write_4(sc->bst, sc->bsh, addr, val); + mtx_unlock(&sc->mtx); + return (0); +} + +static uint32_t +ti_am3359_cppi41_read_4(device_t dev, bus_addr_t addr) +{ + struct ti_am3359_cppi41_softc *sc; + uint32_t val; + + sc = device_get_softc(dev); + + mtx_lock(&sc->mtx); + val = bus_space_read_4(sc->bst, sc->bsh, addr); + mtx_unlock(&sc->mtx); + DPRINTF(sc->dev, "offset=%lx Read %x\n", addr, val); + return (val); +} + +/* device interface */ +static int +ti_am3359_cppi41_probe(device_t dev) +{ + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) + return (ENXIO); + + device_set_desc(dev, "TI AM3359 CPPI 41"); + return(BUS_PROBE_DEFAULT); +} + +static int +ti_am3359_cppi41_attach(device_t dev) +{ + struct ti_am3359_cppi41_softc *sc; + phandle_t node; + uint32_t reg, reset_bit, timeout=10; + uint64_t sysc_address; + device_t parent; + + sc = device_get_softc(dev); + sc->dev = dev; + + if (bus_alloc_resources(dev, ti_am3359_cppi41_res_spec, sc->res)) { + device_printf(sc->dev, "Cant allocate resources\n"); + return (ENXIO); + } + + sc->dev = dev; + sc->bst = rman_get_bustag(sc->res[0]); + sc->bsh = rman_get_bushandle(sc->res[0]); + + mtx_init(&sc->mtx, device_get_nameunit(sc->dev), NULL, MTX_DEF); + node = ofw_bus_get_node(sc->dev); + + /* variant of am335x_usbss.c */ + DPRINTF(dev, "-- RESET USB --\n"); + parent = device_get_parent(dev); + reset_bit = ti_sysc_get_soft_reset_bit(parent); + if (reset_bit == 0) { + DPRINTF(dev, "Dont have reset bit\n"); + return (0); + } + sysc_address = ti_sysc_get_sysc_address_offset_host(parent); + DPRINTF(dev, "sysc_address %x\n", sysc_address); + ti_am3359_cppi41_write_4(dev, sysc_address, reset_bit); + DELAY(100); + reg = ti_am3359_cppi41_read_4(dev, sysc_address); + if ((reg & reset_bit) && timeout--) { + DPRINTF(dev, "Reset still ongoing - wait a little bit longer\n"); + DELAY(100); + reg = ti_am3359_cppi41_read_4(dev, sysc_address); + } + if (timeout == 0) + device_printf(dev, "USB Reset timeout\n"); + + return (0); +} + + +static device_method_t ti_am3359_cppi41_methods[] = { + DEVMETHOD(device_probe, ti_am3359_cppi41_probe), + DEVMETHOD(device_attach, ti_am3359_cppi41_attach), + + DEVMETHOD_END +}; + + +DEFINE_CLASS_1(ti_am3359_cppi41, ti_am3359_cppi41_driver, + ti_am3359_cppi41_methods,sizeof(struct ti_am3359_cppi41_softc), + simplebus_driver); + +static devclass_t ti_am3359_cppi41_devclass; + +EARLY_DRIVER_MODULE(ti_am3359_cppi41, simplebus, ti_am3359_cppi41_driver, + ti_am3359_cppi41_devclass, 0, 0, BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE); +MODULE_VERSION(ti_am3359_cppi41, 1); +MODULE_DEPEND(ti_am3359_cppi41, ti_sysc, 1, 1, 1); Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_dmtimer.c Thu Jul 30 14:42:50 2020 (r363699) +++ head/sys/arm/ti/am335x/am335x_dmtimer.c Thu Jul 30 14:45:05 2020 (r363700) @@ -42,12 +42,13 @@ __FBSDID("$FreeBSD$"); #include /* For arm_set_delay */ +#include + #include #include #include -#include -#include +#include #include "am335x_dmtreg.h" @@ -58,7 +59,8 @@ struct am335x_dmtimer_softc { int tmr_irq_rid; struct resource * tmr_irq_res; void *tmr_irq_handler; - uint32_t sysclk_freq; + clk_t clk_fck; + uint64_t sysclk_freq; uint32_t tclr; /* Cached TCLR register. */ union { struct timecounter tc; @@ -251,6 +253,7 @@ am335x_dmtimer_probe(device_t dev) { char strbuf[32]; int tmr_num; + uint64_t rev_address; if (!ofw_bus_status_okay(dev)) return (ENXIO); @@ -259,13 +262,22 @@ am335x_dmtimer_probe(device_t dev) return (ENXIO); /* - * Get the hardware unit number (the N from ti,hwmods="timerN"). + * Get the hardware unit number from address of rev register. * If this isn't the hardware unit we're going to use for either the * eventtimer or the timecounter, no point in instantiating the device. */ - tmr_num = ti_hwmods_get_unit(dev, "timer"); - if (tmr_num != ET_TMR_NUM && tmr_num != TC_TMR_NUM) - return (ENXIO); + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); + switch (rev_address) { + case DMTIMER2_REV: + tmr_num = 2; + break; + case DMTIMER3_REV: + tmr_num = 3; + break; + default: + /* Not DMTIMER2 or DMTIMER3 */ + return (ENXIO); + } snprintf(strbuf, sizeof(strbuf), "AM335x DMTimer%d", tmr_num); device_set_desc_copy(dev, strbuf); @@ -277,24 +289,47 @@ static int am335x_dmtimer_attach(device_t dev) { struct am335x_dmtimer_softc *sc; - clk_ident_t timer_id; int err; + uint64_t rev_address; + clk_t sys_clkin; sc = device_get_softc(dev); sc->dev = dev; - /* Get the base clock frequency. */ - if ((err = ti_prcm_clk_get_source_freq(SYS_CLK, &sc->sysclk_freq)) != 0) - return (err); + /* expect one clock */ + err = clk_get_by_ofw_index(dev, 0, 0, &sc->clk_fck); + if (err != 0) { + device_printf(dev, "Cant find clock index 0. err: %d\n", err); + return (ENXIO); + } + err = clk_get_by_name(dev, "sys_clkin_ck@40", &sys_clkin); + if (err != 0) { + device_printf(dev, "Cant find sys_clkin_ck@40 err: %d\n", err); + return (ENXIO); + } + + /* Select M_OSC as DPLL parent */ + err = clk_set_parent_by_clk(sc->clk_fck, sys_clkin); + if (err != 0) { + device_printf(dev, "Cant set mux to CLK_M_OSC\n"); + return (ENXIO); + } + /* Enable clocks and power on the device. */ - if ((timer_id = ti_hwmods_get_clock(dev)) == INVALID_CLK_IDENT) + err = ti_sysc_clock_enable(device_get_parent(dev)); + if (err != 0) { + device_printf(dev, "Cant enable sysc clkctrl, err %d\n", err); return (ENXIO); - if ((err = ti_prcm_clk_set_source(timer_id, SYSCLK_CLK)) != 0) - return (err); - if ((err = ti_prcm_clk_enable(timer_id)) != 0) - return (err); + } + /* Get the base clock frequency. */ + err = clk_get_freq(sc->clk_fck, &sc->sysclk_freq); + if (err != 0) { + device_printf(dev, "Cant get sysclk frequency, err %d\n", err); + return (ENXIO); + } + /* Request the memory resources. */ sc->tmr_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->tmr_mem_rid, RF_ACTIVE); @@ -302,7 +337,20 @@ am335x_dmtimer_attach(device_t dev) return (ENXIO); } - sc->tmr_num = ti_hwmods_get_unit(dev, "timer"); + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); + switch (rev_address) { + case DMTIMER2_REV: + sc->tmr_num = 2; + break; + case DMTIMER3_REV: + sc->tmr_num = 3; + break; + default: + device_printf(dev, "Not timer 2 or 3! %#jx\n", + rev_address); + return (ENXIO); + } + snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", sc->tmr_num); /* @@ -334,7 +382,7 @@ static driver_t am335x_dmtimer_driver = { static devclass_t am335x_dmtimer_devclass; DRIVER_MODULE(am335x_dmtimer, simplebus, am335x_dmtimer_driver, am335x_dmtimer_devclass, 0, 0); -MODULE_DEPEND(am335x_dmtimer, am335x_prcm, 1, 1, 1); +MODULE_DEPEND(am335x_dmtimer, ti_sysc, 1, 1, 1); static void am335x_dmtimer_delay(int usec, void *arg) Modified: head/sys/arm/ti/am335x/am335x_dmtpps.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_dmtpps.c Thu Jul 30 14:42:50 2020 (r363699) +++ head/sys/arm/ti/am335x/am335x_dmtpps.c Thu Jul 30 14:45:05 2020 (r363700) @@ -43,6 +43,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_platform.h" + #include #include #include @@ -60,9 +62,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include -#include -#include +#include #include #include @@ -82,6 +84,8 @@ struct dmtpps_softc { struct cdev * pps_cdev; struct pps_state pps_state; struct mtx pps_mtx; + clk_t clk_fck; + uint64_t sysclk_freq; }; static int dmtpps_tmr_num; /* Set by probe() */ @@ -383,6 +387,7 @@ dmtpps_probe(device_t dev) { char strbuf[64]; int tmr_num; + uint64_t rev_address; if (!ofw_bus_status_okay(dev)) return (ENXIO); @@ -402,7 +407,33 @@ dmtpps_probe(device_t dev) * Figure out which hardware timer is being probed and see if it matches * the configured timer number determined earlier. */ - tmr_num = ti_hwmods_get_unit(dev, "timer"); + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); + switch (rev_address) { + case DMTIMER1_1MS_REV: + tmr_num = 1; + break; + case DMTIMER2_REV: + tmr_num = 2; + break; + case DMTIMER3_REV: + tmr_num = 3; + break; + case DMTIMER4_REV: + tmr_num = 4; + break; + case DMTIMER5_REV: + tmr_num = 5; + break; + case DMTIMER6_REV: + tmr_num = 6; + break; + case DMTIMER7_REV: + tmr_num = 7; + break; + default: + return (ENXIO); + } + if (dmtpps_tmr_num != tmr_num) return (ENXIO); @@ -418,23 +449,73 @@ dmtpps_attach(device_t dev) { struct dmtpps_softc *sc; struct make_dev_args mda; - clk_ident_t timer_id; - int err, sysclk_freq; + int err; + clk_t sys_clkin; + uint64_t rev_address; sc = device_get_softc(dev); sc->dev = dev; - /* Get the base clock frequency. */ - err = ti_prcm_clk_get_source_freq(SYS_CLK, &sysclk_freq); + /* Figure out which hardware timer this is and set the name string. */ + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); + switch (rev_address) { + case DMTIMER1_1MS_REV: + sc->tmr_num = 1; + break; + case DMTIMER2_REV: + sc->tmr_num = 2; + break; + case DMTIMER3_REV: + sc->tmr_num = 3; + break; + case DMTIMER4_REV: + sc->tmr_num = 4; + break; + case DMTIMER5_REV: + sc->tmr_num = 5; + break; + case DMTIMER6_REV: + sc->tmr_num = 6; + break; + case DMTIMER7_REV: + sc->tmr_num = 7; + break; + } + snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", sc->tmr_num); + /* expect one clock */ + err = clk_get_by_ofw_index(dev, 0, 0, &sc->clk_fck); + if (err != 0) { + device_printf(dev, "Cant find clock index 0. err: %d\n", err); + return (ENXIO); + } + + err = clk_get_by_name(dev, "sys_clkin_ck@40", &sys_clkin); + if (err != 0) { + device_printf(dev, "Cant find sys_clkin_ck@40 err: %d\n", err); + return (ENXIO); + } + + /* Select M_OSC as DPLL parent */ + err = clk_set_parent_by_clk(sc->clk_fck, sys_clkin); + if (err != 0) { + device_printf(dev, "Cant set mux to CLK_M_OSC\n"); + return (ENXIO); + } + /* Enable clocks and power on the device. */ - if ((timer_id = ti_hwmods_get_clock(dev)) == INVALID_CLK_IDENT) + err = ti_sysc_clock_enable(device_get_parent(dev)); + if (err != 0) { + device_printf(dev, "Cant enable sysc clkctrl, err %d\n", err); return (ENXIO); - if ((err = ti_prcm_clk_set_source(timer_id, SYSCLK_CLK)) != 0) - return (err); - if ((err = ti_prcm_clk_enable(timer_id)) != 0) - return (err); + } + /* Get the base clock frequency. */ + err = clk_get_freq(sc->clk_fck, &sc->sysclk_freq); + if (err != 0) { + device_printf(dev, "Cant get sysclk frequency, err %d\n", err); + return (ENXIO); + } /* Request the memory resources. */ sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->mem_rid, RF_ACTIVE); @@ -442,10 +523,6 @@ dmtpps_attach(device_t dev) return (ENXIO); } - /* Figure out which hardware timer this is and set the name string. */ - sc->tmr_num = ti_hwmods_get_unit(dev, "timer"); - snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", sc->tmr_num); - /* * Configure the timer pulse/capture pin to input/capture mode. This is * required in addition to configuring the pin as input with the pinmux @@ -468,7 +545,7 @@ dmtpps_attach(device_t dev) sc->tc.tc_name = sc->tmr_name; sc->tc.tc_get_timecount = dmtpps_get_timecount; sc->tc.tc_counter_mask = ~0u; - sc->tc.tc_frequency = sysclk_freq; + sc->tc.tc_frequency = sc->sysclk_freq; sc->tc.tc_quality = 1000; sc->tc.tc_priv = sc; @@ -541,5 +618,4 @@ static driver_t dmtpps_driver = { static devclass_t dmtpps_devclass; DRIVER_MODULE(am335x_dmtpps, simplebus, dmtpps_driver, dmtpps_devclass, 0, 0); -MODULE_DEPEND(am335x_dmtpps, am335x_prcm, 1, 1, 1); - +MODULE_DEPEND(am335x_dmtpps, ti_sysc, 1, 1, 1); Modified: head/sys/arm/ti/am335x/am335x_dmtreg.h ============================================================================== --- head/sys/arm/ti/am335x/am335x_dmtreg.h Thu Jul 30 14:42:50 2020 (r363699) +++ head/sys/arm/ti/am335x/am335x_dmtreg.h Thu Jul 30 14:45:05 2020 (r363700) @@ -73,4 +73,16 @@ #define DMT_TSICR_RESET (1 << 1) /* TSICR perform soft reset */ #define DMT_TCAR2 0x48 /* Capture Reg */ +/* Location of revision register from TRM Memory map chapter 2 */ +/* L4_WKUP */ +#define DMTIMER0_REV 0x05000 +#define DMTIMER1_1MS_REV 0x31000 +/* L4_PER */ +#define DMTIMER2_REV 0x40000 +#define DMTIMER3_REV 0x42000 +#define DMTIMER4_REV 0x44000 +#define DMTIMER5_REV 0x46000 +#define DMTIMER6_REV 0x48000 +#define DMTIMER7_REV 0x4A000 + #endif /* AM335X_DMTREG_H */ Modified: head/sys/arm/ti/am335x/am335x_gpio.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_gpio.c Thu Jul 30 14:42:50 2020 (r363699) +++ head/sys/arm/ti/am335x/am335x_gpio.c Thu Jul 30 14:45:05 2020 (r363700) @@ -155,3 +155,4 @@ DEFINE_CLASS_1(gpio, am335x_gpio_driver, am335x_gpio_m sizeof(struct ti_gpio_softc), ti_gpio_driver); DRIVER_MODULE(am335x_gpio, simplebus, am335x_gpio_driver, am335x_gpio_devclass, 0, 0); +MODULE_DEPEND(am335x_gpio, ti_sysc, 1, 1, 1); Modified: head/sys/arm/ti/am335x/am335x_lcd.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_lcd.c Thu Jul 30 14:42:50 2020 (r363699) +++ head/sys/arm/ti/am335x/am335x_lcd.c Thu Jul 30 14:45:05 2020 (r363700) @@ -50,6 +50,8 @@ __FBSDID("$FreeBSD$"); #include +#include + #include #include #include @@ -65,7 +67,7 @@ __FBSDID("$FreeBSD$"); #include #endif -#include +#include #include #include "am335x_lcd.h" @@ -219,6 +221,9 @@ struct am335x_lcd_softc { /* HDMI framer */ phandle_t sc_hdmi_framer; eventhandler_tag sc_hdmi_evh; + + /* Clock */ + clk_t sc_clk_dpll_disp_ck; }; static void @@ -615,24 +620,28 @@ am335x_lcd_configure(struct am335x_lcd_softc *sc) uint32_t hbp, hfp, hsw; uint32_t vbp, vfp, vsw; uint32_t width, height; - unsigned int ref_freq; + uint64_t ref_freq; int err; /* * try to adjust clock to get double of requested frequency * HDMI/DVI displays are very sensitive to error in frequncy value */ - if (ti_prcm_clk_set_source_freq(LCDC_CLK, sc->sc_panel.panel_pxl_clk*2)) { + + err = clk_set_freq(sc->sc_clk_dpll_disp_ck, sc->sc_panel.panel_pxl_clk*2, + CLK_SET_ROUND_ANY); + if (err != 0) { device_printf(sc->sc_dev, "can't set source frequency\n"); return (ENXIO); } - if (ti_prcm_clk_get_source_freq(LCDC_CLK, &ref_freq)) { + err = clk_get_freq(sc->sc_clk_dpll_disp_ck, &ref_freq); + if (err != 0) { device_printf(sc->sc_dev, "can't get reference frequency\n"); return (ENXIO); } - /* Panle initialization */ + /* Panel initialization */ dma_size = round_page(sc->sc_panel.panel_width*sc->sc_panel.panel_height*sc->sc_panel.bpp/8); /* @@ -967,6 +976,13 @@ am335x_lcd_attach(device_t dev) return (ENXIO); } + /* Fixme: Cant find any reference in DTS for dpll_disp_ck@498 for now. */ + err = clk_get_by_name(dev, "dpll_disp_ck@498", &sc->sc_clk_dpll_disp_ck); + if (err != 0) { + device_printf(dev, "Cant get dpll_disp_ck@49\n"); + return (ENXIO); + } + sc->sc_panel.ac_bias = 255; sc->sc_panel.ac_bias_intrpt = 0; sc->sc_panel.dma_burst_sz = 16; @@ -989,7 +1005,11 @@ am335x_lcd_attach(device_t dev) } } - ti_prcm_clk_enable(LCDC_CLK); + err = ti_sysc_clock_enable(device_get_parent(dev)); + if (err != 0) { + device_printf(dev, "Failed to enable sysc clkctrl, err %d\n", err); + return (ENXIO); + } rid = 0; sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, @@ -1081,3 +1101,4 @@ static devclass_t am335x_lcd_devclass; DRIVER_MODULE(am335x_lcd, simplebus, am335x_lcd_driver, am335x_lcd_devclass, 0, 0); MODULE_VERSION(am335x_lcd, 1); MODULE_DEPEND(am335x_lcd, simplebus, 1, 1, 1); +MODULE_DEPEND(am335x_lcd, ti_sysc, 1, 1, 1); Modified: head/sys/arm/ti/am335x/am335x_musb.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_musb.c Thu Jul 30 14:42:50 2020 (r363699) +++ head/sys/arm/ti/am335x/am335x_musb.c Thu Jul 30 14:45:05 2020 (r363700) @@ -66,9 +66,11 @@ __FBSDID("$FreeBSD$"); #include -#include -#include #include +#include +#include +#include +#include "syscon_if.h" #define USBCTRL_REV 0x00 #define USBCTRL_CTRL 0x14 @@ -130,6 +132,7 @@ struct musbotg_super_softc { struct musbotg_softc sc_otg; struct resource *sc_mem_res[2]; int sc_irq_rid; + struct syscon *syscon; }; static void @@ -155,30 +158,33 @@ static void musbotg_clocks_on(void *arg) { struct musbotg_softc *sc; - uint32_t c, reg; + struct musbotg_super_softc *ssc; + uint32_t reg; sc = arg; - reg = USB_CTRL[sc->sc_id]; + ssc = sc->sc_platform_data; - ti_scm_reg_read_4(reg, &c); - c &= ~3; /* Enable power */ - c |= 1 << 19; /* VBUS detect enable */ - c |= 1 << 20; /* Session end enable */ - ti_scm_reg_write_4(reg, c); + reg = SYSCON_READ_4(ssc->syscon, USB_CTRL[sc->sc_id]); + reg &= ~3; /* Enable power */ + reg |= 1 << 19; /* VBUS detect enable */ + reg |= 1 << 20; /* Session end enable */ + + SYSCON_WRITE_4(ssc->syscon, USB_CTRL[sc->sc_id], reg); } static void musbotg_clocks_off(void *arg) { struct musbotg_softc *sc; - uint32_t c, reg; + struct musbotg_super_softc *ssc; + uint32_t reg; sc = arg; - reg = USB_CTRL[sc->sc_id]; + ssc = sc->sc_platform_data; /* Disable power to PHY */ - ti_scm_reg_read_4(reg, &c); - ti_scm_reg_write_4(reg, c | 3); + reg = SYSCON_READ_4(ssc->syscon, USB_CTRL[sc->sc_id]); + SYSCON_WRITE_4(ssc->syscon, USB_CTRL[sc->sc_id], reg | 3); } static void @@ -241,9 +247,42 @@ musbotg_attach(device_t dev) char mode[16]; int err; uint32_t reg; + phandle_t opp_table; + clk_t clk_usbotg_fck; sc->sc_otg.sc_id = device_get_unit(dev); + /* FIXME: The devicetree needs to be updated to get a handle to the gate + * usbotg_fck@47c. see TRM 8.1.12.2 CM_WKUP CM_CLKDCOLDO_DPLL_PER. + */ + err = clk_get_by_name(dev, "usbotg_fck@47c", &clk_usbotg_fck); + if (err) { + device_printf(dev, "Can not find usbotg_fck@47c\n"); + return (ENXIO); + } + + err = clk_enable(clk_usbotg_fck); + if (err) { + device_printf(dev, "Can not enable usbotg_fck@47c\n"); + return (ENXIO); + } + + /* FIXME: For now; Go and kidnap syscon from opp-table */ + opp_table = OF_finddevice("/opp-table"); + if (opp_table == -1) { + device_printf(dev, "Cant find /opp-table\n"); + return (ENXIO); + } + if (!OF_hasprop(opp_table, "syscon")) { + device_printf(dev, "/opp-table missing syscon property\n"); + return (ENXIO); + } + err = syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon); + if (err) { + device_printf(dev, "Failed to get syscon\n"); + return (ENXIO); + } + /* Request the memory resources */ err = bus_alloc_resources(dev, am335x_musbotg_mem_spec, sc->sc_mem_res); @@ -417,5 +456,7 @@ static driver_t musbotg_driver = { static devclass_t musbotg_devclass; -DRIVER_MODULE(musbotg, usbss, musbotg_driver, musbotg_devclass, 0, 0); -MODULE_DEPEND(musbotg, usbss, 1, 1, 1); +DRIVER_MODULE(musbotg, ti_sysc, musbotg_driver, musbotg_devclass, 0, 0); +MODULE_DEPEND(musbotg, ti_sysc, 1, 1, 1); +MODULE_DEPEND(musbotg, ti_am3359_cppi41, 1, 1, 1); +MODULE_DEPEND(usbss, usb, 1, 1, 1); Modified: head/sys/arm/ti/am335x/am335x_pwmss.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_pwmss.c Thu Jul 30 14:42:50 2020 (r363699) +++ head/sys/arm/ti/am335x/am335x_pwmss.c Thu Jul 30 14:45:05 2020 (r363700) @@ -46,10 +46,11 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include -#include +#include +#include +#include "syscon_if.h" + #include "am335x_pwm.h" #include "am335x_scm.h" @@ -59,6 +60,11 @@ __FBSDID("$FreeBSD$"); #define CLKCONFIG_EPWMCLK_EN (1 << 8) #define PWMSS_CLKSTATUS 0x0C +/* TRM chapter 2 memory map table 2-3 + VER register location */ +#define PWMSS_REV_0 0x0000 +#define PWMSS_REV_1 0x2000 +#define PWMSS_REV_2 0x4000 + static device_probe_t am335x_pwmss_probe; static device_attach_t am335x_pwmss_attach; static device_detach_t am335x_pwmss_detach; @@ -66,7 +72,7 @@ static device_detach_t am335x_pwmss_detach; struct am335x_pwmss_softc { struct simplebus_softc sc_simplebus; device_t sc_dev; - clk_ident_t sc_clk; + struct syscon *syscon; }; static device_method_t am335x_pwmss_methods[] = { @@ -97,36 +103,45 @@ am335x_pwmss_attach(device_t dev) { struct am335x_pwmss_softc *sc; uint32_t reg, id; - phandle_t node; + uint64_t rev_address; + phandle_t node, opp_table; sc = device_get_softc(dev); sc->sc_dev = dev; - sc->sc_clk = ti_hwmods_get_clock(dev); - if (sc->sc_clk == INVALID_CLK_IDENT) { - device_printf(dev, "failed to get device id based on ti,hwmods\n"); - return (EINVAL); + /* FIXME: For now; Go and kidnap syscon from opp-table */ + opp_table = OF_finddevice("/opp-table"); + if (opp_table == -1) { + device_printf(dev, "Cant find /opp-table\n"); + return (ENXIO); } + if (!OF_hasprop(opp_table, "syscon")) { + device_printf(dev, "/opp-table doesnt have required syscon property\n"); + return (ENXIO); + } + if (syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon) != 0) { + device_printf(dev, "Failed to get syscon\n"); + return (ENXIO); + } - ti_prcm_clk_enable(sc->sc_clk); - ti_scm_reg_read_4(SCM_PWMSS_CTRL, ®); - switch (sc->sc_clk) { - case PWMSS0_CLK: - id = 0; - break; - case PWMSS1_CLK: - id = 1; - break; + ti_sysc_clock_enable(device_get_parent(dev)); - case PWMSS2_CLK: - id = 2; - break; - default: - device_printf(dev, "unknown pwmss clock id: %d\n", sc->sc_clk); - return (EINVAL); + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); + switch (rev_address) { + case PWMSS_REV_0: + id = 0; + break; + case PWMSS_REV_1: + id = 1; + break; + case PWMSS_REV_2: + id = 2; + break; } + + reg = SYSCON_READ_4(sc->syscon, SCM_PWMSS_CTRL); reg |= (1 << id); - ti_scm_reg_write_4(SCM_PWMSS_CTRL, reg); + SYSCON_WRITE_4(sc->syscon, SCM_PWMSS_CTRL, reg); node = ofw_bus_get_node(dev); @@ -161,3 +176,4 @@ DEFINE_CLASS_1(am335x_pwmss, am335x_pwmss_driver, am33 static devclass_t am335x_pwmss_devclass; DRIVER_MODULE(am335x_pwmss, simplebus, am335x_pwmss_driver, am335x_pwmss_devclass, 0, 0); MODULE_VERSION(am335x_pwmss, 1); +MODULE_DEPEND(am335x_pwmss, ti_sysc, 1, 1, 1); Modified: head/sys/arm/ti/am335x/am335x_rtc.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_rtc.c Thu Jul 30 14:42:50 2020 (r363699) +++ head/sys/arm/ti/am335x/am335x_rtc.c Thu Jul 30 14:45:05 2020 (r363700) @@ -39,8 +39,9 @@ __FBSDID("$FreeBSD$"); #include +#include #include -#include +#include #include #include @@ -110,7 +111,7 @@ am335x_rtc_attach(device_t dev) RTC_LOCK_INIT(sc); /* Enable the RTC module. */ - ti_prcm_clk_enable(RTC_CLK); + ti_sysc_clock_enable(device_get_parent(dev)); rev = RTC_READ4(sc, RTC_REVISION); device_printf(dev, "AM335X RTC v%d.%d.%d\n", (rev >> 8) & 0x7, (rev >> 6) & 0x3, rev & 0x3f); @@ -209,3 +210,4 @@ static devclass_t am335x_rtc_devclass; DRIVER_MODULE(am335x_rtc, simplebus, am335x_rtc_driver, am335x_rtc_devclass, 0, 0); MODULE_VERSION(am335x_rtc, 1); MODULE_DEPEND(am335x_rtc, simplebus, 1, 1, 1); +MODULE_DEPEND(am335x_rtc, ti_sysc, 1, 1, 1); Modified: head/sys/arm/ti/am335x/am335x_scm.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_scm.c Thu Jul 30 14:42:50 2020 (r363699) +++ head/sys/arm/ti/am335x/am335x_scm.c Thu Jul 30 14:45:05 2020 (r363700) @@ -40,11 +40,15 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include "syscon_if.h" + #define TZ_ZEROC 2731 struct am335x_scm_softc { int sc_last_temp; struct sysctl_oid *sc_temp_oid; + struct syscon *syscon; }; static int @@ -60,7 +64,7 @@ am335x_scm_temp_sysctl(SYSCTL_HANDLER_ARGS) /* Read the temperature and convert to Kelvin. */ for(i = 50; i > 0; i--) { - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); if ((reg & SCM_BGAP_EOCZ) == 0) break; DELAY(50); @@ -96,6 +100,9 @@ am335x_scm_identify(driver_t *driver, device_t parent) static int am335x_scm_probe(device_t dev) { + /* Just allow the first one */ + if (strcmp(device_get_nameunit(dev), "am335x_scm0") != 0) + return (ENXIO); device_set_desc(dev, "AM335x Control Module Extension"); @@ -109,21 +116,40 @@ am335x_scm_attach(device_t dev) struct sysctl_ctx_list *ctx; struct sysctl_oid_list *tree; uint32_t reg; + phandle_t opp_table; + int err; + sc = device_get_softc(dev); + + /* FIXME: For now; Go and kidnap syscon from opp-table */ + opp_table = OF_finddevice("/opp-table"); + if (opp_table == -1) { + device_printf(dev, "Cant find /opp-table\n"); + return (ENXIO); + } + if (!OF_hasprop(opp_table, "syscon")) { + device_printf(dev, "/opp-table missing syscon property\n"); + return (ENXIO); + } + err = syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon); + if (err) { + device_printf(dev, "Failed to get syscon\n"); + return (ENXIO); + } + /* Reset the digital outputs. */ - ti_scm_reg_write_4(SCM_BGAP_CTRL, 0); - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, 0); + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); DELAY(500); /* Set continous mode. */ - ti_scm_reg_write_4(SCM_BGAP_CTRL, SCM_BGAP_CONTCONV); - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, SCM_BGAP_CONTCONV); + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); DELAY(500); /* Start the ADC conversion. */ reg = SCM_BGAP_CLRZ | SCM_BGAP_CONTCONV | SCM_BGAP_SOC; - ti_scm_reg_write_4(SCM_BGAP_CTRL, reg); + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, reg); /* Temperature sysctl. */ - sc = device_get_softc(dev); ctx = device_get_sysctl_ctx(dev); tree = SYSCTL_CHILDREN(device_get_sysctl_tree(dev)); sc->sc_temp_oid = SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, @@ -145,7 +171,7 @@ am335x_scm_detach(device_t dev) sysctl_remove_oid(sc->sc_temp_oid, 1, 0); /* Stop the bandgap ADC. */ - ti_scm_reg_write_4(SCM_BGAP_CTRL, SCM_BGAP_BGOFF); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jul 30 14:48:49 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 07CC03A7940; Thu, 30 Jul 2020 14:48:49 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHYFX6Nvyz4SSR; Thu, 30 Jul 2020 14:48:48 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BF89D12A86; Thu, 30 Jul 2020 14:48:48 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UEmmGH062382; Thu, 30 Jul 2020 14:48:48 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UEmmjT062381; Thu, 30 Jul 2020 14:48:48 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007301448.06UEmmjT062381@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 30 Jul 2020 14:48:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363701 - stable/12/sys/fs/cuse X-SVN-Group: stable-12 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/12/sys/fs/cuse X-SVN-Commit-Revision: 363701 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 14:48:49 -0000 Author: markj Date: Thu Jul 30 14:48:48 2020 New Revision: 363701 URL: https://svnweb.freebsd.org/changeset/base/363701 Log: MFC r363446: cuse: Stop checking for failures from malloc(M_WAITOK). Modified: stable/12/sys/fs/cuse/cuse.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/fs/cuse/cuse.c ============================================================================== --- stable/12/sys/fs/cuse/cuse.c Thu Jul 30 14:45:05 2020 (r363700) +++ stable/12/sys/fs/cuse/cuse.c Thu Jul 30 14:48:48 2020 (r363701) @@ -425,8 +425,6 @@ cuse_server_alloc_memory(struct cuse_server *pcs, uint int error; mem = malloc(sizeof(*mem), M_CUSE, M_WAITOK | M_ZERO); - if (mem == NULL) - return (ENOMEM); object = vm_pager_allocate(OBJT_SWAP, NULL, PAGE_SIZE * page_count, VM_PROT_DEFAULT, 0, curthread->td_ucred); @@ -748,8 +746,6 @@ cuse_server_open(struct cdev *dev, int fflags, int dev struct cuse_server *pcs; pcs = malloc(sizeof(*pcs), M_CUSE, M_WAITOK | M_ZERO); - if (pcs == NULL) - return (ENOMEM); if (devfs_set_cdevpriv(pcs, &cuse_server_free)) { printf("Cuse: Cannot set cdevpriv.\n"); @@ -1217,10 +1213,6 @@ cuse_server_ioctl(struct cdev *dev, unsigned long cmd, pcsd = malloc(sizeof(*pcsd), M_CUSE, M_WAITOK | M_ZERO); - if (pcsd == NULL) { - error = ENOMEM; - break; - } pcsd->server = pcs; pcsd->user_dev = pcd->dev; @@ -1430,11 +1422,6 @@ cuse_client_open(struct cdev *dev, int fflags, int dev } pcc = malloc(sizeof(*pcc), M_CUSE, M_WAITOK | M_ZERO); - if (pcc == NULL) { - /* drop reference on server */ - cuse_server_unref(pcs); - return (ENOMEM); - } if (devfs_set_cdevpriv(pcc, &cuse_client_free)) { printf("Cuse: Cannot set cdevpriv.\n"); /* drop reference on server */ From owner-svn-src-all@freebsd.org Thu Jul 30 14:50:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9504D3A78DE; Thu, 30 Jul 2020 14:50:44 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHYHm3TLMz4Svs; Thu, 30 Jul 2020 14:50:44 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5BDC212A8E; Thu, 30 Jul 2020 14:50:44 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UEoiSF064855; Thu, 30 Jul 2020 14:50:44 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UEoivM064854; Thu, 30 Jul 2020 14:50:44 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007301450.06UEoivM064854@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 30 Jul 2020 14:50:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363702 - stable/11/sys/fs/cuse X-SVN-Group: stable-11 X-SVN-Commit-Author: markj X-SVN-Commit-Paths: stable/11/sys/fs/cuse X-SVN-Commit-Revision: 363702 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 14:50:44 -0000 Author: markj Date: Thu Jul 30 14:50:43 2020 New Revision: 363702 URL: https://svnweb.freebsd.org/changeset/base/363702 Log: MFC r363446: cuse: Stop checking for failures from malloc(M_WAITOK). Modified: stable/11/sys/fs/cuse/cuse.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/fs/cuse/cuse.c ============================================================================== --- stable/11/sys/fs/cuse/cuse.c Thu Jul 30 14:48:48 2020 (r363701) +++ stable/11/sys/fs/cuse/cuse.c Thu Jul 30 14:50:43 2020 (r363702) @@ -427,8 +427,6 @@ cuse_server_alloc_memory(struct cuse_server *pcs, uint int error; mem = malloc(sizeof(*mem), M_CUSE, M_WAITOK | M_ZERO); - if (mem == NULL) - return (ENOMEM); object = vm_pager_allocate(OBJT_SWAP, NULL, PAGE_SIZE * page_count, VM_PROT_DEFAULT, 0, curthread->td_ucred); @@ -750,8 +748,6 @@ cuse_server_open(struct cdev *dev, int fflags, int dev struct cuse_server *pcs; pcs = malloc(sizeof(*pcs), M_CUSE, M_WAITOK | M_ZERO); - if (pcs == NULL) - return (ENOMEM); if (devfs_set_cdevpriv(pcs, &cuse_server_free)) { printf("Cuse: Cannot set cdevpriv.\n"); @@ -1219,10 +1215,6 @@ cuse_server_ioctl(struct cdev *dev, unsigned long cmd, pcsd = malloc(sizeof(*pcsd), M_CUSE, M_WAITOK | M_ZERO); - if (pcsd == NULL) { - error = ENOMEM; - break; - } pcsd->server = pcs; pcsd->user_dev = pcd->dev; @@ -1432,11 +1424,6 @@ cuse_client_open(struct cdev *dev, int fflags, int dev } pcc = malloc(sizeof(*pcc), M_CUSE, M_WAITOK | M_ZERO); - if (pcc == NULL) { - /* drop reference on server */ - cuse_server_unref(pcs); - return (ENOMEM); - } if (devfs_set_cdevpriv(pcc, &cuse_client_free)) { printf("Cuse: Cannot set cdevpriv.\n"); /* drop reference on server */ From owner-svn-src-all@freebsd.org Thu Jul 30 15:43:17 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 80B563A8A6F; Thu, 30 Jul 2020 15:43:17 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHZSP2x8sz4WhS; Thu, 30 Jul 2020 15:43:17 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4869D135E7; Thu, 30 Jul 2020 15:43:17 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UFhHgn099324; Thu, 30 Jul 2020 15:43:17 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UFhHGO099323; Thu, 30 Jul 2020 15:43:17 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007301543.06UFhHGO099323@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 15:43:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363703 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363703 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 15:43:17 -0000 Author: mjg Date: Thu Jul 30 15:43:16 2020 New Revision: 363703 URL: https://svnweb.freebsd.org/changeset/base/363703 Log: vfs: add NOMACCHECK and AUDITVNODE2 to lockless lookup They are both nops since lookup does not progress with either mac or audit enabled. Tested by: pho Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Thu Jul 30 14:50:43 2020 (r363702) +++ head/sys/kern/vfs_cache.c Thu Jul 30 15:43:16 2020 (r363703) @@ -3002,7 +3002,8 @@ cache_fpl_handled_impl(struct cache_fpl *fpl, int erro #define cache_fpl_handled(x, e) cache_fpl_handled_impl((x), (e), __LINE__) #define CACHE_FPL_SUPPORTED_CN_FLAGS \ - (LOCKLEAF | FOLLOW | LOCKSHARED | SAVENAME | ISOPEN | AUDITVNODE1) + (LOCKLEAF | FOLLOW | LOCKSHARED | SAVENAME | ISOPEN | NOMACCHECK | \ + AUDITVNODE1 | AUDITVNODE2) static bool cache_can_fplookup(struct cache_fpl *fpl) From owner-svn-src-all@freebsd.org Thu Jul 30 15:44:10 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B42C83A8ADF; Thu, 30 Jul 2020 15:44:10 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHZTQ4LcNz4WjS; Thu, 30 Jul 2020 15:44:10 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 77FE4132A6; Thu, 30 Jul 2020 15:44:10 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UFiARO099426; Thu, 30 Jul 2020 15:44:10 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UFiAIh099425; Thu, 30 Jul 2020 15:44:10 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007301544.06UFiAIh099425@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 15:44:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363704 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363704 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 15:44:10 -0000 Author: mjg Date: Thu Jul 30 15:44:10 2020 New Revision: 363704 URL: https://svnweb.freebsd.org/changeset/base/363704 Log: vfs: support negative entry promotion in lockless lookup Tested by: pho Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Thu Jul 30 15:43:16 2020 (r363703) +++ head/sys/kern/vfs_cache.c Thu Jul 30 15:44:10 2020 (r363704) @@ -807,6 +807,15 @@ cache_negative_remove(struct namecache *ncp) } else { list_locked = true; mtx_lock(&neglist->nl_lock); + /* + * We may be racing against promotion in lockless lookup. + */ + if ((negstate->neg_flag & NEG_HOT) != 0) { + mtx_unlock(&neglist->nl_lock); + hot_locked = true; + mtx_lock(&ncneg_hot.nl_lock); + mtx_lock(&neglist->nl_lock); + } } if ((negstate->neg_flag & NEG_HOT) != 0) { mtx_assert(&ncneg_hot.nl_lock, MA_OWNED); @@ -3061,6 +3070,103 @@ cache_fplookup_vnode_supported(struct vnode *vp) } /* + * Move a negative entry to the hot list. + * + * We have to take locks, but they may be contended and in the worst + * case we may need to go off CPU. We don't want to spin within the + * smr section and we can't block with it. Instead we are going to + * look up the entry again. + */ +static int __noinline +cache_fplookup_negative_promote(struct cache_fpl *fpl, struct namecache *oncp, + uint32_t hash) +{ + struct componentname *cnp; + struct namecache *ncp; + struct neglist *neglist; + struct negstate *negstate; + struct vnode *dvp; + u_char nc_flag; + + cnp = fpl->cnp; + dvp = fpl->dvp; + + if (!vhold_smr(dvp)) + return (cache_fpl_aborted(fpl)); + + neglist = NCP2NEGLIST(oncp); + cache_fpl_smr_exit(fpl); + + mtx_lock(&ncneg_hot.nl_lock); + mtx_lock(&neglist->nl_lock); + /* + * For hash iteration. + */ + cache_fpl_smr_enter(fpl); + + /* + * Avoid all surprises by only succeeding if we got the same entry and + * bailing completely otherwise. + * + * In particular at this point there can be a new ncp which matches the + * search but hashes to a different neglist. + */ + CK_LIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { + if (ncp == oncp) + break; + } + + /* + * No match to begin with. + */ + if (__predict_false(ncp == NULL)) { + goto out_abort; + } + + /* + * The newly found entry may be something different... + */ + if (!(ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && + !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen))) { + goto out_abort; + } + + /* + * ... and not even negative. + */ + nc_flag = atomic_load_char(&ncp->nc_flag); + if ((nc_flag & NCF_NEGATIVE) == 0) { + goto out_abort; + } + + if (__predict_false(cache_ncp_invalid(ncp))) { + goto out_abort; + } + + negstate = NCP2NEGSTATE(ncp); + if ((negstate->neg_flag & NEG_HOT) == 0) { + numhotneg++; + TAILQ_REMOVE(&neglist->nl_list, ncp, nc_dst); + TAILQ_INSERT_TAIL(&ncneg_hot.nl_list, ncp, nc_dst); + negstate->neg_flag |= NEG_HOT; + } + + SDT_PROBE2(vfs, namecache, lookup, hit__negative, dvp, ncp->nc_name); + counter_u64_add(numneghits, 1); + cache_fpl_smr_exit(fpl); + mtx_unlock(&neglist->nl_lock); + mtx_unlock(&ncneg_hot.nl_lock); + vdrop(dvp); + return (cache_fpl_handled(fpl, ENOENT)); +out_abort: + cache_fpl_smr_exit(fpl); + mtx_unlock(&neglist->nl_lock); + mtx_unlock(&ncneg_hot.nl_lock); + vdrop(dvp); + return (cache_fpl_aborted(fpl)); +} + +/* * The target vnode is not supported, prepare for the slow path to take over. */ static int @@ -3204,12 +3310,7 @@ cache_fplookup_next(struct cache_fpl *fpl) return (cache_fpl_partial(fpl)); } if (!neg_hot) { - /* - * TODO - * Promoting to hot negative requires locks, thus is - * left not yet supported for simplicity. - */ - return (cache_fpl_partial(fpl)); + return (cache_fplookup_negative_promote(fpl, ncp, hash)); } SDT_PROBE2(vfs, namecache, lookup, hit__negative, dvp, ncp->nc_name); From owner-svn-src-all@freebsd.org Thu Jul 30 15:45:11 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E602D3A8AFE; Thu, 30 Jul 2020 15:45:11 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHZVb5vTSz4X1P; Thu, 30 Jul 2020 15:45:11 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AD864133FE; Thu, 30 Jul 2020 15:45:11 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UFjBup099655; Thu, 30 Jul 2020 15:45:11 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UFjBrA099654; Thu, 30 Jul 2020 15:45:11 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007301545.06UFjBrA099654@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 15:45:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363705 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363705 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 15:45:12 -0000 Author: mjg Date: Thu Jul 30 15:45:11 2020 New Revision: 363705 URL: https://svnweb.freebsd.org/changeset/base/363705 Log: vfs: add support for WANTPARENT and LOCKPARENT to lockless lookup This makes the realpath syscall operational with the new lookup. Note that the walk to obtain the full path name still takes locks. Tested by: pho Differential Revision: https://reviews.freebsd.org/D23917 Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Thu Jul 30 15:44:10 2020 (r363704) +++ head/sys/kern/vfs_cache.c Thu Jul 30 15:45:11 2020 (r363705) @@ -3011,8 +3011,8 @@ cache_fpl_handled_impl(struct cache_fpl *fpl, int erro #define cache_fpl_handled(x, e) cache_fpl_handled_impl((x), (e), __LINE__) #define CACHE_FPL_SUPPORTED_CN_FLAGS \ - (LOCKLEAF | FOLLOW | LOCKSHARED | SAVENAME | ISOPEN | NOMACCHECK | \ - AUDITVNODE1 | AUDITVNODE2) + (LOCKLEAF | LOCKPARENT | WANTPARENT | FOLLOW | LOCKSHARED | SAVENAME | \ + ISOPEN | NOMACCHECK | AUDITVNODE1 | AUDITVNODE2) static bool cache_can_fplookup(struct cache_fpl *fpl) @@ -3208,10 +3208,42 @@ cache_fplookup_partial_setup(struct cache_fpl *fpl) } static int -cache_fplookup_final(struct cache_fpl *fpl) +cache_fplookup_final_child(struct cache_fpl *fpl, enum vgetstate tvs) { struct componentname *cnp; - enum vgetstate tvs; + struct vnode *tvp; + seqc_t tvp_seqc; + int error; + + cnp = fpl->cnp; + tvp = fpl->tvp; + tvp_seqc = fpl->tvp_seqc; + + if ((cnp->cn_flags & LOCKLEAF) != 0) { + error = vget_finish(tvp, cnp->cn_lkflags, tvs); + if (error != 0) { + return (cache_fpl_aborted(fpl)); + } + } else { + vget_finish_ref(tvp, tvs); + } + + if (!vn_seqc_consistent(tvp, tvp_seqc)) { + if ((cnp->cn_flags & LOCKLEAF) != 0) + vput(tvp); + else + vrele(tvp); + return (cache_fpl_aborted(fpl)); + } + + return (cache_fpl_handled(fpl, 0)); +} + +static int __noinline +cache_fplookup_final_withparent(struct cache_fpl *fpl) +{ + enum vgetstate dvs, tvs; + struct componentname *cnp; struct vnode *dvp, *tvp; seqc_t dvp_seqc, tvp_seqc; int error; @@ -3222,39 +3254,90 @@ cache_fplookup_final(struct cache_fpl *fpl) tvp = fpl->tvp; tvp_seqc = fpl->tvp_seqc; - VNPASS(cache_fplookup_vnode_supported(dvp), dvp); + MPASS((cnp->cn_flags & (LOCKPARENT|WANTPARENT)) != 0); + /* + * This is less efficient than it can be for simplicity. + */ + dvs = vget_prep_smr(dvp); + if (dvs == VGET_NONE) { + return (cache_fpl_aborted(fpl)); + } tvs = vget_prep_smr(tvp); if (tvs == VGET_NONE) { - return (cache_fpl_partial(fpl)); - } - - if (!vn_seqc_consistent(dvp, dvp_seqc)) { cache_fpl_smr_exit(fpl); - vget_abort(tvp, tvs); + vget_abort(dvp, dvs); return (cache_fpl_aborted(fpl)); } cache_fpl_smr_exit(fpl); - if ((cnp->cn_flags & LOCKLEAF) != 0) { - error = vget_finish(tvp, cnp->cn_lkflags, tvs); + if ((cnp->cn_flags & LOCKPARENT) != 0) { + error = vget_finish(dvp, LK_EXCLUSIVE, dvs); if (error != 0) { + vget_abort(tvp, tvs); return (cache_fpl_aborted(fpl)); } } else { - vget_finish_ref(tvp, tvs); + vget_finish_ref(dvp, dvs); } - if (!vn_seqc_consistent(tvp, tvp_seqc)) { - if ((cnp->cn_flags & LOCKLEAF) != 0) - vput(tvp); + if (!vn_seqc_consistent(dvp, dvp_seqc)) { + vget_abort(tvp, tvs); + if ((cnp->cn_flags & LOCKPARENT) != 0) + vput(dvp); else - vrele(tvp); + vrele(dvp); + cache_fpl_aborted(fpl); + return (error); + } + + error = cache_fplookup_final_child(fpl, tvs); + if (error != 0) { + MPASS(fpl->status == CACHE_FPL_STATUS_ABORTED); + if ((cnp->cn_flags & LOCKPARENT) != 0) + vput(dvp); + else + vrele(dvp); + return (error); + } + + MPASS(fpl->status == CACHE_FPL_STATUS_HANDLED); + return (0); +} + +static int +cache_fplookup_final(struct cache_fpl *fpl) +{ + struct componentname *cnp; + enum vgetstate tvs; + struct vnode *dvp, *tvp; + seqc_t dvp_seqc, tvp_seqc; + + cnp = fpl->cnp; + dvp = fpl->dvp; + dvp_seqc = fpl->dvp_seqc; + tvp = fpl->tvp; + tvp_seqc = fpl->tvp_seqc; + + VNPASS(cache_fplookup_vnode_supported(dvp), dvp); + + if ((cnp->cn_flags & (LOCKPARENT|WANTPARENT)) != 0) + return (cache_fplookup_final_withparent(fpl)); + + tvs = vget_prep_smr(tvp); + if (tvs == VGET_NONE) { + return (cache_fpl_partial(fpl)); + } + + if (!vn_seqc_consistent(dvp, dvp_seqc)) { + cache_fpl_smr_exit(fpl); + vget_abort(tvp, tvs); return (cache_fpl_aborted(fpl)); } - return (cache_fpl_handled(fpl, 0)); + cache_fpl_smr_exit(fpl); + return (cache_fplookup_final_child(fpl, tvs)); } static int From owner-svn-src-all@freebsd.org Thu Jul 30 15:47:42 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 402233A8EA4; Thu, 30 Jul 2020 15:47:42 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHZYV14WNz4XN4; Thu, 30 Jul 2020 15:47:42 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0930D135E8; Thu, 30 Jul 2020 15:47:42 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UFlfU3099797; Thu, 30 Jul 2020 15:47:41 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UFlf5J099795; Thu, 30 Jul 2020 15:47:41 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007301547.06UFlf5J099795@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 15:47:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363706 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 363706 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 15:47:42 -0000 Author: mjg Date: Thu Jul 30 15:47:41 2020 New Revision: 363706 URL: https://svnweb.freebsd.org/changeset/base/363706 Log: vfs: short-circuit the common case NDFREE calls Almost all consumers use the NDF_ONLY_PNBUF macro, making them avoidably branch a lot in the NDFREE routine. Also note most of them should not need to call any cleanup anyway as they don't request HASBUF. Modified: head/sys/kern/vfs_lookup.c head/sys/sys/namei.h Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Thu Jul 30 15:45:11 2020 (r363705) +++ head/sys/kern/vfs_lookup.c Thu Jul 30 15:47:41 2020 (r363706) @@ -1390,18 +1390,26 @@ NDINIT_ALL(struct nameidata *ndp, u_long op, u_long fl * Free data allocated by namei(); see namei(9) for details. */ void -NDFREE(struct nameidata *ndp, const u_int flags) +NDFREE_PNBUF(struct nameidata *ndp) { + + if ((ndp->ni_cnd.cn_flags & HASBUF) != 0) { + uma_zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); + ndp->ni_cnd.cn_flags &= ~HASBUF; + } +} + +void +(NDFREE)(struct nameidata *ndp, const u_int flags) +{ int unlock_dvp; int unlock_vp; unlock_dvp = 0; unlock_vp = 0; - if (!(flags & NDF_NO_FREE_PNBUF) && - (ndp->ni_cnd.cn_flags & HASBUF)) { - uma_zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); - ndp->ni_cnd.cn_flags &= ~HASBUF; + if (!(flags & NDF_NO_FREE_PNBUF)) { + NDFREE_PNBUF(ndp); } if (!(flags & NDF_NO_VP_UNLOCK) && (ndp->ni_cnd.cn_flags & LOCKLEAF) && ndp->ni_vp) Modified: head/sys/sys/namei.h ============================================================================== --- head/sys/sys/namei.h Thu Jul 30 15:45:11 2020 (r363705) +++ head/sys/sys/namei.h Thu Jul 30 15:47:41 2020 (r363706) @@ -210,7 +210,15 @@ void NDINIT_ALL(struct nameidata *ndp, u_long op, u_lo #define NDF_NO_FREE_PNBUF 0x00000020 #define NDF_ONLY_PNBUF (~NDF_NO_FREE_PNBUF) +void NDFREE_PNBUF(struct nameidata *); void NDFREE(struct nameidata *, const u_int); +#define NDFREE(ndp, flags) do { \ + struct nameidata *_ndp = (ndp); \ + if (__builtin_constant_p(flags) && flags == NDF_ONLY_PNBUF) \ + NDFREE_PNBUF(_ndp); \ + else \ + NDFREE(_ndp, flags); \ +} while (0) int namei(struct nameidata *ndp); int lookup(struct nameidata *ndp); From owner-svn-src-all@freebsd.org Thu Jul 30 15:48:47 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E793A3A8CC1; Thu, 30 Jul 2020 15:48:47 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-eopbgr660078.outbound.protection.outlook.com [40.107.66.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHZZk5lXJz4XRR; Thu, 30 Jul 2020 15:48:46 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RxEkNwD+dX53mGR0PtUlNMNktq5twAV2Hffpx4h211bPdnNyn1gF4wU7Kjc0Nv3s6c8/Q6XVdE4Jv3L4zhFS0ANZOyxlxZRnTi29f30NcwU7z0kag3jKeny4GxOUx2YPIs8l2fBLmCUwfv8ZkdfAAJiO29AzBT0jtnmoQzikf8rnY2A/aCZzJiUpy7NGCAvcDBdOP/T6nmWhHpOeRMQ4NUKkgesBlhkiJ1R6NFIo4qymB2JSzgfzHIPyQIeMhtUJV7cQHh2s+SiDfpHNt1QejoyhBfZ1Tf6Sr9JhwcYjLKuyROdZR0BI98X7Ygh5oWe9WbIV1Ewg+JwYcfI1+9ynlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9CcKBRaEJuijOJrMKnRObEjUu9L+pimPLQOTaCpWh8Q=; b=FM1XAaw/F+ZisXA399VOpGVHLAu9D480Ym4DmLr6NNEXOI4N6SN8ECZRB4WrnHqsE1FFPIFoXGNAAYA9ATTuu9z2+P4gaab9sxf/hMFqyWfvOjd/yU+yqiOcMQz0kMi6z3WTfcMLH0x/4MtPSE6zoEwtBQrTkw/xWaVhsqLLdb3T7aSqsr0r89B4ARYXv5QUDUt8PX+M5hZMEwH/Awcj9mQn74Gqdbr3/nfCz1PPHB5LeLpsM4BeN6BPIGKVY0ltmiXP0Eh+Kc41+6qJZfr9X7zcSgo8uYuaFzl8IYpi518rVA6D5j7z9SkWdUfUqW+JkM1/sEsYSsYqQHJcdVibyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9CcKBRaEJuijOJrMKnRObEjUu9L+pimPLQOTaCpWh8Q=; b=rHTxbyL/29l/rQjCWBrM6PefFaRzlbzGzCjVpIkThOkhW/JDDXGpOzN9EpCsqD27EuAukN213I+YFwUKWQqDHOZ+QsXR/P/FhNhL3LIIVKs7JB8CL0SGINoyyPsmEcC9WjUHKmCq1UG26PwOlhHvL1ujcKFaQgS9SZv8DjxH2WLqn5jSom986iKYKtMfY3SHrZ9eeIAEHrOxiwM3646SsjhyU2yGk2S6kYC/2l78U9d0gKtHa8hv/tPSHZmMWy4hcBv9d7PDSUpJ5tJAUXurSfe3YWMHS4xafXqUtOskq3bv40DNL2ixmgRVPgCciB7FInbxGp1Qhni7g6rndMV8yA== Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:38::14) by YQXPR0101MB1845.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:1e::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16; Thu, 30 Jul 2020 15:48:44 +0000 Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::60f3:4ca2:8a4a:1e91]) by QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::60f3:4ca2:8a4a:1e91%7]) with mapi id 15.20.3216.033; Thu, 30 Jul 2020 15:48:34 +0000 From: Rick Macklem To: Ian Lepore , Brooks Davis , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-stable@freebsd.org" , "svn-src-stable-12@freebsd.org" Subject: Re: svn commit: r363625 - stable/12/usr.sbin/mountd Thread-Topic: svn commit: r363625 - stable/12/usr.sbin/mountd Thread-Index: AQHWZGw7l3AA2GANGkmYHY+WWlMRT6kfVzKsgAAiMQCAADpv4oAAiFtW Date: Thu, 30 Jul 2020 15:48:34 +0000 Message-ID: References: <202007272318.06RNIFjV005206@repo.freebsd.org> , <4d5b871fad9412661c3914a64c8ca0b7a01d1dc6.camel@freebsd.org>, In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 00af6f22-fa8d-4352-c19f-08d834a00479 x-ms-traffictypediagnostic: YQXPR0101MB1845: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MjzssD9sqDpP/QBV42oV3RFf90tfXtXtCDFa4S8/7bwbPrSLKRNi0JFcheaRICLI698xIfYGVkeV2EOfNXZ2Iaf+2CdlT0GLmeCOQx+4Ud9598HfgDDfEuzkltS07/VuPR5oarn0E3Q1fd05SZHVvPjOosIMbItrHuU9cK6gJHb/Jd/fwJdmWJ1LILpNJtD0MZ+0Wnysh48bAkECEKlp+4iAEb0byaI4K4txwcpMAKBVUtJcfSZM/IfgQ6kqXHwEFHEJD62BclQNi1evAQvdOXHrrPB9Tps22Df7V6Th67kHS9AHktBcjaM78V+vaozwbvT0hgin48Se3haNj7Ksiov7oZKwT84bt2PnxYG6qy/hy6lFFwZja2Fpn6d3xA1go8cCnZt67j/GsAVhu3BrxQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39860400002)(346002)(376002)(136003)(396003)(366004)(450100002)(7696005)(6506007)(33656002)(52536014)(5660300002)(64756008)(71200400001)(66946007)(66446008)(66476007)(66556008)(86362001)(91956017)(76116006)(316002)(786003)(83380400001)(2906002)(55016002)(110136005)(9686003)(8936002)(2940100002)(966005)(478600001)(186003)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: TyzyOW4eTkefbN+Hmbi4z/aOJsytD6rxsm13itq7Jlq+8PznlqdUvAut/992Vq9C0GH4gCH4Mjuh1ohw1nW374NGm+QOdxWOqADzs6E8nJ3OzXQDivjksZiHn0K8HeSoFCjYX4Gdm7cN5wQz6txAYM7AKDlA8Neq2kwZtTw0NeKGPtLHCSAq0iiuERqHAagqI1E3NuPLhbr+tYOibcpgbE/8KyYtubV3qxsw17wJsBcVzkC5iBmBVvf/WFbKFfor3ekniPkDcjZIYPqL5X0ZlIdsY2E7pJmkXBKBIhfM8vUm96HfLRbW2XgYFudjAVxZB7ZnXJHuIjQPtd+b/V26ghOvKtspHE2NPLxNeeYmtFRqdklWNKDcCLmVZzwwElt6nqXazHsfeiXpfxTweZWcIllQccuolVN4XQXvK14PEsq+Zyd0zeUVcqaUBkTlJgK64xHkKEn7w5IGLDYwVFtuagARZfT82fUX5QRQioHCflNHrofW596aXEdoQUuXyq6Taw78fAvP+GjxRaki3BEeD0V2iVYATPpOgOUoz9BCOtiJMeL1MRhY82qe7XCUeLX0xgShHlI3GeBWMIgYHmQrOSQf0owb01Hz72YlJLUzsId9PRad6xp1erhIp9rcnKpjC9qYiZSXxAq11yNP3J7aPiby9QNjy55MHY06QKx9Xy/u9LNTwD8bi/yznG3iajrPdvUm0S5XBizdgOZ4EFxkPQ== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 00af6f22-fa8d-4352-c19f-08d834a00479 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2020 15:48:34.6325 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: U9wkhxTVIA9wjLRCZF8KVWJHTii023a1avHhyx9pl6+w21UTy7t4IXQQN04l6+YPOT3xF7keKQrj0n+G4yS/bA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQXPR0101MB1845 X-Rspamd-Queue-Id: 4BHZZk5lXJz4XRR X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=uoguelph.ca header.s=selector1 header.b=rHTxbyL/; dmarc=none; spf=pass (mx1.freebsd.org: domain of rmacklem@uoguelph.ca designates 40.107.66.78 as permitted sender) smtp.mailfrom=rmacklem@uoguelph.ca X-Spamd-Result: default: False [-4.66 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.995]; R_DKIM_ALLOW(-0.20)[uoguelph.ca:s=selector1]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[uoguelph.ca]; NEURAL_HAM_LONG(-1.04)[-1.036]; RCPT_COUNT_FIVE(0.00)[6]; DWL_DNSWL_LOW(-1.00)[uoguelph.ca:dkim]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[uoguelph.ca:+]; NEURAL_HAM_SHORT(-0.13)[-0.133]; RCVD_IN_DNSWL_NONE(0.00)[40.107.66.78:from]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.107.66.78:from] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 15:48:48 -0000 Rick Macklem wrote:=0A= >Ian Lepore wrote:=0A= >>On Thu, 2020-07-30 at 01:52 +0000, Rick Macklem wrote:=0A= >>> Brooks Davis wrote:=0A= >>> > Author: brooks=0A= >>> > Date: Mon Jul 27 23:18:14 2020=0A= >>> > New Revision: 363625=0A= >>> > URL: https://svnweb.freebsd.org/changeset/base/363625=0A= >>> >=0A= >>> > Log:=0A= >>> > MFC r363439:=0A= >>> >=0A= >>> > Correct a type-mismatch between xdr_long and the variable "bad".=0A= >>> >=0A= >>> > [...]=0A= >>> --> I can't see how the xdr.c code would work for a machine that is=0A= >>> BIG_ENDIAN and where "long" is 64bits, but we don't have any of=0A= >>> those.=0A= >>>=0A= >>=0A= >>mips64 and powerpc64 are both big endian with 64-bit long.=0A= >Oops, I didn't know that. In the past, I've run PowerPC and MIPS, but thou= ght=0A= >they both were little endian. (I recall the arches can be run either way.)= =0A= >=0A= >Anyhow, take a look at head/lib/libc/xdr/xdr.c and it looks to me like it= =0A= >has been broken "forever" (ever since we stopped using a K&R compiler=0A= >that would have always made "long" 32bits).=0A= OK, I took another look at xdr.c and it isn't broken as I thought.=0A= =0A= xdr_long() takes a "long *" argument ("long" in Sun XDR is 32bits),=0A= but then it only passes it as an argument to XDR_PUTLONG(), which is actual= ly=0A= a call to xdrmem_putlong_aligned() or xdrmem_putlong_unaligned().=0A= For xdrmem_putlong_aligned(), the line is:=0A= *(u_int32_t *)xdrs->x_private =3D htonl((u_int32_t)*lp);=0A= --> where lp is a "long *"=0A= =0A= I'll admit I'm not 100% sure if "(u_int32_t)*lp" gets the correct 32bits of= a 64bit=0A= long pointer for all arches? (I'm not very good at knowing what type casts = do.)=0A= If this is the equivalent of "u_int32_t t; t =3D *lp; htonl(t); then I thin= k the code is ok?=0A= (At least it makes it clear that it is using 32bits of the value pointed to= by the=0A= argument.)=0A= =0A= For xdrmem_putlong_unaligned(), it does the same thing via:=0A= u_int32_t l;=0A= =85.=0A= l =3D htonl((u_int32_t)*lp);=0A= =0A= --> At least the man page for xdr_long() should be clarified to note it=0A= puts a 32bit quantity on the wire.=0A= =0A= >If anyone has either of these and can set up an NFS server on one of=0A= >them and then try and do an NFSv3 mount that is not allowed, it would=0A= >be interesting to see the packet trace and if the MNT RPC fails, because= =0A= >it looks like it will put the high order 32bits on the wire and they'll=0A= >always be 0?=0A= It would still be interesting to test this on a 64bit big endian, but so lo= ng as=0A= the above cast works, it does look like it works for all arches.=0A= =0A= >Just to clarify. The behaviour wasn't broken by this commit. I just=0A= >don't see how the commit fixes anything?=0A= My mistake. Sorry for the noise.=0A= =0A= I now think the commit is correct since it uses "*lp" to get the value befo= re=0A= casting it down to 32bits. Passing in an "int *" was incorrect.=0A= =0A= The code does seem to handle "long *" for 64bit arches, although it=0A= only puts 32bits "on-the-wire".=0A= =0A= rick, who was confused because he knew there was only supposed to be=0A= 32bits go on the wire.=0A= =0A= -- Ian=0A= =0A= =0A= =0A= From owner-svn-src-all@freebsd.org Thu Jul 30 15:48:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 348633A8E59; Thu, 30 Jul 2020 15:48:59 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHZZw6yY3z4XZP; Thu, 30 Jul 2020 15:48:56 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 773FB135E9; Thu, 30 Jul 2020 15:48:56 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UFmuns099898; Thu, 30 Jul 2020 15:48:56 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UFmuLJ099897; Thu, 30 Jul 2020 15:48:56 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007301548.06UFmuLJ099897@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 15:48:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363707 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363707 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 15:48:59 -0000 Author: mjg Date: Thu Jul 30 15:48:56 2020 New Revision: 363707 URL: https://svnweb.freebsd.org/changeset/base/363707 Log: vfs: fold poll_no_poll into vop_nopoll The logic was almost completely present in vop_stdpoll anyway. Modified: head/sys/kern/vfs_default.c Modified: head/sys/kern/vfs_default.c ============================================================================== --- head/sys/kern/vfs_default.c Thu Jul 30 15:47:41 2020 (r363706) +++ head/sys/kern/vfs_default.c Thu Jul 30 15:48:56 2020 (r363707) @@ -616,7 +616,9 @@ vop_nopoll(ap) } */ *ap; { - return (poll_no_poll(ap->a_events)); + if (ap->a_events & ~POLLSTANDARD) + return (POLLNVAL); + return (ap->a_events & (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM)); } /* From owner-svn-src-all@freebsd.org Thu Jul 30 15:50:52 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D9DD03A909B; Thu, 30 Jul 2020 15:50:52 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHZd85Sv0z4Xpk; Thu, 30 Jul 2020 15:50:52 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9EF35135C4; Thu, 30 Jul 2020 15:50:52 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UFoqji001587; Thu, 30 Jul 2020 15:50:52 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UFopxF001582; Thu, 30 Jul 2020 15:50:51 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007301550.06UFopxF001582@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 15:50:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363708 - in head/sys: kern sys tools X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: kern sys tools X-SVN-Commit-Revision: 363708 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 15:50:52 -0000 Author: mjg Date: Thu Jul 30 15:50:51 2020 New Revision: 363708 URL: https://svnweb.freebsd.org/changeset/base/363708 Log: vfs: inline vops if there are no pre/post associated calls This removes a level of indirection from frequently used methods, most notably VOP_LOCK1 and VOP_UNLOCK1. Tested by: pho Modified: head/sys/kern/vfs_subr.c head/sys/kern/vnode_if.src head/sys/sys/vnode.h head/sys/tools/vnode_if.awk Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Thu Jul 30 15:48:56 2020 (r363707) +++ head/sys/kern/vfs_subr.c Thu Jul 30 15:50:51 2020 (r363708) @@ -5597,21 +5597,21 @@ vop_rename_pre(void *ap) #ifdef DEBUG_VFS_LOCKS void -vop_fplookup_vexec_pre(void *ap __unused) +vop_fplookup_vexec_debugpre(void *ap __unused) { VFS_SMR_ASSERT_ENTERED(); } void -vop_fplookup_vexec_post(void *ap __unused, int rc __unused) +vop_fplookup_vexec_debugpost(void *ap __unused, int rc __unused) { VFS_SMR_ASSERT_ENTERED(); } void -vop_strategy_pre(void *ap) +vop_strategy_debugpre(void *ap) { struct vop_strategy_args *a; struct buf *bp; @@ -5635,7 +5635,7 @@ vop_strategy_pre(void *ap) } void -vop_lock_pre(void *ap) +vop_lock_debugpre(void *ap) { struct vop_lock1_args *a = ap; @@ -5646,7 +5646,7 @@ vop_lock_pre(void *ap) } void -vop_lock_post(void *ap, int rc) +vop_lock_debugpost(void *ap, int rc) { struct vop_lock1_args *a = ap; @@ -5656,7 +5656,7 @@ vop_lock_post(void *ap, int rc) } void -vop_unlock_pre(void *ap) +vop_unlock_debugpre(void *ap) { struct vop_unlock_args *a = ap; @@ -5664,7 +5664,7 @@ vop_unlock_pre(void *ap) } void -vop_need_inactive_pre(void *ap) +vop_need_inactive_debugpre(void *ap) { struct vop_need_inactive_args *a = ap; @@ -5672,7 +5672,7 @@ vop_need_inactive_pre(void *ap) } void -vop_need_inactive_post(void *ap, int rc) +vop_need_inactive_debugpost(void *ap, int rc) { struct vop_need_inactive_args *a = ap; Modified: head/sys/kern/vnode_if.src ============================================================================== --- head/sys/kern/vnode_if.src Thu Jul 30 15:48:56 2020 (r363707) +++ head/sys/kern/vnode_if.src Thu Jul 30 15:50:51 2020 (r363708) @@ -147,8 +147,8 @@ vop_close { %% fplookup_vexec vp - - - -%! fplookup_vexec pre vop_fplookup_vexec_pre -%! fplookup_vexec post vop_fplookup_vexec_post +%! fplookup_vexec debugpre vop_fplookup_vexec_debugpre +%! fplookup_vexec debugpost vop_fplookup_vexec_debugpost vop_fplookup_vexec { IN struct vnode *vp; @@ -379,8 +379,8 @@ vop_inactive { IN struct thread *td; }; -%! need_inactive pre vop_need_inactive_pre -%! need_inactive post vop_need_inactive_post +%! need_inactive debugpre vop_need_inactive_debugpre +%! need_inactive debugpost vop_need_inactive_debugpost vop_need_inactive { IN struct vnode *vp; @@ -395,8 +395,8 @@ vop_reclaim { }; -%! lock1 pre vop_lock_pre -%! lock1 post vop_lock_post +%! lock1 debugpre vop_lock_debugpre +%! lock1 debugpost vop_lock_debugpost vop_lock1 { IN struct vnode *vp; @@ -406,7 +406,7 @@ vop_lock1 { }; -%! unlock pre vop_unlock_pre +%! unlock debugpre vop_unlock_debugpre vop_unlock { IN struct vnode *vp; @@ -426,7 +426,7 @@ vop_bmap { %% strategy vp L L L -%! strategy pre vop_strategy_pre +%! strategy debugpre vop_strategy_debugpre vop_strategy { IN struct vnode *vp; Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Thu Jul 30 15:48:56 2020 (r363707) +++ head/sys/sys/vnode.h Thu Jul 30 15:50:51 2020 (r363708) @@ -869,23 +869,23 @@ void vop_symlink_post(void *a, int rc); int vop_sigdefer(struct vop_vector *vop, struct vop_generic_args *a); #ifdef DEBUG_VFS_LOCKS -void vop_fplookup_vexec_pre(void *a); -void vop_fplookup_vexec_post(void *a, int rc); -void vop_strategy_pre(void *a); -void vop_lock_pre(void *a); -void vop_lock_post(void *a, int rc); -void vop_unlock_pre(void *a); -void vop_need_inactive_pre(void *a); -void vop_need_inactive_post(void *a, int rc); +void vop_fplookup_vexec_debugpre(void *a); +void vop_fplookup_vexec_debugpost(void *a, int rc); +void vop_strategy_debugpre(void *a); +void vop_lock_debugpre(void *a); +void vop_lock_debugpost(void *a, int rc); +void vop_unlock_debugpre(void *a); +void vop_need_inactive_debugpre(void *a); +void vop_need_inactive_debugpost(void *a, int rc); #else -#define vop_fplookup_vexec_pre(x) do { } while (0) -#define vop_fplookup_vexec_post(x, y) do { } while (0) -#define vop_strategy_pre(x) do { } while (0) -#define vop_lock_pre(x) do { } while (0) -#define vop_lock_post(x, y) do { } while (0) -#define vop_unlock_pre(x) do { } while (0) -#define vop_need_inactive_pre(x) do { } while (0) -#define vop_need_inactive_post(x, y) do { } while (0) +#define vop_fplookup_vexec_debugpre(x) do { } while (0) +#define vop_fplookup_vexec_debugpost(x, y) do { } while (0) +#define vop_strategy_debugpre(x) do { } while (0) +#define vop_lock_debugpre(x) do { } while (0) +#define vop_lock_debugpost(x, y) do { } while (0) +#define vop_unlock_debugpre(x) do { } while (0) +#define vop_need_inactive_debugpre(x) do { } while (0) +#define vop_need_inactive_debugpost(x, y) do { } while (0) #endif void vop_rename_fail(struct vop_rename_args *ap); Modified: head/sys/tools/vnode_if.awk ============================================================================== --- head/sys/tools/vnode_if.awk Thu Jul 30 15:48:56 2020 (r363707) +++ head/sys/tools/vnode_if.awk Thu Jul 30 15:50:51 2020 (r363708) @@ -87,6 +87,24 @@ function add_debug_code(name, arg, pos, ind) } } +function add_debugpre(name) +{ + if (lockdata[name, "debugpre"]) { + printc("#ifdef DEBUG_VFS_LOCKS"); + printc("\t"lockdata[name, "debugpre"]"(a);"); + printc("#endif"); + } +} + +function add_debugpost(name) +{ + if (lockdata[name, "debugpost"]) { + printc("#ifdef DEBUG_VFS_LOCKS"); + printc("\t"lockdata[name, "debugpost"]"(a, rc);"); + printc("#endif"); + } +} + function add_pre(name) { if (lockdata[name, "pre"]) { @@ -101,6 +119,15 @@ function add_post(name) } } +function can_inline(name) +{ + if (lockdata[name, "pre"]) + return 0; + if (lockdata[name, "post"]) + return 0; + return 1; +} + function find_arg_with_type (type) { for (jj = 0; jj < numargs; jj++) { @@ -213,7 +240,8 @@ while ((getline < srcfile) > 0) { if ($1 ~ /^%!/) { if (NF != 4 || - ($3 != "pre" && $3 != "post")) { + ($3 != "pre" && $3 != "post" && + $3 != "debugpre" && $3 != "debugpost")) { die("Invalid %s construction", "%!"); continue; } @@ -316,7 +344,18 @@ while ((getline < srcfile) > 0) { printh("\ta.a_gen.a_desc = &" name "_desc;"); for (i = 0; i < numargs; ++i) printh("\ta.a_" args[i] " = " args[i] ";"); + if (can_inline(name)) { + printh("\n#if !defined(DEBUG_VFS_LOCKS) && !defined(INVARIANTS) && !defined(KTR)"); + printh("\tif (!SDT_PROBES_ENABLED())"); + printh("\t\treturn (" args[0]"->v_op->"name"(&a));"); + printh("\telse"); + printh("\t\treturn (" uname "_APV("args[0]"->v_op, &a));"); + printh("#else"); + } printh("\treturn (" uname "_APV("args[0]"->v_op, &a));"); + if (can_inline(name)) + printh("#endif"); + printh("}"); printh(""); @@ -364,6 +403,7 @@ while ((getline < srcfile) > 0) { printc("\t (\"Wrong a_desc in " name "(%p, %p)\", a->a_" args[0]", a));"); printc("\tVNASSERT(vop != NULL, a->a_" args[0]", (\"No "name"(%p, %p)\", a->a_" args[0]", a));") printc("\tKTR_START" ctrstr); + add_debugpre(name); add_pre(name); for (i = 0; i < numargs; ++i) add_debug_code(name, args[i], "Entry", "\t"); @@ -382,6 +422,7 @@ while ((getline < srcfile) > 0) { add_debug_code(name, args[i], "Error", "\t\t"); printc("\t}"); add_post(name); + add_debugpost(name); printc("\tKTR_STOP" ctrstr); printc("\treturn (rc);"); printc("}\n"); From owner-svn-src-all@freebsd.org Thu Jul 30 16:20:11 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 905443A9655; Thu, 30 Jul 2020 16:20:11 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHbGz3MZxz4ZhS; Thu, 30 Jul 2020 16:20:11 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from ivaldir.etoilebsd.net (unknown [IPv6:2001:41d0:8:db4c::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 3FEDB20234; Thu, 30 Jul 2020 16:20:11 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: by ivaldir.etoilebsd.net (Postfix, from userid 1001) id 57B80E835B; Thu, 30 Jul 2020 18:20:09 +0200 (CEST) Date: Thu, 30 Jul 2020 18:20:09 +0200 From: Baptiste Daroussin To: Stefan =?utf-8?B?RcOfZXI=?= Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc Message-ID: <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> References: <202007110733.06B7XJrp033777@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="zzsvtkfi7lba5cnk" Content-Disposition: inline In-Reply-To: <202007110733.06B7XJrp033777@repo.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:20:11 -0000 --zzsvtkfi7lba5cnk Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan E=DFer wrote: > Author: se > Date: Sat Jul 11 07:33:18 2020 > New Revision: 363091 > URL: https://svnweb.freebsd.org/changeset/base/363091 >=20 > Log: > Update to version 3.1.3 > =20 Jumping on that commit, since the switch from our previous bc. The output of the interactive bc has changed, the previous version had a cl= ean UI, the new version "pollutes" the output with plenty of lines about the copyright: =3D=3D=3D=3D Copyright (c) 2018-2020 Gavin D. Howard and contributors Report bugs at: https://git.yzena.com/gavin/bc This is free software with ABSOLUTELY NO WARRANTY. =3D=3D=3D=3D Imagine if all programs where doing that, it would be painful, do you think upstream can be convinced to remove those lines? I no the GNU version also has the same polluted output which was one of the reason I was happy with out previous version of bc. Best regards, Bapt --zzsvtkfi7lba5cnk Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEgOTj3suS2urGXVU3Y4mL3PG3PloFAl8i8zkACgkQY4mL3PG3 PloXvQ//Yks3vPzLtUEJdy+VPBiYEKA+pQ6G8KKMSWyXQp2SXHec7sAq5f6EqqFW bRO6eBrurFGvYY6I13rC6TwTCUI4yqalJwJYaZTD8Iy0heilwlzz0VEja/HZSoRN UybgG9A+qfMMNFp9NK9tc9c6r5dgFK9hiIl9By4rEkAuQjhSAtL8Od5hQV6nu7IB r0iO5SVmboEeiOmrzK2nx80qbevNpjIgog7A8+8cvJXo4Is4NwlPKCVExYPqcBf0 6ozAbBv00aMCHUwXtqxTnqH/gsXrGIxAGYBSvaBSIGvIHggLMjBRJq3MJIH+sL2n gERv0KwV3LLEwn0Cpsvl3YTCQghgZ0C0sqO3RnRgfSP3+AyXd/LoLSv/xbLGP5+s jpW8xJcj2ZnI7BNDTOGzKmR6IKxzcCoRsh9g+Fe6/2Ed5+2BxYhgSExtOHKgiG/N p3C2eAgsf6E1/ZIftDnxVvw4Sj7mna3AK1KH8mPZFmPYPNPGGRt2t8bsG8u5cEOX EaUrOCxV076MjAMTqvwHHOBp57b0ycNdtIqBxFQpis2iAwgpkR9eEisqiXXQE2hy +FoneR4fUstdujIBQO/HuRo4if0gKx1zcQQvI+l4xDz+lB2AFs/9i3yLIFe1gArg 5K+Vk+fbAHYooyHlkEG5poRU5aYyhC6pNXydNKGQDTnWEy9BY9Y= =pxic -----END PGP SIGNATURE----- --zzsvtkfi7lba5cnk-- From owner-svn-src-all@freebsd.org Thu Jul 30 16:28:50 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ECDC03A976C for ; Thu, 30 Jul 2020 16:28:50 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHbSx5g9Vz4bGw for ; Thu, 30 Jul 2020 16:28:49 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: by mail-wr1-f65.google.com with SMTP id a14so25508973wra.5 for ; Thu, 30 Jul 2020 09:28:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=WA0U0+WcG7wpQBSnjIAVHbJsChEnMM9HOQegAeYhhow=; b=kvjpgbECaMa/LDnUltnc4Nr0inDuE/2p48atskQmSRa5NzwjBWG64MqNJxqnlzsH44 Ie+LFP0pUrpH5EzwoVFEl3skCHMr3HdhTwDaNsUKP1X8ae8yjSDIuCY41FzPeBGiiJVV hLuEogw8fHC7TPmzzFjBYl17QfgCl8yrFNhR+855lsohvKIj5+xo7RXKxXEU2XgIN3UT XhRokzOC5ISrAFtT+bcYQ8BF3tvcEXpj4/xjrdkBFICVd+C5SKyoIH6fHu3H19q3l/jO dF6E0gHFwVTkIqmK1x6yg79oVe+CHzhs+3Y2YBWok8Q2Uw/FtKuR0W8N2ZLuEsJFJMUZ m9YQ== X-Gm-Message-State: AOAM533nzcOeF7f0zgyT4Go+dGnWlg59uVyHg559ANk9X1wET7TFnp8E YZm+n0/p2BXQDotBDquq23xjLg== X-Google-Smtp-Source: ABdhPJx6s7WXX48S6zQMmvWy3nHbYbVM1e4caY2iYzhH+Fke7zV5QY/BEamv5TfpMHjxcu/eLfOkeA== X-Received: by 2002:a5d:4984:: with SMTP id r4mr34869732wrq.401.1596126501227; Thu, 30 Jul 2020 09:28:21 -0700 (PDT) Received: from [192.168.149.251] (trinity-students-nat.trin.cam.ac.uk. [131.111.193.104]) by smtp.gmail.com with ESMTPSA id g145sm15448637wmg.23.2020.07.30.09.28.20 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Jul 2020 09:28:20 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc From: Jessica Clarke In-Reply-To: <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> Date: Thu, 30 Jul 2020 17:28:19 +0100 Cc: =?utf-8?Q?Stefan_E=C3=9Fer?= , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> To: Baptiste Daroussin X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Rspamd-Queue-Id: 4BHbSx5g9Vz4bGw X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.221.65 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com X-Spamd-Result: default: False [-1.83 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_FIVE(0.00)[5]; NEURAL_HAM_LONG(-1.07)[-1.069]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.28)[-0.282]; RCVD_IN_DNSWL_NONE(0.00)[209.85.221.65:from]; NEURAL_HAM_MEDIUM(-0.98)[-0.978]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.221.65:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:28:51 -0000 On 30 Jul 2020, at 17:20, Baptiste Daroussin wrote: > On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan E=C3=9Fer wrote: >> Author: se >> Date: Sat Jul 11 07:33:18 2020 >> New Revision: 363091 >> URL: https://svnweb.freebsd.org/changeset/base/363091 >>=20 >> Log: >> Update to version 3.1.3 >>=20 > Jumping on that commit, since the switch from our previous bc. >=20 > The output of the interactive bc has changed, the previous version had = a clean > UI, the new version "pollutes" the output with plenty of lines about = the > copyright: >=20 > =3D=3D=3D=3D > Copyright (c) 2018-2020 Gavin D. Howard and contributors > Report bugs at: https://git.yzena.com/gavin/bc >=20 > This is free software with ABSOLUTELY NO WARRANTY. > =3D=3D=3D=3D >=20 > Imagine if all programs where doing that, it would be painful, do you = think > upstream can be convinced to remove those lines? >=20 > I no the GNU version also has the same polluted output which was one = of the > reason I was happy with out previous version of bc. By default both will print such a banner if and only if being called interactively. You can disable the banner explicitly with -q/--quiet for both GNU bc and this bc. I agree it's a bit noisy and would be nicer to not have that printed, but it's not without precedent for REPL-like things. Jess From owner-svn-src-all@freebsd.org Thu Jul 30 16:31:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 88B133A9A6D; Thu, 30 Jul 2020 16:31:56 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHbXX37Dlz4bNt; Thu, 30 Jul 2020 16:31:56 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from ivaldir.etoilebsd.net (etoilebsd.net [178.32.217.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 3DF2C1F85F; Thu, 30 Jul 2020 16:31:56 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: by ivaldir.etoilebsd.net (Postfix, from userid 1001) id E4B30E837D; Thu, 30 Jul 2020 18:31:54 +0200 (CEST) Date: Thu, 30 Jul 2020 18:31:54 +0200 From: Baptiste Daroussin To: Jessica Clarke Cc: Stefan =?utf-8?B?RcOfZXI=?= , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc Message-ID: <20200730163154.a4d7672xsugkhmxq@ivaldir.net> References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="6xxtvwingvletleg" Content-Disposition: inline In-Reply-To: X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:31:56 -0000 --6xxtvwingvletleg Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jul 30, 2020 at 05:28:19PM +0100, Jessica Clarke wrote: > On 30 Jul 2020, at 17:20, Baptiste Daroussin wrote: > > On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan E=DFer wrote: > >> Author: se > >> Date: Sat Jul 11 07:33:18 2020 > >> New Revision: 363091 > >> URL: https://svnweb.freebsd.org/changeset/base/363091 > >>=20 > >> Log: > >> Update to version 3.1.3 > >>=20 > > Jumping on that commit, since the switch from our previous bc. > >=20 > > The output of the interactive bc has changed, the previous version had = a clean > > UI, the new version "pollutes" the output with plenty of lines about the > > copyright: > >=20 > > =3D=3D=3D=3D > > Copyright (c) 2018-2020 Gavin D. Howard and contributors > > Report bugs at: https://git.yzena.com/gavin/bc > >=20 > > This is free software with ABSOLUTELY NO WARRANTY. > > =3D=3D=3D=3D > >=20 > > Imagine if all programs where doing that, it would be painful, do you t= hink > > upstream can be convinced to remove those lines? > >=20 > > I no the GNU version also has the same polluted output which was one of= the > > reason I was happy with out previous version of bc. >=20 > By default both will print such a banner if and only if being called > interactively. You can disable the banner explicitly with -q/--quiet > for both GNU bc and this bc. I agree it's a bit noisy and would be > nicer to not have that printed, but it's not without precedent for > REPL-like things. Yes it is not without precedent for REPL-like things, still I dislike this = and would be happy to get bc interactive be as nice as the previous one we had = :) If not I will deal with it and just yell internally each time I run it :D Bapt --6xxtvwingvletleg Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEgOTj3suS2urGXVU3Y4mL3PG3PloFAl8i9foACgkQY4mL3PG3 PloD/w//baB3yA3BXTukgaBYtsAHC4ttp1C1Jl0AZvsW9fd+Lv3ioOB0RA1quSIi 3OE0aWBZaSYqbxqlm50t6qhs5wqOC3Xvwj6LQR7qi1s3wvPm8iABNYc4SlTDtuCe /piuBC0Q1LyeN1Dk3WWnB66zYvJILNE037z3SVg+geIbuIkzmJftNCPk0dZNm9dx S+EBgDkTqxwHu86O3RCcCxA2e2PRZgB1de4df9EHktYuK6V5BoRSfG8YsXUWve2Y IJJvEuUCvWJJ8t9X4Sfw2xIh1llSzap5ZSRC/ToryrLxi8b3rRKZliYfelWWbldw S/ZMpsK94mdY7Ed+Cw/DX7TRiMcrcblsKj16wNfq94ViT1PUGpo4WFNaDjow0mqr 9Li6XIH3T1Ge/N9SE2kX1JOKchAXmw6CnuYMhZzBR9xO7psKSPH1G2GQbBeDBRxP Qk6cAGq+bIdcFCP5Ui9I24S3mJlMzmnV8jZwUfGaat4T54vzJJ3mpnFZoVdqdaxa xjsdQ1UJymDGXJNY5Fbh9F5Qt/JHrJesPJi3tvmrlN6bvXJISp7A/rzY1Jw7Ns1A 1SCRDxHcXoHqp0PAi91r7++ei6a845863pVEjoRYrZY8BOkzFS+Nk74ii54oRSjI i9wgdHxF/uefx3BxsDSuMID+tFi8iNYL3OYY949o6oxqsibNSxQ= =DUzf -----END PGP SIGNATURE----- --6xxtvwingvletleg-- From owner-svn-src-all@freebsd.org Thu Jul 30 16:35:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3F1C83A9C2B for ; Thu, 30 Jul 2020 16:35:24 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHbcW344Fz4bY6 for ; Thu, 30 Jul 2020 16:35:23 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: by mail-wr1-f66.google.com with SMTP id f1so24954148wro.2 for ; Thu, 30 Jul 2020 09:35:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=xxKDaWWI2VvHs8vceOc3uEn073EhLNQOBn6B0ji5Jf8=; b=sRU9Lp624a/NgsJ/t9FVl6aW+8erSI04eLr+1b3CfSaNluYkDG91W/ZhSdVQZ1ukez vEYTjD99LY/ulBz48T7MY6Pz9NTjujVC2KMR8gsA1RybvjXIU/GwVKm6rWYWltiC74wX zS1UYxHVEfkrcXXGITCavwANzOXBrI2clAVEPFvmgnF7UN5MGgPLYHnuJNAqtUKGcrOX XPsWB88nwlZgk1uhFnFmXP8e29EvJDEbnJTGJtpOAO5PO9xZYjYkrRnkRsHc84uIjm1V VkD3jCtNtGF96LUxTjoUzSsqsvA3HLprLPK4WOlrR1GlmQx7ciyVerRtesw3xi/9qJPW JsyA== X-Gm-Message-State: AOAM5313IzkKCVl8aDGyhRjoXzvm7DpQlY+WvOMujodl/ycYovH9vxpN t3MBB7lXfQAMoo/bqWju7xavVvNwIF8= X-Google-Smtp-Source: ABdhPJzMQT4r/2TRo8cXYFt5KOpEXx6eg4izrHAfo1t3LUO+u6wT/XabJCJJ9EX23XsUQI90rhr/FQ== X-Received: by 2002:adf:a11d:: with SMTP id o29mr35428934wro.421.1596126921928; Thu, 30 Jul 2020 09:35:21 -0700 (PDT) Received: from [192.168.149.251] (trinity-students-nat.trin.cam.ac.uk. [131.111.193.104]) by smtp.gmail.com with ESMTPSA id a123sm10483828wmd.28.2020.07.30.09.35.21 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Jul 2020 09:35:21 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc From: Jessica Clarke In-Reply-To: <20200730163154.a4d7672xsugkhmxq@ivaldir.net> Date: Thu, 30 Jul 2020 17:35:20 +0100 Cc: =?utf-8?Q?Stefan_E=C3=9Fer?= , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> <20200730163154.a4d7672xsugkhmxq@ivaldir.net> To: Baptiste Daroussin X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Rspamd-Queue-Id: 4BHbcW344Fz4bY6 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.221.66 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com X-Spamd-Result: default: False [-1.81 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_FIVE(0.00)[5]; NEURAL_HAM_LONG(-1.07)[-1.073]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.26)[-0.262]; RCVD_IN_DNSWL_NONE(0.00)[209.85.221.66:from]; NEURAL_HAM_MEDIUM(-0.98)[-0.977]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.221.66:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:35:24 -0000 On 30 Jul 2020, at 17:31, Baptiste Daroussin wrote: > On Thu, Jul 30, 2020 at 05:28:19PM +0100, Jessica Clarke wrote: >> On 30 Jul 2020, at 17:20, Baptiste Daroussin = wrote: >>> On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan E=C3=9Fer wrote: >>>> Author: se >>>> Date: Sat Jul 11 07:33:18 2020 >>>> New Revision: 363091 >>>> URL: https://svnweb.freebsd.org/changeset/base/363091 >>>>=20 >>>> Log: >>>> Update to version 3.1.3 >>>>=20 >>> Jumping on that commit, since the switch from our previous bc. >>>=20 >>> The output of the interactive bc has changed, the previous version = had a clean >>> UI, the new version "pollutes" the output with plenty of lines about = the >>> copyright: >>>=20 >>> =3D=3D=3D=3D >>> Copyright (c) 2018-2020 Gavin D. Howard and contributors >>> Report bugs at: https://git.yzena.com/gavin/bc >>>=20 >>> This is free software with ABSOLUTELY NO WARRANTY. >>> =3D=3D=3D=3D >>>=20 >>> Imagine if all programs where doing that, it would be painful, do = you think >>> upstream can be convinced to remove those lines? >>>=20 >>> I no the GNU version also has the same polluted output which was one = of the >>> reason I was happy with out previous version of bc. >>=20 >> By default both will print such a banner if and only if being called >> interactively. You can disable the banner explicitly with -q/--quiet >> for both GNU bc and this bc. I agree it's a bit noisy and would be >> nicer to not have that printed, but it's not without precedent for >> REPL-like things. >=20 > Yes it is not without precedent for REPL-like things, still I dislike = this and > would be happy to get bc interactive be as nice as the previous one we = had :) >=20 > If not I will deal with it and just yell internally each time I run it = :D `alias bc=3D'bc -q'` / `alias bc bc -q` and preserve your inner zen? :) Jess From owner-svn-src-all@freebsd.org Thu Jul 30 16:39:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F12C23A9DD4; Thu, 30 Jul 2020 16:39:26 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHbjB68S6z4c47; Thu, 30 Jul 2020 16:39:26 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from ivaldir.etoilebsd.net (etoilebsd.net [178.32.217.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 9E571200BE; Thu, 30 Jul 2020 16:39:26 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: by ivaldir.etoilebsd.net (Postfix, from userid 1001) id 31BC8E8393; Thu, 30 Jul 2020 18:38:55 +0200 (CEST) Date: Thu, 30 Jul 2020 18:38:55 +0200 From: Baptiste Daroussin To: Jessica Clarke Cc: Stefan =?utf-8?B?RcOfZXI=?= , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc Message-ID: <20200730163855.7ff2tqugsuakp4ca@ivaldir.net> References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> <20200730163154.a4d7672xsugkhmxq@ivaldir.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="5i2eodukm37k4ydf" Content-Disposition: inline In-Reply-To: X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:39:27 -0000 --5i2eodukm37k4ydf Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jul 30, 2020 at 05:35:20PM +0100, Jessica Clarke wrote: > On 30 Jul 2020, at 17:31, Baptiste Daroussin wrote: > > On Thu, Jul 30, 2020 at 05:28:19PM +0100, Jessica Clarke wrote: > >> On 30 Jul 2020, at 17:20, Baptiste Daroussin wrote: > >>> On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan E=DFer wrote: > >>>> Author: se > >>>> Date: Sat Jul 11 07:33:18 2020 > >>>> New Revision: 363091 > >>>> URL: https://svnweb.freebsd.org/changeset/base/363091 > >>>>=20 > >>>> Log: > >>>> Update to version 3.1.3 > >>>>=20 > >>> Jumping on that commit, since the switch from our previous bc. > >>>=20 > >>> The output of the interactive bc has changed, the previous version ha= d a clean > >>> UI, the new version "pollutes" the output with plenty of lines about = the > >>> copyright: > >>>=20 > >>> =3D=3D=3D=3D > >>> Copyright (c) 2018-2020 Gavin D. Howard and contributors > >>> Report bugs at: https://git.yzena.com/gavin/bc > >>>=20 > >>> This is free software with ABSOLUTELY NO WARRANTY. > >>> =3D=3D=3D=3D > >>>=20 > >>> Imagine if all programs where doing that, it would be painful, do you= think > >>> upstream can be convinced to remove those lines? > >>>=20 > >>> I no the GNU version also has the same polluted output which was one = of the > >>> reason I was happy with out previous version of bc. > >>=20 > >> By default both will print such a banner if and only if being called > >> interactively. You can disable the banner explicitly with -q/--quiet > >> for both GNU bc and this bc. I agree it's a bit noisy and would be > >> nicer to not have that printed, but it's not without precedent for > >> REPL-like things. > >=20 > > Yes it is not without precedent for REPL-like things, still I dislike t= his and > > would be happy to get bc interactive be as nice as the previous one we = had :) > >=20 > > If not I will deal with it and just yell internally each time I run it = :D >=20 > `alias bc=3D'bc -q'` / `alias bc bc -q` and preserve your inner zen? :) >=20 That was my actual plan but it was less fun to write :D Bapt --5i2eodukm37k4ydf Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEgOTj3suS2urGXVU3Y4mL3PG3PloFAl8i958ACgkQY4mL3PG3 Plrqng/9G6VEeJwOHKddPNbu9AQm491RfOCixoJYyby4QYlXyx2Leuo+xv8y1gXr 5y/acZ/Yf7n8uTb+Kk77xZD1AqP7SJ6xUMy8lK4RjpCJFlYnIHD0+GmsiNHGPALl X7HwR7j5+u8i7wZtK4WUURG2A2PxNSs2d9cgYm6xS5D0qRvCcUV40lXKD9//1E7T TG0Nx2N3YFYqF7yG0fPs+NJLxhxl0OqpTdWerHy7EmgXRXI/zj8If1kNb+5VOwtV OWR8Kacoiza99/zDyxKMB6O5yhYf28TR3TYLo6uFwjixHJXeS/wht1U4X1pQ+301 i9yMqQy7T9Lm94GMayMEhmwtqNfMNsFn0qr1xaseSstDnEvGp0aXy4sOek0YGKFn vHI/9MTepr3kVcYwUxXMfKKB72RhOP89wQGnKl1MH4WeScrbrs1oRMKHk2aKaS9q SF8C+J0G34ytBluXdGmj8Ax5fSGX/q+EbsebxRA2hROUrYZ1Jw0X7Je0fSrbwKUD yE49vxtlUa7Up28xDuZeBJgXKOC73erJl44pL8gSkEsT2VVg29eUJNew1n6Kz5Cj UEWHMOAUZjgnN7jGW3RMgikFXWrJTTXMYbiZSXkLPnVkwIW/eEF9GIFhaw4Uvv2L 9Cv7WW1x0eEhTFxGwX7wQK0LC6XYRkOCth1IxQE5iZjEIbc2R+M= =Nl1W -----END PGP SIGNATURE----- --5i2eodukm37k4ydf-- From owner-svn-src-all@freebsd.org Thu Jul 30 16:40:43 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 981563AA182; Thu, 30 Jul 2020 16:40:43 +0000 (UTC) (envelope-from rpokala@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHbkf6r7qz4c84; Thu, 30 Jul 2020 16:40:42 +0000 (UTC) (envelope-from rpokala@freebsd.org) Received: from [192.168.1.10] (c-98-207-126-143.hsd1.ca.comcast.net [98.207.126.143]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: rpokala) by smtp.freebsd.org (Postfix) with ESMTPSA id B3B501FF2B; Thu, 30 Jul 2020 16:40:41 +0000 (UTC) (envelope-from rpokala@freebsd.org) User-Agent: Microsoft-MacOutlook/16.39.20071300 Date: Thu, 30 Jul 2020 09:40:36 -0700 Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc From: Ravi Pokala To: Jessica Clarke , Baptiste Daroussin CC: Stefan =?UTF-8?B?RcOfZXI=?= , src-committers , , Message-ID: Thread-Topic: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> <20200730163154.a4d7672xsugkhmxq@ivaldir.net> In-Reply-To: Mime-version: 1.0 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:40:43 -0000 -----Original Message----- From: on behalf of Jessica Clarke Date: 2020-07-30, Thursday at 09:35 To: Baptiste Daroussin Cc: Stefan E=C3=9Fer , src-committers , , Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals sr= c tests tests/bc On 30 Jul 2020, at 17:31, Baptiste Daroussin wrote: > On Thu, Jul 30, 2020 at 05:28:19PM +0100, Jessica Clarke wrote: >> On 30 Jul 2020, at 17:20, Baptiste Daroussin wrot= e: >>> On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan E=C3=9Fer wrote: >>>> Author: se >>>> Date: Sat Jul 11 07:33:18 2020 >>>> New Revision: 363091 >>>> URL: https://svnweb.freebsd.org/changeset/base/363091 >>>>=20 >>>> Log: >>>> Update to version 3.1.3 >>>>=20 >>> Jumping on that commit, since the switch from our previous bc. >>>=20 >>> The output of the interactive bc has changed, the previous version = had a clean >>> UI, the new version "pollutes" the output with plenty of lines abou= t the >>> copyright: >>>=20 >>> =3D=3D=3D=3D >>> Copyright (c) 2018-2020 Gavin D. Howard and contributors >>> Report bugs at: https://git.yzena.com/gavin/bc >>>=20 >>> This is free software with ABSOLUTELY NO WARRANTY. >>> =3D=3D=3D=3D >>>=20 >>> Imagine if all programs where doing that, it would be painful, do y= ou think >>> upstream can be convinced to remove those lines? >>>=20 >>> I no the GNU version also has the same polluted output which was on= e of the >>> reason I was happy with out previous version of bc. >>=20 >> By default both will print such a banner if and only if being called >> interactively. You can disable the banner explicitly with -q/--quiet >> for both GNU bc and this bc. I agree it's a bit noisy and would be >> nicer to not have that printed, but it's not without precedent for >> REPL-like things. >=20 > Yes it is not without precedent for REPL-like things, still I dislike= this and > would be happy to get bc interactive be as nice as the previous one w= e had :) >=20 > If not I will deal with it and just yell internally each time I run i= t :D `alias bc=3D'bc -q'` / `alias bc bc -q` and preserve your inner zen? :) Jess I was actually about to complain about the new `dc' not exiting after evalu= ating a '-e' expression, without an explicit 'q'. But then I noticed the "DC= _EXPR_EXIT" envvar, which restores the desired behavior. That lead me to dis= cover "DC_ENV_ARGS" and, correspondingly, "BC_ENV_ARGS"; that last one would= be helpful here. Thanks, Ravi (rpokala@) From owner-svn-src-all@freebsd.org Thu Jul 30 16:46:01 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A62EF3AA49D for ; Thu, 30 Jul 2020 16:46:01 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHbrn00DRz4crB for ; Thu, 30 Jul 2020 16:46:00 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: by mail-wr1-f65.google.com with SMTP id y3so25537909wrl.4 for ; Thu, 30 Jul 2020 09:46:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=00ffhTcbb8GMkZjTdW7mvirTRuDSRAokcJczfk0fhpE=; b=RrCN85mk/MrZlPFVBZqXFG/n2dFviSGnhWIbAZ58Qei1XhUx0RxCymVKEb7NQZKcfZ KhvEOHvXlIAG9/YQgUhI0sgch5NjSnLIUrNUnPtU9IomCv6uAS2gamRGMu4Sc7LqLot3 o/UqA7kP3O8CK6bpqsgAK123AqQf5Mj0Kk5/hRRV6SurLMJZH9is45jQDhsrUiPuz/Vq aoHibfhXWBj0nCBjB3QZDm9WuMYyrBukoUM4dVDptXblpm+Z6ODtJDeQWbx8HM0w9xsx sYvQNy/PmoNshQQVw69gCUNG9mPEsFQYzKirbHFhEHVMvwaXZH167IWdh4aXSvQHUNdB sGcw== X-Gm-Message-State: AOAM531cYzuuRT+sPPILL/g5hh6z4mfr8xR6TxsIu5bVKPvu0HSrLgUj LKATffIFIrBACpIf0OYbkjhuRg== X-Google-Smtp-Source: ABdhPJxKDTJTqm6al073OOFoPZEsUYTbf4F9BLj9aCH1pIFc5GQkCXIQzRZ0JrysY5jZh3gvWkn+Kg== X-Received: by 2002:a5d:5151:: with SMTP id u17mr3603031wrt.154.1596127559601; Thu, 30 Jul 2020 09:45:59 -0700 (PDT) Received: from [192.168.149.251] (trinity-students-nat.trin.cam.ac.uk. [131.111.193.104]) by smtp.gmail.com with ESMTPSA id f9sm9754267wru.47.2020.07.30.09.45.58 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Jul 2020 09:45:58 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc From: Jessica Clarke In-Reply-To: Date: Thu, 30 Jul 2020 17:45:58 +0100 Cc: Baptiste Daroussin , =?utf-8?Q?Stefan_E=C3=9Fer?= , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <7257CDA6-0D66-42EB-9920-90DB90B9CA63@freebsd.org> References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> <20200730163154.a4d7672xsugkhmxq@ivaldir.net> To: Ravi Pokala X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Rspamd-Queue-Id: 4BHbrn00DRz4crB X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.221.65 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com X-Spamd-Result: default: False [-2.65 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_FIVE(0.00)[6]; NEURAL_HAM_LONG(-1.07)[-1.071]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-1.10)[-1.101]; RCVD_IN_DNSWL_NONE(0.00)[209.85.221.65:from]; NEURAL_HAM_MEDIUM(-0.98)[-0.978]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.221.65:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:46:01 -0000 On 30 Jul 2020, at 17:40, Ravi Pokala wrote: >=20 > -----Original Message----- > From: on behalf of Jessica Clarke = > Date: 2020-07-30, Thursday at 09:35 > To: Baptiste Daroussin > Cc: Stefan E=C3=9Fer , src-committers = , , = > Subject: Re: svn commit: r363091 - in head/contrib/bc: . include = manuals src tests tests/bc >=20 > On 30 Jul 2020, at 17:31, Baptiste Daroussin = wrote: >> On Thu, Jul 30, 2020 at 05:28:19PM +0100, Jessica Clarke wrote: >>> On 30 Jul 2020, at 17:20, Baptiste Daroussin = wrote: >>>> On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan E=C3=9Fer wrote: >>>>> Author: se >>>>> Date: Sat Jul 11 07:33:18 2020 >>>>> New Revision: 363091 >>>>> URL: https://svnweb.freebsd.org/changeset/base/363091 >>>>>=20 >>>>> Log: >>>>> Update to version 3.1.3 >>>>>=20 >>>> Jumping on that commit, since the switch from our previous bc. >>>>=20 >>>> The output of the interactive bc has changed, the previous version = had a clean >>>> UI, the new version "pollutes" the output with plenty of lines = about the >>>> copyright: >>>>=20 >>>> =3D=3D=3D=3D >>>> Copyright (c) 2018-2020 Gavin D. Howard and contributors >>>> Report bugs at: https://git.yzena.com/gavin/bc >>>>=20 >>>> This is free software with ABSOLUTELY NO WARRANTY. >>>> =3D=3D=3D=3D >>>>=20 >>>> Imagine if all programs where doing that, it would be painful, do = you think >>>> upstream can be convinced to remove those lines? >>>>=20 >>>> I no the GNU version also has the same polluted output which was = one of the >>>> reason I was happy with out previous version of bc. >>>=20 >>> By default both will print such a banner if and only if being called >>> interactively. You can disable the banner explicitly with -q/--quiet >>> for both GNU bc and this bc. I agree it's a bit noisy and would be >>> nicer to not have that printed, but it's not without precedent for >>> REPL-like things. >>=20 >> Yes it is not without precedent for REPL-like things, still I dislike = this and >> would be happy to get bc interactive be as nice as the previous one = we had :) >>=20 >> If not I will deal with it and just yell internally each time I run = it :D >=20 > `alias bc=3D'bc -q'` / `alias bc bc -q` and preserve your inner = zen? :) >=20 > Jess >=20 > I was actually about to complain about the new `dc' not exiting after = evaluating a '-e' expression, without an explicit 'q'. But then I = noticed the "DC_EXPR_EXIT" envvar, which restores the desired behavior. = That lead me to discover "DC_ENV_ARGS" and, correspondingly, = "BC_ENV_ARGS"; that last one would be helpful here. That does feel like the wrong default; even GNU dc doesn't do that, and the principle of least surprise would suggest exiting is the right thing to do. It's also unlikely you want to evaluate something and then use it interactively. Jess From owner-svn-src-all@freebsd.org Thu Jul 30 16:50:37 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD85E3AA5A3; Thu, 30 Jul 2020 16:50:37 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHby55bL5z4cn8; Thu, 30 Jul 2020 16:50:37 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-274.local (unknown [IPv6:2601:648:8203:2990:f066:4d74:69d2:b3d6]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 0D0CF20246; Thu, 30 Jul 2020 16:50:36 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc To: Baptiste Daroussin , Jessica Clarke Cc: =?UTF-8?Q?Stefan_E=c3=9fer?= , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> <20200730163154.a4d7672xsugkhmxq@ivaldir.net> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: Date: Thu, 30 Jul 2020 09:50:34 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <20200730163154.a4d7672xsugkhmxq@ivaldir.net> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:50:37 -0000 On 7/30/20 9:31 AM, Baptiste Daroussin wrote: > On Thu, Jul 30, 2020 at 05:28:19PM +0100, Jessica Clarke wrote: >> On 30 Jul 2020, at 17:20, Baptiste Daroussin wrote: >>> On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan Eßer wrote: >>>> Author: se >>>> Date: Sat Jul 11 07:33:18 2020 >>>> New Revision: 363091 >>>> URL: https://svnweb.freebsd.org/changeset/base/363091 >>>> >>>> Log: >>>> Update to version 3.1.3 >>>> >>> Jumping on that commit, since the switch from our previous bc. >>> >>> The output of the interactive bc has changed, the previous version had a clean >>> UI, the new version "pollutes" the output with plenty of lines about the >>> copyright: >>> >>> ==== >>> Copyright (c) 2018-2020 Gavin D. Howard and contributors >>> Report bugs at: https://git.yzena.com/gavin/bc >>> >>> This is free software with ABSOLUTELY NO WARRANTY. >>> ==== >>> >>> Imagine if all programs where doing that, it would be painful, do you think >>> upstream can be convinced to remove those lines? >>> >>> I no the GNU version also has the same polluted output which was one of the >>> reason I was happy with out previous version of bc. >> >> By default both will print such a banner if and only if being called >> interactively. You can disable the banner explicitly with -q/--quiet >> for both GNU bc and this bc. I agree it's a bit noisy and would be >> nicer to not have that printed, but it's not without precedent for >> REPL-like things. > > Yes it is not without precedent for REPL-like things, still I dislike this and > would be happy to get bc interactive be as nice as the previous one we had :) > > If not I will deal with it and just yell internally each time I run it :D FWIW, I also consider this a regression relative to the previous bc. I had gotten used to the lack of spam when invoking bc and it was the first thing I noticed when the new one was imported, just hadn't sat down and wrote an e-mail about it yet. -- John Baldwin From owner-svn-src-all@freebsd.org Thu Jul 30 16:52:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2E8A63AA713; Thu, 30 Jul 2020 16:52:08 +0000 (UTC) (envelope-from st_esser@t-online.de) Received: from mailout01.t-online.de (mailout01.t-online.de [194.25.134.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mailout00.t-online.de", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHbzq4Yncz4d6s; Thu, 30 Jul 2020 16:52:07 +0000 (UTC) (envelope-from st_esser@t-online.de) Received: from fwd19.aul.t-online.de (fwd19.aul.t-online.de [172.20.27.65]) by mailout01.t-online.de (Postfix) with SMTP id 9834C4278DA1; Thu, 30 Jul 2020 18:52:05 +0200 (CEST) Received: from Stefans-MacBook-Pro-449.fritz.box (Vgd20eZEwhj1cBWBjhapfLq9IQgNY+qjLQUaTBifgOn+O0a6xpbb-DFkPOa1D57Qpk@[93.200.63.47]) by fwd19.t-online.de with (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384 encrypted) esmtp id 1k1Bmh-2Oyvqa0; Thu, 30 Jul 2020 18:51:59 +0200 Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc To: Baptiste Daroussin , Jessica Clarke Cc: =?UTF-8?Q?Stefan_E=c3=9fer?= , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> <20200730163154.a4d7672xsugkhmxq@ivaldir.net> From: =?UTF-8?Q?Stefan_E=c3=9fer?= Message-ID: <7f89d655-eeaf-beca-5531-77da2b790c01@t-online.de> Date: Thu, 30 Jul 2020 18:51:58 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20200730163154.a4d7672xsugkhmxq@ivaldir.net> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 8bit X-ID: Vgd20eZEwhj1cBWBjhapfLq9IQgNY+qjLQUaTBifgOn+O0a6xpbb-DFkPOa1D57Qpk X-TOI-EXPURGATEID: 150726::1596127919-00008954-9EF43298/0/0 CLEAN NORMAL X-TOI-MSGID: 5a900d75-76e5-48b9-9db3-6a929b047788 X-Rspamd-Queue-Id: 4BHbzq4Yncz4d6s X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; ASN(0.00)[asn:3320, ipnet:194.25.0.0/16, country:DE]; REPLY(-4.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:52:08 -0000 Am 30.07.20 um 18:31 schrieb Baptiste Daroussin: > On Thu, Jul 30, 2020 at 05:28:19PM +0100, Jessica Clarke wrote: >> On 30 Jul 2020, at 17:20, Baptiste Daroussin wrote: >>> On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan Eßer wrote: >>>> Author: se >>>> Date: Sat Jul 11 07:33:18 2020 >>>> New Revision: 363091 >>>> URL: https://svnweb.freebsd.org/changeset/base/363091 >>>> >>>> Log: >>>> Update to version 3.1.3 >>>> >>> Jumping on that commit, since the switch from our previous bc. >>> >>> The output of the interactive bc has changed, the previous version had a clean >>> UI, the new version "pollutes" the output with plenty of lines about the >>> copyright: >>> >>> ==== >>> Copyright (c) 2018-2020 Gavin D. Howard and contributors >>> Report bugs at: https://git.yzena.com/gavin/bc >>> >>> This is free software with ABSOLUTELY NO WARRANTY. >>> ==== >>> >>> Imagine if all programs where doing that, it would be painful, do you think >>> upstream can be convinced to remove those lines? >>> >>> I no the GNU version also has the same polluted output which was one of the >>> reason I was happy with out previous version of bc. >> >> By default both will print such a banner if and only if being called >> interactively. You can disable the banner explicitly with -q/--quiet >> for both GNU bc and this bc. I agree it's a bit noisy and would be >> nicer to not have that printed, but it's not without precedent for >> REPL-like things. > > Yes it is not without precedent for REPL-like things, still I dislike this and > would be happy to get bc interactive be as nice as the previous one we had :) > > If not I will deal with it and just yell internally each time I run it :D I'll forward this thread to the author - had already stated similar thought to him for consideration. Is very interested to prevent forks of his software - although not forbidden by the license - but he wants to keep his sources as the official and "clean" upstream for other projects. My guess is that he'll add a compile time switch to his version that will be added to our usr.bin Makefile and will suppress the start-up message in our base system version. (I'll keep the port version as is unless there is a strong preference to suppress it also in the port). I'd expect it to take a few days (since he only tags new versions after running a fuzzer for a few days if non-trivial changes have been performed and I know he improved something in the interpreter without publishing it, yet) ... Regards, STefan From owner-svn-src-all@freebsd.org Thu Jul 30 16:55:56 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E28203AA6CE; Thu, 30 Jul 2020 16:55:56 +0000 (UTC) (envelope-from st_esser@t-online.de) Received: from mailout10.t-online.de (mailout10.t-online.de [194.25.134.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mailout00.t-online.de", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHc492PJ7z4dKl; Thu, 30 Jul 2020 16:55:53 +0000 (UTC) (envelope-from st_esser@t-online.de) Received: from fwd21.aul.t-online.de (fwd21.aul.t-online.de [172.20.27.66]) by mailout10.t-online.de (Postfix) with SMTP id 708F541655DA; Thu, 30 Jul 2020 18:55:51 +0200 (CEST) Received: from Stefans-MacBook-Pro-449.fritz.box (JT9t1GZpYhOlPNszakVc8kXyhjq7se5ZLPOftP6B71a-HqXxRQwK3e-yOk0-fxqQd9@[93.200.63.47]) by fwd21.t-online.de with (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384 encrypted) esmtp id 1k1BqK-4D4Hpo0; Thu, 30 Jul 2020 18:55:44 +0200 Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc To: Jessica Clarke , Ravi Pokala Cc: Baptiste Daroussin , =?UTF-8?Q?Stefan_E=c3=9fer?= , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> <20200730163154.a4d7672xsugkhmxq@ivaldir.net> <7257CDA6-0D66-42EB-9920-90DB90B9CA63@freebsd.org> From: =?UTF-8?Q?Stefan_E=c3=9fer?= Message-ID: <42f2dcf3-6eda-fb69-cc95-30a18e716407@t-online.de> Date: Thu, 30 Jul 2020 18:55:43 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <7257CDA6-0D66-42EB-9920-90DB90B9CA63@freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 8bit X-ID: JT9t1GZpYhOlPNszakVc8kXyhjq7se5ZLPOftP6B71a-HqXxRQwK3e-yOk0-fxqQd9 X-TOI-EXPURGATEID: 150726::1596128144-0000D063-5DF8DEF2/0/0 CLEAN NORMAL X-TOI-MSGID: 1ce1b80d-64de-49f4-bc07-acdad585c175 X-Rspamd-Queue-Id: 4BHc492PJ7z4dKl X-Spamd-Bar: ++ Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of st_esser@t-online.de has no SPF policy when checking 194.25.134.21) smtp.mailfrom=st_esser@t-online.de X-Spamd-Result: default: False [2.43 / 15.00]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[93.200.63.47:received]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[t-online.de]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[t-online.de]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.77)[0.774]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_HAM_SHORT(-0.16)[-0.157]; NEURAL_SPAM_LONG(0.91)[0.908]; RCPT_COUNT_SEVEN(0.00)[7]; RCVD_IN_DNSWL_NONE(0.00)[194.25.134.21:from]; R_SPF_NA(0.00)[no SPF record]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:3320, ipnet:194.25.0.0/16, country:DE]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[t-online.de]; RWL_MAILSPIKE_POSSIBLE(0.00)[194.25.134.21:from] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 16:55:56 -0000 Am 30.07.20 um 18:45 schrieb Jessica Clarke: > On 30 Jul 2020, at 17:40, Ravi Pokala wrote: >> >> -----Original Message----- >> From: on behalf of Jessica Clarke >> Date: 2020-07-30, Thursday at 09:35 >> To: Baptiste Daroussin >> Cc: Stefan Eßer , src-committers , , >> Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc >> >> On 30 Jul 2020, at 17:31, Baptiste Daroussin wrote: >>> On Thu, Jul 30, 2020 at 05:28:19PM +0100, Jessica Clarke wrote: >>>> On 30 Jul 2020, at 17:20, Baptiste Daroussin wrote: >>>>> On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan Eßer wrote: >>>>>> Author: se >>>>>> Date: Sat Jul 11 07:33:18 2020 >>>>>> New Revision: 363091 >>>>>> URL: https://svnweb.freebsd.org/changeset/base/363091 >>>>>> >>>>>> Log: >>>>>> Update to version 3.1.3 >>>>>> >>>>> Jumping on that commit, since the switch from our previous bc. >>>>> >>>>> The output of the interactive bc has changed, the previous version had a clean >>>>> UI, the new version "pollutes" the output with plenty of lines about the >>>>> copyright: >>>>> >>>>> ==== >>>>> Copyright (c) 2018-2020 Gavin D. Howard and contributors >>>>> Report bugs at: https://git.yzena.com/gavin/bc >>>>> >>>>> This is free software with ABSOLUTELY NO WARRANTY. >>>>> ==== >>>>> >>>>> Imagine if all programs where doing that, it would be painful, do you think >>>>> upstream can be convinced to remove those lines? >>>>> >>>>> I no the GNU version also has the same polluted output which was one of the >>>>> reason I was happy with out previous version of bc. >>>> >>>> By default both will print such a banner if and only if being called >>>> interactively. You can disable the banner explicitly with -q/--quiet >>>> for both GNU bc and this bc. I agree it's a bit noisy and would be >>>> nicer to not have that printed, but it's not without precedent for >>>> REPL-like things. >>> >>> Yes it is not without precedent for REPL-like things, still I dislike this and >>> would be happy to get bc interactive be as nice as the previous one we had :) >>> >>> If not I will deal with it and just yell internally each time I run it :D >> >> `alias bc='bc -q'` / `alias bc bc -q` and preserve your inner zen? :) >> >> Jess >> >> I was actually about to complain about the new `dc' not exiting after evaluating a '-e' expression, without an explicit 'q'. But then I noticed the "DC_EXPR_EXIT" envvar, which restores the desired behavior. That lead me to discover "DC_ENV_ARGS" and, correspondingly, "BC_ENV_ARGS"; that last one would be helpful here. > > That does feel like the wrong default; even GNU dc doesn't do that, and > the principle of least surprise would suggest exiting is the right > thing to do. It's also unlikely you want to evaluate something and then > use it interactively. Interesting observation - I've got to admit that I hardly ever use dc (despite being the owner of a collection of HP UPN calculators ;-) ). I'll forward this to the author of this bc/dc and I'm sure he will offer a patched version (unless there are strong reasons for the current behavior, e.g. compatibility with another dc ...) Regards, STefan From owner-svn-src-all@freebsd.org Thu Jul 30 17:10:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0CED63AAB16; Thu, 30 Jul 2020 17:10:02 +0000 (UTC) (envelope-from rpokala@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHcNT6XCnz4fQ2; Thu, 30 Jul 2020 17:10:01 +0000 (UTC) (envelope-from rpokala@freebsd.org) Received: from [192.168.1.10] (c-98-207-126-143.hsd1.ca.comcast.net [98.207.126.143]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: rpokala) by smtp.freebsd.org (Postfix) with ESMTPSA id A3B4D203A1; Thu, 30 Jul 2020 17:09:59 +0000 (UTC) (envelope-from rpokala@freebsd.org) User-Agent: Microsoft-MacOutlook/16.39.20071300 Date: Thu, 30 Jul 2020 10:09:56 -0700 Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc From: Ravi Pokala To: Stefan =?UTF-8?B?RcOfZXI=?= , Jessica Clarke CC: Baptiste Daroussin , Stefan =?UTF-8?B?RcOfZXI=?= , src-committers , , Message-ID: Thread-Topic: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> <20200730163154.a4d7672xsugkhmxq@ivaldir.net> <7257CDA6-0D66-42EB-9920-90DB90B9CA63@freebsd.org> <42f2dcf3-6eda-fb69-cc95-30a18e716407@t-online.de> In-Reply-To: <42f2dcf3-6eda-fb69-cc95-30a18e716407@t-online.de> Mime-version: 1.0 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 17:10:02 -0000 -----Original Message----- From: on behalf of Stefan E=C3=9Fer Date: 2020-07-30, Thursday at 09:55 To: Jessica Clarke , Ravi Pokala Cc: Baptiste Daroussin , Stefan E=C3=9Fer , s= rc-committers , , Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals sr= c tests tests/bc Am 30.07.20 um 18:45 schrieb Jessica Clarke: > On 30 Jul 2020, at 17:40, Ravi Pokala wrote: >> >> -----Original Message----- >> From: on behalf of Jessica Clarke= >> Date: 2020-07-30, Thursday at 09:35 >> To: Baptiste Daroussin >> Cc: Stefan E=C3=9Fer , src-committers , , >> Subject: Re: svn commit: r363091 - in head/contrib/bc: . include man= uals src tests tests/bc >> >> On 30 Jul 2020, at 17:31, Baptiste Daroussin w= rote: >>> On Thu, Jul 30, 2020 at 05:28:19PM +0100, Jessica Clarke wrote: >>>> On 30 Jul 2020, at 17:20, Baptiste Daroussin wr= ote: >>>>> On Sat, Jul 11, 2020 at 07:33:19AM +0000, Stefan E=C3=9Fer wrote: >>>>>> Author: se >>>>>> Date: Sat Jul 11 07:33:18 2020 >>>>>> New Revision: 363091 >>>>>> URL: https://svnweb.freebsd.org/changeset/base/363091 >>>>>> >>>>>> Log: >>>>>> Update to version 3.1.3 >>>>>> >>>>> Jumping on that commit, since the switch from our previous bc. >>>>> >>>>> The output of the interactive bc has changed, the previous versio= n had a clean >>>>> UI, the new version "pollutes" the output with plenty of lines ab= out the >>>>> copyright: >>>>> >>>>> =3D=3D=3D=3D >>>>> Copyright (c) 2018-2020 Gavin D. Howard and contributors >>>>> Report bugs at: https://git.yzena.com/gavin/bc >>>>> >>>>> This is free software with ABSOLUTELY NO WARRANTY. >>>>> =3D=3D=3D=3D >>>>> >>>>> Imagine if all programs where doing that, it would be painful, do= you think >>>>> upstream can be convinced to remove those lines? >>>>> >>>>> I no the GNU version also has the same polluted output which was = one of the >>>>> reason I was happy with out previous version of bc. >>>> >>>> By default both will print such a banner if and only if being call= ed >>>> interactively. You can disable the banner explicitly with -q/--qui= et >>>> for both GNU bc and this bc. I agree it's a bit noisy and would be >>>> nicer to not have that printed, but it's not without precedent for >>>> REPL-like things. >>> >>> Yes it is not without precedent for REPL-like things, still I disli= ke this and >>> would be happy to get bc interactive be as nice as the previous one= we had :) >>> >>> If not I will deal with it and just yell internally each time I run= it :D >> >> `alias bc=3D'bc -q'` / `alias bc bc -q` and preserve your inner zen= ? :) >> >> Jess >> >> I was actually about to complain about the new `dc' not exiting afte= r evaluating a '-e' expression, without an explicit 'q'. But then I noticed = the "DC_EXPR_EXIT" envvar, which restores the desired behavior. That lead me= to discover "DC_ENV_ARGS" and, correspondingly, "BC_ENV_ARGS"; that last on= e would be helpful here. >=20 > That does feel like the wrong default; even GNU dc doesn't do that, a= nd > the principle of least surprise would suggest exiting is the right > thing to do. It's also unlikely you want to evaluate something and th= en > use it interactively. Interesting observation - I've got to admit that I hardly ever use dc (despite being the owner of a collection of HP UPN calculators ;-) ). Ironically, I couldn't wrap my head around HP RPN calculators in the '90s, = so I used a TI-85 or TI-89 instead. Now, I do all my non-trivial math using = RPN in `dc'. :-) -Ravi I'll forward this to the author of this bc/dc and I'm sure he will offer a patched version (unless there are strong reasons for the current behavior, e.g. compatibility with another dc ...) Regards, STefan From owner-svn-src-all@freebsd.org Thu Jul 30 17:10:23 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 965BC3AAC97; Thu, 30 Jul 2020 17:10:23 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHcNt5LgMz4fNF; Thu, 30 Jul 2020 17:10:22 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 70A4B3C0199; Thu, 30 Jul 2020 17:10:16 +0000 (UTC) Date: Thu, 30 Jul 2020 17:10:16 +0000 From: Brooks Davis To: Rick Macklem Cc: Ian Lepore , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-stable@freebsd.org" , "svn-src-stable-12@freebsd.org" Subject: Re: svn commit: r363625 - stable/12/usr.sbin/mountd Message-ID: <20200730171016.GC94620@spindle.one-eyed-alien.net> References: <202007272318.06RNIFjV005206@repo.freebsd.org> <4d5b871fad9412661c3914a64c8ca0b7a01d1dc6.camel@freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="LKTjZJSUETSlgu2t" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Rspamd-Queue-Id: 4BHcNt5LgMz4fNF X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of brooks@spindle.one-eyed-alien.net has no SPF policy when checking 199.48.129.229) smtp.mailfrom=brooks@spindle.one-eyed-alien.net X-Spamd-Result: default: False [-2.97 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.26)[-0.259]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-0.72)[-0.716]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; DMARC_NA(0.00)[freebsd.org]; AUTH_NA(1.00)[]; RCPT_COUNT_FIVE(0.00)[6]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-1.10)[-1.098]; SIGNED_PGP(-2.00)[]; FORGED_SENDER(0.30)[brooks@freebsd.org,brooks@spindle.one-eyed-alien.net]; RCVD_COUNT_ZERO(0.00)[0]; R_SPF_NA(0.00)[no SPF record]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:36236, ipnet:199.48.128.0/22, country:US]; FROM_NEQ_ENVFROM(0.00)[brooks@freebsd.org,brooks@spindle.one-eyed-alien.net] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 17:10:23 -0000 --LKTjZJSUETSlgu2t Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jul 30, 2020 at 03:48:34PM +0000, Rick Macklem wrote: > Rick Macklem wrote: > >Ian Lepore wrote: > >>On Thu, 2020-07-30 at 01:52 +0000, Rick Macklem wrote: > >>> Brooks Davis wrote: > >>> > Author: brooks > >>> > Date: Mon Jul 27 23:18:14 2020 > >>> > New Revision: 363625 > >>> > URL: https://svnweb.freebsd.org/changeset/base/363625 > >>> > > >>> > Log: > >>> > MFC r363439: > >>> > > >>> > Correct a type-mismatch between xdr_long and the variable "bad". > >>> > > >>> > [...] > >>> --> I can't see how the xdr.c code would work for a machine that is > >>> BIG_ENDIAN and where "long" is 64bits, but we don't have any of > >>> those. > >>> > >> > >>mips64 and powerpc64 are both big endian with 64-bit long. > >Oops, I didn't know that. In the past, I've run PowerPC and MIPS, but th= ought > >they both were little endian. (I recall the arches can be run either way= =2E) > > > >Anyhow, take a look at head/lib/libc/xdr/xdr.c and it looks to me like it > >has been broken "forever" (ever since we stopped using a K&R compiler > >that would have always made "long" 32bits). > OK, I took another look at xdr.c and it isn't broken as I thought. >=20 > xdr_long() takes a "long *" argument ("long" in Sun XDR is 32bits), > but then it only passes it as an argument to XDR_PUTLONG(), which is actu= ally > a call to xdrmem_putlong_aligned() or xdrmem_putlong_unaligned(). > For xdrmem_putlong_aligned(), the line is: > *(u_int32_t *)xdrs->x_private =3D htonl((u_int32_t)*lp); > --> where lp is a "long *" >=20 > I'll admit I'm not 100% sure if "(u_int32_t)*lp" gets the correct 32bits = of a 64bit > long pointer for all arches? (I'm not very good at knowing what type cast= s do.) > If this is the equivalent of "u_int32_t t; t =3D *lp; htonl(t); then I th= ink the code is ok? > (At least it makes it clear that it is using 32bits of the value pointed = to by the > argument.) >=20 > For xdrmem_putlong_unaligned(), it does the same thing via: > u_int32_t l; > ?. > l =3D htonl((u_int32_t)*lp); >=20 > --> At least the man page for xdr_long() should be clarified to note it > puts a 32bit quantity on the wire. >=20 > >If anyone has either of these and can set up an NFS server on one of > >them and then try and do an NFSv3 mount that is not allowed, it would > >be interesting to see the packet trace and if the MNT RPC fails, because > >it looks like it will put the high order 32bits on the wire and they'll > >always be 0? > It would still be interesting to test this on a 64bit big endian, but so = long as > the above cast works, it does look like it works for all arches. >=20 > >Just to clarify. The behaviour wasn't broken by this commit. I just > >don't see how the commit fixes anything? > My mistake. Sorry for the noise. >=20 > I now think the commit is correct since it uses "*lp" to get the value be= fore > casting it down to 32bits. Passing in an "int *" was incorrect. >=20 > The code does seem to handle "long *" for 64bit arches, although it > only puts 32bits "on-the-wire". >=20 > rick, who was confused because he knew there was only supposed to be > 32bits go on the wire. Thank you for all the analysis. I'd initially changed all the uses of bad to use xdr_int(), but switched to this "fix" because it's what NetBSD and OpenBSD have been using for over a decade (and there was less churn). I'm happy to flip it the other way if that seems more correct/less confusing. The previous code does in fact cause a 64-bit load of a pointer to an int on 64-bit platforms. I hit this in CheriBSD because that pointer had 4-byte bounds. -- Brooks --LKTjZJSUETSlgu2t Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJfIv72AAoJEKzQXbSebgfAH8EIAIlWUTJIM1GhDrwSAqFMnh38 jJbuQ2WT6LkuO+kghcC+MpOm4pQDEa/0yzmJp3U45LEeTomXi9gm4KkzMRipJzF3 6Lyx3/jaEAI+lf6WoShO9Nx9rR+aLLfY9EkpzzvXoyJg3HC1R6tAx0HIJgKFyDyZ F5rU6blO5XPIJ/iPXNjgoJF+lbXeohfiBobz30vQYR6Vq7fDnCtZh378La0Lce65 4OXAGkfsrGVyq5LAWs52T2MK7G64siw53c2VH/4kXvnTPeLLXGagJZfl7MWPedZY TlJ5obhZ875PWCkPNQsZ7DyQosPjpu4QCu5zMNxkCb62vUsvzxnfCRQthsKEB9s= =i3lH -----END PGP SIGNATURE----- --LKTjZJSUETSlgu2t-- From owner-svn-src-all@freebsd.org Thu Jul 30 17:18:43 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 977263AAF0D; Thu, 30 Jul 2020 17:18:43 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHcZW3XGtz4g2b; Thu, 30 Jul 2020 17:18:43 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 581B914347; Thu, 30 Jul 2020 17:18:43 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UHIhv6055750; Thu, 30 Jul 2020 17:18:43 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UHIhYJ055749; Thu, 30 Jul 2020 17:18:43 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202007301718.06UHIhYJ055749@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Thu, 30 Jul 2020 17:18:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363709 - stable/11/sys/kern X-SVN-Group: stable-11 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/11/sys/kern X-SVN-Commit-Revision: 363709 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 17:18:43 -0000 Author: brooks Date: Thu Jul 30 17:18:42 2020 New Revision: 363709 URL: https://svnweb.freebsd.org/changeset/base/363709 Log: MFC r363438: Use SI_ORDER_(FOURTH|FIFTH) rather than bespoke versions. No functional change. When these SYSINITs were added these macros didn't exist. Reviewed by: imp Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25758 Modified: stable/11/sys/kern/init_main.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/init_main.c ============================================================================== --- stable/11/sys/kern/init_main.c Thu Jul 30 15:50:51 2020 (r363708) +++ stable/11/sys/kern/init_main.c Thu Jul 30 17:18:42 2020 (r363709) @@ -370,18 +370,18 @@ SYSINIT(version, SI_SUB_COPYRIGHT, SI_ORDER_THIRD, pri #ifdef WITNESS static char wit_warn[] = "WARNING: WITNESS option enabled, expect reduced performance.\n"; -SYSINIT(witwarn, SI_SUB_COPYRIGHT, SI_ORDER_THIRD + 1, +SYSINIT(witwarn, SI_SUB_COPYRIGHT, SI_ORDER_FOURTH, print_caddr_t, wit_warn); -SYSINIT(witwarn2, SI_SUB_LAST, SI_ORDER_THIRD + 1, +SYSINIT(witwarn2, SI_SUB_LAST, SI_ORDER_FOURTH, print_caddr_t, wit_warn); #endif #ifdef DIAGNOSTIC static char diag_warn[] = "WARNING: DIAGNOSTIC option enabled, expect reduced performance.\n"; -SYSINIT(diagwarn, SI_SUB_COPYRIGHT, SI_ORDER_THIRD + 2, +SYSINIT(diagwarn, SI_SUB_COPYRIGHT, SI_ORDER_FIFTH, print_caddr_t, diag_warn); -SYSINIT(diagwarn2, SI_SUB_LAST, SI_ORDER_THIRD + 2, +SYSINIT(diagwarn2, SI_SUB_LAST, SI_ORDER_FIFTH, print_caddr_t, diag_warn); #endif From owner-svn-src-all@freebsd.org Thu Jul 30 17:43:23 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BC35D3AB173; Thu, 30 Jul 2020 17:43:23 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHd6z4d7Sz3St4; Thu, 30 Jul 2020 17:43:23 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8232E148AF; Thu, 30 Jul 2020 17:43:23 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UHhNlY074352; Thu, 30 Jul 2020 17:43:23 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UHhNsm074351; Thu, 30 Jul 2020 17:43:23 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007301743.06UHhNsm074351@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Thu, 30 Jul 2020 17:43:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363710 - head/sys/netinet6 X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/netinet6 X-SVN-Commit-Revision: 363710 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 17:43:23 -0000 Author: markj Date: Thu Jul 30 17:43:23 2020 New Revision: 363710 URL: https://svnweb.freebsd.org/changeset/base/363710 Log: ip6_output(): Check the return value of in6_getlinkifnet(). If the destination address has an embedded scope ID, make sure that it corresponds to a valid ifnet before proceeding. Otherwise a sendto() with a bogus link-local address can trigger a NULL pointer dereference. Reported by: syzkaller Reviewed by: ae Fixes: r358572 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25887 Modified: head/sys/netinet6/ip6_output.c Modified: head/sys/netinet6/ip6_output.c ============================================================================== --- head/sys/netinet6/ip6_output.c Thu Jul 30 17:18:42 2020 (r363709) +++ head/sys/netinet6/ip6_output.c Thu Jul 30 17:43:23 2020 (r363710) @@ -761,6 +761,10 @@ again: IN6_IS_ADDR_MC_NODELOCAL(&dst_sa.sin6_addr)) { if (scopeid > 0) { ifp = in6_getlinkifnet(scopeid); + if (ifp == NULL) { + error = EHOSTUNREACH; + goto bad; + } *dst = dst_sa; /* XXX */ goto nonh6lookup; } From owner-svn-src-all@freebsd.org Thu Jul 30 18:31:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D0D093ABBCD; Thu, 30 Jul 2020 18:31:25 +0000 (UTC) (envelope-from erj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHfBP5064z3Vff; Thu, 30 Jul 2020 18:31:25 +0000 (UTC) (envelope-from erj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8EBA814CF2; Thu, 30 Jul 2020 18:31:25 +0000 (UTC) (envelope-from erj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UIVPOi004414; Thu, 30 Jul 2020 18:31:25 GMT (envelope-from erj@FreeBSD.org) Received: (from erj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UIVPGM004413; Thu, 30 Jul 2020 18:31:25 GMT (envelope-from erj@FreeBSD.org) Message-Id: <202007301831.06UIVPGM004413@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: erj set sender to erj@FreeBSD.org using -f From: Eric Joyner Date: Thu, 30 Jul 2020 18:31:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363711 - stable/12/sys/dev/e1000 X-SVN-Group: stable-12 X-SVN-Commit-Author: erj X-SVN-Commit-Paths: stable/12/sys/dev/e1000 X-SVN-Commit-Revision: 363711 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 18:31:25 -0000 Author: erj Date: Thu Jul 30 18:31:25 2020 New Revision: 363711 URL: https://svnweb.freebsd.org/changeset/base/363711 Log: MFC r362063: em(4): Always reinit interface when adding/removing VLAN PR: 240818 Sponsored by: Intel Corporation Modified: stable/12/sys/dev/e1000/if_em.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/e1000/if_em.c ============================================================================== --- stable/12/sys/dev/e1000/if_em.c Thu Jul 30 17:43:23 2020 (r363710) +++ stable/12/sys/dev/e1000/if_em.c Thu Jul 30 18:31:25 2020 (r363711) @@ -4042,7 +4042,6 @@ em_if_needs_restart(if_ctx_t ctx __unused, enum iflib_ { switch (event) { case IFLIB_RESTART_VLAN_CONFIG: - return (false); default: return (true); } From owner-svn-src-all@freebsd.org Thu Jul 30 18:31:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 682A63ABC78 for ; Thu, 30 Jul 2020 18:31:59 +0000 (UTC) (envelope-from ricera10@gmail.com) Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHfC22psNz3Vjp for ; Thu, 30 Jul 2020 18:31:58 +0000 (UTC) (envelope-from ricera10@gmail.com) Received: by mail-lf1-f54.google.com with SMTP id i80so15475614lfi.13 for ; Thu, 30 Jul 2020 11:31:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rrzwe31JDGy+p7jhmmjTBz4cyS5ibD+jbLuRSHG5ZPQ=; b=g6h6S12186rmVkXcO4jbFRqxYdrJi+mUvMCPGNP/WGpCWLxPkl9Cunpq+y58fO1iaB gZBTfD0Iznk/CVqQUC9lF3vOfjNbLzgwCT/fc0+Z8P8r6Fu0TNHOwo42RXorwFTyUmm/ 3LtYRi70WAPrbdK2bXRiWPo+OkswxwlYnhrwH0fPxXeyUfooRNh6/d5VpFTqguzg6rfX LsGHMBzsm0Lw5kp0ctsdvMKuUEUBL8mTu2KEp3PK+0Ryv0hDncuh0O3Q8VSzknRvPA7P rKlg6k4IZ7LvAKxghKc7HrVeinNziCtIqo7PAiRgxqe0nF5RRt70mOfuY2pfH7AY75W0 bi5Q== X-Gm-Message-State: AOAM532yXojcX/6eQoVOMsMBjDBegFKHn5QPZOFjS/EGVs3y0JRZiE2u nDkOg2FsyDnVEMKfKk8XbbrnsVU9 X-Google-Smtp-Source: ABdhPJyQnqc15VWH+g1ubaPG7jeUS1zmdqbi6qx8/2eoPs3a+WHVRiVpwnwh2EEJzvSFyMcyG6U52g== X-Received: by 2002:a19:74f:: with SMTP id 76mr605lfh.164.1596133916307; Thu, 30 Jul 2020 11:31:56 -0700 (PDT) Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com. [209.85.167.53]) by smtp.gmail.com with ESMTPSA id h18sm1178049lji.136.2020.07.30.11.31.54 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Jul 2020 11:31:55 -0700 (PDT) Received: by mail-lf1-f53.google.com with SMTP id v15so10956715lfg.6 for ; Thu, 30 Jul 2020 11:31:54 -0700 (PDT) X-Received: by 2002:a19:8b55:: with SMTP id n82mr2278855lfd.35.1596133914502; Thu, 30 Jul 2020 11:31:54 -0700 (PDT) MIME-Version: 1.0 References: <202006111559.05BFxnSa070435@repo.freebsd.org> <20200725.124911.256350108759170094.nyan@FreeBSD.org> In-Reply-To: <20200725.124911.256350108759170094.nyan@FreeBSD.org> From: Eric Joyner Date: Thu, 30 Jul 2020 11:31:43 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r362063 - head/sys/dev/e1000 To: Yoshihiro Takahashi Cc: src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 4BHfC22psNz3Vjp X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of ricera10@gmail.com designates 209.85.167.54 as permitted sender) smtp.mailfrom=ricera10@gmail.com X-Spamd-Result: default: False [-2.10 / 15.00]; RCVD_TLS_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; NEURAL_HAM_LONG(-1.00)[-1.001]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; NEURAL_HAM_SHORT(-0.38)[-0.382]; RCVD_IN_DNSWL_NONE(0.00)[209.85.167.54:from]; NEURAL_HAM_MEDIUM(-0.72)[-0.718]; FORGED_SENDER(0.30)[erj@freebsd.org,ricera10@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.167.54:from]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FROM_NEQ_ENVFROM(0.00)[erj@freebsd.org,ricera10@gmail.com] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 18:31:59 -0000 Done in r363711. I apologize for it taking so long. On Fri, Jul 24, 2020 at 8:49 PM Yoshihiro Takahashi wrote: > Please merge this change to stable/12 branch until a proper fix is > done. > > --- > Yoshihiro Takahashi > > In article <202006111559.05BFxnSa070435@repo.freebsd.org> > Eric Joyner writes: > > > Author: erj > > Date: Thu Jun 11 15:59:49 2020 > > New Revision: 362063 > > URL: https://svnweb.freebsd.org/changeset/base/362063 > > > > Log: > > em(4): Always reinit interface when adding/removing VLAN > > > > This partially reverts r361053 since there have been reports > > by users that this breaks some functionality for em(4) > > devices; it seems at first glance that some sort of interface > > restart is required for those cards. > > > > This isn't a proper fix; this unbreaks those users until a proper > > fix is found for their issues. > > > > PR: 240818 > > Reported by: Marek Zarychta > > MFC after: 3 days > > > > Modified: > > head/sys/dev/e1000/if_em.c > > > > Modified: head/sys/dev/e1000/if_em.c > > > ============================================================================== > > --- head/sys/dev/e1000/if_em.c Thu Jun 11 15:17:13 2020 > (r362062) > > +++ head/sys/dev/e1000/if_em.c Thu Jun 11 15:59:49 2020 > (r362063) > > @@ -4059,7 +4059,6 @@ em_if_needs_restart(if_ctx_t ctx __unused, enum > iflib_ > > { > > switch (event) { > > case IFLIB_RESTART_VLAN_CONFIG: > > - return (false); > > default: > > return (true); > > } > From owner-svn-src-all@freebsd.org Thu Jul 30 19:11:03 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0D8B63ACAE3; Thu, 30 Jul 2020 19:11:03 +0000 (UTC) (envelope-from erj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHg466gQxz3XGb; Thu, 30 Jul 2020 19:11:02 +0000 (UTC) (envelope-from erj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C821615B06; Thu, 30 Jul 2020 19:11:02 +0000 (UTC) (envelope-from erj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UJB2YD028779; Thu, 30 Jul 2020 19:11:02 GMT (envelope-from erj@FreeBSD.org) Received: (from erj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UJB2iI028774; Thu, 30 Jul 2020 19:11:02 GMT (envelope-from erj@FreeBSD.org) Message-Id: <202007301911.06UJB2iI028774@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: erj set sender to erj@FreeBSD.org using -f From: Eric Joyner Date: Thu, 30 Jul 2020 19:11:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363712 - in stable/12/sys: conf modules powerpc/conf X-SVN-Group: stable-12 X-SVN-Commit-Author: erj X-SVN-Commit-Paths: in stable/12/sys: conf modules powerpc/conf X-SVN-Commit-Revision: 363712 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 19:11:03 -0000 Author: erj Date: Thu Jul 30 19:11:01 2020 New Revision: 363712 URL: https://svnweb.freebsd.org/changeset/base/363712 Log: MFC r358908: Enable ixl device on PowerPC64 Relnotes: yes Modified: stable/12/sys/conf/files.powerpc stable/12/sys/conf/options.powerpc stable/12/sys/modules/Makefile stable/12/sys/powerpc/conf/GENERIC64 Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/conf/files.powerpc ============================================================================== --- stable/12/sys/conf/files.powerpc Thu Jul 30 18:31:25 2020 (r363711) +++ stable/12/sys/conf/files.powerpc Thu Jul 30 19:11:01 2020 (r363712) @@ -43,6 +43,43 @@ dev/iicbus/max6690.c optional max6690 powermac dev/iicbus/ofw_iicbus.c optional iicbus aim dev/ipmi/ipmi.c optional ipmi dev/ipmi/ipmi_opal.c optional powernv ipmi +dev/ixl/if_ixl.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_pf_main.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_pf_qmgr.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_pf_iov.c optional ixl pci pci_iov powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_pf_i2c.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/if_iavf.c optional iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/iavf_vc.c optional iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/ixl_txrx.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_osdep.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_lan_hmc.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_hmc.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_common.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_nvm.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_adminq.c optional ixl pci powerpc64 | \ + iavf pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" +dev/ixl/i40e_dcb.c optional ixl pci powerpc64 \ + compile-with "${NORMAL_C} -I$S/dev/ixl" dev/nand/nfc_fsl.c optional nand mpc85xx dev/nand/nfc_rb.c optional nand mpc85xx # Most ofw stuff below is brought in by conf/files for options FDT, but Modified: stable/12/sys/conf/options.powerpc ============================================================================== --- stable/12/sys/conf/options.powerpc Thu Jul 30 18:31:25 2020 (r363711) +++ stable/12/sys/conf/options.powerpc Thu Jul 30 19:11:01 2020 (r363712) @@ -35,3 +35,6 @@ OFWCONS_POLL_HZ opt_ofw.h AGP_DEBUG opt_agp.h MIKROTIK + +# iWARP client interface support in ixl +IXL_IW opt_ixl.h Modified: stable/12/sys/modules/Makefile ============================================================================== --- stable/12/sys/modules/Makefile Thu Jul 30 18:31:25 2020 (r363711) +++ stable/12/sys/modules/Makefile Thu Jul 30 19:11:01 2020 (r363712) @@ -824,6 +824,8 @@ _wi= wi _drm2= drm2 .endif _ipmi= ipmi +_ixl= ixl +_nvram= opal_nvram .endif .if ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "powerpc" # Don't build powermac_nvram for powerpcspe, it's never supported. Modified: stable/12/sys/powerpc/conf/GENERIC64 ============================================================================== --- stable/12/sys/powerpc/conf/GENERIC64 Thu Jul 30 18:31:25 2020 (r363711) +++ stable/12/sys/powerpc/conf/GENERIC64 Thu Jul 30 19:11:01 2020 (r363712) @@ -146,6 +146,7 @@ device iflib # Ethernet hardware device em # Intel PRO/1000 Gigabit Ethernet Family device ix # Intel PRO/10GbE PCIE PF Ethernet Family +device ixl # Intel 700 Series Physical Function device ixv # Intel PRO/10GbE PCIE VF Ethernet Family device glc # Sony Playstation 3 Ethernet device llan # IBM pSeries Virtual Ethernet From owner-svn-src-all@freebsd.org Thu Jul 30 22:13:15 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E80E736850A; Thu, 30 Jul 2020 22:13:15 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHl6M5kYpz41MR; Thu, 30 Jul 2020 22:13:15 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A80A217E94; Thu, 30 Jul 2020 22:13:15 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UMDFht047265; Thu, 30 Jul 2020 22:13:15 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UMDF6g047264; Thu, 30 Jul 2020 22:13:15 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007302213.06UMDF6g047264@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 22:13:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363713 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 363713 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 22:13:16 -0000 Author: mjg Date: Thu Jul 30 22:13:15 2020 New Revision: 363713 URL: https://svnweb.freebsd.org/changeset/base/363713 Log: fd: predict in fdrop Modified: head/sys/sys/file.h Modified: head/sys/sys/file.h ============================================================================== --- head/sys/sys/file.h Thu Jul 30 19:11:01 2020 (r363712) +++ head/sys/sys/file.h Thu Jul 30 22:13:15 2020 (r363713) @@ -279,21 +279,22 @@ int fgetvp_read(struct thread *td, int fd, cap_rights_ int fgetvp_write(struct thread *td, int fd, cap_rights_t *rightsp, struct vnode **vpp); -static __inline int -_fnoop(void) -{ - - return (0); -} - static __inline __result_use_check bool fhold(struct file *fp) { return (refcount_acquire_checked(&fp->f_count)); } -#define fdrop(fp, td) \ - (refcount_release(&(fp)->f_count) ? _fdrop((fp), (td)) : _fnoop()) +#define fdrop(fp, td) ({ \ + struct file *_fp; \ + int _error; \ + \ + _error = 0; \ + _fp = (fp); \ + if (__predict_false(refcount_release(&_fp->f_count))) \ + _error = _fdrop(_fp, td); \ + _error; \ +}) static __inline fo_rdwr_t fo_read; static __inline fo_rdwr_t fo_write; From owner-svn-src-all@freebsd.org Thu Jul 30 22:13:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9B27C3684B3; Thu, 30 Jul 2020 22:13:32 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-ot1-f68.google.com (mail-ot1-f68.google.com [209.85.210.68]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHl6g64T1z41TH; Thu, 30 Jul 2020 22:13:31 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-ot1-f68.google.com with SMTP id q9so5619483oth.5; Thu, 30 Jul 2020 15:13:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=KNd8UhbNyp+BadnkEJlAptn2TkUaasQPbQVL74ntPhQ=; b=es110Lw6VjpMuaUZ1/3c2Si2N53gIG8uE3Gyb+veaczIkQL/U+os5WJ1G8ib3lZH7E n0EzPeCXkwHbsT6DegLMvE4yFpYF5w5ue27v9roBqg1pOSRH0oaOstyByi+VUwGYQQPG lsq/HZzSfWGod6cnBuwaDqLhsamIyMxfnhVPXYKNQiI4bGbEK5Zr87Ge2dfNZ419zzmo gLLQU8tKd7KnEhBkdbI4X/vxvqcVdKYJojqwKrq7R+QrNmbUx4YgPYdW3I7xltHDXHqp Y/mrZ5Vuh0lZnJ4WtaqZ4CWZThyJnvCqDOIhqQDd69NefGI3Ezi8Dvf9ywVbVQMhcWP0 S3ag== X-Gm-Message-State: AOAM531aO+4WsxTymHawF95mr1ALFpiaH7cvTkCnaqLMhUMk5/jVm9HB gFmL76vRl40YVZERHcUarJnNW2t6 X-Google-Smtp-Source: ABdhPJz5lLszaVrPt0+Ykj+C90x/jgMHfFhoaKwg8dBheWdFZUF8sApe3wuuudel6Oc4nTbfBf7vgg== X-Received: by 2002:a9d:355:: with SMTP id 79mr567526otv.330.1596147210499; Thu, 30 Jul 2020 15:13:30 -0700 (PDT) Received: from mail-ot1-f51.google.com (mail-ot1-f51.google.com. [209.85.210.51]) by smtp.gmail.com with ESMTPSA id m13sm1041349otf.43.2020.07.30.15.13.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Jul 2020 15:13:30 -0700 (PDT) Received: by mail-ot1-f51.google.com with SMTP id a65so12113535otc.8; Thu, 30 Jul 2020 15:13:30 -0700 (PDT) X-Received: by 2002:a9d:3b61:: with SMTP id z88mr641237otb.135.1596147209962; Thu, 30 Jul 2020 15:13:29 -0700 (PDT) MIME-Version: 1.0 References: <202007241734.06OHY53J080448@repo.freebsd.org> <20200728184152.GH2551@kib.kiev.ua> In-Reply-To: <20200728184152.GH2551@kib.kiev.ua> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Thu, 30 Jul 2020 15:13:19 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363482 - in head/sys: kern sys To: Konstantin Belousov Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4BHl6g64T1z41TH X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of csecem@gmail.com designates 209.85.210.68 as permitted sender) smtp.mailfrom=csecem@gmail.com X-Spamd-Result: default: False [-1.55 / 15.00]; HAS_REPLYTO(0.00)[cem@freebsd.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; RWL_MAILSPIKE_GOOD(0.00)[209.85.210.68:from]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; REPLYTO_ADDR_EQ_FROM(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; TO_DN_ALL(0.00)[]; NEURAL_HAM_SHORT(-0.13)[-0.131]; FREEMAIL_TO(0.00)[gmail.com]; FORGED_SENDER(0.30)[cem@freebsd.org,csecem@gmail.com]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; R_DKIM_NA(0.00)[]; TAGGED_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.47)[-0.468]; FROM_NEQ_ENVFROM(0.00)[cem@freebsd.org,csecem@gmail.com]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_HAM_LONG(-0.95)[-0.955]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.210.68:from]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 22:13:32 -0000 Hi Konstantin, On Tue, Jul 28, 2020 at 11:42 AM Konstantin Belousov wrote: > > On Fri, Jul 24, 2020 at 05:34:05PM +0000, Conrad Meyer wrote: > > ... > > --- head/sys/kern/vfs_bio.c Fri Jul 24 17:32:10 2020 (r363481) > > +++ head/sys/kern/vfs_bio.c Fri Jul 24 17:34:04 2020 (r363482) > > @@ -3849,7 +3849,7 @@ getblkx(struct vnode *vp, daddr_t blkno, daddr_t dblkn > > ... > > + /* Attempt lockless lookup first. */ > > + bp = gbincore_unlocked(bo, blkno); > > + if (bp == NULL) > > + goto newbuf_unlocked; > > + > > + lockflags = LK_EXCLUSIVE | LK_SLEEPFAIL | > > + ((flags & GB_LOCK_NOWAIT) ? LK_NOWAIT : 0); > > + > > + error = BUF_TIMELOCK(bp, lockflags, NULL, "getblku", slpflag, > > + slptimeo); > I realized that this is not safe. There is an ordering between buffer > types that defines which order buffer locks should obey. For instance, > on UFS the critical order is inode buffer -> snaplk -> cg buffer, or > data block -> indirect data block. Since buffer identity can change under > us, we might end up waiting for a lock of type that is incompatible with > the currently owned lock. > > I think the easiest fix is to use LK_NOWAIT always, after all it is lockless > path. ERESTART/EINTR checks below than can be removed. Thanks, that makes sense to me. Please see https://reviews.freebsd.org/D25898 . (For the UFS scenario, I think this requires an on-disk sector changing identity from one kind to another? I believe lblknos are mostly statically typed in UFS, but it could happen with data blocks and indirect blocks? Of course, UFS is not the only filesystem.) Best regards, Conrad From owner-svn-src-all@freebsd.org Thu Jul 30 22:14:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 55E803684B8; Thu, 30 Jul 2020 22:14:05 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHl7K1fGYz4209; Thu, 30 Jul 2020 22:14:05 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1BE8217E95; Thu, 30 Jul 2020 22:14:05 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UME4BG047349; Thu, 30 Jul 2020 22:14:04 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UME4Iw047348; Thu, 30 Jul 2020 22:14:04 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007302214.06UME4Iw047348@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 22:14:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363714 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363714 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 22:14:05 -0000 Author: mjg Date: Thu Jul 30 22:14:04 2020 New Revision: 363714 URL: https://svnweb.freebsd.org/changeset/base/363714 Log: Further depessimize priv_check_cred_vfs_generation Modified: head/sys/kern/kern_priv.c Modified: head/sys/kern/kern_priv.c ============================================================================== --- head/sys/kern/kern_priv.c Thu Jul 30 22:13:15 2020 (r363713) +++ head/sys/kern/kern_priv.c Thu Jul 30 22:14:04 2020 (r363714) @@ -247,8 +247,8 @@ priv_check(struct thread *td, int priv) return (priv_check_cred(td->td_ucred, priv)); } -int -priv_check_cred_vfs_generation(struct ucred *cred) +static int __noinline +priv_check_cred_vfs_generation_slow(struct ucred *cred) { int error; @@ -270,4 +270,19 @@ priv_check_cred_vfs_generation(struct ucred *cred) out: return (priv_check_cred_post(cred, PRIV_VFS_GENERATION, error, true)); +} + +int +priv_check_cred_vfs_generation(struct ucred *cred) +{ + int error; + + if (__predict_false(mac_priv_check_fp_flag || + mac_priv_grant_fp_flag || SDT_PROBES_ENABLED())) + return (priv_check_cred_vfs_generation_slow(cred)); + + error = EPERM; + if (!jailed(cred) && cred->cr_uid == 0 && suser_enabled) + error = 0; + return (error); } From owner-svn-src-all@freebsd.org Thu Jul 30 22:33:11 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F2CF5368B44; Thu, 30 Jul 2020 22:33:11 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHlYM3QwCz42sw; Thu, 30 Jul 2020 22:33:11 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.16.1/8.16.1) with ESMTPS id 06UMWvvj056787 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 31 Jul 2020 01:33:00 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 06UMWvvj056787 Received: (from kostik@localhost) by tom.home (8.16.1/8.16.1/Submit) id 06UMWvm3056786; Fri, 31 Jul 2020 01:32:57 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 31 Jul 2020 01:32:57 +0300 From: Konstantin Belousov To: Conrad Meyer Cc: src-committers , svn-src-all , svn-src-head Subject: Re: svn commit: r363482 - in head/sys: kern sys Message-ID: <20200730223257.GL2551@kib.kiev.ua> References: <202007241734.06OHY53J080448@repo.freebsd.org> <20200728184152.GH2551@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 4BHlYM3QwCz42sw X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 22:33:12 -0000 On Thu, Jul 30, 2020 at 03:13:19PM -0700, Conrad Meyer wrote: > Hi Konstantin, > > On Tue, Jul 28, 2020 at 11:42 AM Konstantin Belousov > wrote: > > > > On Fri, Jul 24, 2020 at 05:34:05PM +0000, Conrad Meyer wrote: > > > ... > > > --- head/sys/kern/vfs_bio.c Fri Jul 24 17:32:10 2020 (r363481) > > > +++ head/sys/kern/vfs_bio.c Fri Jul 24 17:34:04 2020 (r363482) > > > @@ -3849,7 +3849,7 @@ getblkx(struct vnode *vp, daddr_t blkno, daddr_t dblkn > > > ... > > > + /* Attempt lockless lookup first. */ > > > + bp = gbincore_unlocked(bo, blkno); > > > + if (bp == NULL) > > > + goto newbuf_unlocked; > > > + > > > + lockflags = LK_EXCLUSIVE | LK_SLEEPFAIL | > > > + ((flags & GB_LOCK_NOWAIT) ? LK_NOWAIT : 0); > > > + > > > + error = BUF_TIMELOCK(bp, lockflags, NULL, "getblku", slpflag, > > > + slptimeo); > > I realized that this is not safe. There is an ordering between buffer > > types that defines which order buffer locks should obey. For instance, > > on UFS the critical order is inode buffer -> snaplk -> cg buffer, or > > data block -> indirect data block. Since buffer identity can change under > > us, we might end up waiting for a lock of type that is incompatible with > > the currently owned lock. > > > > I think the easiest fix is to use LK_NOWAIT always, after all it is lockless > > path. ERESTART/EINTR checks below than can be removed. > > Thanks, that makes sense to me. Please see https://reviews.freebsd.org/D25898 . > > (For the UFS scenario, I think this requires an on-disk sector > changing identity from one kind to another? I believe lblknos are > mostly statically typed in UFS, but it could happen with data blocks > and indirect blocks? Of course, UFS is not the only filesystem.) For UFS, it is enough for buffer to change its identity due to reclaim. We do not pin buffers to device/block number for their lifetime. So buffer might be freed and reassigned to different block under us. From owner-svn-src-all@freebsd.org Thu Jul 30 22:38:07 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5BFE1368D34; Thu, 30 Jul 2020 22:38:07 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-eopbgr670054.outbound.protection.outlook.com [40.107.67.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHlg26zTdz430B; Thu, 30 Jul 2020 22:38:06 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YYF91y3Y/CXMyePEE+kYYz96fnOZPFQamWtO/I4Q2eOHEDuNO/pXn9MEHZhRlTJYLXahF4z4FruE2RwK7hIVS9MEQoQsdP53K7yvVPWEk+n5demncgzwcqo6cJfhFI8gYIjceLCHuGJ1ki6QrN1F9U+uVZQz41Pdnr5jIug8xop+FtVyRLyxOIYh167vrcn6mqWZzH0rKGY83qqJ6/P4Em14mRjyG0szWnt24QJNpbkwBbyheGN7kYOwgl5R2ZqfS5L4hLEbx/nDHO5mulhO6NZnADO0Fs7yfXzVOn+EUpdbMznu3akaNoNvDg+NEH0DItult8mcPzdaK3CJnUclUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nNrRhr4G5sufYSwcoRyZTVnUlce0Bo/4cGlqg7R39Ug=; b=Pt9se5sl7fvkb8t6kZqqNe0erV3AfUO81w1VFYkTjkQkjyuIS7Hc1xk41NDQHFmnhbuR9eMMY2dOWbORdNECUa40AyyrF0URzQwj/bGVbKSlfDlTW0IzBTtzYXbvt2HkC6r9A0nVy7qo+pAy8lHgWQYp3gMkp5vF7hQ3oPhwjkTykRGr/T/VFh2LFWXAKDMFVcfRG8IBdXgFiSQ0gEBefpFHV/kq68Irj7fW86PHtrL1Hb7lLn9XV6jO3yWp8LrzfNc5eogLlY/elMVjpSj1HWTTQNf8N5hDxGaa8APAbg8BYq9J8q1a0/5LEv2exN+s85dL3FM1fr0gt4tKQQGsjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nNrRhr4G5sufYSwcoRyZTVnUlce0Bo/4cGlqg7R39Ug=; b=rUCyB+6pIV0cnlYRbKNBHmucNHjmHMLHCkj0N29Cg2fn3YeRbO0JKJlpszUj70KLlMj1pKCCHKqLB8lFo11nW85tiVqnG+eOWtJ6bSkCgphHH0Q2/6u01a/Hofc+6RlAUu+onq6VV+J2EQo2TbQmJJp5FWmg5zrm9WpRx9TEw8GrwhzHzwOaN9C+aCQ4Sj4ncRoukGO5WTqqYvl13Zy+QSsUtTCvpe7BsNORPPHPxkOdz4p2IxNiNitqme1vKw7GvJeNXX54vCsJPXvRUCtqK6CeRD0A4t+dF2Qm7cyHr1CUsJll56TjeUBo4eAoseRi0HNKH/NZ/cCM67GSj0MxsQ== Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:38::14) by QB1PR01MB2515.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:36::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.26; Thu, 30 Jul 2020 22:38:04 +0000 Received: from QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::60f3:4ca2:8a4a:1e91]) by QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM ([fe80::60f3:4ca2:8a4a:1e91%7]) with mapi id 15.20.3216.033; Thu, 30 Jul 2020 22:38:04 +0000 From: Rick Macklem To: Brooks Davis CC: Ian Lepore , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-stable@freebsd.org" , "svn-src-stable-12@freebsd.org" Subject: Re: svn commit: r363625 - stable/12/usr.sbin/mountd Thread-Topic: svn commit: r363625 - stable/12/usr.sbin/mountd Thread-Index: AQHWZGw7l3AA2GANGkmYHY+WWlMRT6kfVzKsgAAiMQCAADpv4oAAiFtWgAAjkQCAAFdClw== Date: Thu, 30 Jul 2020 22:38:04 +0000 Message-ID: References: <202007272318.06RNIFjV005206@repo.freebsd.org> <4d5b871fad9412661c3914a64c8ca0b7a01d1dc6.camel@freebsd.org> , <20200730171016.GC94620@spindle.one-eyed-alien.net> In-Reply-To: <20200730171016.GC94620@spindle.one-eyed-alien.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 88f6fb09-c62a-46d2-43b6-08d834d9396a x-ms-traffictypediagnostic: QB1PR01MB2515: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Vhy9BBG6oO5huWh3erBx3rs5VirzEYUkiZzxGYxT0BW0ebAhBxeMqEOleelXIjOtZ75QMeQCOzW4zHras6+XSD53xiAiWhl3fBYJyyEc4+1KGFawdQW8CMvSijOZntR+vmH7ZXMqp9GSLkuBrTCYKE4crsMl8wEDUW9GrDzKRAoDO7ohTuW3CFUNv8eSPbKALIfkCXtF2weZwE1SQLNb6s8ilxxczzqMQJ7nRGj5pKOuVKJ4hlyFlLWVzJaEugPDXtyJuih2l7sduoE2hon3aSlw1Kb0Pr02w9naN7sat9c5cZ3Nqft5UmUVDFAV8Ro/sroRd2VBKrY3Z8OlZCWpMLnWzX9yaYbAqs8aXGsKsgPxXWYe31Toz/XCBZ7Mte50Ih8MDXbzXUROvdNUrJwovQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(346002)(366004)(376002)(396003)(39860400002)(136003)(7696005)(966005)(33656002)(76116006)(450100002)(478600001)(6916009)(86362001)(5660300002)(83380400001)(8936002)(9686003)(2906002)(186003)(54906003)(8676002)(55016002)(6506007)(786003)(64756008)(91956017)(71200400001)(66556008)(66946007)(66446008)(4326008)(66476007)(52536014)(316002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: yJEJzL/no5UUDMJ2ak1VTp4eAgHXkeiy18Y6ueEAkhQTn6Waj8pi8SDiU7bims7mJ7ocMsbs4YglyMMikSCIar+2SQ1WScPM481De9ihaWv2H6lqlm1aBNubm03aivChOZVWDcnfZqrmQbXkQ+z3tqzdHJmZTggOA7t/nd7o5KDQ3T1jukPQF3zd89gtkC8rjJn5q6/4hV8agcQbUQpFOx+/CvNlIkcB8yL7pOy7ZLvqrNPNv6WngFLkaLBMI+aDv4e4vy6nMZHq/Y08jeyBsaxsaIoefX+a36TkusTMR68hYW+haLj4Mp24CdfKPiUcbWLwydtHS5M3Upv59SsEQ+p64qCic71uWcg3f9HsfpjEgZnweWwfx/uXWTLDANMEZvO2s1caCOZWmrO4b7UjB8zqHHnzUaY9hpP0FsXRvryLfArOo4uBunjRPG+Bvd8WPIpJlUrj924P+FaHdje0I/k903jelS4kEc64DG+b1Cfe/PU4tc/4C06hrax6pi75BsFVg8dJkLChkYnY5N0aLzhoYWJhuDxUSfVw1jYmtsQ= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: uoguelph.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 88f6fb09-c62a-46d2-43b6-08d834d9396a X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2020 22:38:04.7349 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ThcPlmXmcC7vHK0ixmaLvxDBjQzWJMSyPT23+Bn6PWfBxUuZSMqlISpfZuQUjLwmtjjCPXQDZmX2AVqWmhUwUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: QB1PR01MB2515 X-Rspamd-Queue-Id: 4BHlg26zTdz430B X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 22:38:07 -0000 Brooks Davis wrote:=0A= >On Thu, Jul 30, 2020 at 03:48:34PM +0000, Rick Macklem wrote:=0A= >> Rick Macklem wrote:=0A= >> >Ian Lepore wrote:=0A= >> >>On Thu, 2020-07-30 at 01:52 +0000, Rick Macklem wrote:=0A= >> >>> Brooks Davis wrote:=0A= >> >>> > Author: brooks=0A= >> >>> > Date: Mon Jul 27 23:18:14 2020=0A= >> >>> > New Revision: 363625=0A= >> >>> > URL: https://svnweb.freebsd.org/changeset/base/363625=0A= >> >>> >=0A= >> >>> > Log:=0A= >> >>> > MFC r363439:=0A= >> >>> >=0A= >> >>> > Correct a type-mismatch between xdr_long and the variable "bad".= =0A= >> >>> >=0A= >> >>> > [...]=0A= >> >>> --> I can't see how the xdr.c code would work for a machine that is= =0A= >> >>> BIG_ENDIAN and where "long" is 64bits, but we don't have any of=0A= >> >>> those.=0A= >> >>>=0A= >> >>=0A= >> >>mips64 and powerpc64 are both big endian with 64-bit long.=0A= >> >Oops, I didn't know that. In the past, I've run PowerPC and MIPS, but t= hought=0A= >> >they both were little endian. (I recall the arches can be run either wa= y.)=0A= >> >=0A= >> >Anyhow, take a look at head/lib/libc/xdr/xdr.c and it looks to me like = it=0A= >> >has been broken "forever" (ever since we stopped using a K&R compiler= =0A= >> >that would have always made "long" 32bits).=0A= >> OK, I took another look at xdr.c and it isn't broken as I thought.=0A= >>=0A= >> xdr_long() takes a "long *" argument ("long" in Sun XDR is 32bits),=0A= >> but then it only passes it as an argument to XDR_PUTLONG(), which is act= ually=0A= >> a call to xdrmem_putlong_aligned() or xdrmem_putlong_unaligned().=0A= >> For xdrmem_putlong_aligned(), the line is:=0A= >> *(u_int32_t *)xdrs->x_private =3D htonl((u_int32_t)*lp);=0A= >> --> where lp is a "long *"=0A= >>=0A= >> I'll admit I'm not 100% sure if "(u_int32_t)*lp" gets the correct 32bits= of a 64bit=0A= >> long pointer for all arches? (I'm not very good at knowing what type cas= ts do.)=0A= >> If this is the equivalent of "u_int32_t t; t =3D *lp; htonl(t); then I t= hink the code is ok?=0A= >> (At least it makes it clear that it is using 32bits of the value pointed= to by the=0A= >> argument.)=0A= >>=0A= >> For xdrmem_putlong_unaligned(), it does the same thing via:=0A= >> u_int32_t l;=0A= >> ?.=0A= >> l =3D htonl((u_int32_t)*lp);=0A= >>=0A= >> --> At least the man page for xdr_long() should be clarified to note it= =0A= >> puts a 32bit quantity on the wire.=0A= I think I will try and come up with a man page patch, noting that xdr_long(= )=0A= always puts 32bits on the wire, even if long is 64bits for the arch.=0A= =0A= >>=0A= >> >If anyone has either of these and can set up an NFS server on one of=0A= >> >them and then try and do an NFSv3 mount that is not allowed, it would= =0A= >> >be interesting to see the packet trace and if the MNT RPC fails, becaus= e=0A= >> >it looks like it will put the high order 32bits on the wire and they'll= =0A= >> >always be 0?=0A= >> It would still be interesting to test this on a 64bit big endian, but so= long as=0A= >> the above cast works, it does look like it works for all arches.=0A= >>=0A= >> >Just to clarify. The behaviour wasn't broken by this commit. I just=0A= >> >don't see how the commit fixes anything?=0A= >> My mistake. Sorry for the noise.=0A= >>=0A= >> I now think the commit is correct since it uses "*lp" to get the value b= efore=0A= >> casting it down to 32bits. Passing in an "int *" was incorrect.=0A= >>=0A= >> The code does seem to handle "long *" for 64bit arches, although it=0A= >> only puts 32bits "on-the-wire".=0A= >>=0A= >> rick, who was confused because he knew there was only supposed to be=0A= >> 32bits go on the wire.=0A= >=0A= >Thank you for all the analysis. I'd initially changed all the uses=0A= >of bad to use xdr_int(), but switched to this "fix" because it's what=0A= >NetBSD and OpenBSD have been using for over a decade (and there was=0A= >less churn). I'm happy to flip it the other way if that seems more=0A= >correct/less confusing.=0A= I think your current patch is fine. The confusion is w.r.t. what xdr_long()= does=0A= for a 64bit long and I think a man page update may be the way to go.=0A= --> If you look in xdr.c, xdr_int() assigns the value to a long and then en= ds=0A= up truncating it back down, similar to xdr_long().=0A= --> Some of the stuff in xdr.c is pretty scary for 64bit longs, but i= t all=0A= seems to work, once you look at it for a while.;-)=0A= =0A= >The previous code does in fact cause a 64-bit load of a pointer to an=0A= >int on 64-bit platforms. I hit this in CheriBSD because that pointer=0A= >had 4-byte bounds.=0A= Yes. The first time I looked at the code (it was late evening), I misread= =0A= ((u_int32_t)*lp) as *((u_int32_t *)lp) and that was why I thought your= patch=0A= was broken.=0A= =0A= Thanks for doing this and sorry about the noise, rick=0A= ps: Personally, I've never understood why ANSI C allowed "long" to be 64bit= s=0A= on some arches. I still bump into hassles because the old K&R code was= =0A= written assuming long to be 32bits.=0A= =0A= -- Brooks=0A= From owner-svn-src-all@freebsd.org Thu Jul 30 22:52:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6187A368AEB; Thu, 30 Jul 2020 22:52:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHlzR20Lpz43SH; Thu, 30 Jul 2020 22:52:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2838A184F6; Thu, 30 Jul 2020 22:52:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UMqJ9L069028; Thu, 30 Jul 2020 22:52:19 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UMqJYU069027; Thu, 30 Jul 2020 22:52:19 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007302252.06UMqJYU069027@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 22:52:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363715 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363715 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 22:52:19 -0000 Author: mjg Date: Thu Jul 30 22:52:18 2020 New Revision: 363715 URL: https://svnweb.freebsd.org/changeset/base/363715 Log: cache: drop the useless numchecks counter Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Thu Jul 30 22:14:04 2020 (r363714) +++ head/sys/kern/vfs_cache.c Thu Jul 30 22:52:18 2020 (r363715) @@ -419,7 +419,6 @@ STATNODE_COUNTER(numcachehv, "Number of namecache entr STATNODE_COUNTER(numdrops, "Number of dropped entries due to reaching the limit"); STATNODE_COUNTER(dothits, "Number of '.' hits"); STATNODE_COUNTER(dotdothits, "Number of '..' hits"); -STATNODE_COUNTER(numchecks, "Number of checks in lookup"); STATNODE_COUNTER(nummiss, "Number of cache misses"); STATNODE_COUNTER(nummisszap, "Number of cache misses we do not want to cache"); STATNODE_COUNTER(numposzaps, @@ -1315,7 +1314,6 @@ retry: rw_wlock(blp); CK_LIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - counter_u64_add(numchecks, 1); if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen)) break; @@ -1460,7 +1458,6 @@ retry_hashed: } CK_LIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - counter_u64_add(numchecks, 1); if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen)) break; @@ -3366,7 +3363,6 @@ cache_fplookup_next(struct cache_fpl *fpl) hash = cache_get_hash(cnp->cn_nameptr, cnp->cn_namelen, dvp); CK_LIST_FOREACH(ncp, (NCHHASH(hash)), nc_hash) { - counter_u64_add(numchecks, 1); if (ncp->nc_dvp == dvp && ncp->nc_nlen == cnp->cn_namelen && !bcmp(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen)) break; From owner-svn-src-all@freebsd.org Thu Jul 30 22:55:31 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EE32B3691B3 for ; Thu, 30 Jul 2020 22:55:31 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHm371Bdtz43mJ for ; Thu, 30 Jul 2020 22:55:31 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: by mail-wm1-f67.google.com with SMTP id g8so7052669wmk.3 for ; Thu, 30 Jul 2020 15:55:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=ju1VdFRxCoO59mLAC28bUSbPuU5zG1TcmqC2zSCcAns=; b=aj2BhFhzyqFW4qTKAFrec69DsuT+QO/7dMejUJLGrRnvTCh729acVeMxQ9MDaQjPe5 wriLRzVdyN4aY1G4yY4p1wqv/DQJLudnxrN4pXMV455zRHX970Q8b6A98poXK/4kV0fE e4hQi0LzO6dlnV0pPXccgS44QJoCCkWf7PYWY7w/7SMnea3y7oRITv5QkSpBcgsv3AAM 18ktxWpk0eUbLRHxSynFNOlYy3FQuLvdrW/WD0c/XN4FO28qX2mdmL7p3x3TrsnJjhxX +nCjF1eM1SWRlvUfduvdhMskZiCiE4+2S2w1k8NA2F28XdM0Zp/R7HMQPk4uSWzOkz8h EBzg== X-Gm-Message-State: AOAM530a+nDtYSdYXasIMX80lRhjKVl5bo1iRBLqEhGmNtM9dnP3uvrk kXlrX1h4pqJC4gD6EzUGrE4Sfw== X-Google-Smtp-Source: ABdhPJy0MCaEenksD67PeY1obTFbZr6O2AUrIO0qcwBeo+zvYDYaT2X6qGof4HxUxLxVoCMK78mBCA== X-Received: by 2002:a7b:c00c:: with SMTP id c12mr1306063wmb.54.1596149729706; Thu, 30 Jul 2020 15:55:29 -0700 (PDT) Received: from [192.168.149.251] (trinity-students-nat.trin.cam.ac.uk. [131.111.193.104]) by smtp.gmail.com with ESMTPSA id m4sm10171010wmi.48.2020.07.30.15.55.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Jul 2020 15:55:29 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: svn commit: r363625 - stable/12/usr.sbin/mountd From: Jessica Clarke In-Reply-To: Date: Thu, 30 Jul 2020 23:55:28 +0100 Cc: Brooks Davis , Ian Lepore , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-stable@freebsd.org" , "svn-src-stable-12@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <4110A1E0-BAFD-416C-A455-CDB8C2F8E208@freebsd.org> References: <202007272318.06RNIFjV005206@repo.freebsd.org> <4d5b871fad9412661c3914a64c8ca0b7a01d1dc6.camel@freebsd.org> <20200730171016.GC94620@spindle.one-eyed-alien.net> To: Rick Macklem X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Rspamd-Queue-Id: 4BHm371Bdtz43mJ X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.128.67 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com X-Spamd-Result: default: False [-2.09 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-all@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; NEURAL_HAM_LONG(-1.06)[-1.059]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.53)[-0.532]; RCPT_COUNT_SEVEN(0.00)[7]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.67:from]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.67:from]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 22:55:32 -0000 On 30 Jul 2020, at 23:38, Rick Macklem wrote: > Brooks Davis wrote: >> On Thu, Jul 30, 2020 at 03:48:34PM +0000, Rick Macklem wrote: >>> Rick Macklem wrote: >>>> Ian Lepore wrote: >>>>> On Thu, 2020-07-30 at 01:52 +0000, Rick Macklem wrote: >>>>>> Brooks Davis wrote: >>>>>>> Author: brooks >>>>>>> Date: Mon Jul 27 23:18:14 2020 >>>>>>> New Revision: 363625 >>>>>>> URL: https://svnweb.freebsd.org/changeset/base/363625 >>>>>>>=20 >>>>>>> Log: >>>>>>> MFC r363439: >>>>>>>=20 >>>>>>> Correct a type-mismatch between xdr_long and the variable "bad". >>>>>>>=20 >>>>>>> [...] >>>>>> --> I can't see how the xdr.c code would work for a machine that = is >>>>>> BIG_ENDIAN and where "long" is 64bits, but we don't have any of >>>>>> those. >>>>>>=20 >>>>>=20 >>>>> mips64 and powerpc64 are both big endian with 64-bit long. >>>> Oops, I didn't know that. In the past, I've run PowerPC and MIPS, = but thought >>>> they both were little endian. (I recall the arches can be run = either way.) >>>>=20 >>>> Anyhow, take a look at head/lib/libc/xdr/xdr.c and it looks to me = like it >>>> has been broken "forever" (ever since we stopped using a K&R = compiler >>>> that would have always made "long" 32bits). >>> OK, I took another look at xdr.c and it isn't broken as I thought. >>>=20 >>> xdr_long() takes a "long *" argument ("long" in Sun XDR is 32bits), >>> but then it only passes it as an argument to XDR_PUTLONG(), which is = actually >>> a call to xdrmem_putlong_aligned() or xdrmem_putlong_unaligned(). >>> For xdrmem_putlong_aligned(), the line is: >>> *(u_int32_t *)xdrs->x_private =3D htonl((u_int32_t)*lp); >>> --> where lp is a "long *" >>>=20 >>> I'll admit I'm not 100% sure if "(u_int32_t)*lp" gets the correct = 32bits of a 64bit >>> long pointer for all arches? (I'm not very good at knowing what type = casts do.) >>> If this is the equivalent of "u_int32_t t; t =3D *lp; htonl(t); then = I think the code is ok? >>> (At least it makes it clear that it is using 32bits of the value = pointed to by the >>> argument.) >>>=20 >>> For xdrmem_putlong_unaligned(), it does the same thing via: >>> u_int32_t l; >>> ?. >>> l =3D htonl((u_int32_t)*lp); >>>=20 >>> --> At least the man page for xdr_long() should be clarified to note = it >>> puts a 32bit quantity on the wire. > I think I will try and come up with a man page patch, noting that = xdr_long() > always puts 32bits on the wire, even if long is 64bits for the arch. >=20 >>>=20 >>>> If anyone has either of these and can set up an NFS server on one = of >>>> them and then try and do an NFSv3 mount that is not allowed, it = would >>>> be interesting to see the packet trace and if the MNT RPC fails, = because >>>> it looks like it will put the high order 32bits on the wire and = they'll >>>> always be 0? >>> It would still be interesting to test this on a 64bit big endian, = but so long as >>> the above cast works, it does look like it works for all arches. >>>=20 >>>> Just to clarify. The behaviour wasn't broken by this commit. I just >>>> don't see how the commit fixes anything? >>> My mistake. Sorry for the noise. >>>=20 >>> I now think the commit is correct since it uses "*lp" to get the = value before >>> casting it down to 32bits. Passing in an "int *" was incorrect. >>>=20 >>> The code does seem to handle "long *" for 64bit arches, although it >>> only puts 32bits "on-the-wire". >>>=20 >>> rick, who was confused because he knew there was only supposed to be >>> 32bits go on the wire. >>=20 >> Thank you for all the analysis. I'd initially changed all the uses >> of bad to use xdr_int(), but switched to this "fix" because it's what >> NetBSD and OpenBSD have been using for over a decade (and there was >> less churn). I'm happy to flip it the other way if that seems more >> correct/less confusing. > I think your current patch is fine. The confusion is w.r.t. what = xdr_long() does > for a 64bit long and I think a man page update may be the way to go. > --> If you look in xdr.c, xdr_int() assigns the value to a long and = then ends > up truncating it back down, similar to xdr_long(). > --> Some of the stuff in xdr.c is pretty scary for 64bit longs, = but it all > seems to work, once you look at it for a while.;-) >=20 >> The previous code does in fact cause a 64-bit load of a pointer to an >> int on 64-bit platforms. I hit this in CheriBSD because that pointer >> had 4-byte bounds. > Yes. The first time I looked at the code (it was late evening), I = misread > ((u_int32_t)*lp) as *((u_int32_t *)lp) and that was why I thought = your patch > was broken. >=20 > Thanks for doing this and sorry about the noise, rick > ps: Personally, I've never understood why ANSI C allowed "long" to be = 64bits > on some arches. I still bump into hassles because the old K&R code = was > written assuming long to be 32bits. Yeah, c.f. XChangeProperty(3) which has a similarly weird interface (but slightly more so) that seriously confused me a few years ago. If you pass 8 for the number of bits to return to you it wants a char, for 16 it wants a short and for 32 it wants a long. XGetWindowProperty(3) also talks about long_offset and long_length when it really means int32_offset/length, or just int_offset/length these days in POSIX. As for _why_ it's done, well, char is 8, short is 16, int is 32 so then why make long 32 too when it could be 64 and still efficient (in terms of instructions, not necessarily space; also means long long is free for int128 on 128-bit machines!). Plus maybe more often than not people wanted a machine word, not a 32-bit value, though by now hopefully people have learnt to use size_t/uintptr_t as appropriate (CHERI work suggests that's _mostly_ true). But then we have to have Windows which decided to keep a 32-bit long, so it's all a mess anyway. Jess From owner-svn-src-all@freebsd.org Thu Jul 30 22:56:57 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C04F7368FAD; Thu, 30 Jul 2020 22:56:57 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHm4n4g0Hz43wM; Thu, 30 Jul 2020 22:56:57 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 835D31852B; Thu, 30 Jul 2020 22:56:57 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UMuvex071859; Thu, 30 Jul 2020 22:56:57 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UMuvYN071858; Thu, 30 Jul 2020 22:56:57 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202007302256.06UMuvYN071858@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 30 Jul 2020 22:56:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363716 - head/sys/security/mac X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/security/mac X-SVN-Commit-Revision: 363716 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 22:56:57 -0000 Author: mjg Date: Thu Jul 30 22:56:57 2020 New Revision: 363716 URL: https://svnweb.freebsd.org/changeset/base/363716 Log: Fix tinderbox build after r363714 Modified: head/sys/security/mac/mac_framework.h Modified: head/sys/security/mac/mac_framework.h ============================================================================== --- head/sys/security/mac/mac_framework.h Thu Jul 30 22:52:18 2020 (r363715) +++ head/sys/security/mac/mac_framework.h Thu Jul 30 22:56:57 2020 (r363716) @@ -259,7 +259,11 @@ void mac_posixshm_destroy(struct shmfd *); void mac_posixshm_init(struct shmfd *); int mac_priv_check_impl(struct ucred *cred, int priv); +#ifdef MAC extern bool mac_priv_check_fp_flag; +#else +#define mac_priv_check_fp_flag 0 +#endif static inline int mac_priv_check(struct ucred *cred, int priv) { @@ -270,7 +274,11 @@ mac_priv_check(struct ucred *cred, int priv) } int mac_priv_grant_impl(struct ucred *cred, int priv); +#ifdef MAC extern bool mac_priv_grant_fp_flag; +#else +#define mac_priv_grant_fp_flag 0 +#endif static inline int mac_priv_grant(struct ucred *cred, int priv) { From owner-svn-src-all@freebsd.org Thu Jul 30 23:17:31 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 16BC436992B; Thu, 30 Jul 2020 23:17:31 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHmXW07kcz44v5; Thu, 30 Jul 2020 23:17:31 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C358518851; Thu, 30 Jul 2020 23:17:30 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UNHUPA084125; Thu, 30 Jul 2020 23:17:30 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UNHUAF084124; Thu, 30 Jul 2020 23:17:30 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202007302317.06UNHUAF084124@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Thu, 30 Jul 2020 23:17:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r363717 - in vendor/pcg-c: . dist dist/include X-SVN-Group: vendor X-SVN-Commit-Author: cem X-SVN-Commit-Paths: in vendor/pcg-c: . dist dist/include X-SVN-Commit-Revision: 363717 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 23:17:31 -0000 Author: cem Date: Thu Jul 30 23:17:30 2020 New Revision: 363717 URL: https://svnweb.freebsd.org/changeset/base/363717 Log: Import PCG-C master, 2019-07-18 (83252d9c23df9c82ecb42210afed61a7b42402d7) Added: vendor/pcg-c/ vendor/pcg-c/dist/ vendor/pcg-c/dist/include/ vendor/pcg-c/dist/include/pcg_variants.h (contents, props changed) Added: vendor/pcg-c/dist/include/pcg_variants.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/pcg-c/dist/include/pcg_variants.h Thu Jul 30 23:17:30 2020 (r363717) @@ -0,0 +1,2544 @@ +/* + * PCG Random Number Generation for C. + * + * Copyright 2014-2019 Melissa O'Neill , + * and the PCG Project contributors. + * + * SPDX-License-Identifier: (Apache-2.0 OR MIT) + * + * Licensed under the Apache License, Version 2.0 (provided in + * LICENSE-APACHE.txt and at http://www.apache.org/licenses/LICENSE-2.0) + * or under the MIT license (provided in LICENSE-MIT.txt and at + * http://opensource.org/licenses/MIT), at your option. This file may not + * be copied, modified, or distributed except according to those terms. + * + * Distributed on an "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, either + * express or implied. See your chosen license for details. + * + * For additional information about the PCG random number generation scheme, + * visit http://www.pcg-random.org/. + */ + +/* + * This code is derived from the canonical C++ PCG implementation, which + * has many additional features and is preferable if you can use C++ in + * your project. + * + * Much of the derivation was performed mechanically. In particular, the + * output functions were generated by compiling the C++ output functions + * into LLVM bitcode and then transforming that using the LLVM C backend + * (from https://github.com/draperlaboratory/llvm-cbe), and then + * postprocessing and hand editing the output. + * + * Much of the remaining code was generated by C-preprocessor metaprogramming. + */ + +#ifndef PCG_VARIANTS_H_INCLUDED +#define PCG_VARIANTS_H_INCLUDED 1 + +#include + +#if __SIZEOF_INT128__ + typedef __uint128_t pcg128_t; + #define PCG_128BIT_CONSTANT(high,low) \ + ((((pcg128_t)high) << 64) + low) + #define PCG_HAS_128BIT_OPS 1 +#endif + +#if __GNUC_GNU_INLINE__ && !defined(__cplusplus) + #error Nonstandard GNU inlining semantics. Compile with -std=c99 or better. + /* We could instead use macros PCG_INLINE and PCG_EXTERN_INLINE + but better to just reject ancient C code. */ +#endif + +#if __cplusplus +extern "C" { +#endif + +/* + * Rotate helper functions. + */ + +inline uint8_t pcg_rotr_8(uint8_t value, unsigned int rot) +{ +/* Unfortunately, clang is kinda pathetic when it comes to properly + * recognizing idiomatic rotate code, so for clang we actually provide + * assembler directives (enabled with PCG_USE_INLINE_ASM). Boo, hiss. + */ +#if PCG_USE_INLINE_ASM && __clang__ && (__x86_64__ || __i386__) + asm ("rorb %%cl, %0" : "=r" (value) : "0" (value), "c" (rot)); + return value; +#else + return (value >> rot) | (value << ((- rot) & 7)); +#endif +} + +inline uint16_t pcg_rotr_16(uint16_t value, unsigned int rot) +{ +#if PCG_USE_INLINE_ASM && __clang__ && (__x86_64__ || __i386__) + asm ("rorw %%cl, %0" : "=r" (value) : "0" (value), "c" (rot)); + return value; +#else + return (value >> rot) | (value << ((- rot) & 15)); +#endif +} + +inline uint32_t pcg_rotr_32(uint32_t value, unsigned int rot) +{ +#if PCG_USE_INLINE_ASM && __clang__ && (__x86_64__ || __i386__) + asm ("rorl %%cl, %0" : "=r" (value) : "0" (value), "c" (rot)); + return value; +#else + return (value >> rot) | (value << ((- rot) & 31)); +#endif +} + +inline uint64_t pcg_rotr_64(uint64_t value, unsigned int rot) +{ +#if 0 && PCG_USE_INLINE_ASM && __clang__ && __x86_64__ + /* For whatever reason, clang actually *does* generate rotq by + itself, so we don't need this code. */ + asm ("rorq %%cl, %0" : "=r" (value) : "0" (value), "c" (rot)); + return value; +#else + return (value >> rot) | (value << ((- rot) & 63)); +#endif +} + +#if PCG_HAS_128BIT_OPS +inline pcg128_t pcg_rotr_128(pcg128_t value, unsigned int rot) +{ + return (value >> rot) | (value << ((- rot) & 127)); +} +#endif + +/* + * Output functions. These are the core of the PCG generation scheme. + */ + +/* XSH RS */ + +inline uint8_t pcg_output_xsh_rs_16_8(uint16_t state) +{ + return (uint8_t)(((state >> 7u) ^ state) >> ((state >> 14u) + 3u)); +} + +inline uint16_t pcg_output_xsh_rs_32_16(uint32_t state) +{ + return (uint16_t)(((state >> 11u) ^ state) >> ((state >> 30u) + 11u)); +} + +inline uint32_t pcg_output_xsh_rs_64_32(uint64_t state) +{ + + return (uint32_t)(((state >> 22u) ^ state) >> ((state >> 61u) + 22u)); +} + +#if PCG_HAS_128BIT_OPS +inline uint64_t pcg_output_xsh_rs_128_64(pcg128_t state) +{ + return (uint64_t)(((state >> 43u) ^ state) >> ((state >> 124u) + 45u)); +} +#endif + +/* XSH RR */ + +inline uint8_t pcg_output_xsh_rr_16_8(uint16_t state) +{ + return pcg_rotr_8(((state >> 5u) ^ state) >> 5u, state >> 13u); +} + +inline uint16_t pcg_output_xsh_rr_32_16(uint32_t state) +{ + return pcg_rotr_16(((state >> 10u) ^ state) >> 12u, state >> 28u); +} + +inline uint32_t pcg_output_xsh_rr_64_32(uint64_t state) +{ + return pcg_rotr_32(((state >> 18u) ^ state) >> 27u, state >> 59u); +} + +#if PCG_HAS_128BIT_OPS +inline uint64_t pcg_output_xsh_rr_128_64(pcg128_t state) +{ + return pcg_rotr_64(((state >> 35u) ^ state) >> 58u, state >> 122u); +} +#endif + +/* RXS M XS */ + +inline uint8_t pcg_output_rxs_m_xs_8_8(uint8_t state) +{ + uint8_t word = ((state >> ((state >> 6u) + 2u)) ^ state) * 217u; + return (word >> 6u) ^ word; +} + +inline uint16_t pcg_output_rxs_m_xs_16_16(uint16_t state) +{ + uint16_t word = ((state >> ((state >> 13u) + 3u)) ^ state) * 62169u; + return (word >> 11u) ^ word; +} + +inline uint32_t pcg_output_rxs_m_xs_32_32(uint32_t state) +{ + uint32_t word = ((state >> ((state >> 28u) + 4u)) ^ state) * 277803737u; + return (word >> 22u) ^ word; +} + +inline uint64_t pcg_output_rxs_m_xs_64_64(uint64_t state) +{ + uint64_t word = ((state >> ((state >> 59u) + 5u)) ^ state) + * 12605985483714917081ull; + return (word >> 43u) ^ word; +} + +#if PCG_HAS_128BIT_OPS +inline pcg128_t pcg_output_rxs_m_xs_128_128(pcg128_t state) +{ + pcg128_t word = ((state >> ((state >> 122u) + 6u)) ^ state) + * (PCG_128BIT_CONSTANT(17766728186571221404ULL, + 12605985483714917081ULL)); + /* 327738287884841127335028083622016905945 */ + return (word >> 86u) ^ word; +} +#endif + +/* RXS M */ + +inline uint8_t pcg_output_rxs_m_16_8(uint16_t state) +{ + return (((state >> ((state >> 13u) + 3u)) ^ state) * 62169u) >> 8u; +} + +inline uint16_t pcg_output_rxs_m_32_16(uint32_t state) +{ + return (((state >> ((state >> 28u) + 4u)) ^ state) * 277803737u) >> 16u; +} + +inline uint32_t pcg_output_rxs_m_64_32(uint64_t state) +{ + return (((state >> ((state >> 59u) + 5u)) ^ state) + * 12605985483714917081ull) >> 32u; +} + +#if PCG_HAS_128BIT_OPS +inline uint64_t pcg_output_rxs_m_128_64(pcg128_t state) +{ + return (((state >> ((state >> 122u) + 6u)) ^ state) + * (PCG_128BIT_CONSTANT(17766728186571221404ULL, + 12605985483714917081ULL))) >> 64u; + /* 327738287884841127335028083622016905945 */ +} +#endif + +/* XSL RR (only defined for >= 64 bits) */ + +inline uint32_t pcg_output_xsl_rr_64_32(uint64_t state) +{ + return pcg_rotr_32(((uint32_t)(state >> 32u)) ^ (uint32_t)state, + state >> 59u); +} + +#if PCG_HAS_128BIT_OPS +inline uint64_t pcg_output_xsl_rr_128_64(pcg128_t state) +{ + return pcg_rotr_64(((uint64_t)(state >> 64u)) ^ (uint64_t)state, + state >> 122u); +} +#endif + +/* XSL RR RR (only defined for >= 64 bits) */ + +inline uint64_t pcg_output_xsl_rr_rr_64_64(uint64_t state) +{ + uint32_t rot1 = (uint32_t)(state >> 59u); + uint32_t high = (uint32_t)(state >> 32u); + uint32_t low = (uint32_t)state; + uint32_t xored = high ^ low; + uint32_t newlow = pcg_rotr_32(xored, rot1); + uint32_t newhigh = pcg_rotr_32(high, newlow & 31u); + return (((uint64_t)newhigh) << 32u) | newlow; +} + +#if PCG_HAS_128BIT_OPS +inline pcg128_t pcg_output_xsl_rr_rr_128_128(pcg128_t state) +{ + uint32_t rot1 = (uint32_t)(state >> 122u); + uint64_t high = (uint64_t)(state >> 64u); + uint64_t low = (uint64_t)state; + uint64_t xored = high ^ low; + uint64_t newlow = pcg_rotr_64(xored, rot1); + uint64_t newhigh = pcg_rotr_64(high, newlow & 63u); + return (((pcg128_t)newhigh) << 64u) | newlow; +} +#endif + +#define PCG_DEFAULT_MULTIPLIER_8 141U +#define PCG_DEFAULT_MULTIPLIER_16 12829U +#define PCG_DEFAULT_MULTIPLIER_32 747796405U +#define PCG_DEFAULT_MULTIPLIER_64 6364136223846793005ULL + +#define PCG_DEFAULT_INCREMENT_8 77U +#define PCG_DEFAULT_INCREMENT_16 47989U +#define PCG_DEFAULT_INCREMENT_32 2891336453U +#define PCG_DEFAULT_INCREMENT_64 1442695040888963407ULL + +#if PCG_HAS_128BIT_OPS +#define PCG_DEFAULT_MULTIPLIER_128 \ + PCG_128BIT_CONSTANT(2549297995355413924ULL,4865540595714422341ULL) +#define PCG_DEFAULT_INCREMENT_128 \ + PCG_128BIT_CONSTANT(6364136223846793005ULL,1442695040888963407ULL) +#endif + +/* + * Static initialization constants (if you can't call srandom for some + * bizarre reason). + */ + +#define PCG_STATE_ONESEQ_8_INITIALIZER { 0xd7U } +#define PCG_STATE_ONESEQ_16_INITIALIZER { 0x20dfU } +#define PCG_STATE_ONESEQ_32_INITIALIZER { 0x46b56677U } +#define PCG_STATE_ONESEQ_64_INITIALIZER { 0x4d595df4d0f33173ULL } +#if PCG_HAS_128BIT_OPS +#define PCG_STATE_ONESEQ_128_INITIALIZER \ + { PCG_128BIT_CONSTANT(0xb8dc10e158a92392ULL, 0x98046df007ec0a53ULL) } +#endif + +#define PCG_STATE_UNIQUE_8_INITIALIZER PCG_STATE_ONESEQ_8_INITIALIZER +#define PCG_STATE_UNIQUE_16_INITIALIZER PCG_STATE_ONESEQ_16_INITIALIZER +#define PCG_STATE_UNIQUE_32_INITIALIZER PCG_STATE_ONESEQ_32_INITIALIZER +#define PCG_STATE_UNIQUE_64_INITIALIZER PCG_STATE_ONESEQ_64_INITIALIZER +#if PCG_HAS_128BIT_OPS +#define PCG_STATE_UNIQUE_128_INITIALIZER PCG_STATE_ONESEQ_128_INITIALIZER +#endif + +#define PCG_STATE_MCG_8_INITIALIZER { 0xe5U } +#define PCG_STATE_MCG_16_INITIALIZER { 0xa5e5U } +#define PCG_STATE_MCG_32_INITIALIZER { 0xd15ea5e5U } +#define PCG_STATE_MCG_64_INITIALIZER { 0xcafef00dd15ea5e5ULL } +#if PCG_HAS_128BIT_OPS +#define PCG_STATE_MCG_128_INITIALIZER \ + { PCG_128BIT_CONSTANT(0x0000000000000000ULL, 0xcafef00dd15ea5e5ULL) } +#endif + +#define PCG_STATE_SETSEQ_8_INITIALIZER { 0x9bU, 0xdbU } +#define PCG_STATE_SETSEQ_16_INITIALIZER { 0xe39bU, 0x5bdbU } +#define PCG_STATE_SETSEQ_32_INITIALIZER { 0xec02d89bU, 0x94b95bdbU } +#define PCG_STATE_SETSEQ_64_INITIALIZER \ + { 0x853c49e6748fea9bULL, 0xda3e39cb94b95bdbULL } +#if PCG_HAS_128BIT_OPS +#define PCG_STATE_SETSEQ_128_INITIALIZER \ + { PCG_128BIT_CONSTANT(0x979c9a98d8462005ULL, 0x7d3e9cb6cfe0549bULL), \ + PCG_128BIT_CONSTANT(0x0000000000000001ULL, 0xda3e39cb94b95bdbULL) } +#endif + +/* Representations for the oneseq, mcg, and unique variants */ + +struct pcg_state_8 { + uint8_t state; +}; + +struct pcg_state_16 { + uint16_t state; +}; + +struct pcg_state_32 { + uint32_t state; +}; + +struct pcg_state_64 { + uint64_t state; +}; + +#if PCG_HAS_128BIT_OPS +struct pcg_state_128 { + pcg128_t state; +}; +#endif + +/* Representations setseq variants */ + +struct pcg_state_setseq_8 { + uint8_t state; + uint8_t inc; +}; + +struct pcg_state_setseq_16 { + uint16_t state; + uint16_t inc; +}; + +struct pcg_state_setseq_32 { + uint32_t state; + uint32_t inc; +}; + +struct pcg_state_setseq_64 { + uint64_t state; + uint64_t inc; +}; + +#if PCG_HAS_128BIT_OPS +struct pcg_state_setseq_128 { + pcg128_t state; + pcg128_t inc; +}; +#endif + +/* Multi-step advance functions (jump-ahead, jump-back) */ + +extern uint8_t pcg_advance_lcg_8(uint8_t state, uint8_t delta, uint8_t cur_mult, + uint8_t cur_plus); +extern uint16_t pcg_advance_lcg_16(uint16_t state, uint16_t delta, + uint16_t cur_mult, uint16_t cur_plus); +extern uint32_t pcg_advance_lcg_32(uint32_t state, uint32_t delta, + uint32_t cur_mult, uint32_t cur_plus); +extern uint64_t pcg_advance_lcg_64(uint64_t state, uint64_t delta, + uint64_t cur_mult, uint64_t cur_plus); + +#if PCG_HAS_128BIT_OPS +extern pcg128_t pcg_advance_lcg_128(pcg128_t state, pcg128_t delta, + pcg128_t cur_mult, pcg128_t cur_plus); +#endif + +/* Functions to advance the underlying LCG, one version for each size and + * each style. These functions are considered semi-private. There is rarely + * a good reason to call them directly. + */ + +inline void pcg_oneseq_8_step_r(struct pcg_state_8* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_8 + + PCG_DEFAULT_INCREMENT_8; +} + +inline void pcg_oneseq_8_advance_r(struct pcg_state_8* rng, uint8_t delta) +{ + rng->state = pcg_advance_lcg_8(rng->state, delta, PCG_DEFAULT_MULTIPLIER_8, + PCG_DEFAULT_INCREMENT_8); +} + +inline void pcg_mcg_8_step_r(struct pcg_state_8* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_8; +} + +inline void pcg_mcg_8_advance_r(struct pcg_state_8* rng, uint8_t delta) +{ + rng->state + = pcg_advance_lcg_8(rng->state, delta, PCG_DEFAULT_MULTIPLIER_8, 0u); +} + +inline void pcg_unique_8_step_r(struct pcg_state_8* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_8 + + (uint8_t)(((intptr_t)rng) | 1u); +} + +inline void pcg_unique_8_advance_r(struct pcg_state_8* rng, uint8_t delta) +{ + rng->state = pcg_advance_lcg_8(rng->state, delta, PCG_DEFAULT_MULTIPLIER_8, + (uint8_t)(((intptr_t)rng) | 1u)); +} + +inline void pcg_setseq_8_step_r(struct pcg_state_setseq_8* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_8 + rng->inc; +} + +inline void pcg_setseq_8_advance_r(struct pcg_state_setseq_8* rng, + uint8_t delta) +{ + rng->state = pcg_advance_lcg_8(rng->state, delta, PCG_DEFAULT_MULTIPLIER_8, + rng->inc); +} + +inline void pcg_oneseq_16_step_r(struct pcg_state_16* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_16 + + PCG_DEFAULT_INCREMENT_16; +} + +inline void pcg_oneseq_16_advance_r(struct pcg_state_16* rng, uint16_t delta) +{ + rng->state = pcg_advance_lcg_16( + rng->state, delta, PCG_DEFAULT_MULTIPLIER_16, PCG_DEFAULT_INCREMENT_16); +} + +inline void pcg_mcg_16_step_r(struct pcg_state_16* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_16; +} + +inline void pcg_mcg_16_advance_r(struct pcg_state_16* rng, uint16_t delta) +{ + rng->state + = pcg_advance_lcg_16(rng->state, delta, PCG_DEFAULT_MULTIPLIER_16, 0u); +} + +inline void pcg_unique_16_step_r(struct pcg_state_16* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_16 + + (uint16_t)(((intptr_t)rng) | 1u); +} + +inline void pcg_unique_16_advance_r(struct pcg_state_16* rng, uint16_t delta) +{ + rng->state + = pcg_advance_lcg_16(rng->state, delta, PCG_DEFAULT_MULTIPLIER_16, + (uint16_t)(((intptr_t)rng) | 1u)); +} + +inline void pcg_setseq_16_step_r(struct pcg_state_setseq_16* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_16 + rng->inc; +} + +inline void pcg_setseq_16_advance_r(struct pcg_state_setseq_16* rng, + uint16_t delta) +{ + rng->state = pcg_advance_lcg_16(rng->state, delta, + PCG_DEFAULT_MULTIPLIER_16, rng->inc); +} + +inline void pcg_oneseq_32_step_r(struct pcg_state_32* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_32 + + PCG_DEFAULT_INCREMENT_32; +} + +inline void pcg_oneseq_32_advance_r(struct pcg_state_32* rng, uint32_t delta) +{ + rng->state = pcg_advance_lcg_32( + rng->state, delta, PCG_DEFAULT_MULTIPLIER_32, PCG_DEFAULT_INCREMENT_32); +} + +inline void pcg_mcg_32_step_r(struct pcg_state_32* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_32; +} + +inline void pcg_mcg_32_advance_r(struct pcg_state_32* rng, uint32_t delta) +{ + rng->state + = pcg_advance_lcg_32(rng->state, delta, PCG_DEFAULT_MULTIPLIER_32, 0u); +} + +inline void pcg_unique_32_step_r(struct pcg_state_32* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_32 + + (uint32_t)(((intptr_t)rng) | 1u); +} + +inline void pcg_unique_32_advance_r(struct pcg_state_32* rng, uint32_t delta) +{ + rng->state + = pcg_advance_lcg_32(rng->state, delta, PCG_DEFAULT_MULTIPLIER_32, + (uint32_t)(((intptr_t)rng) | 1u)); +} + +inline void pcg_setseq_32_step_r(struct pcg_state_setseq_32* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_32 + rng->inc; +} + +inline void pcg_setseq_32_advance_r(struct pcg_state_setseq_32* rng, + uint32_t delta) +{ + rng->state = pcg_advance_lcg_32(rng->state, delta, + PCG_DEFAULT_MULTIPLIER_32, rng->inc); +} + +inline void pcg_oneseq_64_step_r(struct pcg_state_64* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_64 + + PCG_DEFAULT_INCREMENT_64; +} + +inline void pcg_oneseq_64_advance_r(struct pcg_state_64* rng, uint64_t delta) +{ + rng->state = pcg_advance_lcg_64( + rng->state, delta, PCG_DEFAULT_MULTIPLIER_64, PCG_DEFAULT_INCREMENT_64); +} + +inline void pcg_mcg_64_step_r(struct pcg_state_64* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_64; +} + +inline void pcg_mcg_64_advance_r(struct pcg_state_64* rng, uint64_t delta) +{ + rng->state + = pcg_advance_lcg_64(rng->state, delta, PCG_DEFAULT_MULTIPLIER_64, 0u); +} + +inline void pcg_unique_64_step_r(struct pcg_state_64* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_64 + + (uint64_t)(((intptr_t)rng) | 1u); +} + +inline void pcg_unique_64_advance_r(struct pcg_state_64* rng, uint64_t delta) +{ + rng->state + = pcg_advance_lcg_64(rng->state, delta, PCG_DEFAULT_MULTIPLIER_64, + (uint64_t)(((intptr_t)rng) | 1u)); +} + +inline void pcg_setseq_64_step_r(struct pcg_state_setseq_64* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_64 + rng->inc; +} + +inline void pcg_setseq_64_advance_r(struct pcg_state_setseq_64* rng, + uint64_t delta) +{ + rng->state = pcg_advance_lcg_64(rng->state, delta, + PCG_DEFAULT_MULTIPLIER_64, rng->inc); +} + +#if PCG_HAS_128BIT_OPS +inline void pcg_oneseq_128_step_r(struct pcg_state_128* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_128 + + PCG_DEFAULT_INCREMENT_128; +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_oneseq_128_advance_r(struct pcg_state_128* rng, pcg128_t delta) +{ + rng->state + = pcg_advance_lcg_128(rng->state, delta, PCG_DEFAULT_MULTIPLIER_128, + PCG_DEFAULT_INCREMENT_128); +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_mcg_128_step_r(struct pcg_state_128* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_128; +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_mcg_128_advance_r(struct pcg_state_128* rng, pcg128_t delta) +{ + rng->state = pcg_advance_lcg_128(rng->state, delta, + PCG_DEFAULT_MULTIPLIER_128, 0u); +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_unique_128_step_r(struct pcg_state_128* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_128 + + (pcg128_t)(((intptr_t)rng) | 1u); +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_unique_128_advance_r(struct pcg_state_128* rng, pcg128_t delta) +{ + rng->state + = pcg_advance_lcg_128(rng->state, delta, PCG_DEFAULT_MULTIPLIER_128, + (pcg128_t)(((intptr_t)rng) | 1u)); +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_setseq_128_step_r(struct pcg_state_setseq_128* rng) +{ + rng->state = rng->state * PCG_DEFAULT_MULTIPLIER_128 + rng->inc; +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_setseq_128_advance_r(struct pcg_state_setseq_128* rng, + pcg128_t delta) +{ + rng->state = pcg_advance_lcg_128(rng->state, delta, + PCG_DEFAULT_MULTIPLIER_128, rng->inc); +} +#endif + +/* Functions to seed the RNG state, one version for each size and each + * style. Unlike the step functions, regular users can and should call + * these functions. + */ + +inline void pcg_oneseq_8_srandom_r(struct pcg_state_8* rng, uint8_t initstate) +{ + rng->state = 0U; + pcg_oneseq_8_step_r(rng); + rng->state += initstate; + pcg_oneseq_8_step_r(rng); +} + +inline void pcg_mcg_8_srandom_r(struct pcg_state_8* rng, uint8_t initstate) +{ + rng->state = initstate | 1u; +} + +inline void pcg_unique_8_srandom_r(struct pcg_state_8* rng, uint8_t initstate) +{ + rng->state = 0U; + pcg_unique_8_step_r(rng); + rng->state += initstate; + pcg_unique_8_step_r(rng); +} + +inline void pcg_setseq_8_srandom_r(struct pcg_state_setseq_8* rng, + uint8_t initstate, uint8_t initseq) +{ + rng->state = 0U; + rng->inc = (initseq << 1u) | 1u; + pcg_setseq_8_step_r(rng); + rng->state += initstate; + pcg_setseq_8_step_r(rng); +} + +inline void pcg_oneseq_16_srandom_r(struct pcg_state_16* rng, + uint16_t initstate) +{ + rng->state = 0U; + pcg_oneseq_16_step_r(rng); + rng->state += initstate; + pcg_oneseq_16_step_r(rng); +} + +inline void pcg_mcg_16_srandom_r(struct pcg_state_16* rng, uint16_t initstate) +{ + rng->state = initstate | 1u; +} + +inline void pcg_unique_16_srandom_r(struct pcg_state_16* rng, + uint16_t initstate) +{ + rng->state = 0U; + pcg_unique_16_step_r(rng); + rng->state += initstate; + pcg_unique_16_step_r(rng); +} + +inline void pcg_setseq_16_srandom_r(struct pcg_state_setseq_16* rng, + uint16_t initstate, uint16_t initseq) +{ + rng->state = 0U; + rng->inc = (initseq << 1u) | 1u; + pcg_setseq_16_step_r(rng); + rng->state += initstate; + pcg_setseq_16_step_r(rng); +} + +inline void pcg_oneseq_32_srandom_r(struct pcg_state_32* rng, + uint32_t initstate) +{ + rng->state = 0U; + pcg_oneseq_32_step_r(rng); + rng->state += initstate; + pcg_oneseq_32_step_r(rng); +} + +inline void pcg_mcg_32_srandom_r(struct pcg_state_32* rng, uint32_t initstate) +{ + rng->state = initstate | 1u; +} + +inline void pcg_unique_32_srandom_r(struct pcg_state_32* rng, + uint32_t initstate) +{ + rng->state = 0U; + pcg_unique_32_step_r(rng); + rng->state += initstate; + pcg_unique_32_step_r(rng); +} + +inline void pcg_setseq_32_srandom_r(struct pcg_state_setseq_32* rng, + uint32_t initstate, uint32_t initseq) +{ + rng->state = 0U; + rng->inc = (initseq << 1u) | 1u; + pcg_setseq_32_step_r(rng); + rng->state += initstate; + pcg_setseq_32_step_r(rng); +} + +inline void pcg_oneseq_64_srandom_r(struct pcg_state_64* rng, + uint64_t initstate) +{ + rng->state = 0U; + pcg_oneseq_64_step_r(rng); + rng->state += initstate; + pcg_oneseq_64_step_r(rng); +} + +inline void pcg_mcg_64_srandom_r(struct pcg_state_64* rng, uint64_t initstate) +{ + rng->state = initstate | 1u; +} + +inline void pcg_unique_64_srandom_r(struct pcg_state_64* rng, + uint64_t initstate) +{ + rng->state = 0U; + pcg_unique_64_step_r(rng); + rng->state += initstate; + pcg_unique_64_step_r(rng); +} + +inline void pcg_setseq_64_srandom_r(struct pcg_state_setseq_64* rng, + uint64_t initstate, uint64_t initseq) +{ + rng->state = 0U; + rng->inc = (initseq << 1u) | 1u; + pcg_setseq_64_step_r(rng); + rng->state += initstate; + pcg_setseq_64_step_r(rng); +} + +#if PCG_HAS_128BIT_OPS +inline void pcg_oneseq_128_srandom_r(struct pcg_state_128* rng, + pcg128_t initstate) +{ + rng->state = 0U; + pcg_oneseq_128_step_r(rng); + rng->state += initstate; + pcg_oneseq_128_step_r(rng); +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_mcg_128_srandom_r(struct pcg_state_128* rng, pcg128_t initstate) +{ + rng->state = initstate | 1u; +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_unique_128_srandom_r(struct pcg_state_128* rng, + pcg128_t initstate) +{ + rng->state = 0U; + pcg_unique_128_step_r(rng); + rng->state += initstate; + pcg_unique_128_step_r(rng); +} +#endif + +#if PCG_HAS_128BIT_OPS +inline void pcg_setseq_128_srandom_r(struct pcg_state_setseq_128* rng, + pcg128_t initstate, pcg128_t initseq) +{ + rng->state = 0U; + rng->inc = (initseq << 1u) | 1u; + pcg_setseq_128_step_r(rng); + rng->state += initstate; + pcg_setseq_128_step_r(rng); +} +#endif + +/* Now, finally we create each of the individual generators. We provide + * a random_r function that provides a random number of the appropriate + * type (using the full range of the type) and a boundedrand_r version + * that provides + * + * Implementation notes for boundedrand_r: + * + * To avoid bias, we need to make the range of the RNG a multiple of + * bound, which we do by dropping output less than a threshold. + * Let's consider a 32-bit case... A naive scheme to calculate the + * threshold would be to do + * + * uint32_t threshold = 0x100000000ull % bound; + * + * but 64-bit div/mod is slower than 32-bit div/mod (especially on + * 32-bit platforms). In essence, we do + * + * uint32_t threshold = (0x100000000ull-bound) % bound; + * + * because this version will calculate the same modulus, but the LHS + * value is less than 2^32. + * + * (Note that using modulo is only wise for good RNGs, poorer RNGs + * such as raw LCGs do better using a technique based on division.) + * Empricical tests show that division is preferable to modulus for + * reducting the range of an RNG. It's faster, and sometimes it can + * even be statistically prefereable. + */ + +/* Generation functions for XSH RS */ + +inline uint8_t pcg_oneseq_16_xsh_rs_8_random_r(struct pcg_state_16* rng) +{ + uint16_t oldstate = rng->state; + pcg_oneseq_16_step_r(rng); + return pcg_output_xsh_rs_16_8(oldstate); +} + +inline uint8_t pcg_oneseq_16_xsh_rs_8_boundedrand_r(struct pcg_state_16* rng, + uint8_t bound) +{ + uint8_t threshold = ((uint8_t)(-bound)) % bound; + for (;;) { + uint8_t r = pcg_oneseq_16_xsh_rs_8_random_r(rng); + if (r >= threshold) + return r % bound; + } +} + +inline uint16_t pcg_oneseq_32_xsh_rs_16_random_r(struct pcg_state_32* rng) +{ + uint32_t oldstate = rng->state; + pcg_oneseq_32_step_r(rng); + return pcg_output_xsh_rs_32_16(oldstate); +} + +inline uint16_t pcg_oneseq_32_xsh_rs_16_boundedrand_r(struct pcg_state_32* rng, + uint16_t bound) +{ + uint16_t threshold = ((uint16_t)(-bound)) % bound; + for (;;) { + uint16_t r = pcg_oneseq_32_xsh_rs_16_random_r(rng); + if (r >= threshold) + return r % bound; + } +} + +inline uint32_t pcg_oneseq_64_xsh_rs_32_random_r(struct pcg_state_64* rng) +{ + uint64_t oldstate = rng->state; + pcg_oneseq_64_step_r(rng); + return pcg_output_xsh_rs_64_32(oldstate); +} + +inline uint32_t pcg_oneseq_64_xsh_rs_32_boundedrand_r(struct pcg_state_64* rng, + uint32_t bound) +{ + uint32_t threshold = -bound % bound; + for (;;) { + uint32_t r = pcg_oneseq_64_xsh_rs_32_random_r(rng); + if (r >= threshold) + return r % bound; + } +} + +#if PCG_HAS_128BIT_OPS +inline uint64_t pcg_oneseq_128_xsh_rs_64_random_r(struct pcg_state_128* rng) +{ + pcg_oneseq_128_step_r(rng); + return pcg_output_xsh_rs_128_64(rng->state); +} +#endif + +#if PCG_HAS_128BIT_OPS +inline uint64_t +pcg_oneseq_128_xsh_rs_64_boundedrand_r(struct pcg_state_128* rng, + uint64_t bound) +{ + uint64_t threshold = -bound % bound; + for (;;) { + uint64_t r = pcg_oneseq_128_xsh_rs_64_random_r(rng); + if (r >= threshold) + return r % bound; + } +} +#endif + +inline uint8_t pcg_unique_16_xsh_rs_8_random_r(struct pcg_state_16* rng) +{ + uint16_t oldstate = rng->state; + pcg_unique_16_step_r(rng); + return pcg_output_xsh_rs_16_8(oldstate); +} + +inline uint8_t pcg_unique_16_xsh_rs_8_boundedrand_r(struct pcg_state_16* rng, + uint8_t bound) +{ + uint8_t threshold = ((uint8_t)(-bound)) % bound; + for (;;) { + uint8_t r = pcg_unique_16_xsh_rs_8_random_r(rng); + if (r >= threshold) + return r % bound; + } +} + +inline uint16_t pcg_unique_32_xsh_rs_16_random_r(struct pcg_state_32* rng) +{ + uint32_t oldstate = rng->state; + pcg_unique_32_step_r(rng); + return pcg_output_xsh_rs_32_16(oldstate); +} + +inline uint16_t pcg_unique_32_xsh_rs_16_boundedrand_r(struct pcg_state_32* rng, + uint16_t bound) +{ + uint16_t threshold = ((uint16_t)(-bound)) % bound; + for (;;) { + uint16_t r = pcg_unique_32_xsh_rs_16_random_r(rng); + if (r >= threshold) + return r % bound; + } +} + +inline uint32_t pcg_unique_64_xsh_rs_32_random_r(struct pcg_state_64* rng) +{ + uint64_t oldstate = rng->state; + pcg_unique_64_step_r(rng); + return pcg_output_xsh_rs_64_32(oldstate); +} + +inline uint32_t pcg_unique_64_xsh_rs_32_boundedrand_r(struct pcg_state_64* rng, + uint32_t bound) +{ + uint32_t threshold = -bound % bound; + for (;;) { + uint32_t r = pcg_unique_64_xsh_rs_32_random_r(rng); + if (r >= threshold) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Jul 30 23:20:10 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6EC5D369B14; Thu, 30 Jul 2020 23:20:10 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHmbZ2KsTz44wK; Thu, 30 Jul 2020 23:20:10 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1A17E188AF; Thu, 30 Jul 2020 23:20:10 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UNK9UF084327; Thu, 30 Jul 2020 23:20:09 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UNK9OX084326; Thu, 30 Jul 2020 23:20:09 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202007302320.06UNK9OX084326@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Thu, 30 Jul 2020 23:20:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r363718 - vendor/pcg-c/20190718-83252d9 X-SVN-Group: vendor X-SVN-Commit-Author: cem X-SVN-Commit-Paths: vendor/pcg-c/20190718-83252d9 X-SVN-Commit-Revision: 363718 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 23:20:10 -0000 Author: cem Date: Thu Jul 30 23:20:09 2020 New Revision: 363718 URL: https://svnweb.freebsd.org/changeset/base/363718 Log: Tag PCG-C master 2019-07-18 83252d9 Added: vendor/pcg-c/20190718-83252d9/ - copied from r363717, vendor/pcg-c/dist/ From owner-svn-src-all@freebsd.org Thu Jul 30 23:49:50 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 40D1C36A981; Thu, 30 Jul 2020 23:49:50 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHnFp0xbXz46SH; Thu, 30 Jul 2020 23:49:50 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 03D1219026; Thu, 30 Jul 2020 23:49:50 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UNnn93003027; Thu, 30 Jul 2020 23:49:49 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UNnnbM003026; Thu, 30 Jul 2020 23:49:49 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <202007302349.06UNnnbM003026@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Thu, 30 Jul 2020 23:49:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363719 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: grehan X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 363719 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 23:49:50 -0000 Author: grehan Date: Thu Jul 30 23:49:49 2020 New Revision: 363719 URL: https://svnweb.freebsd.org/changeset/base/363719 Log: Definition for the 'removable media flag' from word 0 in the Identify page. This will be used to remove a magic number in the bhyve AHCI emulation. Reported by: rpokala Reviewed by: imp, rpokala Approved by: imp, rpokala MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D25893 Modified: head/sys/sys/ata.h Modified: head/sys/sys/ata.h ============================================================================== --- head/sys/sys/ata.h Thu Jul 30 23:20:09 2020 (r363718) +++ head/sys/sys/ata.h Thu Jul 30 23:49:49 2020 (r363719) @@ -46,6 +46,7 @@ struct ata_params { #define ATA_ATAPI_TYPE_TAPE 0x0100 /* streaming tape */ #define ATA_ATAPI_TYPE_CDROM 0x0500 /* CD-ROM device */ #define ATA_ATAPI_TYPE_OPTICAL 0x0700 /* optical disk */ +#define ATA_ATAPI_REMOVABLE 0x0080 #define ATA_DRQ_MASK 0x0060 #define ATA_DRQ_SLOW 0x0000 /* cpu 3 ms delay */ #define ATA_DRQ_INTR 0x0020 /* interrupt 10 ms delay */ From owner-svn-src-all@freebsd.org Thu Jul 30 23:54:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 62EB036A55C; Thu, 30 Jul 2020 23:54:26 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHnM61LTJz46qV; Thu, 30 Jul 2020 23:54:26 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ECB9D18F23; Thu, 30 Jul 2020 23:54:25 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06UNsPZO008770; Thu, 30 Jul 2020 23:54:25 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06UNsPC0008769; Thu, 30 Jul 2020 23:54:25 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202007302354.06UNsPC0008769@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Thu, 30 Jul 2020 23:54:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363720 - head/sys/contrib/pcg-c X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/contrib/pcg-c X-SVN-Commit-Revision: 363720 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2020 23:54:26 -0000 Author: cem Date: Thu Jul 30 23:54:25 2020 New Revision: 363720 URL: https://svnweb.freebsd.org/changeset/base/363720 Log: Import PCG-C into sys/contrib The intended (future) use is to provide fast pseudo-random numbers in non- cryptographic applications. Added: head/sys/contrib/pcg-c/ - copied from r363718, vendor/pcg-c/20190718-83252d9/ From owner-svn-src-all@freebsd.org Fri Jul 31 00:07:02 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 32A9736ADF7; Fri, 31 Jul 2020 00:07:02 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHndf0Zbpz47Mb; Fri, 31 Jul 2020 00:07:02 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E831D18D5B; Fri, 31 Jul 2020 00:07:01 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06V071BN015083; Fri, 31 Jul 2020 00:07:01 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06V071Kv015082; Fri, 31 Jul 2020 00:07:01 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202007310007.06V071Kv015082@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Fri, 31 Jul 2020 00:07:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363721 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363721 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 00:07:02 -0000 Author: cem Date: Fri Jul 31 00:07:01 2020 New Revision: 363721 URL: https://svnweb.freebsd.org/changeset/base/363721 Log: getblk: Avoid sleeping on wrong buf in lockless path If the buffer identity changed during lookup, sleeping could introduce a lock order reversal. Since we do not know if the identity changed until we get the lock, we must try-lock (LK_NOWAIT) only. EINTR and ERESTART error handling becomes irrelevant, as we no longer sleep. Reported by: kib Reviewed by: kib X-MFC-With: r363482 Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D25898 Modified: head/sys/kern/vfs_bio.c Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Thu Jul 30 23:54:25 2020 (r363720) +++ head/sys/kern/vfs_bio.c Fri Jul 31 00:07:01 2020 (r363721) @@ -3844,7 +3844,7 @@ getblkx(struct vnode *vp, daddr_t blkno, daddr_t dblkn struct buf *bp; struct bufobj *bo; daddr_t d_blkno; - int bsize, error, maxsize, vmio, lockflags; + int bsize, error, maxsize, vmio; off_t offset; CTR3(KTR_BUF, "getblk(%p, %ld, %d)", vp, (long)blkno, size); @@ -3865,14 +3865,9 @@ getblkx(struct vnode *vp, daddr_t blkno, daddr_t dblkn if (bp == NULL) goto newbuf_unlocked; - lockflags = LK_EXCLUSIVE | LK_SLEEPFAIL | - ((flags & GB_LOCK_NOWAIT) ? LK_NOWAIT : 0); - - error = BUF_TIMELOCK(bp, lockflags, NULL, "getblku", slpflag, - slptimeo); - if (error == EINTR || error == ERESTART) - return (error); - else if (error != 0) + error = BUF_TIMELOCK(bp, LK_EXCLUSIVE | LK_NOWAIT, NULL, "getblku", 0, + 0); + if (error != 0) goto loop; /* Verify buf identify has not changed since lookup. */ @@ -3886,6 +3881,8 @@ loop: BO_RLOCK(bo); bp = gbincore(bo, blkno); if (bp != NULL) { + int lockflags; + /* * Buffer is in-core. If the buffer is not busy nor managed, * it must be on a queue. From owner-svn-src-all@freebsd.org Fri Jul 31 00:13:40 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F093F36B22A; Fri, 31 Jul 2020 00:13:40 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHnnJ6BTyz48Cj; Fri, 31 Jul 2020 00:13:40 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B7ED9193B0; Fri, 31 Jul 2020 00:13:40 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06V0Deas021409; Fri, 31 Jul 2020 00:13:40 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06V0Dei9021408; Fri, 31 Jul 2020 00:13:40 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202007310013.06V0Dei9021408@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Fri, 31 Jul 2020 00:13:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363722 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363722 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 00:13:41 -0000 Author: cem Date: Fri Jul 31 00:13:40 2020 New Revision: 363722 URL: https://svnweb.freebsd.org/changeset/base/363722 Log: getblk: Remove a non-sensical LK_NOWAIT | LK_SLEEPFAIL No functional change. LK_SLEEPFAIL implies a behavior that is only possible if the lock operation can sleep. LK_NOWAIT prevents the lock operation from sleeping. Discussed with: kib Modified: head/sys/kern/vfs_bio.c Modified: head/sys/kern/vfs_bio.c ============================================================================== --- head/sys/kern/vfs_bio.c Fri Jul 31 00:07:01 2020 (r363721) +++ head/sys/kern/vfs_bio.c Fri Jul 31 00:13:40 2020 (r363722) @@ -3887,10 +3887,8 @@ loop: * Buffer is in-core. If the buffer is not busy nor managed, * it must be on a queue. */ - lockflags = LK_EXCLUSIVE | LK_SLEEPFAIL | LK_INTERLOCK; - - if ((flags & GB_LOCK_NOWAIT) != 0) - lockflags |= LK_NOWAIT; + lockflags = LK_EXCLUSIVE | LK_INTERLOCK | + ((flags & GB_LOCK_NOWAIT) ? LK_NOWAIT : LK_SLEEPFAIL); error = BUF_TIMELOCK(bp, lockflags, BO_LOCKPTR(bo), "getblk", slpflag, slptimeo); From owner-svn-src-all@freebsd.org Fri Jul 31 01:47:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7587236D62F; Fri, 31 Jul 2020 01:47:33 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHqsd2J19z4DKL; Fri, 31 Jul 2020 01:47:33 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qt1-f173.google.com (mail-qt1-f173.google.com [209.85.160.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 3305C24123; Fri, 31 Jul 2020 01:47:33 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f173.google.com with SMTP id s23so21894785qtq.12; Thu, 30 Jul 2020 18:47:33 -0700 (PDT) X-Gm-Message-State: AOAM533HEIu8HfT/d7gDESlxkkdOM/iKnF5zor6Nto5q/7zh+sTl69Fh IosrKKo2Wy+gKb3ysuFrSkfcHcmWCoIab2ZUJvo= X-Google-Smtp-Source: ABdhPJymOVnrSbsIG7fpDMUJ3r9UkEhdW2kEMpNXRDJks4H70Cj+v7uH3a+JWzJp+RWF5fZUa79hbCsmSW8OyqHWWhw= X-Received: by 2002:ac8:70cd:: with SMTP id g13mr1568283qtp.53.1596160052216; Thu, 30 Jul 2020 18:47:32 -0700 (PDT) MIME-Version: 1.0 References: <202007292321.06TNLuoq087451@repo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Thu, 30 Jul 2020 20:47:21 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Li-Wen Hsu Cc: src-committers , svn-src-all , svn-src-head , Ngie Cooper , Alan Somers Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 01:47:33 -0000 On Wed, Jul 29, 2020 at 10:53 PM Li-Wen Hsu wrote: > > On Thu, Jul 30, 2020 at 7:22 AM Kyle Evans wrote: > > > > Author: kevans > > Date: Wed Jul 29 23:21:56 2020 > > New Revision: 363679 > > URL: https://svnweb.freebsd.org/changeset/base/363679 > > > > Log: > > regex(3): Interpret many escaped ordinary characters as EESCAPE > > > > In IEEE 1003.1-2008 [1] and earlier revisions, BRE/ERE grammar allows for > > any character to be escaped, but "ORD_CHAR preceded by an unescaped > > character [gives undefined results]". > > > > Historically, we've interpreted an escaped ordinary character as the > > ordinary character itself. This becomes problematic when some extensions > > give special meanings to an otherwise ordinary character > > (e.g. GNU's \b, \s, \w), meaning we may have two different valid > > interpretations of the same sequence. > > > > To make this easier to deal with and given that the standard calls this > > undefined, we should throw an error (EESCAPE) if we run into this scenario > > to ease transition into a state where some escaped ordinaries are blessed > > with a special meaning -- it will either error out or have extended > > behavior, rather than have two entirely different versions of undefined > > behavior that leave the consumer of regex(3) guessing as to what behavior > > will be used or leaving them with false impressions. > > > > This change bumps the symbol version of regcomp to FBSD_1.6 and provides the > > old escape semantics for legacy applications, just in case one has an older > > application that would immediately turn into a pumpkin because of an > > extraneous escape that's embehttps://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/dded or otherwise critical to its operation. > > > > This is the final piece needed before enhancing libregex with GNU extensions > > and flipping the switch on bsdgrep. > > > > [1] http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/ > > > > PR: 229925 (exp-run, courtesy of antoine) > > Differential Revision: https://reviews.freebsd.org/D10510 > > > > Modified: > > head/contrib/netbsd-tests/lib/libc/regex/data/meta.in > > head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in > > head/lib/libc/regex/Symbol.map > > head/lib/libc/regex/regcomp.c > > I think there are 3 test cases need to be modified after this change: > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/ > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.diff/diff_test/side_by_side/ > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.sed/sed2_test/hex_subst/ > CC'ing asomers@ and ngie@, because ISTR they have some googletest stock. Testing my libregex GNU extensions revealed that I'm really not ready to commit that just yet. We have two options here for googletest: 1. Disable it and create a PR to be fixed when my changes are done, hopefully by the end of the week, or 2. Fix the expressions in contrib/googletest/googletest/test/googletest-port-test.cc to be POSIX compliant and upstream that. #2 is generally a replacement of \w -> [[:alnum:]] and \W -> [^[:alnum:]] and maybe \s -> [[:space:]]. Thoughts? Thanks, Kyle Evans From owner-svn-src-all@freebsd.org Fri Jul 31 01:50:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F227536D4EE; Fri, 31 Jul 2020 01:50:32 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHqx46BlTz4D8x; Fri, 31 Jul 2020 01:50:32 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id B2AE824124; Fri, 31 Jul 2020 01:50:32 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f173.google.com with SMTP id 11so27562227qkn.2; Thu, 30 Jul 2020 18:50:32 -0700 (PDT) X-Gm-Message-State: AOAM5329BUnIJgVCqGfmmgU4PfbhqLCkA7QXdD0tYyDhi6kwbMWZDfVW P+InPV2BW/2yVY72fumK+r3qA7td/cjNW9hmUFs= X-Google-Smtp-Source: ABdhPJwvRPREy6ipwuw3BJYmjyqU+juNxnJVPl4ET06kc0WrFUKQBJ3t73SNqbiLFiKXWjroUQUQz87JTohVvlK4Qpc= X-Received: by 2002:a05:620a:628:: with SMTP id 8mr2026932qkv.103.1596160232254; Thu, 30 Jul 2020 18:50:32 -0700 (PDT) MIME-Version: 1.0 References: <202007292321.06TNLuoq087451@repo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Thu, 30 Jul 2020 20:50:21 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Kyle Evans Cc: Li-Wen Hsu , src-committers , svn-src-all , svn-src-head , Ngie Cooper , Alan Somers Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 01:50:33 -0000 On Thu, Jul 30, 2020 at 8:47 PM Kyle Evans wrote: > > On Wed, Jul 29, 2020 at 10:53 PM Li-Wen Hsu wrote: > > > > On Thu, Jul 30, 2020 at 7:22 AM Kyle Evans wrote: > > > > > > Author: kevans > > > Date: Wed Jul 29 23:21:56 2020 > > > New Revision: 363679 > > > URL: https://svnweb.freebsd.org/changeset/base/363679 > > > > > > Log: > > > regex(3): Interpret many escaped ordinary characters as EESCAPE > > > > > > In IEEE 1003.1-2008 [1] and earlier revisions, BRE/ERE grammar allows for > > > any character to be escaped, but "ORD_CHAR preceded by an unescaped > > > character [gives undefined results]". > > > > > > Historically, we've interpreted an escaped ordinary character as the > > > ordinary character itself. This becomes problematic when some extensions > > > give special meanings to an otherwise ordinary character > > > (e.g. GNU's \b, \s, \w), meaning we may have two different valid > > > interpretations of the same sequence. > > > > > > To make this easier to deal with and given that the standard calls this > > > undefined, we should throw an error (EESCAPE) if we run into this scenario > > > to ease transition into a state where some escaped ordinaries are blessed > > > with a special meaning -- it will either error out or have extended > > > behavior, rather than have two entirely different versions of undefined > > > behavior that leave the consumer of regex(3) guessing as to what behavior > > > will be used or leaving them with false impressions. > > > > > > This change bumps the symbol version of regcomp to FBSD_1.6 and provides the > > > old escape semantics for legacy applications, just in case one has an older > > > application that would immediately turn into a pumpkin because of an > > > extraneous escape that's embehttps://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/dded or otherwise critical to its operation. > > > > > > This is the final piece needed before enhancing libregex with GNU extensions > > > and flipping the switch on bsdgrep. > > > > > > [1] http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/ > > > > > > PR: 229925 (exp-run, courtesy of antoine) > > > Differential Revision: https://reviews.freebsd.org/D10510 > > > > > > Modified: > > > head/contrib/netbsd-tests/lib/libc/regex/data/meta.in > > > head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in > > > head/lib/libc/regex/Symbol.map > > > head/lib/libc/regex/regcomp.c > > > > I think there are 3 test cases need to be modified after this change: > > > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/ > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.diff/diff_test/side_by_side/ > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.sed/sed2_test/hex_subst/ > > > > CC'ing asomers@ and ngie@, because ISTR they have some googletest stock. > > Testing my libregex GNU extensions revealed that I'm really not ready > to commit that just yet. We have two options here for googletest: > > 1. Disable it and create a PR to be fixed when my changes are done, > hopefully by the end of the week, or > 2. Fix the expressions in > contrib/googletest/googletest/test/googletest-port-test.cc to be POSIX > compliant and upstream that. > > #2 is generally a replacement of \w -> [[:alnum:]] and \W -> > [^[:alnum:]] and maybe \s -> [[:space:]]. > Sorry, to be more precise: disable it meaning expect failure of that specific test or something similar. From owner-svn-src-all@freebsd.org Fri Jul 31 02:21:20 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2EBC936DD9A; Fri, 31 Jul 2020 02:21:20 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHrcc0RGxz4FHt; Fri, 31 Jul 2020 02:21:20 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E4F071A9CA; Fri, 31 Jul 2020 02:21:19 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06V2LJDR097558; Fri, 31 Jul 2020 02:21:19 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06V2LJbj097557; Fri, 31 Jul 2020 02:21:19 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202007310221.06V2LJbj097557@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Fri, 31 Jul 2020 02:21:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363723 - head X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 363723 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 02:21:20 -0000 Author: kevans Date: Fri Jul 31 02:21:19 2020 New Revision: 363723 URL: https://svnweb.freebsd.org/changeset/base/363723 Log: UPDATING: Add a note about running installworld twice Some folks seem to be hitting issues with build orchestration; presumably some of our .WAIT-removal optimizations are going awry, and they're ending up with applications linked against new libc being installed before the new libc. Letting installworld complete the first time should ensure that the new libc is installed by the end of it, then the second installworld will ensure consistency as everything should succeed. Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Fri Jul 31 00:13:40 2020 (r363722) +++ head/UPDATING Fri Jul 31 02:21:19 2020 (r363723) @@ -33,6 +33,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: ports, but other non-ports software may need extra escapes removed to continue to function. + Because of this change, installworld may encounter the following error + from rtld: Undefined symbol "regcomp@FBSD_1.6" -- It is imperative that + you do not halt installworld. Instead, let it run to completion (whether + successful or not) and run installworld once more. + 20200627: A new implementation of bc and dc has been imorted in r362681. This implementation corrects non-conformant behavior of the previous bc From owner-svn-src-all@freebsd.org Fri Jul 31 03:54:00 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2D37A36FAA5; Fri, 31 Jul 2020 03:54:00 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHtgX09k1z4KMr; Fri, 31 Jul 2020 03:54:00 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id E249529CE; Fri, 31 Jul 2020 03:53:59 +0000 (UTC) Date: Fri, 31 Jul 2020 03:53:59 +0000 From: Alexey Dokuchaev To: Stefan E??er Cc: Baptiste Daroussin , Jessica Clarke , Stefan E??er , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r363091 - in head/contrib/bc: . include manuals src tests tests/bc Message-ID: <20200731035359.GA51370@FreeBSD.org> References: <202007110733.06B7XJrp033777@repo.freebsd.org> <20200730162009.rnjs6l5rjqsoiqpq@ivaldir.net> <20200730163154.a4d7672xsugkhmxq@ivaldir.net> <7f89d655-eeaf-beca-5531-77da2b790c01@t-online.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7f89d655-eeaf-beca-5531-77da2b790c01@t-online.de> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 03:54:00 -0000 On Thu, Jul 30, 2020 at 06:51:58PM +0200, Stefan E??er wrote: > ... > My guess is that he'll add a compile time switch to his version > that will be added to our usr.bin Makefile and will suppress the > start-up message in our base system version. (I'll keep the port > version as is unless there is a strong preference to suppress it > also in the port). Yes, this is the correct approach, thank you Stefan. ./danfe From owner-svn-src-all@freebsd.org Fri Jul 31 07:37:08 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DC5E03726D8; Fri, 31 Jul 2020 07:37:08 +0000 (UTC) (envelope-from pstef@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BHzd05Gkcz4T5D; Fri, 31 Jul 2020 07:37:08 +0000 (UTC) (envelope-from pstef@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 984221E709; Fri, 31 Jul 2020 07:37:08 +0000 (UTC) (envelope-from pstef@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06V7b8pM092490; Fri, 31 Jul 2020 07:37:08 GMT (envelope-from pstef@FreeBSD.org) Received: (from pstef@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06V7b8bp092489; Fri, 31 Jul 2020 07:37:08 GMT (envelope-from pstef@FreeBSD.org) Message-Id: <202007310737.06V7b8bp092489@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pstef set sender to pstef@FreeBSD.org using -f From: Piotr Pawel Stefaniak Date: Fri, 31 Jul 2020 07:37:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363724 - stable/12/share/man/man7 X-SVN-Group: stable-12 X-SVN-Commit-Author: pstef X-SVN-Commit-Paths: stable/12/share/man/man7 X-SVN-Commit-Revision: 363724 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 07:37:08 -0000 Author: pstef Date: Fri Jul 31 07:37:08 2020 New Revision: 363724 URL: https://svnweb.freebsd.org/changeset/base/363724 Log: MFC r363268: Promote use of unprivileged users for building ports by documenting SU_CMD. Phrasing by Daniel O'Connor. Reviewed by: 0mp Differential Revision: https://reviews.freebsd.org/D25433 Modified: stable/12/share/man/man7/ports.7 Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man7/ports.7 ============================================================================== --- stable/12/share/man/man7/ports.7 Fri Jul 31 02:21:19 2020 (r363723) +++ stable/12/share/man/man7/ports.7 Fri Jul 31 07:37:08 2020 (r363724) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 16, 2018 +.Dd July 17, 2020 .Dt PORTS 7 .Os .Sh NAME @@ -390,6 +390,14 @@ Where to find/put distfiles, normally .Pa distfiles/ in .Va PORTSDIR . +.It Va SU_CMD +Command used to elevate privilege to configure and install a port. +The unprivileged user must have write access to +.Va WRKDIRPREFIX +and +.Va DISTDIR . +The default is +.Ql /usr/bin/su root -c .It Va PACKAGES Used only for the .Cm package From owner-svn-src-all@freebsd.org Fri Jul 31 10:03:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 56642375196; Fri, 31 Jul 2020 10:03:33 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ2sx1YHpz4ZrC; Fri, 31 Jul 2020 10:03:33 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 187DA1FCC2; Fri, 31 Jul 2020 10:03:33 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VA3WMl083555; Fri, 31 Jul 2020 10:03:32 GMT (envelope-from rrs@FreeBSD.org) Received: (from rrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VA3W15083554; Fri, 31 Jul 2020 10:03:32 GMT (envelope-from rrs@FreeBSD.org) Message-Id: <202007311003.06VA3W15083554@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rrs set sender to rrs@FreeBSD.org using -f From: Randall Stewart Date: Fri, 31 Jul 2020 10:03:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363725 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: rrs X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 363725 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 10:03:33 -0000 Author: rrs Date: Fri Jul 31 10:03:32 2020 New Revision: 363725 URL: https://svnweb.freebsd.org/changeset/base/363725 Log: The recent changes to move the ref count increment back from the end of the function created an issue. If one of the routines returns NULL during setup we have inp's with extra references (which is why the increment was at the end). Also the stack switch return code was being ignored and actually has meaning if the stack cannot take over it should return NULL. Fix both of these situation by being sure to test the return code and of course in any case of return NULL (there are 3) make sure we properly reduce the ref count. Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D25903 Modified: head/sys/netinet/tcp_subr.c Modified: head/sys/netinet/tcp_subr.c ============================================================================== --- head/sys/netinet/tcp_subr.c Fri Jul 31 07:37:08 2020 (r363724) +++ head/sys/netinet/tcp_subr.c Fri Jul 31 10:03:32 2020 (r363725) @@ -1713,6 +1713,7 @@ tcp_newtcpcb(struct inpcb *inp) if (CC_ALGO(tp)->cb_init(tp->ccv) > 0) { if (tp->t_fb->tfb_tcp_fb_fini) (*tp->t_fb->tfb_tcp_fb_fini)(tp, 1); + in_pcbrele_wlocked(inp); refcount_release(&tp->t_fb->tfb_refcnt); uma_zfree(V_tcpcb_zone, tm); return (NULL); @@ -1723,6 +1724,7 @@ tcp_newtcpcb(struct inpcb *inp) if (khelp_init_osd(HELPER_CLASS_TCP, tp->osd)) { if (tp->t_fb->tfb_tcp_fb_fini) (*tp->t_fb->tfb_tcp_fb_fini)(tp, 1); + in_pcbrele_wlocked(inp); refcount_release(&tp->t_fb->tfb_refcnt); uma_zfree(V_tcpcb_zone, tm); return (NULL); @@ -1783,7 +1785,12 @@ tcp_newtcpcb(struct inpcb *inp) tcp_log_tcpcbinit(tp); #endif if (tp->t_fb->tfb_tcp_fb_init) { - (*tp->t_fb->tfb_tcp_fb_init)(tp); + if ((*tp->t_fb->tfb_tcp_fb_init)(tp)) { + refcount_release(&tp->t_fb->tfb_refcnt); + in_pcbrele_wlocked(inp); + uma_zfree(V_tcpcb_zone, tm); + return (NULL); + } } #ifdef STATS if (V_tcp_perconn_stats_enable == 1) From owner-svn-src-all@freebsd.org Fri Jul 31 10:40:48 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 51456375AE6; Fri, 31 Jul 2020 10:40:48 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ3hw1R2mz4bnw; Fri, 31 Jul 2020 10:40:48 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1482E2080C; Fri, 31 Jul 2020 10:40:48 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VAelAV003912; Fri, 31 Jul 2020 10:40:47 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VAelnJ003911; Fri, 31 Jul 2020 10:40:47 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007311040.06VAelnJ003911@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 31 Jul 2020 10:40:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363726 - stable/12/share/man/man8 X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/share/man/man8 X-SVN-Commit-Revision: 363726 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 10:40:48 -0000 Author: 0mp (doc,ports committer) Date: Fri Jul 31 10:40:47 2020 New Revision: 363726 URL: https://svnweb.freebsd.org/changeset/base/363726 Log: MFC 363473: Document that force_depend() supports only /etc/rc.d scripts Currently, force_depend() from rc.subr(8) does not support depending on scripts outside of /etc/rc.d (like /usr/local/etc/rc.d). The /etc/rc.d path is hard-coded into force_depend(). Modified: stable/12/share/man/man8/rc.subr.8 Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man8/rc.subr.8 ============================================================================== --- stable/12/share/man/man8/rc.subr.8 Fri Jul 31 10:03:32 2020 (r363725) +++ stable/12/share/man/man8/rc.subr.8 Fri Jul 31 10:40:47 2020 (r363726) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 15, 2019 +.Dd July 24, 2020 .Dt RC.SUBR 8 .Os .Sh NAME @@ -237,8 +237,13 @@ The .Ar name argument is the .Xr basename 1 -component of the path to the script, usually -.Pa /etc/rc.d/name . +component of the path to the script located at +.Pa /etc/rc.d +(scripts stored in other locations like +.Pa /usr/local/etc/rc.d +cannot be contolled with +.Ic force_depend +currently). If the script fails for any reason it will output a warning and return with a return value of 1. If it was successful From owner-svn-src-all@freebsd.org Fri Jul 31 10:45:22 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 068F2375F35; Fri, 31 Jul 2020 10:45:22 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ3p96Ppvz4cYR; Fri, 31 Jul 2020 10:45:21 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BF3BD20743; Fri, 31 Jul 2020 10:45:21 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VAjLJm008425; Fri, 31 Jul 2020 10:45:21 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VAjLpp008424; Fri, 31 Jul 2020 10:45:21 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007311045.06VAjLpp008424@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 31 Jul 2020 10:45:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363727 - stable/11/share/man/man8 X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/share/man/man8 X-SVN-Commit-Revision: 363727 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 10:45:22 -0000 Author: 0mp (doc,ports committer) Date: Fri Jul 31 10:45:21 2020 New Revision: 363727 URL: https://svnweb.freebsd.org/changeset/base/363727 Log: MFC 363473: Document that force_depend() supports only /etc/rc.d scripts Currently, force_depend() from rc.subr(8) does not support depending on scripts outside of /etc/rc.d (like /usr/local/etc/rc.d). The /etc/rc.d path is hard-coded into force_depend(). Modified: stable/11/share/man/man8/rc.subr.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man8/rc.subr.8 ============================================================================== --- stable/11/share/man/man8/rc.subr.8 Fri Jul 31 10:40:47 2020 (r363726) +++ stable/11/share/man/man8/rc.subr.8 Fri Jul 31 10:45:21 2020 (r363727) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 15, 2019 +.Dd July 24, 2020 .Dt RC.SUBR 8 .Os .Sh NAME @@ -258,8 +258,13 @@ The .Ar name argument is the .Xr basename 1 -component of the path to the script, usually -.Pa /etc/rc.d/name . +component of the path to the script located at +.Pa /etc/rc.d +(scripts stored in other locations like +.Pa /usr/local/etc/rc.d +cannot be contolled with +.Ic force_depend +currently). If the script fails for any reason it will output a warning and return with a return value of 1. If it was successful From owner-svn-src-all@freebsd.org Fri Jul 31 10:55:24 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7BB3E3764C9; Fri, 31 Jul 2020 10:55:24 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ41m2m2gz4dJG; Fri, 31 Jul 2020 10:55:24 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3DA672092D; Fri, 31 Jul 2020 10:55:24 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VAtNTq014543; Fri, 31 Jul 2020 10:55:23 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VAtNWF014542; Fri, 31 Jul 2020 10:55:23 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007311055.06VAtNWF014542@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 31 Jul 2020 10:55:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363728 - stable/12/sbin/devd X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/sbin/devd X-SVN-Commit-Revision: 363728 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 10:55:24 -0000 Author: 0mp (doc,ports committer) Date: Fri Jul 31 10:55:23 2020 New Revision: 363728 URL: https://svnweb.freebsd.org/changeset/base/363728 Log: MFC 363248: Remove old devd rules for ActiveWire and Entrega Serial DB25 Those rules have been broken at least since 8-STABLE, when the port providing the ezdownload binary was removed (misc/ezload). Reviewed by: kevans, imp Differential Revision: https://reviews.freebsd.org/D25686 Modified: stable/12/sbin/devd/devd.conf Directory Properties: stable/12/ (props changed) Modified: stable/12/sbin/devd/devd.conf ============================================================================== --- stable/12/sbin/devd/devd.conf Fri Jul 31 10:45:21 2020 (r363727) +++ stable/12/sbin/devd/devd.conf Fri Jul 31 10:55:23 2020 (r363728) @@ -154,24 +154,6 @@ notify 100 { action "service moused stop $cdev"; }; -# Firmware download into the ActiveWire board. After the firmware download is -# done, the device detaches and reappears as something new and shiny -# automatically. -attach 100 { - match "vendor" "0x0854"; - match "product" "0x0100"; - match "release" "0x0000"; - action "/usr/local/bin/ezdownload -f /usr/local/share/usb/firmware/0854.0100.0_01.hex $device-name"; -}; - -# Firmware download for Entrega Serial DB25 adapter. -attach 100 { - match "vendor" "0x1645"; - match "product" "0x8001"; - match "release" "0x0101"; - action "if ! kldstat -n usio > /dev/null 2>&1 ; then kldload usio; fi; /usr/sbin/ezdownload -v -f /usr/share/usb/firmware/1645.8001.0101 /dev/$device-name"; -}; - # This entry starts the ColdSync tool in daemon mode. Make sure you have an up # to date /usr/local/etc/palms. We override the 'listen' settings for port and # type in /usr/local/etc/coldsync.conf. From owner-svn-src-all@freebsd.org Fri Jul 31 11:14:12 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0B54E376C1A; Fri, 31 Jul 2020 11:14:12 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ4RR6TDhz4f7v; Fri, 31 Jul 2020 11:14:11 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C26AC20F01; Fri, 31 Jul 2020 11:14:11 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VBEBvh026523; Fri, 31 Jul 2020 11:14:11 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VBEBQD026522; Fri, 31 Jul 2020 11:14:11 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007311114.06VBEBQD026522@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 31 Jul 2020 11:14:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363729 - stable/11/etc X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/etc X-SVN-Commit-Revision: 363729 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 11:14:12 -0000 Author: 0mp (doc,ports committer) Date: Fri Jul 31 11:14:11 2020 New Revision: 363729 URL: https://svnweb.freebsd.org/changeset/base/363729 Log: MFC 363248: Remove old devd rules for ActiveWire and Entrega Serial DB25 Those rules have been broken at least since 8-STABLE, when the port providing the ezdownload binary was removed (misc/ezload). Reviewed by: kevans, imp Differential Revision: https://reviews.freebsd.org/D25686 Modified: stable/11/etc/devd.conf Directory Properties: stable/11/ (props changed) Modified: stable/11/etc/devd.conf ============================================================================== --- stable/11/etc/devd.conf Fri Jul 31 10:55:23 2020 (r363728) +++ stable/11/etc/devd.conf Fri Jul 31 11:14:11 2020 (r363729) @@ -153,24 +153,6 @@ notify 100 { action "/etc/rc.d/moused stop $cdev"; }; -# Firmware download into the ActiveWire board. After the firmware download is -# done, the device detaches and reappears as something new and shiny -# automatically. -attach 100 { - match "vendor" "0x0854"; - match "product" "0x0100"; - match "release" "0x0000"; - action "/usr/local/bin/ezdownload -f /usr/local/share/usb/firmware/0854.0100.0_01.hex $device-name"; -}; - -# Firmware download for Entrega Serial DB25 adapter. -attach 100 { - match "vendor" "0x1645"; - match "product" "0x8001"; - match "release" "0x0101"; - action "if ! kldstat -n usio > /dev/null 2>&1 ; then kldload usio; fi; /usr/sbin/ezdownload -v -f /usr/share/usb/firmware/1645.8001.0101 /dev/$device-name"; -}; - # This entry starts the ColdSync tool in daemon mode. Make sure you have an up # to date /usr/local/etc/palms. We override the 'listen' settings for port and # type in /usr/local/etc/coldsync.conf. From owner-svn-src-all@freebsd.org Fri Jul 31 11:28:10 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0809E376EF8; Fri, 31 Jul 2020 11:28:10 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ4lY6W7Rz4ffh; Fri, 31 Jul 2020 11:28:09 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C3CAF20EF6; Fri, 31 Jul 2020 11:28:09 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VBS9ZB033103; Fri, 31 Jul 2020 11:28:09 GMT (envelope-from arichardson@FreeBSD.org) Received: (from arichardson@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VBS9FA033102; Fri, 31 Jul 2020 11:28:09 GMT (envelope-from arichardson@FreeBSD.org) Message-Id: <202007311128.06VBS9FA033102@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: arichardson set sender to arichardson@FreeBSD.org using -f From: Alex Richardson Date: Fri, 31 Jul 2020 11:28:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363730 - head/sys/mips/conf X-SVN-Group: head X-SVN-Commit-Author: arichardson X-SVN-Commit-Paths: head/sys/mips/conf X-SVN-Commit-Revision: 363730 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 11:28:10 -0000 Author: arichardson Date: Fri Jul 31 11:28:09 2020 New Revision: 363730 URL: https://svnweb.freebsd.org/changeset/base/363730 Log: Include virtio support in std.MALTA The MALTA kernel config is generally used for QEMU and having support for VirtIO there by default is quite useful. Reviewed By: brooks Differential Revision: https://reviews.freebsd.org/D25217 Modified: head/sys/mips/conf/std.MALTA Modified: head/sys/mips/conf/std.MALTA ============================================================================== --- head/sys/mips/conf/std.MALTA Fri Jul 31 11:14:11 2020 (r363729) +++ head/sys/mips/conf/std.MALTA Fri Jul 31 11:28:09 2020 (r363730) @@ -55,3 +55,10 @@ device miibus device bpf device md device uart + +# VirtIO support +device virtio # Generic VirtIO bus (required) +device virtio_pci # VirtIO PCI Interface +device vtnet # VirtIO Ethernet device +device virtio_blk # VirtIO Block device +device virtio_random # VirtIO Entropy device From owner-svn-src-all@freebsd.org Fri Jul 31 12:02:05 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 19107377DB2; Fri, 31 Jul 2020 12:02:05 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ5Vh6y2rz4hPj; Fri, 31 Jul 2020 12:02:04 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D2052213DD; Fri, 31 Jul 2020 12:02:04 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VC24rh052430; Fri, 31 Jul 2020 12:02:04 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VC24Vv052429; Fri, 31 Jul 2020 12:02:04 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007311202.06VC24Vv052429@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 31 Jul 2020 12:02:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363731 - stable/12/share/man/man8 X-SVN-Group: stable-12 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/12/share/man/man8 X-SVN-Commit-Revision: 363731 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 12:02:05 -0000 Author: 0mp (doc,ports committer) Date: Fri Jul 31 12:02:04 2020 New Revision: 363731 URL: https://svnweb.freebsd.org/changeset/base/363731 Log: MFC 363475: Fix grammar issues and typos Reported by: ian Modified: stable/12/share/man/man8/rc.subr.8 Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man8/rc.subr.8 ============================================================================== --- stable/12/share/man/man8/rc.subr.8 Fri Jul 31 11:28:09 2020 (r363730) +++ stable/12/share/man/man8/rc.subr.8 Fri Jul 31 12:02:04 2020 (r363731) @@ -239,9 +239,9 @@ argument is the .Xr basename 1 component of the path to the script located at .Pa /etc/rc.d -(scripts stored in other locations like +(scripts stored in other locations such as .Pa /usr/local/etc/rc.d -cannot be contolled with +cannot be controlled with .Ic force_depend currently). If the script fails for any reason it will output a warning From owner-svn-src-all@freebsd.org Fri Jul 31 12:10:00 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A6C2D378939; Fri, 31 Jul 2020 12:10:00 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ5gr3jffz4j0D; Fri, 31 Jul 2020 12:10:00 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5E9E4216A3; Fri, 31 Jul 2020 12:10:00 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VCA0TM057810; Fri, 31 Jul 2020 12:10:00 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VCA0Bh057809; Fri, 31 Jul 2020 12:10:00 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007311210.06VCA0Bh057809@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 31 Jul 2020 12:10:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r363732 - stable/11/share/man/man8 X-SVN-Group: stable-11 X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: stable/11/share/man/man8 X-SVN-Commit-Revision: 363732 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 12:10:00 -0000 Author: 0mp (doc,ports committer) Date: Fri Jul 31 12:09:59 2020 New Revision: 363732 URL: https://svnweb.freebsd.org/changeset/base/363732 Log: MFC 363475: Fix grammar issues and typos Reported by: ian Modified: stable/11/share/man/man8/rc.subr.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man8/rc.subr.8 ============================================================================== --- stable/11/share/man/man8/rc.subr.8 Fri Jul 31 12:02:04 2020 (r363731) +++ stable/11/share/man/man8/rc.subr.8 Fri Jul 31 12:09:59 2020 (r363732) @@ -260,9 +260,9 @@ argument is the .Xr basename 1 component of the path to the script located at .Pa /etc/rc.d -(scripts stored in other locations like +(scripts stored in other locations such as .Pa /usr/local/etc/rc.d -cannot be contolled with +cannot be controlled with .Ic force_depend currently). If the script fails for any reason it will output a warning From owner-svn-src-all@freebsd.org Fri Jul 31 12:10:29 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AF8233789D3; Fri, 31 Jul 2020 12:10:29 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ5hP4Bb9z4hmM; Fri, 31 Jul 2020 12:10:29 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 73C842136B; Fri, 31 Jul 2020 12:10:29 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VCATwH057872; Fri, 31 Jul 2020 12:10:29 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VCATN9057871; Fri, 31 Jul 2020 12:10:29 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <202007311210.06VCATN9057871@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Fri, 31 Jul 2020 12:10:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363733 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: grehan X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 363733 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 12:10:29 -0000 Author: grehan Date: Fri Jul 31 12:10:28 2020 New Revision: 363733 URL: https://svnweb.freebsd.org/changeset/base/363733 Log: Replace magic numbers in Identify page register 0 with ATA definitions. No functional change. Verified with objdump output before/after. Requested by: rpokala Reviewed by: rpokala MFC after: 3 weeks Modified: head/usr.sbin/bhyve/pci_ahci.c Modified: head/usr.sbin/bhyve/pci_ahci.c ============================================================================== --- head/usr.sbin/bhyve/pci_ahci.c Fri Jul 31 12:09:59 2020 (r363732) +++ head/usr.sbin/bhyve/pci_ahci.c Fri Jul 31 12:10:28 2020 (r363733) @@ -999,7 +999,8 @@ ata_identify_init(struct ahci_port* p, int atapi) struct ata_params* ata_ident = &p->ata_ident; if (atapi) { - ata_ident->config = (2 << 14 | 5 << 8 | 1 << 7 | 2 << 5); + ata_ident->config = ATA_PROTO_ATAPI | ATA_ATAPI_TYPE_CDROM | + ATA_ATAPI_REMOVABLE | ATA_DRQ_FAST; ata_ident->capabilities1 = ATA_SUPPORT_LBA | ATA_SUPPORT_DMA; ata_ident->capabilities2 = (1 << 14 | 1); From owner-svn-src-all@freebsd.org Fri Jul 31 12:40:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 204F33793F2; Fri, 31 Jul 2020 12:40:32 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ6M403c8z4klW; Fri, 31 Jul 2020 12:40:32 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D4D0C218C7; Fri, 31 Jul 2020 12:40:31 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VCeVGT076486; Fri, 31 Jul 2020 12:40:31 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VCeVKj076485; Fri, 31 Jul 2020 12:40:31 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202007311240.06VCeVKj076485@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Fri, 31 Jul 2020 12:40:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363734 - head/include X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/include X-SVN-Commit-Revision: 363734 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 12:40:32 -0000 Author: kevans Date: Fri Jul 31 12:40:31 2020 New Revision: 363734 URL: https://svnweb.freebsd.org/changeset/base/363734 Log: : reserve a regcomp field for REG_POSIX For libc regcomp, this will be a nop. libregex will take this to mean that it needs to turn off GNU extensions, effectively switching it back to the POSIX-compliant libc implementation at runtime. Modified: head/include/regex.h Modified: head/include/regex.h ============================================================================== --- head/include/regex.h Fri Jul 31 12:10:28 2020 (r363733) +++ head/include/regex.h Fri Jul 31 12:40:31 2020 (r363734) @@ -71,6 +71,7 @@ typedef struct { #define REG_NOSPEC 0020 #define REG_PEND 0040 #define REG_DUMP 0200 +#define REG_POSIX 0400 /* only POSIX-compliant regex (libregex) */ /* regerror() flags */ #define REG_ENOSYS (-1) From owner-svn-src-all@freebsd.org Fri Jul 31 13:39:20 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A838A37A1D9; Fri, 31 Jul 2020 13:39:20 +0000 (UTC) (envelope-from lwhsu@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ7fw403Kz4n9f; Fri, 31 Jul 2020 13:39:20 +0000 (UTC) (envelope-from lwhsu@freebsd.org) Received: from mail-yb1-f178.google.com (mail-yb1-f178.google.com [209.85.219.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: lwhsu/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 66A5E29653; Fri, 31 Jul 2020 13:39:20 +0000 (UTC) (envelope-from lwhsu@freebsd.org) Received: by mail-yb1-f178.google.com with SMTP id m200so12091560ybf.10; Fri, 31 Jul 2020 06:39:20 -0700 (PDT) X-Gm-Message-State: AOAM530aunMCM2y5pOMGlw15y5Hvq/y2Cr63rNsj5I+l0j3tKpjdKba/ PIK6PZEQY3PtMfZhbahxahN48dsw2SZc/+Vg7PA= X-Google-Smtp-Source: ABdhPJwvxiZLi5/BfX+tUZJsc4BmUIQ4KRCoCUvpnzHgojEXTFUA1MyK3kNSNxCoK1L2HnpZnImE7icV2l1JviQT1FM= X-Received: by 2002:a25:bfd1:: with SMTP id q17mr6396263ybm.176.1596202759639; Fri, 31 Jul 2020 06:39:19 -0700 (PDT) MIME-Version: 1.0 References: <202007292321.06TNLuoq087451@repo.freebsd.org> In-Reply-To: From: Li-Wen Hsu Date: Fri, 31 Jul 2020 21:39:08 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Kyle Evans Cc: src-committers , svn-src-all , svn-src-head , Ngie Cooper , Alan Somers Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 13:39:20 -0000 On Fri, Jul 31, 2020 at 9:50 AM Kyle Evans wrote: > > On Thu, Jul 30, 2020 at 8:47 PM Kyle Evans wrote: > > > > On Wed, Jul 29, 2020 at 10:53 PM Li-Wen Hsu wrote: > > > > > > On Thu, Jul 30, 2020 at 7:22 AM Kyle Evans wrote: > > > > > > > > Author: kevans > > > > Date: Wed Jul 29 23:21:56 2020 > > > > New Revision: 363679 > > > > URL: https://svnweb.freebsd.org/changeset/base/363679 > > > > > > > > Log: > > > > regex(3): Interpret many escaped ordinary characters as EESCAPE > > > > > > > > In IEEE 1003.1-2008 [1] and earlier revisions, BRE/ERE grammar allows for > > > > any character to be escaped, but "ORD_CHAR preceded by an unescaped > > > > character [gives undefined results]". > > > > > > > > Historically, we've interpreted an escaped ordinary character as the > > > > ordinary character itself. This becomes problematic when some extensions > > > > give special meanings to an otherwise ordinary character > > > > (e.g. GNU's \b, \s, \w), meaning we may have two different valid > > > > interpretations of the same sequence. > > > > > > > > To make this easier to deal with and given that the standard calls this > > > > undefined, we should throw an error (EESCAPE) if we run into this scenario > > > > to ease transition into a state where some escaped ordinaries are blessed > > > > with a special meaning -- it will either error out or have extended > > > > behavior, rather than have two entirely different versions of undefined > > > > behavior that leave the consumer of regex(3) guessing as to what behavior > > > > will be used or leaving them with false impressions. > > > > > > > > This change bumps the symbol version of regcomp to FBSD_1.6 and provides the > > > > old escape semantics for legacy applications, just in case one has an older > > > > application that would immediately turn into a pumpkin because of an > > > > extraneous escape that's embedded or otherwise critical to its operation. > > > > > > > > This is the final piece needed before enhancing libregex with GNU extensions > > > > and flipping the switch on bsdgrep. > > > > > > > > [1] http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/ > > > > > > > > PR: 229925 (exp-run, courtesy of antoine) > > > > Differential Revision: https://reviews.freebsd.org/D10510 > > > > > > > > Modified: > > > > head/contrib/netbsd-tests/lib/libc/regex/data/meta.in > > > > head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in > > > > head/lib/libc/regex/Symbol.map > > > > head/lib/libc/regex/regcomp.c > > > > > > I think there are 3 test cases need to be modified after this change: > > > > > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/ > > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.diff/diff_test/side_by_side/ > > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.sed/sed2_test/hex_subst/ > > > > > > > CC'ing asomers@ and ngie@, because ISTR they have some googletest stock. > > > > Testing my libregex GNU extensions revealed that I'm really not ready > > to commit that just yet. We have two options here for googletest: > > > > 1. Disable it and create a PR to be fixed when my changes are done, > > hopefully by the end of the week, or > > 2. Fix the expressions in > > contrib/googletest/googletest/test/googletest-port-test.cc to be POSIX > > compliant and upstream that. > > > > #2 is generally a replacement of \w -> [[:alnum:]] and \W -> > > [^[:alnum:]] and maybe \s -> [[:space:]]. > > > > Sorry, to be more precise: disable it meaning expect failure of that > specific test or something similar. I think there's no need to let a known issue generate lots of failure reports for more than 24 hours, I suggest let's go with 1) first. For 2), It's also good that both libregex and googletest can aware the difference between POSIX and GNU extensions, but I am not sure how upstream thinks about this. Still worth trying, though. Best, Li-Wen From owner-svn-src-all@freebsd.org Fri Jul 31 13:41:41 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 75CDD37A693; Fri, 31 Jul 2020 13:41:41 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ7jd2bWCz4n8f; Fri, 31 Jul 2020 13:41:41 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 3D0FC29813; Fri, 31 Jul 2020 13:41:41 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qv1-f47.google.com with SMTP id y11so11127226qvl.4; Fri, 31 Jul 2020 06:41:41 -0700 (PDT) X-Gm-Message-State: AOAM531u63mqUJrLnme24ScjhVrGXa3rusZI+2FsIyszPfLkqnEc1j3h GVLxGugy+f901TInkm2DqT1hk9wGMbROXp4NM2o= X-Google-Smtp-Source: ABdhPJzjjygKY6TabhfCfjbJkwc89wlJerQvCvdnjkXyMSopCm3kp3zL+etgd6Ad4kJ1v0qcJ21nrfUKa838DRtzvpE= X-Received: by 2002:a0c:b310:: with SMTP id s16mr3985039qve.5.1596202900817; Fri, 31 Jul 2020 06:41:40 -0700 (PDT) MIME-Version: 1.0 References: <202007292321.06TNLuoq087451@repo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Fri, 31 Jul 2020 08:41:28 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r363679 - in head: contrib/netbsd-tests/lib/libc/regex/data lib/libc/regex To: Li-Wen Hsu Cc: src-committers , svn-src-all , svn-src-head , Ngie Cooper , Alan Somers Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 13:41:41 -0000 On Fri, Jul 31, 2020 at 8:39 AM Li-Wen Hsu wrote: > > On Fri, Jul 31, 2020 at 9:50 AM Kyle Evans wrote: > > > > On Thu, Jul 30, 2020 at 8:47 PM Kyle Evans wrote: > > > > > > On Wed, Jul 29, 2020 at 10:53 PM Li-Wen Hsu wrote: > > > > > > > > On Thu, Jul 30, 2020 at 7:22 AM Kyle Evans wrote: > > > > > > > > > > Author: kevans > > > > > Date: Wed Jul 29 23:21:56 2020 > > > > > New Revision: 363679 > > > > > URL: https://svnweb.freebsd.org/changeset/base/363679 > > > > > > > > > > Log: > > > > > regex(3): Interpret many escaped ordinary characters as EESCAPE > > > > > > > > > > In IEEE 1003.1-2008 [1] and earlier revisions, BRE/ERE grammar allows for > > > > > any character to be escaped, but "ORD_CHAR preceded by an unescaped > > > > > character [gives undefined results]". > > > > > > > > > > Historically, we've interpreted an escaped ordinary character as the > > > > > ordinary character itself. This becomes problematic when some extensions > > > > > give special meanings to an otherwise ordinary character > > > > > (e.g. GNU's \b, \s, \w), meaning we may have two different valid > > > > > interpretations of the same sequence. > > > > > > > > > > To make this easier to deal with and given that the standard calls this > > > > > undefined, we should throw an error (EESCAPE) if we run into this scenario > > > > > to ease transition into a state where some escaped ordinaries are blessed > > > > > with a special meaning -- it will either error out or have extended > > > > > behavior, rather than have two entirely different versions of undefined > > > > > behavior that leave the consumer of regex(3) guessing as to what behavior > > > > > will be used or leaving them with false impressions. > > > > > > > > > > This change bumps the symbol version of regcomp to FBSD_1.6 and provides the > > > > > old escape semantics for legacy applications, just in case one has an older > > > > > application that would immediately turn into a pumpkin because of an > > > > > extraneous escape that's embedded or otherwise critical to its operation. > > > > > > > > > > This is the final piece needed before enhancing libregex with GNU extensions > > > > > and flipping the switch on bsdgrep. > > > > > > > > > > [1] http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/ > > > > > > > > > > PR: 229925 (exp-run, courtesy of antoine) > > > > > Differential Revision: https://reviews.freebsd.org/D10510 > > > > > > > > > > Modified: > > > > > head/contrib/netbsd-tests/lib/libc/regex/data/meta.in > > > > > head/contrib/netbsd-tests/lib/libc/regex/data/subexp.in > > > > > head/lib/libc/regex/Symbol.map > > > > > head/lib/libc/regex/regcomp.c > > > > > > > > I think there are 3 test cases need to be modified after this change: > > > > > > > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/lib.googletest.gtest_main/googletest-port-test/main/ > > > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.diff/diff_test/side_by_side/ > > > > https://ci.freebsd.org/job/FreeBSD-head-amd64-test/16011/testReport/junit/usr.bin.sed/sed2_test/hex_subst/ > > > > > > > > > > CC'ing asomers@ and ngie@, because ISTR they have some googletest stock. > > > > > > Testing my libregex GNU extensions revealed that I'm really not ready > > > to commit that just yet. We have two options here for googletest: > > > > > > 1. Disable it and create a PR to be fixed when my changes are done, > > > hopefully by the end of the week, or > > > 2. Fix the expressions in > > > contrib/googletest/googletest/test/googletest-port-test.cc to be POSIX > > > compliant and upstream that. > > > > > > #2 is generally a replacement of \w -> [[:alnum:]] and \W -> > > > [^[:alnum:]] and maybe \s -> [[:space:]]. > > > > > > > Sorry, to be more precise: disable it meaning expect failure of that > > specific test or something similar. > > I think there's no need to let a known issue generate lots of failure > reports for more than 24 hours, I suggest let's go with 1) first. For > 2), It's also good that both libregex and googletest can aware the > difference between POSIX and GNU extensions, but I am not sure how > upstream thinks about this. Still worth trying, though. > Sure- if you have time and no one objects, please proceed with #1 (no time at the moment myself) and I'll get it fixed this weekend, even if I have to hold back implementation of some of the GNU extensions to nab the few googletest's tests care about. Thanks, Kyle Evans From owner-svn-src-all@freebsd.org Fri Jul 31 14:08:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9C42237A9B4; Fri, 31 Jul 2020 14:08:33 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ8Jd3dYsz4pHN; Fri, 31 Jul 2020 14:08:33 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 60C0322E8E; Fri, 31 Jul 2020 14:08:33 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VE8XW0032035; Fri, 31 Jul 2020 14:08:33 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VE8X7p032034; Fri, 31 Jul 2020 14:08:33 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007311408.06VE8X7p032034@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 31 Jul 2020 14:08:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363735 - head/sys/netgraph X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/netgraph X-SVN-Commit-Revision: 363735 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 14:08:33 -0000 Author: markj Date: Fri Jul 31 14:08:32 2020 New Revision: 363735 URL: https://svnweb.freebsd.org/changeset/base/363735 Log: ng_iface(4): Set the current VNET before calling netisr_dispatch(). This is normally handled by a netgraph thread, but netgraph messages may be dispatched directly to a node, in which case no VNET is set before ng_iface calls into the network stack. Netgraph could probably handle this more generally, but for now just be sure to set the current VNET in ng_iface. PR: 242406 Tested by: Michael Muenz Reviewed by: Lutz Donnerhacke MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25788 Modified: head/sys/netgraph/ng_iface.c Modified: head/sys/netgraph/ng_iface.c ============================================================================== --- head/sys/netgraph/ng_iface.c Fri Jul 31 12:40:31 2020 (r363734) +++ head/sys/netgraph/ng_iface.c Fri Jul 31 14:08:32 2020 (r363735) @@ -732,9 +732,11 @@ ng_iface_rcvdata(hook_p hook, item_p item) } random_harvest_queue(m, sizeof(*m), RANDOM_NET_NG); M_SETFIB(m, ifp->if_fib); + CURVNET_SET(ifp->if_vnet); NET_EPOCH_ENTER(et); netisr_dispatch(isr, m); NET_EPOCH_EXIT(et); + CURVNET_RESTORE(); return (0); } From owner-svn-src-all@freebsd.org Fri Jul 31 14:08:55 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 49A4F37AA18; Fri, 31 Jul 2020 14:08:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ8K315wLz4pWc; Fri, 31 Jul 2020 14:08:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 09BF422E9F; Fri, 31 Jul 2020 14:08:55 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VE8sB9032116; Fri, 31 Jul 2020 14:08:54 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VE8sB0032113; Fri, 31 Jul 2020 14:08:54 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202007311408.06VE8sB0032113@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 31 Jul 2020 14:08:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363736 - in head: share/man/man4 sys/netgraph X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in head: share/man/man4 sys/netgraph X-SVN-Commit-Revision: 363736 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 14:08:55 -0000 Author: markj Date: Fri Jul 31 14:08:54 2020 New Revision: 363736 URL: https://svnweb.freebsd.org/changeset/base/363736 Log: ng_iface(4): Remove unsupported protocols. Update the ng_iface documentation and hooks to reflect the fact that the node currently only supports IPv4 and v6 packets. Reviewed by: Lutz Donnerhacke MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25862 Modified: head/share/man/man4/ng_iface.4 head/sys/netgraph/ng_iface.c head/sys/netgraph/ng_iface.h Modified: head/share/man/man4/ng_iface.4 ============================================================================== --- head/share/man/man4/ng_iface.4 Fri Jul 31 14:08:32 2020 (r363735) +++ head/share/man/man4/ng_iface.4 Fri Jul 31 14:08:54 2020 (r363736) @@ -35,7 +35,7 @@ .\" $FreeBSD$ .\" $Whistle: ng_iface.8,v 1.5 1999/01/25 23:46:26 archie Exp $ .\" -.Dd February 6, 2019 +.Dd July 31, 2020 .Dt NG_IFACE 4 .Os .Sh NAME @@ -70,7 +70,7 @@ Packets transmitted via the interface flow out the cor protocol-specific hook. Similarly, packets received on a hook appear on the interface as packets received into the corresponding protocol stack. -The currently supported protocols are IP, IPv6, ATM, NATM, and NS. +The currently supported protocols are IP and IPv6. .Pp An .Nm iface @@ -87,12 +87,6 @@ This node type supports the following hooks: Transmission and reception of IP packets. .It Va inet6 Transmission and reception of IPv6 packets. -.It Va atm -Transmission and reception of ATM packets. -.It Va natm -Transmission and reception of NATM packets. -.It Va ns -Transmission and reception of NS packets. .El .Sh CONTROL MESSAGES This node type supports the generic control messages, plus the following: Modified: head/sys/netgraph/ng_iface.c ============================================================================== --- head/sys/netgraph/ng_iface.c Fri Jul 31 14:08:32 2020 (r363735) +++ head/sys/netgraph/ng_iface.c Fri Jul 31 14:08:54 2020 (r363736) @@ -111,8 +111,6 @@ typedef const struct iffam *iffam_p; const static struct iffam gFamilies[] = { { AF_INET, NG_IFACE_HOOK_INET }, { AF_INET6, NG_IFACE_HOOK_INET6 }, - { AF_ATM, NG_IFACE_HOOK_ATM }, - { AF_NATM, NG_IFACE_HOOK_NATM }, }; #define NUM_FAMILIES nitems(gFamilies) Modified: head/sys/netgraph/ng_iface.h ============================================================================== --- head/sys/netgraph/ng_iface.h Fri Jul 31 14:08:32 2020 (r363735) +++ head/sys/netgraph/ng_iface.h Fri Jul 31 14:08:54 2020 (r363736) @@ -54,8 +54,6 @@ /* My hook names */ #define NG_IFACE_HOOK_INET "inet" #define NG_IFACE_HOOK_INET6 "inet6" -#define NG_IFACE_HOOK_ATM "atm" -#define NG_IFACE_HOOK_NATM "natm" /* MTU bounds */ #define NG_IFACE_MTU_MIN 72 From owner-svn-src-all@freebsd.org Fri Jul 31 14:13:27 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6D8A637AC28; Fri, 31 Jul 2020 14:13:27 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJ8QH2Fvwz4pxp; Fri, 31 Jul 2020 14:13:27 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 31F7222E3B; Fri, 31 Jul 2020 14:13:27 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VEDQlS037992; Fri, 31 Jul 2020 14:13:26 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VEDQcN037991; Fri, 31 Jul 2020 14:13:26 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202007311413.06VEDQcN037991@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Fri, 31 Jul 2020 14:13:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363737 - head/share/man/man8 X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/share/man/man8 X-SVN-Commit-Revision: 363737 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 14:13:27 -0000 Author: 0mp (doc,ports committer) Date: Fri Jul 31 14:13:26 2020 New Revision: 363737 URL: https://svnweb.freebsd.org/changeset/base/363737 Log: Point to rc(8) for more details about the autoboot variable Reviewed by: bcr, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25904 Modified: head/share/man/man8/rc.subr.8 Modified: head/share/man/man8/rc.subr.8 ============================================================================== --- head/share/man/man8/rc.subr.8 Fri Jul 31 14:08:54 2020 (r363736) +++ head/share/man/man8/rc.subr.8 Fri Jul 31 14:13:26 2020 (r363737) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 24, 2020 +.Dd July 31, 2020 .Dt RC.SUBR 8 .Os .Sh NAME @@ -882,7 +882,11 @@ Prevent booting to multiuser mode. If the .Va autoboot variable is set to -.Ql yes , +.Ql yes +(see +.Xr rc 8 +to learn more about +.Va autoboot ) , or .Ic checkyesno Ar always indicates a truth value, then a From owner-svn-src-all@freebsd.org Fri Jul 31 16:08:25 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B54BF37CBCE; Fri, 31 Jul 2020 16:08:25 +0000 (UTC) (envelope-from stevek@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJByx4Pl6z4vPw; Fri, 31 Jul 2020 16:08:25 +0000 (UTC) (envelope-from stevek@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7629524147; Fri, 31 Jul 2020 16:08:25 +0000 (UTC) (envelope-from stevek@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VG8P6j005959; Fri, 31 Jul 2020 16:08:25 GMT (envelope-from stevek@FreeBSD.org) Received: (from stevek@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VG8Prr005958; Fri, 31 Jul 2020 16:08:25 GMT (envelope-from stevek@FreeBSD.org) Message-Id: <202007311608.06VG8Prr005958@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: stevek set sender to stevek@FreeBSD.org using -f From: "Stephen J. Kiernan" Date: Fri, 31 Jul 2020 16:08:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363738 - head/stand/common X-SVN-Group: head X-SVN-Commit-Author: stevek X-SVN-Commit-Paths: head/stand/common X-SVN-Commit-Revision: 363738 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 16:08:25 -0000 Author: stevek Date: Fri Jul 31 16:08:25 2020 New Revision: 363738 URL: https://svnweb.freebsd.org/changeset/base/363738 Log: Fix compilation error for install.c in loader Fix typo in interp_include() invocation (missing 'p') Remove setting tftpip, as servip is used by the tftp code in libsa. There is no separate tftpip global variable any more. Obtained from: Juniper Networks, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25897 Modified: head/stand/common/install.c Modified: head/stand/common/install.c ============================================================================== --- head/stand/common/install.c Fri Jul 31 14:13:26 2020 (r363737) +++ head/stand/common/install.c Fri Jul 31 16:08:25 2020 (r363738) @@ -286,10 +286,6 @@ install(char *pkgname) setenv("serverip", inet_ntoa(servip), 1); - if (proto == &tftp_fsops) { - tftpip.s_addr = servip.s_addr; - } - *pkgname = '/'; } else pkgname = s; @@ -340,7 +336,7 @@ install(char *pkgname) fd = open(s, O_RDONLY); if (fd != -1) { close(fd); - error = inter_include(s); + error = interp_include(s); if (error == CMD_ERROR) goto fail; } From owner-svn-src-all@freebsd.org Fri Jul 31 22:12:39 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F268C3A427C; Fri, 31 Jul 2020 22:12:39 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJM3C6RYhz41p6; Fri, 31 Jul 2020 22:12:39 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C15AE8A72; Fri, 31 Jul 2020 22:12:39 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VMCdYo034388; Fri, 31 Jul 2020 22:12:39 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VMCZhs034365; Fri, 31 Jul 2020 22:12:35 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202007312212.06VMCZhs034365@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 31 Jul 2020 22:12:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r363744 - in vendor/llvm-project/release-11.x: clang/lib/Sema lld/COFF llvm/include/llvm/CodeGen llvm/lib/Analysis llvm/lib/CodeGen llvm/lib/CodeGen/SelectionDAG llvm/lib/MC llvm/lib/Ta... X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/llvm-project/release-11.x: clang/lib/Sema lld/COFF llvm/include/llvm/CodeGen llvm/lib/Analysis llvm/lib/CodeGen llvm/lib/CodeGen/SelectionDAG llvm/lib/MC llvm/lib/Target/AArch64 llvm/lib/Tar... X-SVN-Commit-Revision: 363744 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 22:12:40 -0000 Author: dim Date: Fri Jul 31 22:12:34 2020 New Revision: 363744 URL: https://svnweb.freebsd.org/changeset/base/363744 Log: Vendor import of llvm-project branch release/11.x llvmorg-11.0.0-rc1-25-g903c872b169. Modified: vendor/llvm-project/release-11.x/clang/lib/Sema/SemaOpenMP.cpp vendor/llvm-project/release-11.x/lld/COFF/Config.h vendor/llvm-project/release-11.x/lld/COFF/Driver.cpp vendor/llvm-project/release-11.x/lld/COFF/InputFiles.cpp vendor/llvm-project/release-11.x/lld/COFF/MinGW.cpp vendor/llvm-project/release-11.x/lld/COFF/Options.td vendor/llvm-project/release-11.x/lld/COFF/Writer.cpp vendor/llvm-project/release-11.x/llvm/include/llvm/CodeGen/TargetFrameLowering.h vendor/llvm-project/release-11.x/llvm/lib/Analysis/BasicAliasAnalysis.cpp vendor/llvm-project/release-11.x/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp vendor/llvm-project/release-11.x/llvm/lib/MC/WinCOFFObjectWriter.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64FrameLowering.h vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64InstrFormats.td vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/SVEInstrFormats.td vendor/llvm-project/release-11.x/llvm/lib/Target/PowerPC/PPCISelLowering.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h vendor/llvm-project/release-11.x/llvm/lib/Target/RISCV/RISCVISelLowering.cpp vendor/llvm-project/release-11.x/llvm/lib/Target/RISCV/RISCVInstrInfoB.td vendor/llvm-project/release-11.x/llvm/lib/Target/X86/X86ISelLowering.cpp vendor/llvm-project/release-11.x/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp vendor/llvm-project/release-11.x/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp vendor/llvm-project/release-11.x/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp vendor/llvm-project/release-11.x/llvm/lib/Transforms/Scalar/JumpThreading.cpp vendor/llvm-project/release-11.x/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp vendor/llvm-project/release-11.x/openmp/runtime/src/kmp_ftn_entry.h vendor/llvm-project/release-11.x/openmp/runtime/src/kmp_os.h vendor/llvm-project/release-11.x/openmp/runtime/src/ompt-specific.cpp Modified: vendor/llvm-project/release-11.x/clang/lib/Sema/SemaOpenMP.cpp ============================================================================== --- vendor/llvm-project/release-11.x/clang/lib/Sema/SemaOpenMP.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/clang/lib/Sema/SemaOpenMP.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -2244,7 +2244,11 @@ OpenMPClauseKind Sema::isOpenMPPrivateDecl(ValueDecl * [](OpenMPDirectiveKind K) { return isOpenMPTaskingDirective(K); }, Level)) { bool IsTriviallyCopyable = - D->getType().getNonReferenceType().isTriviallyCopyableType(Context); + D->getType().getNonReferenceType().isTriviallyCopyableType(Context) && + !D->getType() + .getNonReferenceType() + .getCanonicalType() + ->getAsCXXRecordDecl(); OpenMPDirectiveKind DKind = DSAStack->getDirective(Level); SmallVector CaptureRegions; getOpenMPCaptureRegions(CaptureRegions, DKind); Modified: vendor/llvm-project/release-11.x/lld/COFF/Config.h ============================================================================== --- vendor/llvm-project/release-11.x/lld/COFF/Config.h Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/lld/COFF/Config.h Fri Jul 31 22:12:34 2020 (r363744) @@ -140,6 +140,7 @@ struct Configuration { bool safeSEH = false; Symbol *sehTable = nullptr; Symbol *sehCount = nullptr; + bool noSEH = false; // Used for /opt:lldlto=N unsigned ltoo = 2; Modified: vendor/llvm-project/release-11.x/lld/COFF/Driver.cpp ============================================================================== --- vendor/llvm-project/release-11.x/lld/COFF/Driver.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/lld/COFF/Driver.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -1700,9 +1700,10 @@ void LinkerDriver::link(ArrayRef argsArr config->wordsize = config->is64() ? 8 : 4; // Handle /safeseh, x86 only, on by default, except for mingw. - if (config->machine == I386 && - args.hasFlag(OPT_safeseh, OPT_safeseh_no, !config->mingw)) - config->safeSEH = true; + if (config->machine == I386) { + config->safeSEH = args.hasFlag(OPT_safeseh, OPT_safeseh_no, !config->mingw); + config->noSEH = args.hasArg(OPT_noseh); + } // Handle /functionpadmin for (auto *arg : args.filtered(OPT_functionpadmin, OPT_functionpadmin_opt)) Modified: vendor/llvm-project/release-11.x/lld/COFF/InputFiles.cpp ============================================================================== --- vendor/llvm-project/release-11.x/lld/COFF/InputFiles.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/lld/COFF/InputFiles.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -348,13 +348,13 @@ void ObjFile::recordPrevailingSymbolForMingw( // of the section chunk we actually include instead of discarding it, // add the symbol to a map to allow using it for implicitly // associating .[px]data$ sections to it. + // Use the suffix from the .text$ instead of the leader symbol + // name, for cases where the names differ (i386 mangling/decorations, + // cases where the leader is a weak symbol named .weak.func.default*). int32_t sectionNumber = sym.getSectionNumber(); SectionChunk *sc = sparseChunks[sectionNumber]; if (sc && sc->getOutputCharacteristics() & IMAGE_SCN_MEM_EXECUTE) { - StringRef name; - name = check(coffObj->getSymbolName(sym)); - if (getMachineType() == I386) - name.consume_front("_"); + StringRef name = sc->getSectionName().split('$').second; prevailingSectionMap[name] = sectionNumber; } } Modified: vendor/llvm-project/release-11.x/lld/COFF/MinGW.cpp ============================================================================== --- vendor/llvm-project/release-11.x/lld/COFF/MinGW.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/lld/COFF/MinGW.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -34,6 +34,11 @@ AutoExporter::AutoExporter() { "libclang_rt.builtins-arm", "libclang_rt.builtins-i386", "libclang_rt.builtins-x86_64", + "libclang_rt.profile", + "libclang_rt.profile-aarch64", + "libclang_rt.profile-arm", + "libclang_rt.profile-i386", + "libclang_rt.profile-x86_64", "libc++", "libc++abi", "libunwind", @@ -57,6 +62,10 @@ AutoExporter::AutoExporter() { "__builtin_", // Artificial symbols such as .refptr ".", + // profile generate symbols + "__profc_", + "__profd_", + "__profvp_", }; excludeSymbolSuffixes = { Modified: vendor/llvm-project/release-11.x/lld/COFF/Options.td ============================================================================== --- vendor/llvm-project/release-11.x/lld/COFF/Options.td Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/lld/COFF/Options.td Fri Jul 31 22:12:34 2020 (r363744) @@ -204,6 +204,7 @@ def include_optional : Joined<["/", "-", "/?", "-?"], HelpText<"Add symbol as undefined, but allow it to remain undefined">; def kill_at : F<"kill-at">; def lldmingw : F<"lldmingw">; +def noseh : F<"noseh">; def output_def : Joined<["/", "-", "/?", "-?"], "output-def:">; def pdb_source_path : P<"pdbsourcepath", "Base path used to make relative source file path absolute in PDB">; Modified: vendor/llvm-project/release-11.x/lld/COFF/Writer.cpp ============================================================================== --- vendor/llvm-project/release-11.x/lld/COFF/Writer.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/lld/COFF/Writer.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -1393,7 +1393,7 @@ template void Writer::writeHeade pe->DLLCharacteristics |= IMAGE_DLL_CHARACTERISTICS_GUARD_CF; if (config->integrityCheck) pe->DLLCharacteristics |= IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY; - if (setNoSEHCharacteristic) + if (setNoSEHCharacteristic || config->noSEH) pe->DLLCharacteristics |= IMAGE_DLL_CHARACTERISTICS_NO_SEH; if (config->terminalServerAware) pe->DLLCharacteristics |= IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE; Modified: vendor/llvm-project/release-11.x/llvm/include/llvm/CodeGen/TargetFrameLowering.h ============================================================================== --- vendor/llvm-project/release-11.x/llvm/include/llvm/CodeGen/TargetFrameLowering.h Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/include/llvm/CodeGen/TargetFrameLowering.h Fri Jul 31 22:12:34 2020 (r363744) @@ -134,6 +134,12 @@ class TargetFrameLowering { (public) /// was called). virtual unsigned getStackAlignmentSkew(const MachineFunction &MF) const; + /// This method returns whether or not it is safe for an object with the + /// given stack id to be bundled into the local area. + virtual bool isStackIdSafeForLocalArea(unsigned StackId) const { + return true; + } + /// getOffsetOfLocalArea - This method returns the offset of the local area /// from the stack pointer on entrance to a function. /// Modified: vendor/llvm-project/release-11.x/llvm/lib/Analysis/BasicAliasAnalysis.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/Analysis/BasicAliasAnalysis.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/Analysis/BasicAliasAnalysis.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -1648,8 +1648,32 @@ AliasResult BasicAAResult::aliasPHI(const PHINode *PN, } SmallVector V1Srcs; + // For a recursive phi, that recurses through a contant gep, we can perform + // aliasing calculations using the other phi operands with an unknown size to + // specify that an unknown number of elements after the initial value are + // potentially accessed. bool isRecursive = false; - if (PV) { + auto CheckForRecPhi = [&](Value *PV) { + if (!EnableRecPhiAnalysis) + return false; + if (GEPOperator *PVGEP = dyn_cast(PV)) { + // Check whether the incoming value is a GEP that advances the pointer + // result of this PHI node (e.g. in a loop). If this is the case, we + // would recurse and always get a MayAlias. Handle this case specially + // below. We need to ensure that the phi is inbounds and has a constant + // positive operand so that we can check for alias with the initial value + // and an unknown but positive size. + if (PVGEP->getPointerOperand() == PN && PVGEP->isInBounds() && + PVGEP->getNumIndices() == 1 && isa(PVGEP->idx_begin()) && + !cast(PVGEP->idx_begin())->isNegative()) { + isRecursive = true; + return true; + } + } + return false; + }; + + if (PV) { // If we have PhiValues then use it to get the underlying phi values. const PhiValues::ValueSet &PhiValueSet = PV->getValuesForPhi(PN); // If we have more phi values than the search depth then return MayAlias @@ -1660,19 +1684,8 @@ AliasResult BasicAAResult::aliasPHI(const PHINode *PN, return MayAlias; // Add the values to V1Srcs for (Value *PV1 : PhiValueSet) { - if (EnableRecPhiAnalysis) { - if (GEPOperator *PV1GEP = dyn_cast(PV1)) { - // Check whether the incoming value is a GEP that advances the pointer - // result of this PHI node (e.g. in a loop). If this is the case, we - // would recurse and always get a MayAlias. Handle this case specially - // below. - if (PV1GEP->getPointerOperand() == PN && PV1GEP->getNumIndices() == 1 && - isa(PV1GEP->idx_begin())) { - isRecursive = true; - continue; - } - } - } + if (CheckForRecPhi(PV1)) + continue; V1Srcs.push_back(PV1); } } else { @@ -1687,18 +1700,8 @@ AliasResult BasicAAResult::aliasPHI(const PHINode *PN, // and 'n' are the number of PHI sources. return MayAlias; - if (EnableRecPhiAnalysis) - if (GEPOperator *PV1GEP = dyn_cast(PV1)) { - // Check whether the incoming value is a GEP that advances the pointer - // result of this PHI node (e.g. in a loop). If this is the case, we - // would recurse and always get a MayAlias. Handle this case specially - // below. - if (PV1GEP->getPointerOperand() == PN && PV1GEP->getNumIndices() == 1 && - isa(PV1GEP->idx_begin())) { - isRecursive = true; - continue; - } - } + if (CheckForRecPhi(PV1)) + continue; if (UniqueSrc.insert(PV1).second) V1Srcs.push_back(PV1); Modified: vendor/llvm-project/release-11.x/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -220,6 +220,8 @@ void LocalStackSlotPass::calculateFrameObjectOffsets(M continue; if (StackProtectorFI == (int)i) continue; + if (!TFI.isStackIdSafeForLocalArea(MFI.getStackID(i))) + continue; switch (MFI.getObjectSSPLayout(i)) { case MachineFrameInfo::SSPLK_None: @@ -253,6 +255,8 @@ void LocalStackSlotPass::calculateFrameObjectOffsets(M if (MFI.getStackProtectorIndex() == (int)i) continue; if (ProtectedObjs.count(i)) + continue; + if (!TFI.isStackIdSafeForLocalArea(MFI.getStackID(i))) continue; AdjustStackOffset(MFI, i, Offset, StackGrowsDown, MaxAlign); Modified: vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -11372,9 +11372,10 @@ SDValue DAGCombiner::visitTRUNCATE(SDNode *N) { // Stop if more than one members are non-undef. if (NumDefs > 1) break; + VTs.push_back(EVT::getVectorVT(*DAG.getContext(), VT.getVectorElementType(), - X.getValueType().getVectorNumElements())); + X.getValueType().getVectorElementCount())); } if (NumDefs == 0) @@ -18795,6 +18796,11 @@ static SDValue combineConcatVectorOfScalars(SDNode *N, static SDValue combineConcatVectorOfExtracts(SDNode *N, SelectionDAG &DAG) { EVT VT = N->getValueType(0); EVT OpVT = N->getOperand(0).getValueType(); + + // We currently can't generate an appropriate shuffle for a scalable vector. + if (VT.isScalableVector()) + return SDValue(); + int NumElts = VT.getVectorNumElements(); int NumOpElts = OpVT.getVectorNumElements(); @@ -19055,11 +19061,14 @@ SDValue DAGCombiner::visitCONCAT_VECTORS(SDNode *N) { return V; // Type legalization of vectors and DAG canonicalization of SHUFFLE_VECTOR - // nodes often generate nop CONCAT_VECTOR nodes. - // Scan the CONCAT_VECTOR operands and look for a CONCAT operations that - // place the incoming vectors at the exact same location. + // nodes often generate nop CONCAT_VECTOR nodes. Scan the CONCAT_VECTOR + // operands and look for a CONCAT operations that place the incoming vectors + // at the exact same location. + // + // For scalable vectors, EXTRACT_SUBVECTOR indexes are implicitly scaled. SDValue SingleSource = SDValue(); - unsigned PartNumElem = N->getOperand(0).getValueType().getVectorNumElements(); + unsigned PartNumElem = + N->getOperand(0).getValueType().getVectorMinNumElements(); for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i) { SDValue Op = N->getOperand(i); @@ -19181,7 +19190,10 @@ static SDValue narrowExtractedVectorBinOp(SDNode *Extr // The binop must be a vector type, so we can extract some fraction of it. EVT WideBVT = BinOp.getValueType(); - if (!WideBVT.isVector()) + // The optimisations below currently assume we are dealing with fixed length + // vectors. It is possible to add support for scalable vectors, but at the + // moment we've done no analysis to prove whether they are profitable or not. + if (!WideBVT.isFixedLengthVector()) return SDValue(); EVT VT = Extract->getValueType(0); Modified: vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -2151,7 +2151,7 @@ SDValue DAGTypeLegalizer::SplitVecOp_UnaryOp(SDNode *N EVT InVT = Lo.getValueType(); EVT OutVT = EVT::getVectorVT(*DAG.getContext(), ResVT.getVectorElementType(), - InVT.getVectorNumElements()); + InVT.getVectorElementCount()); if (N->isStrictFPOpcode()) { Lo = DAG.getNode(N->getOpcode(), dl, { OutVT, MVT::Other }, @@ -2197,13 +2197,19 @@ SDValue DAGTypeLegalizer::SplitVecOp_EXTRACT_SUBVECTOR SDValue Idx = N->getOperand(1); SDLoc dl(N); SDValue Lo, Hi; + + if (SubVT.isScalableVector() != + N->getOperand(0).getValueType().isScalableVector()) + report_fatal_error("Extracting a fixed-length vector from an illegal " + "scalable vector is not yet supported"); + GetSplitVector(N->getOperand(0), Lo, Hi); - uint64_t LoElts = Lo.getValueType().getVectorNumElements(); + uint64_t LoElts = Lo.getValueType().getVectorMinNumElements(); uint64_t IdxVal = cast(Idx)->getZExtValue(); if (IdxVal < LoElts) { - assert(IdxVal + SubVT.getVectorNumElements() <= LoElts && + assert(IdxVal + SubVT.getVectorMinNumElements() <= LoElts && "Extracted subvector crosses vector split!"); return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, SubVT, Lo, Idx); } else { @@ -2559,13 +2565,9 @@ SDValue DAGTypeLegalizer::SplitVecOp_TruncateHelper(SD SDValue InVec = N->getOperand(OpNo); EVT InVT = InVec->getValueType(0); EVT OutVT = N->getValueType(0); - unsigned NumElements = OutVT.getVectorNumElements(); + ElementCount NumElements = OutVT.getVectorElementCount(); bool IsFloat = OutVT.isFloatingPoint(); - // Widening should have already made sure this is a power-two vector - // if we're trying to split it at all. assert() that's true, just in case. - assert(!(NumElements & 1) && "Splitting vector, but not in half!"); - unsigned InElementSize = InVT.getScalarSizeInBits(); unsigned OutElementSize = OutVT.getScalarSizeInBits(); @@ -2595,6 +2597,9 @@ SDValue DAGTypeLegalizer::SplitVecOp_TruncateHelper(SD GetSplitVector(InVec, InLoVec, InHiVec); // Truncate them to 1/2 the element size. + // + // This assumes the number of elements is a power of two; any vector that + // isn't should be widened, not split. EVT HalfElementVT = IsFloat ? EVT::getFloatingPointVT(InElementSize/2) : EVT::getIntegerVT(*DAG.getContext(), InElementSize/2); @@ -3605,16 +3610,15 @@ SDValue DAGTypeLegalizer::WidenVecRes_CONCAT_VECTORS(S EVT InVT = N->getOperand(0).getValueType(); EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0)); SDLoc dl(N); - unsigned WidenNumElts = WidenVT.getVectorNumElements(); - unsigned NumInElts = InVT.getVectorNumElements(); unsigned NumOperands = N->getNumOperands(); bool InputWidened = false; // Indicates we need to widen the input. if (getTypeAction(InVT) != TargetLowering::TypeWidenVector) { - if (WidenVT.getVectorNumElements() % InVT.getVectorNumElements() == 0) { + unsigned WidenNumElts = WidenVT.getVectorMinNumElements(); + unsigned NumInElts = InVT.getVectorMinNumElements(); + if (WidenNumElts % NumInElts == 0) { // Add undef vectors to widen to correct length. - unsigned NumConcat = WidenVT.getVectorNumElements() / - InVT.getVectorNumElements(); + unsigned NumConcat = WidenNumElts / NumInElts; SDValue UndefVal = DAG.getUNDEF(InVT); SmallVector Ops(NumConcat); for (unsigned i=0; i < NumOperands; ++i) @@ -3638,6 +3642,11 @@ SDValue DAGTypeLegalizer::WidenVecRes_CONCAT_VECTORS(S return GetWidenedVector(N->getOperand(0)); if (NumOperands == 2) { + assert(!WidenVT.isScalableVector() && + "Cannot use vector shuffles to widen CONCAT_VECTOR result"); + unsigned WidenNumElts = WidenVT.getVectorNumElements(); + unsigned NumInElts = InVT.getVectorNumElements(); + // Replace concat of two operands with a shuffle. SmallVector MaskOps(WidenNumElts, -1); for (unsigned i = 0; i < NumInElts; ++i) { @@ -3652,6 +3661,11 @@ SDValue DAGTypeLegalizer::WidenVecRes_CONCAT_VECTORS(S } } + assert(!WidenVT.isScalableVector() && + "Cannot use build vectors to widen CONCAT_VECTOR result"); + unsigned WidenNumElts = WidenVT.getVectorNumElements(); + unsigned NumInElts = InVT.getVectorNumElements(); + // Fall back to use extracts and build vector. EVT EltVT = WidenVT.getVectorElementType(); SmallVector Ops(WidenNumElts); @@ -4913,7 +4927,8 @@ SDValue DAGTypeLegalizer::GenWidenVectorLoads(SmallVec int LdWidth = LdVT.getSizeInBits(); int WidthDiff = WidenWidth - LdWidth; - // Allow wider loads. + // Allow wider loads if they are sufficiently aligned to avoid memory faults + // and if the original load is simple. unsigned LdAlign = (!LD->isSimple()) ? 0 : LD->getAlignment(); // Find the vector type that can load from. @@ -4965,19 +4980,6 @@ SDValue DAGTypeLegalizer::GenWidenVectorLoads(SmallVec LD->getPointerInfo().getWithOffset(Offset), LD->getOriginalAlign(), MMOFlags, AAInfo); LdChain.push_back(L.getValue(1)); - if (L->getValueType(0).isVector() && NewVTWidth >= LdWidth) { - // Later code assumes the vector loads produced will be mergeable, so we - // must pad the final entry up to the previous width. Scalars are - // combined separately. - SmallVector Loads; - Loads.push_back(L); - unsigned size = L->getValueSizeInBits(0); - while (size < LdOp->getValueSizeInBits(0)) { - Loads.push_back(DAG.getUNDEF(L->getValueType(0))); - size += L->getValueSizeInBits(0); - } - L = DAG.getNode(ISD::CONCAT_VECTORS, dl, LdOp->getValueType(0), Loads); - } } else { L = DAG.getLoad(NewVT, dl, Chain, BasePtr, LD->getPointerInfo().getWithOffset(Offset), @@ -5018,8 +5020,17 @@ SDValue DAGTypeLegalizer::GenWidenVectorLoads(SmallVec EVT NewLdTy = LdOps[i].getValueType(); if (NewLdTy != LdTy) { // Create a larger vector. + unsigned NumOps = NewLdTy.getSizeInBits() / LdTy.getSizeInBits(); + assert(NewLdTy.getSizeInBits() % LdTy.getSizeInBits() == 0); + SmallVector WidenOps(NumOps); + unsigned j = 0; + for (; j != End-Idx; ++j) + WidenOps[j] = ConcatOps[Idx+j]; + for (; j != NumOps; ++j) + WidenOps[j] = DAG.getUNDEF(LdTy); + ConcatOps[End-1] = DAG.getNode(ISD::CONCAT_VECTORS, dl, NewLdTy, - makeArrayRef(&ConcatOps[Idx], End - Idx)); + WidenOps); Idx = End - 1; LdTy = NewLdTy; } Modified: vendor/llvm-project/release-11.x/llvm/lib/MC/WinCOFFObjectWriter.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/MC/WinCOFFObjectWriter.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/MC/WinCOFFObjectWriter.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -375,6 +375,7 @@ void WinCOFFObjectWriter::DefineSymbol(const MCSymbol COFFSymbol *Local = nullptr; if (cast(MCSym).isWeakExternal()) { Sym->Data.StorageClass = COFF::IMAGE_SYM_CLASS_WEAK_EXTERNAL; + Sym->Section = nullptr; COFFSymbol *WeakDefault = getLinkedSymbol(MCSym); if (!WeakDefault) { Modified: vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -1192,7 +1192,7 @@ void AArch64FrameLowering::emitPrologue(MachineFunctio // Process the SVE callee-saves to determine what space needs to be // allocated. - if (AFI->getSVECalleeSavedStackSize()) { + if (int64_t CalleeSavedSize = AFI->getSVECalleeSavedStackSize()) { // Find callee save instructions in frame. CalleeSavesBegin = MBBI; assert(IsSVECalleeSave(CalleeSavesBegin) && "Unexpected instruction"); @@ -1200,11 +1200,7 @@ void AArch64FrameLowering::emitPrologue(MachineFunctio ++MBBI; CalleeSavesEnd = MBBI; - int64_t OffsetToFirstCalleeSaveFromSP = - MFI.getObjectOffset(AFI->getMaxSVECSFrameIndex()); - StackOffset OffsetToCalleeSavesFromSP = - StackOffset(OffsetToFirstCalleeSaveFromSP, MVT::nxv1i8) + SVEStackSize; - AllocateBefore -= OffsetToCalleeSavesFromSP; + AllocateBefore = {CalleeSavedSize, MVT::nxv1i8}; AllocateAfter = SVEStackSize - AllocateBefore; } @@ -1582,7 +1578,7 @@ void AArch64FrameLowering::emitEpilogue(MachineFunctio // deallocated. StackOffset DeallocateBefore = {}, DeallocateAfter = SVEStackSize; MachineBasicBlock::iterator RestoreBegin = LastPopI, RestoreEnd = LastPopI; - if (AFI->getSVECalleeSavedStackSize()) { + if (int64_t CalleeSavedSize = AFI->getSVECalleeSavedStackSize()) { RestoreBegin = std::prev(RestoreEnd);; while (IsSVECalleeSave(RestoreBegin) && RestoreBegin != MBB.begin()) @@ -1592,23 +1588,21 @@ void AArch64FrameLowering::emitEpilogue(MachineFunctio assert(IsSVECalleeSave(RestoreBegin) && IsSVECalleeSave(std::prev(RestoreEnd)) && "Unexpected instruction"); - int64_t OffsetToFirstCalleeSaveFromSP = - MFI.getObjectOffset(AFI->getMaxSVECSFrameIndex()); - StackOffset OffsetToCalleeSavesFromSP = - StackOffset(OffsetToFirstCalleeSaveFromSP, MVT::nxv1i8) + SVEStackSize; - DeallocateBefore = OffsetToCalleeSavesFromSP; - DeallocateAfter = SVEStackSize - DeallocateBefore; + StackOffset CalleeSavedSizeAsOffset = {CalleeSavedSize, MVT::nxv1i8}; + DeallocateBefore = SVEStackSize - CalleeSavedSizeAsOffset; + DeallocateAfter = CalleeSavedSizeAsOffset; } // Deallocate the SVE area. if (SVEStackSize) { if (AFI->isStackRealigned()) { - if (AFI->getSVECalleeSavedStackSize()) - // Set SP to start of SVE area, from which the callee-save reloads - // can be done. The code below will deallocate the stack space + if (int64_t CalleeSavedSize = AFI->getSVECalleeSavedStackSize()) + // Set SP to start of SVE callee-save area from which they can + // be reloaded. The code below will deallocate the stack space // space by moving FP -> SP. emitFrameOffset(MBB, RestoreBegin, DL, AArch64::SP, AArch64::FP, - -SVEStackSize, TII, MachineInstr::FrameDestroy); + {-CalleeSavedSize, MVT::nxv1i8}, TII, + MachineInstr::FrameDestroy); } else { if (AFI->getSVECalleeSavedStackSize()) { // Deallocate the non-SVE locals first before we can deallocate (and @@ -2595,25 +2589,23 @@ static int64_t determineSVEStackObjectOffsets(MachineF int &MinCSFrameIndex, int &MaxCSFrameIndex, bool AssignOffsets) { +#ifndef NDEBUG // First process all fixed stack objects. - int64_t Offset = 0; for (int I = MFI.getObjectIndexBegin(); I != 0; ++I) - if (MFI.getStackID(I) == TargetStackID::SVEVector) { - int64_t FixedOffset = -MFI.getObjectOffset(I); - if (FixedOffset > Offset) - Offset = FixedOffset; - } + assert(MFI.getStackID(I) != TargetStackID::SVEVector && + "SVE vectors should never be passed on the stack by value, only by " + "reference."); +#endif auto Assign = [&MFI](int FI, int64_t Offset) { LLVM_DEBUG(dbgs() << "alloc FI(" << FI << ") at SP[" << Offset << "]\n"); MFI.setObjectOffset(FI, Offset); }; + int64_t Offset = 0; + // Then process all callee saved slots. if (getSVECalleeSaveSlotRange(MFI, MinCSFrameIndex, MaxCSFrameIndex)) { - // Make sure to align the last callee save slot. - MFI.setObjectAlignment(MaxCSFrameIndex, Align(16)); - // Assign offsets to the callee save slots. for (int I = MinCSFrameIndex; I <= MaxCSFrameIndex; ++I) { Offset += MFI.getObjectSize(I); @@ -2622,6 +2614,9 @@ static int64_t determineSVEStackObjectOffsets(MachineF Assign(I, -Offset); } } + + // Ensure that the Callee-save area is aligned to 16bytes. + Offset = alignTo(Offset, Align(16U)); // Create a buffer of SVE objects to allocate and sort it. SmallVector ObjectsToAllocate; Modified: vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64FrameLowering.h ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64FrameLowering.h Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64FrameLowering.h Fri Jul 31 22:12:34 2020 (r363744) @@ -105,6 +105,12 @@ class AArch64FrameLowering : public TargetFrameLowerin } } + bool isStackIdSafeForLocalArea(unsigned StackId) const override { + // We don't support putting SVE objects into the pre-allocated local + // frame block at the moment. + return StackId != TargetStackID::SVEVector; + } + private: bool shouldCombineCSRLocalStackBump(MachineFunction &MF, uint64_t StackBumpBytes) const; Modified: vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -245,7 +245,8 @@ class AArch64DAGToDAGISel : public SelectionDAGISel { unsigned SubRegIdx); void SelectLoadLane(SDNode *N, unsigned NumVecs, unsigned Opc); void SelectPostLoadLane(SDNode *N, unsigned NumVecs, unsigned Opc); - void SelectPredicatedLoad(SDNode *N, unsigned NumVecs, const unsigned Opc); + void SelectPredicatedLoad(SDNode *N, unsigned NumVecs, unsigned Scale, + unsigned Opc_rr, unsigned Opc_ri); bool SelectAddrModeFrameIndexSVE(SDValue N, SDValue &Base, SDValue &OffImm); /// SVE Reg+Imm addressing mode. @@ -262,14 +263,12 @@ class AArch64DAGToDAGISel : public SelectionDAGISel { void SelectPostStore(SDNode *N, unsigned NumVecs, unsigned Opc); void SelectStoreLane(SDNode *N, unsigned NumVecs, unsigned Opc); void SelectPostStoreLane(SDNode *N, unsigned NumVecs, unsigned Opc); - template - void SelectPredicatedStore(SDNode *N, unsigned NumVecs, const unsigned Opc_rr, - const unsigned Opc_ri); - template + void SelectPredicatedStore(SDNode *N, unsigned NumVecs, unsigned Scale, + unsigned Opc_rr, unsigned Opc_ri); std::tuple - findAddrModeSVELoadStore(SDNode *N, const unsigned Opc_rr, - const unsigned Opc_ri, const SDValue &OldBase, - const SDValue &OldOffset); + findAddrModeSVELoadStore(SDNode *N, unsigned Opc_rr, unsigned Opc_ri, + const SDValue &OldBase, const SDValue &OldOffset, + unsigned Scale); bool tryBitfieldExtractOp(SDNode *N); bool tryBitfieldExtractOpFromSExt(SDNode *N); @@ -1414,12 +1413,12 @@ void AArch64DAGToDAGISel::SelectPostLoad(SDNode *N, un /// Optimize \param OldBase and \param OldOffset selecting the best addressing /// mode. Returns a tuple consisting of an Opcode, an SDValue representing the /// new Base and an SDValue representing the new offset. -template std::tuple -AArch64DAGToDAGISel::findAddrModeSVELoadStore(SDNode *N, const unsigned Opc_rr, - const unsigned Opc_ri, +AArch64DAGToDAGISel::findAddrModeSVELoadStore(SDNode *N, unsigned Opc_rr, + unsigned Opc_ri, const SDValue &OldBase, - const SDValue &OldOffset) { + const SDValue &OldOffset, + unsigned Scale) { SDValue NewBase = OldBase; SDValue NewOffset = OldOffset; // Detect a possible Reg+Imm addressing mode. @@ -1429,21 +1428,30 @@ AArch64DAGToDAGISel::findAddrModeSVELoadStore(SDNode * // Detect a possible reg+reg addressing mode, but only if we haven't already // detected a Reg+Imm one. const bool IsRegReg = - !IsRegImm && SelectSVERegRegAddrMode(OldBase, NewBase, NewOffset); + !IsRegImm && SelectSVERegRegAddrMode(OldBase, Scale, NewBase, NewOffset); // Select the instruction. return std::make_tuple(IsRegReg ? Opc_rr : Opc_ri, NewBase, NewOffset); } void AArch64DAGToDAGISel::SelectPredicatedLoad(SDNode *N, unsigned NumVecs, - const unsigned Opc) { + unsigned Scale, unsigned Opc_ri, + unsigned Opc_rr) { + assert(Scale < 4 && "Invalid scaling value."); SDLoc DL(N); EVT VT = N->getValueType(0); SDValue Chain = N->getOperand(0); + // Optimize addressing mode. + SDValue Base, Offset; + unsigned Opc; + std::tie(Opc, Base, Offset) = findAddrModeSVELoadStore( + N, Opc_rr, Opc_ri, N->getOperand(2), + CurDAG->getTargetConstant(0, DL, MVT::i64), Scale); + SDValue Ops[] = {N->getOperand(1), // Predicate - N->getOperand(2), // Memory operand - CurDAG->getTargetConstant(0, DL, MVT::i64), Chain}; + Base, // Memory operand + Offset, Chain}; const EVT ResTys[] = {MVT::Untyped, MVT::Other}; @@ -1479,10 +1487,9 @@ void AArch64DAGToDAGISel::SelectStore(SDNode *N, unsig ReplaceNode(N, St); } -template void AArch64DAGToDAGISel::SelectPredicatedStore(SDNode *N, unsigned NumVecs, - const unsigned Opc_rr, - const unsigned Opc_ri) { + unsigned Scale, unsigned Opc_rr, + unsigned Opc_ri) { SDLoc dl(N); // Form a REG_SEQUENCE to force register allocation. @@ -1492,9 +1499,9 @@ void AArch64DAGToDAGISel::SelectPredicatedStore(SDNode // Optimize addressing mode. unsigned Opc; SDValue Offset, Base; - std::tie(Opc, Base, Offset) = findAddrModeSVELoadStore( + std::tie(Opc, Base, Offset) = findAddrModeSVELoadStore( N, Opc_rr, Opc_ri, N->getOperand(NumVecs + 3), - CurDAG->getTargetConstant(0, dl, MVT::i64)); + CurDAG->getTargetConstant(0, dl, MVT::i64), Scale); SDValue Ops[] = {RegSeq, N->getOperand(NumVecs + 2), // predicate Base, // address @@ -4085,63 +4092,51 @@ void AArch64DAGToDAGISel::Select(SDNode *Node) { } case Intrinsic::aarch64_sve_st2: { if (VT == MVT::nxv16i8) { - SelectPredicatedStore(Node, 2, AArch64::ST2B, - AArch64::ST2B_IMM); + SelectPredicatedStore(Node, 2, 0, AArch64::ST2B, AArch64::ST2B_IMM); return; } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 || (VT == MVT::nxv8bf16 && Subtarget->hasBF16())) { - SelectPredicatedStore(Node, 2, AArch64::ST2H, - AArch64::ST2H_IMM); + SelectPredicatedStore(Node, 2, 1, AArch64::ST2H, AArch64::ST2H_IMM); return; } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) { - SelectPredicatedStore(Node, 2, AArch64::ST2W, - AArch64::ST2W_IMM); + SelectPredicatedStore(Node, 2, 2, AArch64::ST2W, AArch64::ST2W_IMM); return; } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) { - SelectPredicatedStore(Node, 2, AArch64::ST2D, - AArch64::ST2D_IMM); + SelectPredicatedStore(Node, 2, 3, AArch64::ST2D, AArch64::ST2D_IMM); return; } break; } case Intrinsic::aarch64_sve_st3: { if (VT == MVT::nxv16i8) { - SelectPredicatedStore(Node, 3, AArch64::ST3B, - AArch64::ST3B_IMM); + SelectPredicatedStore(Node, 3, 0, AArch64::ST3B, AArch64::ST3B_IMM); return; } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 || (VT == MVT::nxv8bf16 && Subtarget->hasBF16())) { - SelectPredicatedStore(Node, 3, AArch64::ST3H, - AArch64::ST3H_IMM); + SelectPredicatedStore(Node, 3, 1, AArch64::ST3H, AArch64::ST3H_IMM); return; } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) { - SelectPredicatedStore(Node, 3, AArch64::ST3W, - AArch64::ST3W_IMM); + SelectPredicatedStore(Node, 3, 2, AArch64::ST3W, AArch64::ST3W_IMM); return; } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) { - SelectPredicatedStore(Node, 3, AArch64::ST3D, - AArch64::ST3D_IMM); + SelectPredicatedStore(Node, 3, 3, AArch64::ST3D, AArch64::ST3D_IMM); return; } break; } case Intrinsic::aarch64_sve_st4: { if (VT == MVT::nxv16i8) { - SelectPredicatedStore(Node, 4, AArch64::ST4B, - AArch64::ST4B_IMM); + SelectPredicatedStore(Node, 4, 0, AArch64::ST4B, AArch64::ST4B_IMM); return; } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 || (VT == MVT::nxv8bf16 && Subtarget->hasBF16())) { - SelectPredicatedStore(Node, 4, AArch64::ST4H, - AArch64::ST4H_IMM); + SelectPredicatedStore(Node, 4, 1, AArch64::ST4H, AArch64::ST4H_IMM); return; } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) { - SelectPredicatedStore(Node, 4, AArch64::ST4W, - AArch64::ST4W_IMM); + SelectPredicatedStore(Node, 4, 2, AArch64::ST4W, AArch64::ST4W_IMM); return; } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) { - SelectPredicatedStore(Node, 4, AArch64::ST4D, - AArch64::ST4D_IMM); + SelectPredicatedStore(Node, 4, 3, AArch64::ST4D, AArch64::ST4D_IMM); return; } break; @@ -4741,51 +4736,51 @@ void AArch64DAGToDAGISel::Select(SDNode *Node) { } case AArch64ISD::SVE_LD2_MERGE_ZERO: { if (VT == MVT::nxv16i8) { - SelectPredicatedLoad(Node, 2, AArch64::LD2B_IMM); + SelectPredicatedLoad(Node, 2, 0, AArch64::LD2B_IMM, AArch64::LD2B); return; } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 || (VT == MVT::nxv8bf16 && Subtarget->hasBF16())) { - SelectPredicatedLoad(Node, 2, AArch64::LD2H_IMM); + SelectPredicatedLoad(Node, 2, 1, AArch64::LD2H_IMM, AArch64::LD2H); return; } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) { - SelectPredicatedLoad(Node, 2, AArch64::LD2W_IMM); + SelectPredicatedLoad(Node, 2, 2, AArch64::LD2W_IMM, AArch64::LD2W); return; } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) { - SelectPredicatedLoad(Node, 2, AArch64::LD2D_IMM); + SelectPredicatedLoad(Node, 2, 3, AArch64::LD2D_IMM, AArch64::LD2D); return; } break; } case AArch64ISD::SVE_LD3_MERGE_ZERO: { if (VT == MVT::nxv16i8) { - SelectPredicatedLoad(Node, 3, AArch64::LD3B_IMM); + SelectPredicatedLoad(Node, 3, 0, AArch64::LD3B_IMM, AArch64::LD3B); return; } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 || (VT == MVT::nxv8bf16 && Subtarget->hasBF16())) { - SelectPredicatedLoad(Node, 3, AArch64::LD3H_IMM); + SelectPredicatedLoad(Node, 3, 1, AArch64::LD3H_IMM, AArch64::LD3H); return; } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) { - SelectPredicatedLoad(Node, 3, AArch64::LD3W_IMM); + SelectPredicatedLoad(Node, 3, 2, AArch64::LD3W_IMM, AArch64::LD3W); return; } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) { - SelectPredicatedLoad(Node, 3, AArch64::LD3D_IMM); + SelectPredicatedLoad(Node, 3, 3, AArch64::LD3D_IMM, AArch64::LD3D); return; } break; } case AArch64ISD::SVE_LD4_MERGE_ZERO: { if (VT == MVT::nxv16i8) { - SelectPredicatedLoad(Node, 4, AArch64::LD4B_IMM); + SelectPredicatedLoad(Node, 4, 0, AArch64::LD4B_IMM, AArch64::LD4B); return; } else if (VT == MVT::nxv8i16 || VT == MVT::nxv8f16 || (VT == MVT::nxv8bf16 && Subtarget->hasBF16())) { - SelectPredicatedLoad(Node, 4, AArch64::LD4H_IMM); + SelectPredicatedLoad(Node, 4, 1, AArch64::LD4H_IMM, AArch64::LD4H); return; } else if (VT == MVT::nxv4i32 || VT == MVT::nxv4f32) { - SelectPredicatedLoad(Node, 4, AArch64::LD4W_IMM); + SelectPredicatedLoad(Node, 4, 2, AArch64::LD4W_IMM, AArch64::LD4W); return; } else if (VT == MVT::nxv2i64 || VT == MVT::nxv2f64) { - SelectPredicatedLoad(Node, 4, AArch64::LD4D_IMM); + SelectPredicatedLoad(Node, 4, 3, AArch64::LD4D_IMM, AArch64::LD4D); return; } break; @@ -4805,10 +4800,14 @@ FunctionPass *llvm::createAArch64ISelDag(AArch64Target /// When \p PredVT is a scalable vector predicate in the form /// MVT::nxxi1, it builds the correspondent scalable vector of -/// integers MVT::nxxi s.t. M x bits = 128. If the input +/// integers MVT::nxxi s.t. M x bits = 128. When targeting +/// structured vectors (NumVec >1), the output data type is +/// MVT::nxxi s.t. M x bits = 128. If the input /// PredVT is not in the form MVT::nxxi1, it returns an invalid /// EVT. -static EVT getPackedVectorTypeFromPredicateType(LLVMContext &Ctx, EVT PredVT) { +static EVT getPackedVectorTypeFromPredicateType(LLVMContext &Ctx, EVT PredVT, + unsigned NumVec) { + assert(NumVec > 0 && NumVec < 5 && "Invalid number of vectors."); if (!PredVT.isScalableVector() || PredVT.getVectorElementType() != MVT::i1) return EVT(); @@ -4818,7 +4817,8 @@ static EVT getPackedVectorTypeFromPredicateType(LLVMCo ElementCount EC = PredVT.getVectorElementCount(); EVT ScalarVT = EVT::getIntegerVT(Ctx, AArch64::SVEBitsPerBlock / EC.Min); - EVT MemVT = EVT::getVectorVT(Ctx, ScalarVT, EC); + EVT MemVT = EVT::getVectorVT(Ctx, ScalarVT, EC * NumVec); + return MemVT; } @@ -4842,6 +4842,15 @@ static EVT getMemVTFromNode(LLVMContext &Ctx, SDNode * return cast(Root->getOperand(3))->getVT(); case AArch64ISD::ST1_PRED: return cast(Root->getOperand(4))->getVT(); + case AArch64ISD::SVE_LD2_MERGE_ZERO: + return getPackedVectorTypeFromPredicateType( + Ctx, Root->getOperand(1)->getValueType(0), /*NumVec=*/2); + case AArch64ISD::SVE_LD3_MERGE_ZERO: + return getPackedVectorTypeFromPredicateType( + Ctx, Root->getOperand(1)->getValueType(0), /*NumVec=*/3); + case AArch64ISD::SVE_LD4_MERGE_ZERO: + return getPackedVectorTypeFromPredicateType( + Ctx, Root->getOperand(1)->getValueType(0), /*NumVec=*/4); default: break; } @@ -4857,7 +4866,7 @@ static EVT getMemVTFromNode(LLVMContext &Ctx, SDNode * // We are using an SVE prefetch intrinsic. Type must be inferred // from the width of the predicate. return getPackedVectorTypeFromPredicateType( - Ctx, Root->getOperand(2)->getValueType(0)); + Ctx, Root->getOperand(2)->getValueType(0), /*NumVec=*/1); } /// SelectAddrModeIndexedSVE - Attempt selection of the addressing mode: Modified: vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -932,8 +932,11 @@ AArch64TargetLowering::AArch64TargetLowering(const Tar setOperationAction(ISD::SHL, VT, Custom); setOperationAction(ISD::SRL, VT, Custom); setOperationAction(ISD::SRA, VT, Custom); - if (VT.getScalarType() == MVT::i1) + if (VT.getScalarType() == MVT::i1) { setOperationAction(ISD::SETCC, VT, Custom); + setOperationAction(ISD::TRUNCATE, VT, Custom); + setOperationAction(ISD::CONCAT_VECTORS, VT, Legal); + } } } @@ -8858,6 +8861,16 @@ SDValue AArch64TargetLowering::LowerTRUNCATE(SDValue O SelectionDAG &DAG) const { EVT VT = Op.getValueType(); + if (VT.getScalarType() == MVT::i1) { + // Lower i1 truncate to `(x & 1) != 0`. + SDLoc dl(Op); + EVT OpVT = Op.getOperand(0).getValueType(); + SDValue Zero = DAG.getConstant(0, dl, OpVT); + SDValue One = DAG.getConstant(1, dl, OpVT); + SDValue And = DAG.getNode(ISD::AND, dl, OpVT, Op.getOperand(0), One); + return DAG.getSetCC(dl, VT, And, Zero, ISD::SETNE); + } + if (!VT.isVector() || VT.isScalableVector()) return Op; @@ -12288,6 +12301,9 @@ static SDValue performLD1ReplicateCombine(SDNode *N, S "Unsupported opcode."); SDLoc DL(N); EVT VT = N->getValueType(0); + if (VT == MVT::nxv8bf16 && + !static_cast(DAG.getSubtarget()).hasBF16()) + return SDValue(); EVT LoadVT = VT; if (VT.isFloatingPoint()) @@ -14908,6 +14924,11 @@ bool AArch64TargetLowering::fallBackToDAGISel(const In for (unsigned i = 0; i < Inst.getNumOperands(); ++i) if (isa(Inst.getOperand(i)->getType())) return true; + + if (const AllocaInst *AI = dyn_cast(&Inst)) { + if (isa(AI->getAllocatedType())) + return true; + } return false; } Modified: vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64InstrFormats.td ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64InstrFormats.td Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64InstrFormats.td Fri Jul 31 22:12:34 2020 (r363744) @@ -495,6 +495,9 @@ def SImmS4XForm : SDNodeXFormgetTargetConstant(N->getSExtValue() / 16, SDLoc(N), MVT::i64); }]>; +def SImmS32XForm : SDNodeXFormgetTargetConstant(N->getSExtValue() / 32, SDLoc(N), MVT::i64); +}]>; // simm6sN predicate - True if the immediate is a multiple of N in the range // [-32 * N, 31 * N]. @@ -546,7 +549,7 @@ def simm4s16 : Operand, ImmLeaf, ImmLeaf=-256 && Imm <= 224 && (Imm % 32) == 0x0; }]> { +[{ return Imm >=-256 && Imm <= 224 && (Imm % 32) == 0x0; }], SImmS32XForm> { let PrintMethod = "printImmScale<32>"; let ParserMatchClass = SImm4s32Operand; let DecoderMethod = "DecodeSImm<4>"; Modified: vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -2744,6 +2744,35 @@ void AArch64InstrInfo::copyPhysReg(MachineBasicBlock & return; } + // Copy a Z register pair by copying the individual sub-registers. + if (AArch64::ZPR2RegClass.contains(DestReg) && + AArch64::ZPR2RegClass.contains(SrcReg)) { + static const unsigned Indices[] = {AArch64::zsub0, AArch64::zsub1}; + copyPhysRegTuple(MBB, I, DL, DestReg, SrcReg, KillSrc, AArch64::ORR_ZZZ, + Indices); + return; + } + + // Copy a Z register triple by copying the individual sub-registers. + if (AArch64::ZPR3RegClass.contains(DestReg) && + AArch64::ZPR3RegClass.contains(SrcReg)) { + static const unsigned Indices[] = {AArch64::zsub0, AArch64::zsub1, + AArch64::zsub2}; + copyPhysRegTuple(MBB, I, DL, DestReg, SrcReg, KillSrc, AArch64::ORR_ZZZ, + Indices); + return; + } + + // Copy a Z register quad by copying the individual sub-registers. + if (AArch64::ZPR4RegClass.contains(DestReg) && + AArch64::ZPR4RegClass.contains(SrcReg)) { + static const unsigned Indices[] = {AArch64::zsub0, AArch64::zsub1, + AArch64::zsub2, AArch64::zsub3}; + copyPhysRegTuple(MBB, I, DL, DestReg, SrcReg, KillSrc, AArch64::ORR_ZZZ, + Indices); + return; + } + if (AArch64::GPR64spRegClass.contains(DestReg) && (AArch64::GPR64spRegClass.contains(SrcReg) || SrcReg == AArch64::XZR)) { if (DestReg == AArch64::SP || SrcReg == AArch64::SP) { Modified: vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp ============================================================================== --- vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp Fri Jul 31 21:43:56 2020 (r363743) +++ vendor/llvm-project/release-11.x/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp Fri Jul 31 22:12:34 2020 (r363744) @@ -40,6 +40,14 @@ AArch64RegisterInfo::AArch64RegisterInfo(const Triple AArch64_MC::initLLVMToCVRegMapping(this); } +static bool hasSVEArgsOrReturn(const MachineFunction *MF) { + const Function &F = MF->getFunction(); + return isa(F.getReturnType()) || + any_of(F.args(), [](const Argument &Arg) { + return isa(Arg.getType()); + }); +} + const MCPhysReg * AArch64RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { assert(MF && "Invalid MachineFunction pointer."); @@ -75,6 +83,8 @@ AArch64RegisterInfo::getCalleeSavedRegs(const MachineF // This is for OSes other than Windows; Windows is a separate case further // above. return CSR_AArch64_AAPCS_X18_SaveList; + if (hasSVEArgsOrReturn(MF)) + return CSR_AArch64_SVE_AAPCS_SaveList; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Fri Jul 31 22:13:09 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DB3E73A4A32; Fri, 31 Jul 2020 22:13:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJM3n5Wfvz421H; Fri, 31 Jul 2020 22:13:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 88C1686B4; Fri, 31 Jul 2020 22:13:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VMD9EI034460; Fri, 31 Jul 2020 22:13:09 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VMD9eF034459; Fri, 31 Jul 2020 22:13:09 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202007312213.06VMD9eF034459@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 31 Jul 2020 22:13:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r363745 - vendor/llvm-project/llvmorg-11.0.0-rc1-25-g903c872b169 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/llvm-project/llvmorg-11.0.0-rc1-25-g903c872b169 X-SVN-Commit-Revision: 363745 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 22:13:09 -0000 Author: dim Date: Fri Jul 31 22:13:09 2020 New Revision: 363745 URL: https://svnweb.freebsd.org/changeset/base/363745 Log: Tag llvm-project branch release/11.x llvmorg-11.0.0-rc1-25-g903c872b169. Added: vendor/llvm-project/llvmorg-11.0.0-rc1-25-g903c872b169/ - copied from r363744, vendor/llvm-project/release-11.x/ From owner-svn-src-all@freebsd.org Fri Jul 31 23:02:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4726A3A570E; Fri, 31 Jul 2020 23:02:19 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJN8W19ndz43qs; Fri, 31 Jul 2020 23:02:19 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0BC698EC8; Fri, 31 Jul 2020 23:02:19 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VN2IMN065120; Fri, 31 Jul 2020 23:02:18 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VN2ImD065116; Fri, 31 Jul 2020 23:02:18 GMT (envelope-from br@FreeBSD.org) Message-Id: <202007312302.06VN2ImD065116@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Fri, 31 Jul 2020 23:02:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363747 - in head/sys: dev/iommu x86/iommu X-SVN-Group: head X-SVN-Commit-Author: br X-SVN-Commit-Paths: in head/sys: dev/iommu x86/iommu X-SVN-Commit-Revision: 363747 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 23:02:19 -0000 Author: br Date: Fri Jul 31 23:02:17 2020 New Revision: 363747 URL: https://svnweb.freebsd.org/changeset/base/363747 Log: Add iommu_domain_map_ops virtual table with map/unmap methods so x86 can support Intel DMAR and AMD IOMMU simultaneously. Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25894 Modified: head/sys/dev/iommu/iommu.h head/sys/dev/iommu/iommu_gas.c head/sys/x86/iommu/intel_ctx.c head/sys/x86/iommu/intel_dmar.h head/sys/x86/iommu/intel_idpgtbl.c Modified: head/sys/dev/iommu/iommu.h ============================================================================== --- head/sys/dev/iommu/iommu.h Fri Jul 31 22:23:32 2020 (r363746) +++ head/sys/dev/iommu/iommu.h Fri Jul 31 23:02:17 2020 (r363747) @@ -100,6 +100,13 @@ struct iommu_unit { uint32_t buswide_ctxs[(PCI_BUSMAX + 1) / NBBY / sizeof(uint32_t)]; }; +struct iommu_domain_map_ops { + int (*map)(struct iommu_domain *domain, iommu_gaddr_t base, + iommu_gaddr_t size, vm_page_t *ma, uint64_t pflags, int flags); + int (*unmap)(struct iommu_domain *domain, iommu_gaddr_t base, + iommu_gaddr_t size, int flags); +}; + /* * Locking annotations: * (u) - Protected by iommu unit lock @@ -109,6 +116,7 @@ struct iommu_unit { struct iommu_domain { struct iommu_unit *iommu; /* (c) */ + const struct iommu_domain_map_ops *ops; struct mtx lock; /* (c) */ struct task unload_task; /* (c) */ u_int entries_cnt; /* (d) */ Modified: head/sys/dev/iommu/iommu_gas.c ============================================================================== --- head/sys/dev/iommu/iommu_gas.c Fri Jul 31 22:23:32 2020 (r363746) +++ head/sys/dev/iommu/iommu_gas.c Fri Jul 31 23:02:17 2020 (r363747) @@ -66,10 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include #if defined(__amd64__) || defined(__i386__) -#include -#include #include -#include #endif #include @@ -620,9 +617,9 @@ iommu_gas_map(struct iommu_domain *domain, entry->flags |= eflags; IOMMU_DOMAIN_UNLOCK(domain); - error = domain_map_buf(domain, entry->start, entry->end - entry->start, - ma, eflags, - ((flags & IOMMU_MF_CANWAIT) != 0 ? IOMMU_PGF_WAITOK : 0)); + error = domain->ops->map(domain, entry->start, + entry->end - entry->start, ma, eflags, + ((flags & IOMMU_MF_CANWAIT) != 0 ? IOMMU_PGF_WAITOK : 0)); if (error == ENOMEM) { iommu_domain_unload_entry(entry, true); return (error); @@ -658,9 +655,9 @@ iommu_gas_map_region(struct iommu_domain *domain, stru if (entry->end == entry->start) return (0); - error = domain_map_buf(domain, entry->start, entry->end - entry->start, - ma + OFF_TO_IDX(start - entry->start), eflags, - ((flags & IOMMU_MF_CANWAIT) != 0 ? IOMMU_PGF_WAITOK : 0)); + error = domain->ops->map(domain, entry->start, + entry->end - entry->start, ma + OFF_TO_IDX(start - entry->start), + eflags, ((flags & IOMMU_MF_CANWAIT) != 0 ? IOMMU_PGF_WAITOK : 0)); if (error == ENOMEM) { iommu_domain_unload_entry(entry, false); return (error); Modified: head/sys/x86/iommu/intel_ctx.c ============================================================================== --- head/sys/x86/iommu/intel_ctx.c Fri Jul 31 22:23:32 2020 (r363746) +++ head/sys/x86/iommu/intel_ctx.c Fri Jul 31 23:02:17 2020 (r363747) @@ -341,6 +341,7 @@ dmar_domain_alloc(struct dmar_unit *dmar, bool id_mapp mtx_init(&domain->iodom.lock, "dmardom", NULL, MTX_DEF); domain->dmar = dmar; domain->iodom.iommu = &dmar->iommu; + domain_pgtbl_init(domain); /* * For now, use the maximal usable physical address of the @@ -842,15 +843,17 @@ dmar_domain_unload(struct dmar_domain *domain, struct iommu_map_entries_tailq *entries, bool cansleep) { struct dmar_unit *unit; + struct iommu_domain *iodom; struct iommu_map_entry *entry, *entry1; int error; + iodom = (struct iommu_domain *)domain; unit = (struct dmar_unit *)domain->iodom.iommu; TAILQ_FOREACH_SAFE(entry, entries, dmamap_link, entry1) { KASSERT((entry->flags & IOMMU_MAP_ENTRY_MAP) != 0, ("not mapped entry %p %p", domain, entry)); - error = domain_unmap_buf(domain, entry->start, entry->end - + error = iodom->ops->unmap(iodom, entry->start, entry->end - entry->start, cansleep ? IOMMU_PGF_WAITOK : 0); KASSERT(error == 0, ("unmap %p error %d", domain, error)); if (!unit->qi_enabled) { Modified: head/sys/x86/iommu/intel_dmar.h ============================================================================== --- head/sys/x86/iommu/intel_dmar.h Fri Jul 31 22:23:32 2020 (r363746) +++ head/sys/x86/iommu/intel_dmar.h Fri Jul 31 23:02:17 2020 (r363747) @@ -244,14 +244,11 @@ void dmar_qi_invalidate_iec(struct dmar_unit *unit, u_ vm_object_t domain_get_idmap_pgtbl(struct dmar_domain *domain, iommu_gaddr_t maxaddr); void put_idmap_pgtbl(vm_object_t obj); -int domain_map_buf(struct iommu_domain *domain, iommu_gaddr_t base, - iommu_gaddr_t size, vm_page_t *ma, uint64_t pflags, int flags); -int domain_unmap_buf(struct dmar_domain *domain, iommu_gaddr_t base, - iommu_gaddr_t size, int flags); void domain_flush_iotlb_sync(struct dmar_domain *domain, iommu_gaddr_t base, iommu_gaddr_t size); int domain_alloc_pgtbl(struct dmar_domain *domain); void domain_free_pgtbl(struct dmar_domain *domain); +void domain_pgtbl_init(struct dmar_domain *domain); int dmar_dev_depth(device_t child); void dmar_dev_path(device_t child, int *busno, void *path1, int depth); Modified: head/sys/x86/iommu/intel_idpgtbl.c ============================================================================== --- head/sys/x86/iommu/intel_idpgtbl.c Fri Jul 31 22:23:32 2020 (r363746) +++ head/sys/x86/iommu/intel_idpgtbl.c Fri Jul 31 23:02:17 2020 (r363747) @@ -498,7 +498,7 @@ domain_map_buf_locked(struct dmar_domain *domain, iomm return (0); } -int +static int domain_map_buf(struct iommu_domain *iodom, iommu_gaddr_t base, iommu_gaddr_t size, vm_page_t *ma, uint64_t eflags, int flags) { @@ -684,12 +684,15 @@ domain_unmap_buf_locked(struct dmar_domain *domain, io return (0); } -int -domain_unmap_buf(struct dmar_domain *domain, iommu_gaddr_t base, +static int +domain_unmap_buf(struct iommu_domain *iodom, iommu_gaddr_t base, iommu_gaddr_t size, int flags) { + struct dmar_domain *domain; int error; + domain = (struct dmar_domain *)iodom; + DMAR_DOMAIN_PGLOCK(domain); error = domain_unmap_buf_locked(domain, base, size, flags); DMAR_DOMAIN_PGUNLOCK(domain); @@ -808,4 +811,18 @@ domain_flush_iotlb_sync(struct dmar_domain *domain, io } } DMAR_UNLOCK(unit); +} + +static const struct iommu_domain_map_ops dmar_domain_map_ops = { + .map = domain_map_buf, + .unmap = domain_unmap_buf, +}; + +void +domain_pgtbl_init(struct dmar_domain *domain) +{ + struct iommu_domain *iodom; + + iodom = (struct iommu_domain *)domain; + iodom->ops = &dmar_domain_map_ops; } From owner-svn-src-all@freebsd.org Fri Jul 31 23:35:50 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7EAEA3A57E8; Fri, 31 Jul 2020 23:35:50 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJNvB2Wmkz44gq; Fri, 31 Jul 2020 23:35:50 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1C21C95C6; Fri, 31 Jul 2020 23:35:50 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06VNZnuI083746; Fri, 31 Jul 2020 23:35:49 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06VNZn8n083743; Fri, 31 Jul 2020 23:35:49 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202007312335.06VNZn8n083743@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Fri, 31 Jul 2020 23:35:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363748 - in head/sys/fs: nfs nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 363748 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Jul 2020 23:35:50 -0000 Author: rmacklem Date: Fri Jul 31 23:35:49 2020 New Revision: 363748 URL: https://svnweb.freebsd.org/changeset/base/363748 Log: Add optional support for ext_pgs mbufs to the NFS server's read, readlink and getxattr operations. This patch optionally enables generation of read, readlink and getxattr replies in ext_pgs mbufs. Since neither of ND_EXTPG or ND_TLS are currently ever set, there is no change in semantics at this time. It also corrects the message in a couple of panic()s that should never occur. This is another in the series of commits that add support to the NFS client and server for building RPC messages in ext_pgs mbufs with anonymous pages. This is useful so that the entire mbuf list does not need to be copied before calling sosend() when NFS over TLS is enabled. Use of ext_pgs mbufs will not be enabled until the kernel RPC is updated to handle TLS. Modified: head/sys/fs/nfs/nfs_var.h head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/fs/nfsserver/nfs_nfsdserv.c Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Fri Jul 31 23:02:17 2020 (r363747) +++ head/sys/fs/nfs/nfs_var.h Fri Jul 31 23:35:49 2020 (r363748) @@ -680,9 +680,9 @@ int nfsvno_namei(struct nfsrv_descript *, struct namei vnode_t, int, struct nfsexstuff *, NFSPROC_T *, vnode_t *); void nfsvno_setpathbuf(struct nameidata *, char **, u_long **); void nfsvno_relpathbuf(struct nameidata *); -int nfsvno_readlink(vnode_t, struct ucred *, NFSPROC_T *, struct mbuf **, +int nfsvno_readlink(vnode_t, struct ucred *, int, NFSPROC_T *, struct mbuf **, struct mbuf **, int *); -int nfsvno_read(vnode_t, off_t, int, struct ucred *, NFSPROC_T *, +int nfsvno_read(vnode_t, off_t, int, struct ucred *, int, NFSPROC_T *, struct mbuf **, struct mbuf **); int nfsvno_write(vnode_t, off_t, int, int *, struct mbuf *, char *, struct ucred *, NFSPROC_T *); @@ -748,7 +748,7 @@ int nfsvno_seek(struct nfsrv_descript *, struct vnode bool *, struct ucred *, NFSPROC_T *); int nfsvno_allocate(struct vnode *, off_t, off_t, struct ucred *, NFSPROC_T *); int nfsvno_getxattr(struct vnode *, char *, uint32_t, struct ucred *, - struct thread *, struct mbuf **, struct mbuf **, int *); + uint64_t, int, struct thread *, struct mbuf **, struct mbuf **, int *); int nfsvno_setxattr(struct vnode *, char *, int, struct mbuf *, char *, struct ucred *, struct thread *); int nfsvno_rmxattr(struct nfsrv_descript *, struct vnode *, char *, Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Fri Jul 31 23:02:17 2020 (r363747) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Fri Jul 31 23:35:49 2020 (r363748) @@ -108,6 +108,8 @@ extern struct nfsdevicehead nfsrv_devidhead; static int nfsrv_createiovec(int, struct mbuf **, struct mbuf **, struct iovec **); +static int nfsrv_createiovec_extpgs(int, int, struct mbuf **, + struct mbuf **, struct iovec **); static int nfsrv_createiovecw(int, struct mbuf *, char *, struct iovec **, int *); static void nfsrv_pnfscreate(struct vnode *, struct vattr *, struct ucred *, @@ -738,8 +740,8 @@ nfsvno_relpathbuf(struct nameidata *ndp) * Readlink vnode op into an mbuf list. */ int -nfsvno_readlink(struct vnode *vp, struct ucred *cred, struct thread *p, - struct mbuf **mpp, struct mbuf **mpendp, int *lenp) +nfsvno_readlink(struct vnode *vp, struct ucred *cred, int maxextsiz, + struct thread *p, struct mbuf **mpp, struct mbuf **mpendp, int *lenp) { struct iovec *iv; struct uio io, *uiop = &io; @@ -747,7 +749,11 @@ nfsvno_readlink(struct vnode *vp, struct ucred *cred, int len, tlen, error = 0; len = NFS_MAXPATHLEN; - uiop->uio_iovcnt = nfsrv_createiovec(len, &mp3, &mp, &iv); + if (maxextsiz > 0) + uiop->uio_iovcnt = nfsrv_createiovec_extpgs(len, maxextsiz, + &mp3, &mp, &iv); + else + uiop->uio_iovcnt = nfsrv_createiovec(len, &mp3, &mp, &iv); uiop->uio_iov = iv; uiop->uio_offset = 0; uiop->uio_resid = len; @@ -819,7 +825,7 @@ nfsrv_createiovec(int len, struct mbuf **mpp, struct m i = 0; while (left > 0) { if (m == NULL) - panic("nfsvno_read iov"); + panic("nfsrv_createiovec iov"); siz = min(M_TRAILINGSPACE(m), left); if (siz > 0) { iv->iov_base = mtod(m, caddr_t) + m->m_len; @@ -837,11 +843,76 @@ nfsrv_createiovec(int len, struct mbuf **mpp, struct m } /* + * Create an mbuf chain and an associated iovec that can be used to Read + * or Getextattr of data. + * Upon success, return pointers to the first and last mbufs in the chain + * plus the malloc'd iovec and its iovlen. + * Same as above, but creates ext_pgs mbuf(s). + */ +static int +nfsrv_createiovec_extpgs(int len, int maxextsiz, struct mbuf **mpp, + struct mbuf **mpendp, struct iovec **ivp) +{ + struct mbuf *m, *m2 = NULL, *m3; + struct iovec *iv; + int i, left, pgno, siz; + + left = len; + m3 = NULL; + /* + * Generate the mbuf list with the uio_iov ref. to it. + */ + i = 0; + while (left > 0) { + siz = min(left, maxextsiz); + m = mb_alloc_ext_plus_pages(siz, M_WAITOK); + left -= siz; + i += m->m_epg_npgs; + if (m3 != NULL) + m2->m_next = m; + else + m3 = m; + m2 = m; + } + *ivp = iv = malloc(i * sizeof (struct iovec), M_TEMP, M_WAITOK); + m = m3; + left = len; + i = 0; + pgno = 0; + while (left > 0) { + if (m == NULL) + panic("nfsvno_createiovec_extpgs iov"); + siz = min(PAGE_SIZE, left); + if (siz > 0) { + iv->iov_base = (void *)PHYS_TO_DMAP(m->m_epg_pa[pgno]); + iv->iov_len = siz; + m->m_len += siz; + if (pgno == m->m_epg_npgs - 1) + m->m_epg_last_len = siz; + left -= siz; + iv++; + i++; + pgno++; + } + if (pgno == m->m_epg_npgs && left > 0) { + m = m->m_next; + if (m == NULL) + panic("nfsvno_createiovec_extpgs iov"); + pgno = 0; + } + } + *mpp = m3; + *mpendp = m2; + return (i); +} + +/* * Read vnode op call into mbuf list. */ int nfsvno_read(struct vnode *vp, off_t off, int cnt, struct ucred *cred, - struct thread *p, struct mbuf **mpp, struct mbuf **mpendp) + int maxextsiz, struct thread *p, struct mbuf **mpp, + struct mbuf **mpendp) { struct mbuf *m; struct iovec *iv; @@ -860,7 +931,11 @@ nfsvno_read(struct vnode *vp, off_t off, int cnt, stru return (error); len = NFSM_RNDUP(cnt); - uiop->uio_iovcnt = nfsrv_createiovec(len, &m3, &m, &iv); + if (maxextsiz > 0) + uiop->uio_iovcnt = nfsrv_createiovec_extpgs(len, maxextsiz, + &m3, &m, &iv); + else + uiop->uio_iovcnt = nfsrv_createiovec(len, &m3, &m, &iv); uiop->uio_iov = iv; uiop->uio_offset = off; uiop->uio_resid = len; @@ -938,7 +1013,7 @@ nfsrv_createiovecw(int retlen, struct mbuf *m, char *c len = retlen; while (len > 0) { if (mp == NULL) - panic("nfsvno_write"); + panic("nfsrv_createiovecw"); if (i > 0) { i = min(i, len); ivp->iov_base = cp; @@ -6241,8 +6316,8 @@ nfsvno_allocate(struct vnode *vp, off_t off, off_t len */ int nfsvno_getxattr(struct vnode *vp, char *name, uint32_t maxresp, - struct ucred *cred, struct thread *p, struct mbuf **mpp, - struct mbuf **mpendp, int *lenp) + struct ucred *cred, uint64_t flag, int maxextsiz, struct thread *p, + struct mbuf **mpp, struct mbuf **mpendp, int *lenp) { struct iovec *iv; struct uio io, *uiop = &io; @@ -6260,7 +6335,21 @@ nfsvno_getxattr(struct vnode *vp, char *name, uint32_t len = siz; tlen = NFSM_RNDUP(len); if (tlen > 0) { - uiop->uio_iovcnt = nfsrv_createiovec(tlen, &m, &m2, &iv); + /* + * If cnt > MCLBYTES and the reply will not be saved, use + * ext_pgs mbufs for TLS. + * For NFSv4.0, we do not know for sure if the reply will + * be saved, so do not use ext_pgs mbufs for NFSv4.0. + * Always use ext_pgs mbufs if ND_EXTPG is set. + */ + if ((flag & ND_EXTPG) != 0 || (tlen > MCLBYTES && + (flag & (ND_TLS | ND_SAVEREPLY)) == ND_TLS && + (flag & (ND_NFSV4 | ND_NFSV41)) != ND_NFSV4)) + uiop->uio_iovcnt = nfsrv_createiovec_extpgs(tlen, + maxextsiz, &m, &m2, &iv); + else + uiop->uio_iovcnt = nfsrv_createiovec(tlen, &m, &m2, + &iv); uiop->uio_iov = iv; } else { uiop->uio_iovcnt = 0; Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Fri Jul 31 23:02:17 2020 (r363747) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Fri Jul 31 23:35:49 2020 (r363748) @@ -667,6 +667,7 @@ nfsrvd_readlink(struct nfsrv_descript *nd, __unused in int getret = 1, len; struct nfsvattr nva; struct thread *p = curthread; + uint16_t off; if (nd->nd_repstat) { nfsrv_postopattr(nd, getret, &nva); @@ -678,9 +679,14 @@ nfsrvd_readlink(struct nfsrv_descript *nd, __unused in else nd->nd_repstat = EINVAL; } - if (!nd->nd_repstat) - nd->nd_repstat = nfsvno_readlink(vp, nd->nd_cred, p, - &mp, &mpend, &len); + if (nd->nd_repstat == 0) { + if ((nd->nd_flag & ND_EXTPG) != 0) + nd->nd_repstat = nfsvno_readlink(vp, nd->nd_cred, + nd->nd_maxextsiz, p, &mp, &mpend, &len); + else + nd->nd_repstat = nfsvno_readlink(vp, nd->nd_cred, + 0, p, &mp, &mpend, &len); + } if (nd->nd_flag & ND_NFSV3) getret = nfsvno_getattr(vp, &nva, nd, p, 1, NULL); vput(vp); @@ -693,7 +699,16 @@ nfsrvd_readlink(struct nfsrv_descript *nd, __unused in if (mp != NULL) { nd->nd_mb->m_next = mp; nd->nd_mb = mpend; - nd->nd_bpos = mtod(mpend, caddr_t) + mpend->m_len; + if ((mpend->m_flags & M_EXTPG) != 0) { + nd->nd_bextpg = mpend->m_epg_npgs - 1; + nd->nd_bpos = (char *)(void *) + PHYS_TO_DMAP(mpend->m_epg_pa[nd->nd_bextpg]); + off = (nd->nd_bextpg == 0) ? mpend->m_epg_1st_off : 0; + nd->nd_bpos += off + mpend->m_epg_last_len; + nd->nd_bextpgsiz = PAGE_SIZE - mpend->m_epg_last_len - + off; + } else + nd->nd_bpos = mtod(mpend, char *) + mpend->m_len; } out: @@ -718,6 +733,7 @@ nfsrvd_read(struct nfsrv_descript *nd, __unused int is nfsv4stateid_t stateid; nfsquad_t clientid; struct thread *p = curthread; + uint16_t poff; if (nd->nd_repstat) { nfsrv_postopattr(nd, getret, &nva); @@ -839,8 +855,21 @@ nfsrvd_read(struct nfsrv_descript *nd, __unused int is cnt = reqlen; m3 = NULL; if (cnt > 0) { - nd->nd_repstat = nfsvno_read(vp, off, cnt, nd->nd_cred, p, - &m3, &m2); + /* + * If cnt > MCLBYTES and the reply will not be saved, use + * ext_pgs mbufs for TLS. + * For NFSv4.0, we do not know for sure if the reply will + * be saved, so do not use ext_pgs mbufs for NFSv4.0. + * Always use ext_pgs mbufs if ND_EXTPG is set. + */ + if ((nd->nd_flag & ND_EXTPG) != 0 || (cnt > MCLBYTES && + (nd->nd_flag & (ND_TLS | ND_SAVEREPLY)) == ND_TLS && + (nd->nd_flag & (ND_NFSV4 | ND_NFSV41)) != ND_NFSV4)) + nd->nd_repstat = nfsvno_read(vp, off, cnt, nd->nd_cred, + nd->nd_maxextsiz, p, &m3, &m2); + else + nd->nd_repstat = nfsvno_read(vp, off, cnt, nd->nd_cred, + 0, p, &m3, &m2); if (!(nd->nd_flag & ND_NFSV4)) { getret = nfsvno_getattr(vp, &nva, nd, p, 1, NULL); if (!nd->nd_repstat) @@ -875,7 +904,17 @@ nfsrvd_read(struct nfsrv_descript *nd, __unused int is if (m3) { nd->nd_mb->m_next = m3; nd->nd_mb = m2; - nd->nd_bpos = mtod(m2, caddr_t) + m2->m_len; + if ((m2->m_flags & M_EXTPG) != 0) { + nd->nd_flag |= ND_EXTPG; + nd->nd_bextpg = m2->m_epg_npgs - 1; + nd->nd_bpos = (char *)(void *) + PHYS_TO_DMAP(m2->m_epg_pa[nd->nd_bextpg]); + poff = (nd->nd_bextpg == 0) ? m2->m_epg_1st_off : 0; + nd->nd_bpos += poff + m2->m_epg_last_len; + nd->nd_bextpgsiz = PAGE_SIZE - m2->m_epg_last_len - + poff; + } else + nd->nd_bpos = mtod(m2, char *) + m2->m_len; } out: @@ -5536,6 +5575,7 @@ nfsrvd_getxattr(struct nfsrv_descript *nd, __unused in int error, len; char *name; struct thread *p = curthread; + uint16_t off; error = 0; if (nfs_rootfhset == 0 || nfsd_checkrootexp(nd) != 0) { @@ -5555,8 +5595,9 @@ nfsrvd_getxattr(struct nfsrv_descript *nd, __unused in name = malloc(len + 1, M_TEMP, M_WAITOK); nd->nd_repstat = nfsrv_mtostr(nd, name, len); if (nd->nd_repstat == 0) - nd->nd_repstat = nfsvno_getxattr(vp, name, nd->nd_maxresp, - nd->nd_cred, p, &mp, &mpend, &len); + nd->nd_repstat = nfsvno_getxattr(vp, name, + nd->nd_maxresp, nd->nd_cred, nd->nd_flag, + nd->nd_maxextsiz, p, &mp, &mpend, &len); if (nd->nd_repstat == ENOATTR) nd->nd_repstat = NFSERR_NOXATTR; else if (nd->nd_repstat == EOPNOTSUPP) @@ -5567,7 +5608,19 @@ nfsrvd_getxattr(struct nfsrv_descript *nd, __unused in if (len > 0) { nd->nd_mb->m_next = mp; nd->nd_mb = mpend; - nd->nd_bpos = mtod(mpend, caddr_t) + mpend->m_len; + if ((mpend->m_flags & M_EXTPG) != 0) { + nd->nd_flag |= ND_EXTPG; + nd->nd_bextpg = mpend->m_epg_npgs - 1; + nd->nd_bpos = (char *)(void *) + PHYS_TO_DMAP(mpend->m_epg_pa[nd->nd_bextpg]); + off = (nd->nd_bextpg == 0) ? + mpend->m_epg_1st_off : 0; + nd->nd_bpos += off + mpend->m_epg_last_len; + nd->nd_bextpgsiz = PAGE_SIZE - + mpend->m_epg_last_len - off; + } else + nd->nd_bpos = mtod(mpend, char *) + + mpend->m_len; } } free(name, M_TEMP); From owner-svn-src-all@freebsd.org Sat Aug 1 04:40:01 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5D33E36CEC2; Sat, 1 Aug 2020 04:40:01 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJWf805r7z4KXn; Sat, 1 Aug 2020 04:39:59 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wm1-x342.google.com with SMTP id q76so9691103wme.4; Fri, 31 Jul 2020 21:39:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=a5aXiFyEmM4oTiQJ+XEZa/KlF9DRT0upL7gxKQUhHEI=; b=gMCfWit6aBCdf997pctojkxNgAqsyjRBV7DpQvhHU1g+Fb/CJeizSJPzlpyRmezVYv cauy9CfR0dtDHZA3JfZ00cSGQVE9Z4O0FahP0R8RxOwT4jRfpsWZ1G9h0MoOOdMT9avx sGD6XEltWznCUM6oeoYsZ5fd076XVv+r/Hi9AbN7JBdkysR+WTE2ZHwjZDhoNEhliVu+ KVpRFvybWBTkgM3dRsILsQB+HfN7Z2tAQQ8VZmYIQ4Ql3xt82xO+FqVSFQbzND3SbVVc CPSlKAn5AcBVlcM/A9mr5gSk5Gm8QNZ6kNr9e1rfK5iHQb08j1XOQThkdhCm9ROy3Weg 6WFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=a5aXiFyEmM4oTiQJ+XEZa/KlF9DRT0upL7gxKQUhHEI=; b=jhIkFl+o48v1NiLySZ/7A4xoKXfFCf718FGAJM41hREf+3G3zMEwKLE8AclC+vgKPa /ZFKrzcVZYVuY9bXT2eovTKLTTPFDzPNwRmml/iVw3UffamG9nszGGSWzIrYvGFLc2Oq 7PgKWcbpa3UjJgjBrbr1dcTlxEtKK4QgC9wOmvvXpyECw7tQE6VV83lypAPat6k3+ori zTM3YPTo/k65xRyb5xX7FgFmF0KZDmXWp4ZoywxIh5CAihqbuYDfDtvIhr8sZD7fh/Ju vXbyh+U/urzb9r4WFYs7++KmKufio04yioX/3w+zygn4r8qrkLvKe4Nae1Rvb1es+Obd HCbQ== X-Gm-Message-State: AOAM532d7Si6GJoiLYVAV2Zm1t1/H9jrsg/irbjdduLnbxWvjCuYoI5g ndAZyGAAiMXzeDas0JAIRMDmLzw9IvUI5Hm0L9jezQ== X-Google-Smtp-Source: ABdhPJydPPynEvvvfee2L+TAXDYr0n5rcjMW6OOHIVzX4M7FTyNoaF/k1haszgMQcLkl6vmVx/qJ2ZRmLczMm7WtvQ4= X-Received: by 2002:a1c:790b:: with SMTP id l11mr6686579wme.127.1596256797299; Fri, 31 Jul 2020 21:39:57 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a5d:614c:0:0:0:0:0 with HTTP; Fri, 31 Jul 2020 21:39:56 -0700 (PDT) In-Reply-To: <202007301445.06UEj5uj062013@repo.freebsd.org> References: <202007301445.06UEj5uj062013@repo.freebsd.org> From: Mateusz Guzik Date: Sat, 1 Aug 2020 06:39:56 +0200 Message-ID: Subject: Re: svn commit: r363700 - in head/sys: arm/ti arm/ti/am335x arm/ti/clk arm/ti/cpsw arm/ti/omap4 arm/ti/usb dev/uart modules To: Michal Meloun Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4BJWf805r7z4KXn X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=gMCfWit6; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2a00:1450:4864:20::342 as permitted sender) smtp.mailfrom=mjguzik@gmail.com X-Spamd-Result: default: False [-3.14 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.002]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-0.96)[-0.961]; TO_DN_SOME(0.00)[]; SH_EMAIL_DBL_DONT_QUERY_IPS(0.00)[0.0.0.40:email,0.0.1.242:email]; DBL_PROHIBIT(0.00)[0.0.0.40:email,0.0.1.242:email]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::342:from]; NEURAL_HAM_SHORT(-0.18)[-0.180]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 04:40:01 -0000 This breaks tinderbox for several arm kernels. On 7/30/20, Michal Meloun wrote: > Author: mmel > Date: Thu Jul 30 14:45:05 2020 > New Revision: 363700 > URL: https://svnweb.freebsd.org/changeset/base/363700 > > Log: > Move Ti AM335x to dev/extres/clk framework. > > Re-implement clocks for these SoC by using now standard extres/clk > framework. > This is necessary for future expansion of these. The new implementation > is (due to the size of the patch) only the initial (minimum) version. > It will be updated/expanded with a subsequent set of particular patches. > > This patch is also not tested on OMAP4 based boards (BeagleBone), > so all possible issues should be (and will be) fixed by ASAP once > identified. > > Submited by: Oskar Holmlund (oskar.holmlund@ohdata.se) > Differential Revision: https://reviews.freebsd.org/D25118 > > Added: > head/sys/arm/ti/am335x/am3359_cppi41.c (contents, props changed) > head/sys/arm/ti/am335x/am335x_usb_phy.c (contents, props changed) > head/sys/arm/ti/clk/ > head/sys/arm/ti/clk/clock_common.c (contents, props changed) > head/sys/arm/ti/clk/clock_common.h (contents, props changed) > head/sys/arm/ti/clk/ti_clk_clkctrl.c (contents, props changed) > head/sys/arm/ti/clk/ti_clk_clkctrl.h (contents, props changed) > head/sys/arm/ti/clk/ti_clk_dpll.c (contents, props changed) > head/sys/arm/ti/clk/ti_clk_dpll.h (contents, props changed) > head/sys/arm/ti/clk/ti_clkctrl.c (contents, props changed) > head/sys/arm/ti/clk/ti_divider_clock.c (contents, props changed) > head/sys/arm/ti/clk/ti_dpll_clock.c (contents, props changed) > head/sys/arm/ti/clk/ti_gate_clock.c (contents, props changed) > head/sys/arm/ti/clk/ti_mux_clock.c (contents, props changed) > head/sys/arm/ti/ti_omap4_cm.c (contents, props changed) > head/sys/arm/ti/ti_omap4_cm.h (contents, props changed) > head/sys/arm/ti/ti_prm.c (contents, props changed) > head/sys/arm/ti/ti_prm.h (contents, props changed) > head/sys/arm/ti/ti_scm_syscon.c (contents, props changed) > head/sys/arm/ti/ti_sysc.h (contents, props changed) > Deleted: > head/sys/arm/ti/am335x/am335x_prcm.c > head/sys/arm/ti/am335x/am335x_usbss.c > head/sys/arm/ti/ti_hwmods.c > head/sys/arm/ti/ti_hwmods.h > Modified: > head/sys/arm/ti/am335x/am335x_dmtimer.c > head/sys/arm/ti/am335x/am335x_dmtpps.c > head/sys/arm/ti/am335x/am335x_dmtreg.h > head/sys/arm/ti/am335x/am335x_gpio.c > head/sys/arm/ti/am335x/am335x_lcd.c > head/sys/arm/ti/am335x/am335x_musb.c > head/sys/arm/ti/am335x/am335x_pwmss.c > head/sys/arm/ti/am335x/am335x_rtc.c > head/sys/arm/ti/am335x/am335x_scm.c > head/sys/arm/ti/am335x/files.am335x > head/sys/arm/ti/cpsw/if_cpsw.c > head/sys/arm/ti/files.ti > head/sys/arm/ti/omap4/files.omap4 > head/sys/arm/ti/ti_adc.c > head/sys/arm/ti/ti_edma3.c > head/sys/arm/ti/ti_gpio.c > head/sys/arm/ti/ti_i2c.c > head/sys/arm/ti/ti_mbox.c > head/sys/arm/ti/ti_pinmux.c > head/sys/arm/ti/ti_prcm.c > head/sys/arm/ti/ti_prcm.h > head/sys/arm/ti/ti_pruss.c > head/sys/arm/ti/ti_scm.c > head/sys/arm/ti/ti_sdhci.c > head/sys/arm/ti/ti_sdma.c > head/sys/arm/ti/ti_spi.c > head/sys/arm/ti/ti_sysc.c > head/sys/arm/ti/ti_wdt.c > head/sys/arm/ti/usb/omap_ehci.c > head/sys/arm/ti/usb/omap_host.c > head/sys/arm/ti/usb/omap_tll.c > head/sys/dev/uart/uart_dev_ti8250.c > head/sys/modules/Makefile > > Added: head/sys/arm/ti/am335x/am3359_cppi41.c > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/sys/arm/ti/am335x/am3359_cppi41.c Thu Jul 30 14:45:05 > 2020 (r363700) > @@ -0,0 +1,192 @@ > +/*- > + * Copyright (c) 2019 Emmanuel Vadot > + * > + * Copyright (c) 2020 Oskar Holmlund > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED > WARRANTIES > + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. > + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, > + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; > + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED > + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, > + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > + * SUCH DAMAGE. > + * > + * $FreeBSD$ > + */ > +/* Based on sys/arm/ti/ti_sysc.c */ > + > +#include > +__FBSDID("$FreeBSD$"); > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include > +#include > + > +#include > + > +#include > +#include > +#include > + > +#include > + > +#if 0 > +#define DPRINTF(dev, msg...) device_printf(dev, msg) > +#else > +#define DPRINTF(dev, msg...) > +#endif > + > +struct ti_am3359_cppi41_softc { > + device_t dev; > + struct syscon * syscon; > + struct resource * res[4]; > + bus_space_tag_t bst; > + bus_space_handle_t bsh; > + struct mtx mtx; > +}; > + > +static struct resource_spec ti_am3359_cppi41_res_spec[] = { > + { SYS_RES_MEMORY, 0, RF_ACTIVE | RF_SHAREABLE }, > + { SYS_RES_MEMORY, 1, RF_ACTIVE | RF_SHAREABLE }, > + { SYS_RES_MEMORY, 2, RF_ACTIVE | RF_SHAREABLE }, > + { SYS_RES_MEMORY, 3, RF_ACTIVE | RF_SHAREABLE }, > + { -1, 0 } > +}; > + > +/* Device */ > +static struct ofw_compat_data compat_data[] = { > + { "ti,am3359-cppi41", 1 }, > + { NULL, 0 } > +}; > + > +static int > +ti_am3359_cppi41_write_4(device_t dev, bus_addr_t addr, uint32_t val) > +{ > + struct ti_am3359_cppi41_softc *sc; > + > + sc = device_get_softc(dev); > + DPRINTF(sc->dev, "offset=%lx write %x\n", addr, val); > + mtx_lock(&sc->mtx); > + bus_space_write_4(sc->bst, sc->bsh, addr, val); > + mtx_unlock(&sc->mtx); > + return (0); > +} > + > +static uint32_t > +ti_am3359_cppi41_read_4(device_t dev, bus_addr_t addr) > +{ > + struct ti_am3359_cppi41_softc *sc; > + uint32_t val; > + > + sc = device_get_softc(dev); > + > + mtx_lock(&sc->mtx); > + val = bus_space_read_4(sc->bst, sc->bsh, addr); > + mtx_unlock(&sc->mtx); > + DPRINTF(sc->dev, "offset=%lx Read %x\n", addr, val); > + return (val); > +} > + > +/* device interface */ > +static int > +ti_am3359_cppi41_probe(device_t dev) > +{ > + if (!ofw_bus_status_okay(dev)) > + return (ENXIO); > + > + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) > + return (ENXIO); > + > + device_set_desc(dev, "TI AM3359 CPPI 41"); > + return(BUS_PROBE_DEFAULT); > +} > + > +static int > +ti_am3359_cppi41_attach(device_t dev) > +{ > + struct ti_am3359_cppi41_softc *sc; > + phandle_t node; > + uint32_t reg, reset_bit, timeout=10; > + uint64_t sysc_address; > + device_t parent; > + > + sc = device_get_softc(dev); > + sc->dev = dev; > + > + if (bus_alloc_resources(dev, ti_am3359_cppi41_res_spec, sc->res)) { > + device_printf(sc->dev, "Cant allocate resources\n"); > + return (ENXIO); > + } > + > + sc->dev = dev; > + sc->bst = rman_get_bustag(sc->res[0]); > + sc->bsh = rman_get_bushandle(sc->res[0]); > + > + mtx_init(&sc->mtx, device_get_nameunit(sc->dev), NULL, MTX_DEF); > + node = ofw_bus_get_node(sc->dev); > + > + /* variant of am335x_usbss.c */ > + DPRINTF(dev, "-- RESET USB --\n"); > + parent = device_get_parent(dev); > + reset_bit = ti_sysc_get_soft_reset_bit(parent); > + if (reset_bit == 0) { > + DPRINTF(dev, "Dont have reset bit\n"); > + return (0); > + } > + sysc_address = ti_sysc_get_sysc_address_offset_host(parent); > + DPRINTF(dev, "sysc_address %x\n", sysc_address); > + ti_am3359_cppi41_write_4(dev, sysc_address, reset_bit); > + DELAY(100); > + reg = ti_am3359_cppi41_read_4(dev, sysc_address); > + if ((reg & reset_bit) && timeout--) { > + DPRINTF(dev, "Reset still ongoing - wait a little bit longer\n"); > + DELAY(100); > + reg = ti_am3359_cppi41_read_4(dev, sysc_address); > + } > + if (timeout == 0) > + device_printf(dev, "USB Reset timeout\n"); > + > + return (0); > +} > + > + > +static device_method_t ti_am3359_cppi41_methods[] = { > + DEVMETHOD(device_probe, ti_am3359_cppi41_probe), > + DEVMETHOD(device_attach, ti_am3359_cppi41_attach), > + > + DEVMETHOD_END > +}; > + > + > +DEFINE_CLASS_1(ti_am3359_cppi41, ti_am3359_cppi41_driver, > + ti_am3359_cppi41_methods,sizeof(struct ti_am3359_cppi41_softc), > + simplebus_driver); > + > +static devclass_t ti_am3359_cppi41_devclass; > + > +EARLY_DRIVER_MODULE(ti_am3359_cppi41, simplebus, ti_am3359_cppi41_driver, > + ti_am3359_cppi41_devclass, 0, 0, BUS_PASS_BUS + > BUS_PASS_ORDER_MIDDLE); > +MODULE_VERSION(ti_am3359_cppi41, 1); > +MODULE_DEPEND(ti_am3359_cppi41, ti_sysc, 1, 1, 1); > > Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c > ============================================================================== > --- head/sys/arm/ti/am335x/am335x_dmtimer.c Thu Jul 30 14:42:50 > 2020 (r363699) > +++ head/sys/arm/ti/am335x/am335x_dmtimer.c Thu Jul 30 14:45:05 > 2020 (r363700) > @@ -42,12 +42,13 @@ __FBSDID("$FreeBSD$"); > > #include /* For arm_set_delay */ > > +#include > + > #include > #include > #include > > -#include > -#include > +#include > > #include "am335x_dmtreg.h" > > @@ -58,7 +59,8 @@ struct am335x_dmtimer_softc { > int tmr_irq_rid; > struct resource * tmr_irq_res; > void *tmr_irq_handler; > - uint32_t sysclk_freq; > + clk_t clk_fck; > + uint64_t sysclk_freq; > uint32_t tclr; /* Cached TCLR register. */ > union { > struct timecounter tc; > @@ -251,6 +253,7 @@ am335x_dmtimer_probe(device_t dev) > { > char strbuf[32]; > int tmr_num; > + uint64_t rev_address; > > if (!ofw_bus_status_okay(dev)) > return (ENXIO); > @@ -259,13 +262,22 @@ am335x_dmtimer_probe(device_t dev) > return (ENXIO); > > /* > - * Get the hardware unit number (the N from ti,hwmods="timerN"). > + * Get the hardware unit number from address of rev register. > * If this isn't the hardware unit we're going to use for either the > * eventtimer or the timecounter, no point in instantiating the device. > */ > - tmr_num = ti_hwmods_get_unit(dev, "timer"); > - if (tmr_num != ET_TMR_NUM && tmr_num != TC_TMR_NUM) > - return (ENXIO); > + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); > + switch (rev_address) { > + case DMTIMER2_REV: > + tmr_num = 2; > + break; > + case DMTIMER3_REV: > + tmr_num = 3; > + break; > + default: > + /* Not DMTIMER2 or DMTIMER3 */ > + return (ENXIO); > + } > > snprintf(strbuf, sizeof(strbuf), "AM335x DMTimer%d", tmr_num); > device_set_desc_copy(dev, strbuf); > @@ -277,24 +289,47 @@ static int > am335x_dmtimer_attach(device_t dev) > { > struct am335x_dmtimer_softc *sc; > - clk_ident_t timer_id; > int err; > + uint64_t rev_address; > + clk_t sys_clkin; > > sc = device_get_softc(dev); > sc->dev = dev; > > - /* Get the base clock frequency. */ > - if ((err = ti_prcm_clk_get_source_freq(SYS_CLK, &sc->sysclk_freq)) != 0) > - return (err); > + /* expect one clock */ > + err = clk_get_by_ofw_index(dev, 0, 0, &sc->clk_fck); > + if (err != 0) { > + device_printf(dev, "Cant find clock index 0. err: %d\n", err); > + return (ENXIO); > + } > > + err = clk_get_by_name(dev, "sys_clkin_ck@40", &sys_clkin); > + if (err != 0) { > + device_printf(dev, "Cant find sys_clkin_ck@40 err: %d\n", err); > + return (ENXIO); > + } > + > + /* Select M_OSC as DPLL parent */ > + err = clk_set_parent_by_clk(sc->clk_fck, sys_clkin); > + if (err != 0) { > + device_printf(dev, "Cant set mux to CLK_M_OSC\n"); > + return (ENXIO); > + } > + > /* Enable clocks and power on the device. */ > - if ((timer_id = ti_hwmods_get_clock(dev)) == INVALID_CLK_IDENT) > + err = ti_sysc_clock_enable(device_get_parent(dev)); > + if (err != 0) { > + device_printf(dev, "Cant enable sysc clkctrl, err %d\n", err); > return (ENXIO); > - if ((err = ti_prcm_clk_set_source(timer_id, SYSCLK_CLK)) != 0) > - return (err); > - if ((err = ti_prcm_clk_enable(timer_id)) != 0) > - return (err); > + } > > + /* Get the base clock frequency. */ > + err = clk_get_freq(sc->clk_fck, &sc->sysclk_freq); > + if (err != 0) { > + device_printf(dev, "Cant get sysclk frequency, err %d\n", err); > + return (ENXIO); > + } > + > /* Request the memory resources. */ > sc->tmr_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, > &sc->tmr_mem_rid, RF_ACTIVE); > @@ -302,7 +337,20 @@ am335x_dmtimer_attach(device_t dev) > return (ENXIO); > } > > - sc->tmr_num = ti_hwmods_get_unit(dev, "timer"); > + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); > + switch (rev_address) { > + case DMTIMER2_REV: > + sc->tmr_num = 2; > + break; > + case DMTIMER3_REV: > + sc->tmr_num = 3; > + break; > + default: > + device_printf(dev, "Not timer 2 or 3! %#jx\n", > + rev_address); > + return (ENXIO); > + } > + > snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", sc->tmr_num); > > /* > @@ -334,7 +382,7 @@ static driver_t am335x_dmtimer_driver = { > static devclass_t am335x_dmtimer_devclass; > > DRIVER_MODULE(am335x_dmtimer, simplebus, am335x_dmtimer_driver, > am335x_dmtimer_devclass, 0, 0); > -MODULE_DEPEND(am335x_dmtimer, am335x_prcm, 1, 1, 1); > +MODULE_DEPEND(am335x_dmtimer, ti_sysc, 1, 1, 1); > > static void > am335x_dmtimer_delay(int usec, void *arg) > > Modified: head/sys/arm/ti/am335x/am335x_dmtpps.c > ============================================================================== > --- head/sys/arm/ti/am335x/am335x_dmtpps.c Thu Jul 30 14:42:50 > 2020 (r363699) > +++ head/sys/arm/ti/am335x/am335x_dmtpps.c Thu Jul 30 14:45:05 > 2020 (r363700) > @@ -43,6 +43,8 @@ > #include > __FBSDID("$FreeBSD$"); > > +#include "opt_platform.h" > + > #include > #include > #include > @@ -60,9 +62,9 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > +#include > > -#include > -#include > +#include > #include > #include > > @@ -82,6 +84,8 @@ struct dmtpps_softc { > struct cdev * pps_cdev; > struct pps_state pps_state; > struct mtx pps_mtx; > + clk_t clk_fck; > + uint64_t sysclk_freq; > }; > > static int dmtpps_tmr_num; /* Set by probe() */ > @@ -383,6 +387,7 @@ dmtpps_probe(device_t dev) > { > char strbuf[64]; > int tmr_num; > + uint64_t rev_address; > > if (!ofw_bus_status_okay(dev)) > return (ENXIO); > @@ -402,7 +407,33 @@ dmtpps_probe(device_t dev) > * Figure out which hardware timer is being probed and see if it matches > * the configured timer number determined earlier. > */ > - tmr_num = ti_hwmods_get_unit(dev, "timer"); > + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); > + switch (rev_address) { > + case DMTIMER1_1MS_REV: > + tmr_num = 1; > + break; > + case DMTIMER2_REV: > + tmr_num = 2; > + break; > + case DMTIMER3_REV: > + tmr_num = 3; > + break; > + case DMTIMER4_REV: > + tmr_num = 4; > + break; > + case DMTIMER5_REV: > + tmr_num = 5; > + break; > + case DMTIMER6_REV: > + tmr_num = 6; > + break; > + case DMTIMER7_REV: > + tmr_num = 7; > + break; > + default: > + return (ENXIO); > + } > + > if (dmtpps_tmr_num != tmr_num) > return (ENXIO); > > @@ -418,23 +449,73 @@ dmtpps_attach(device_t dev) > { > struct dmtpps_softc *sc; > struct make_dev_args mda; > - clk_ident_t timer_id; > - int err, sysclk_freq; > + int err; > + clk_t sys_clkin; > + uint64_t rev_address; > > sc = device_get_softc(dev); > sc->dev = dev; > > - /* Get the base clock frequency. */ > - err = ti_prcm_clk_get_source_freq(SYS_CLK, &sysclk_freq); > + /* Figure out which hardware timer this is and set the name string. */ > + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); > + switch (rev_address) { > + case DMTIMER1_1MS_REV: > + sc->tmr_num = 1; > + break; > + case DMTIMER2_REV: > + sc->tmr_num = 2; > + break; > + case DMTIMER3_REV: > + sc->tmr_num = 3; > + break; > + case DMTIMER4_REV: > + sc->tmr_num = 4; > + break; > + case DMTIMER5_REV: > + sc->tmr_num = 5; > + break; > + case DMTIMER6_REV: > + sc->tmr_num = 6; > + break; > + case DMTIMER7_REV: > + sc->tmr_num = 7; > + break; > + } > + snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", sc->tmr_num); > > + /* expect one clock */ > + err = clk_get_by_ofw_index(dev, 0, 0, &sc->clk_fck); > + if (err != 0) { > + device_printf(dev, "Cant find clock index 0. err: %d\n", err); > + return (ENXIO); > + } > + > + err = clk_get_by_name(dev, "sys_clkin_ck@40", &sys_clkin); > + if (err != 0) { > + device_printf(dev, "Cant find sys_clkin_ck@40 err: %d\n", err); > + return (ENXIO); > + } > + > + /* Select M_OSC as DPLL parent */ > + err = clk_set_parent_by_clk(sc->clk_fck, sys_clkin); > + if (err != 0) { > + device_printf(dev, "Cant set mux to CLK_M_OSC\n"); > + return (ENXIO); > + } > + > /* Enable clocks and power on the device. */ > - if ((timer_id = ti_hwmods_get_clock(dev)) == INVALID_CLK_IDENT) > + err = ti_sysc_clock_enable(device_get_parent(dev)); > + if (err != 0) { > + device_printf(dev, "Cant enable sysc clkctrl, err %d\n", err); > return (ENXIO); > - if ((err = ti_prcm_clk_set_source(timer_id, SYSCLK_CLK)) != 0) > - return (err); > - if ((err = ti_prcm_clk_enable(timer_id)) != 0) > - return (err); > + } > > + /* Get the base clock frequency. */ > + err = clk_get_freq(sc->clk_fck, &sc->sysclk_freq); > + if (err != 0) { > + device_printf(dev, "Cant get sysclk frequency, err %d\n", err); > + return (ENXIO); > + } > /* Request the memory resources. */ > sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, > &sc->mem_rid, RF_ACTIVE); > @@ -442,10 +523,6 @@ dmtpps_attach(device_t dev) > return (ENXIO); > } > > - /* Figure out which hardware timer this is and set the name string. */ > - sc->tmr_num = ti_hwmods_get_unit(dev, "timer"); > - snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", sc->tmr_num); > - > /* > * Configure the timer pulse/capture pin to input/capture mode. This is > * required in addition to configuring the pin as input with the pinmux > @@ -468,7 +545,7 @@ dmtpps_attach(device_t dev) > sc->tc.tc_name = sc->tmr_name; > sc->tc.tc_get_timecount = dmtpps_get_timecount; > sc->tc.tc_counter_mask = ~0u; > - sc->tc.tc_frequency = sysclk_freq; > + sc->tc.tc_frequency = sc->sysclk_freq; > sc->tc.tc_quality = 1000; > sc->tc.tc_priv = sc; > > @@ -541,5 +618,4 @@ static driver_t dmtpps_driver = { > static devclass_t dmtpps_devclass; > > DRIVER_MODULE(am335x_dmtpps, simplebus, dmtpps_driver, dmtpps_devclass, 0, > 0); > -MODULE_DEPEND(am335x_dmtpps, am335x_prcm, 1, 1, 1); > - > +MODULE_DEPEND(am335x_dmtpps, ti_sysc, 1, 1, 1); > > Modified: head/sys/arm/ti/am335x/am335x_dmtreg.h > ============================================================================== > --- head/sys/arm/ti/am335x/am335x_dmtreg.h Thu Jul 30 14:42:50 > 2020 (r363699) > +++ head/sys/arm/ti/am335x/am335x_dmtreg.h Thu Jul 30 14:45:05 > 2020 (r363700) > @@ -73,4 +73,16 @@ > #define DMT_TSICR_RESET (1 << 1) /* TSICR perform soft reset */ > #define DMT_TCAR2 0x48 /* Capture Reg */ > > +/* Location of revision register from TRM Memory map chapter 2 */ > +/* L4_WKUP */ > +#define DMTIMER0_REV 0x05000 > +#define DMTIMER1_1MS_REV 0x31000 > +/* L4_PER */ > +#define DMTIMER2_REV 0x40000 > +#define DMTIMER3_REV 0x42000 > +#define DMTIMER4_REV 0x44000 > +#define DMTIMER5_REV 0x46000 > +#define DMTIMER6_REV 0x48000 > +#define DMTIMER7_REV 0x4A000 > + > #endif /* AM335X_DMTREG_H */ > > Modified: head/sys/arm/ti/am335x/am335x_gpio.c > ============================================================================== > --- head/sys/arm/ti/am335x/am335x_gpio.c Thu Jul 30 14:42:50 2020 (r363699) > +++ head/sys/arm/ti/am335x/am335x_gpio.c Thu Jul 30 14:45:05 2020 (r363700) > @@ -155,3 +155,4 @@ DEFINE_CLASS_1(gpio, am335x_gpio_driver, am335x_gpio_m > sizeof(struct ti_gpio_softc), ti_gpio_driver); > DRIVER_MODULE(am335x_gpio, simplebus, am335x_gpio_driver, > am335x_gpio_devclass, > 0, 0); > +MODULE_DEPEND(am335x_gpio, ti_sysc, 1, 1, 1); > > Modified: head/sys/arm/ti/am335x/am335x_lcd.c > ============================================================================== > --- head/sys/arm/ti/am335x/am335x_lcd.c Thu Jul 30 14:42:50 2020 (r363699) > +++ head/sys/arm/ti/am335x/am335x_lcd.c Thu Jul 30 14:45:05 2020 (r363700) > @@ -50,6 +50,8 @@ __FBSDID("$FreeBSD$"); > > #include > > +#include > + > #include > #include > #include > @@ -65,7 +67,7 @@ __FBSDID("$FreeBSD$"); > #include > #endif > > -#include > +#include > #include > > #include "am335x_lcd.h" > @@ -219,6 +221,9 @@ struct am335x_lcd_softc { > /* HDMI framer */ > phandle_t sc_hdmi_framer; > eventhandler_tag sc_hdmi_evh; > + > + /* Clock */ > + clk_t sc_clk_dpll_disp_ck; > }; > > static void > @@ -615,24 +620,28 @@ am335x_lcd_configure(struct am335x_lcd_softc *sc) > uint32_t hbp, hfp, hsw; > uint32_t vbp, vfp, vsw; > uint32_t width, height; > - unsigned int ref_freq; > + uint64_t ref_freq; > int err; > > /* > * try to adjust clock to get double of requested frequency > * HDMI/DVI displays are very sensitive to error in frequncy value > */ > - if (ti_prcm_clk_set_source_freq(LCDC_CLK, sc->sc_panel.panel_pxl_clk*2)) > { > + > + err = clk_set_freq(sc->sc_clk_dpll_disp_ck, sc->sc_panel.panel_pxl_clk*2, > + CLK_SET_ROUND_ANY); > + if (err != 0) { > device_printf(sc->sc_dev, "can't set source frequency\n"); > return (ENXIO); > } > > - if (ti_prcm_clk_get_source_freq(LCDC_CLK, &ref_freq)) { > + err = clk_get_freq(sc->sc_clk_dpll_disp_ck, &ref_freq); > + if (err != 0) { > device_printf(sc->sc_dev, "can't get reference frequency\n"); > return (ENXIO); > } > > - /* Panle initialization */ > + /* Panel initialization */ > dma_size = > round_page(sc->sc_panel.panel_width*sc->sc_panel.panel_height*sc->sc_panel.bpp/8); > > /* > @@ -967,6 +976,13 @@ am335x_lcd_attach(device_t dev) > return (ENXIO); > } > > + /* Fixme: Cant find any reference in DTS for dpll_disp_ck@498 for now. */ > + err = clk_get_by_name(dev, "dpll_disp_ck@498", &sc->sc_clk_dpll_disp_ck); > + if (err != 0) { > + device_printf(dev, "Cant get dpll_disp_ck@49\n"); > + return (ENXIO); > + } > + > sc->sc_panel.ac_bias = 255; > sc->sc_panel.ac_bias_intrpt = 0; > sc->sc_panel.dma_burst_sz = 16; > @@ -989,7 +1005,11 @@ am335x_lcd_attach(device_t dev) > } > } > > - ti_prcm_clk_enable(LCDC_CLK); > + err = ti_sysc_clock_enable(device_get_parent(dev)); > + if (err != 0) { > + device_printf(dev, "Failed to enable sysc clkctrl, err %d\n", err); > + return (ENXIO); > + } > > rid = 0; > sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, > @@ -1081,3 +1101,4 @@ static devclass_t am335x_lcd_devclass; > DRIVER_MODULE(am335x_lcd, simplebus, am335x_lcd_driver, > am335x_lcd_devclass, 0, 0); > MODULE_VERSION(am335x_lcd, 1); > MODULE_DEPEND(am335x_lcd, simplebus, 1, 1, 1); > +MODULE_DEPEND(am335x_lcd, ti_sysc, 1, 1, 1); > > Modified: head/sys/arm/ti/am335x/am335x_musb.c > ============================================================================== > --- head/sys/arm/ti/am335x/am335x_musb.c Thu Jul 30 14:42:50 2020 (r363699) > +++ head/sys/arm/ti/am335x/am335x_musb.c Thu Jul 30 14:45:05 2020 (r363700) > @@ -66,9 +66,11 @@ __FBSDID("$FreeBSD$"); > > #include > > -#include > -#include > #include > +#include > +#include > +#include > +#include "syscon_if.h" > > #define USBCTRL_REV 0x00 > #define USBCTRL_CTRL 0x14 > @@ -130,6 +132,7 @@ struct musbotg_super_softc { > struct musbotg_softc sc_otg; > struct resource *sc_mem_res[2]; > int sc_irq_rid; > + struct syscon *syscon; > }; > > static void > @@ -155,30 +158,33 @@ static void > musbotg_clocks_on(void *arg) > { > struct musbotg_softc *sc; > - uint32_t c, reg; > + struct musbotg_super_softc *ssc; > + uint32_t reg; > > sc = arg; > - reg = USB_CTRL[sc->sc_id]; > + ssc = sc->sc_platform_data; > > - ti_scm_reg_read_4(reg, &c); > - c &= ~3; /* Enable power */ > - c |= 1 << 19; /* VBUS detect enable */ > - c |= 1 << 20; /* Session end enable */ > - ti_scm_reg_write_4(reg, c); > + reg = SYSCON_READ_4(ssc->syscon, USB_CTRL[sc->sc_id]); > + reg &= ~3; /* Enable power */ > + reg |= 1 << 19; /* VBUS detect enable */ > + reg |= 1 << 20; /* Session end enable */ > + > + SYSCON_WRITE_4(ssc->syscon, USB_CTRL[sc->sc_id], reg); > } > > static void > musbotg_clocks_off(void *arg) > { > struct musbotg_softc *sc; > - uint32_t c, reg; > + struct musbotg_super_softc *ssc; > + uint32_t reg; > > sc = arg; > - reg = USB_CTRL[sc->sc_id]; > + ssc = sc->sc_platform_data; > > /* Disable power to PHY */ > - ti_scm_reg_read_4(reg, &c); > - ti_scm_reg_write_4(reg, c | 3); > + reg = SYSCON_READ_4(ssc->syscon, USB_CTRL[sc->sc_id]); > + SYSCON_WRITE_4(ssc->syscon, USB_CTRL[sc->sc_id], reg | 3); > } > > static void > @@ -241,9 +247,42 @@ musbotg_attach(device_t dev) > char mode[16]; > int err; > uint32_t reg; > + phandle_t opp_table; > + clk_t clk_usbotg_fck; > > sc->sc_otg.sc_id = device_get_unit(dev); > > + /* FIXME: The devicetree needs to be updated to get a handle to the gate > + * usbotg_fck@47c. see TRM 8.1.12.2 CM_WKUP CM_CLKDCOLDO_DPLL_PER. > + */ > + err = clk_get_by_name(dev, "usbotg_fck@47c", &clk_usbotg_fck); > + if (err) { > + device_printf(dev, "Can not find usbotg_fck@47c\n"); > + return (ENXIO); > + } > + > + err = clk_enable(clk_usbotg_fck); > + if (err) { > + device_printf(dev, "Can not enable usbotg_fck@47c\n"); > + return (ENXIO); > + } > + > + /* FIXME: For now; Go and kidnap syscon from opp-table */ > + opp_table = OF_finddevice("/opp-table"); > + if (opp_table == -1) { > + device_printf(dev, "Cant find /opp-table\n"); > + return (ENXIO); > + } > + if (!OF_hasprop(opp_table, "syscon")) { > + device_printf(dev, "/opp-table missing syscon property\n"); > + return (ENXIO); > + } > + err = syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon); > + if (err) { > + device_printf(dev, "Failed to get syscon\n"); > + return (ENXIO); > + } > + > /* Request the memory resources */ > err = bus_alloc_resources(dev, am335x_musbotg_mem_spec, > sc->sc_mem_res); > @@ -417,5 +456,7 @@ static driver_t musbotg_driver = { > > static devclass_t musbotg_devclass; > > -DRIVER_MODULE(musbotg, usbss, musbotg_driver, musbotg_devclass, 0, 0); > -MODULE_DEPEND(musbotg, usbss, 1, 1, 1); > +DRIVER_MODULE(musbotg, ti_sysc, musbotg_driver, musbotg_devclass, 0, 0); > +MODULE_DEPEND(musbotg, ti_sysc, 1, 1, 1); > +MODULE_DEPEND(musbotg, ti_am3359_cppi41, 1, 1, 1); > +MODULE_DEPEND(usbss, usb, 1, 1, 1); > > Modified: head/sys/arm/ti/am335x/am335x_pwmss.c > ============================================================================== > --- head/sys/arm/ti/am335x/am335x_pwmss.c Thu Jul 30 14:42:50 > 2020 (r363699) > +++ head/sys/arm/ti/am335x/am335x_pwmss.c Thu Jul 30 14:45:05 > 2020 (r363700) > @@ -46,10 +46,11 @@ __FBSDID("$FreeBSD$"); > #include > #include > > -#include > -#include > -#include > +#include > > +#include > +#include "syscon_if.h" > + > #include "am335x_pwm.h" > #include "am335x_scm.h" > > @@ -59,6 +60,11 @@ __FBSDID("$FreeBSD$"); > #define CLKCONFIG_EPWMCLK_EN (1 << 8) > #define PWMSS_CLKSTATUS 0x0C > > +/* TRM chapter 2 memory map table 2-3 + VER register location */ > +#define PWMSS_REV_0 0x0000 > +#define PWMSS_REV_1 0x2000 > +#define PWMSS_REV_2 0x4000 > + > static device_probe_t am335x_pwmss_probe; > static device_attach_t am335x_pwmss_attach; > static device_detach_t am335x_pwmss_detach; > @@ -66,7 +72,7 @@ static device_detach_t am335x_pwmss_detach; > struct am335x_pwmss_softc { > struct simplebus_softc sc_simplebus; > device_t sc_dev; > - clk_ident_t sc_clk; > + struct syscon *syscon; > }; > > static device_method_t am335x_pwmss_methods[] = { > @@ -97,36 +103,45 @@ am335x_pwmss_attach(device_t dev) > { > struct am335x_pwmss_softc *sc; > uint32_t reg, id; > - phandle_t node; > + uint64_t rev_address; > + phandle_t node, opp_table; > > sc = device_get_softc(dev); > sc->sc_dev = dev; > > - sc->sc_clk = ti_hwmods_get_clock(dev); > - if (sc->sc_clk == INVALID_CLK_IDENT) { > - device_printf(dev, "failed to get device id based on ti,hwmods\n"); > - return (EINVAL); > + /* FIXME: For now; Go and kidnap syscon from opp-table */ > + opp_table = OF_finddevice("/opp-table"); > + if (opp_table == -1) { > + device_printf(dev, "Cant find /opp-table\n"); > + return (ENXIO); > } > + if (!OF_hasprop(opp_table, "syscon")) { > + device_printf(dev, "/opp-table doesnt have required syscon property\n"); > + return (ENXIO); > + } > + if (syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon) != > 0) { > + device_printf(dev, "Failed to get syscon\n"); > + return (ENXIO); > + } > > - ti_prcm_clk_enable(sc->sc_clk); > - ti_scm_reg_read_4(SCM_PWMSS_CTRL, ®); > - switch (sc->sc_clk) { > - case PWMSS0_CLK: > - id = 0; > - break; > - case PWMSS1_CLK: > - id = 1; > - break; > + ti_sysc_clock_enable(device_get_parent(dev)); > > - case PWMSS2_CLK: > - id = 2; > - break; > - default: > - device_printf(dev, "unknown pwmss clock id: %d\n", sc->sc_clk); > - return (EINVAL); > + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); > + switch (rev_address) { > + case PWMSS_REV_0: > + id = 0; > + break; > + case PWMSS_REV_1: > + id = 1; > + break; > + case PWMSS_REV_2: > + id = 2; > + break; > } > + > + reg = SYSCON_READ_4(sc->syscon, SCM_PWMSS_CTRL); > reg |= (1 << id); > - ti_scm_reg_write_4(SCM_PWMSS_CTRL, reg); > + SYSCON_WRITE_4(sc->syscon, SCM_PWMSS_CTRL, reg); > > node = ofw_bus_get_node(dev); > > @@ -161,3 +176,4 @@ DEFINE_CLASS_1(am335x_pwmss, am335x_pwmss_driver, am33 > static devclass_t am335x_pwmss_devclass; > DRIVER_MODULE(am335x_pwmss, simplebus, am335x_pwmss_driver, > am335x_pwmss_devclass, 0, 0); > MODULE_VERSION(am335x_pwmss, 1); > +MODULE_DEPEND(am335x_pwmss, ti_sysc, 1, 1, 1); > > Modified: head/sys/arm/ti/am335x/am335x_rtc.c > ============================================================================== > --- head/sys/arm/ti/am335x/am335x_rtc.c Thu Jul 30 14:42:50 2020 (r363699) > +++ head/sys/arm/ti/am335x/am335x_rtc.c Thu Jul 30 14:45:05 2020 (r363700) > @@ -39,8 +39,9 @@ __FBSDID("$FreeBSD$"); > > #include > > +#include > #include > -#include > +#include > #include > #include > > @@ -110,7 +111,7 @@ am335x_rtc_attach(device_t dev) > RTC_LOCK_INIT(sc); > > /* Enable the RTC module. */ > - ti_prcm_clk_enable(RTC_CLK); > + ti_sysc_clock_enable(device_get_parent(dev)); > rev = RTC_READ4(sc, RTC_REVISION); > device_printf(dev, "AM335X RTC v%d.%d.%d\n", > (rev >> 8) & 0x7, (rev >> 6) & 0x3, rev & 0x3f); > @@ -209,3 +210,4 @@ static devclass_t am335x_rtc_devclass; > DRIVER_MODULE(am335x_rtc, simplebus, am335x_rtc_driver, > am335x_rtc_devclass, 0, 0); > MODULE_VERSION(am335x_rtc, 1); > MODULE_DEPEND(am335x_rtc, simplebus, 1, 1, 1); > +MODULE_DEPEND(am335x_rtc, ti_sysc, 1, 1, 1); > > Modified: head/sys/arm/ti/am335x/am335x_scm.c > ============================================================================== > --- head/sys/arm/ti/am335x/am335x_scm.c Thu Jul 30 14:42:50 2020 (r363699) > +++ head/sys/arm/ti/am335x/am335x_scm.c Thu Jul 30 14:45:05 2020 (r363700) > @@ -40,11 +40,15 @@ __FBSDID("$FreeBSD$"); > #include > #include > > +#include > +#include "syscon_if.h" > + > #define TZ_ZEROC 2731 > > struct am335x_scm_softc { > int sc_last_temp; > struct sysctl_oid *sc_temp_oid; > + struct syscon *syscon; > }; > > static int > @@ -60,7 +64,7 @@ am335x_scm_temp_sysctl(SYSCTL_HANDLER_ARGS) > > /* Read the temperature and convert to Kelvin. */ > for(i = 50; i > 0; i--) { > - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); > + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); > if ((reg & SCM_BGAP_EOCZ) == 0) > break; > DELAY(50); > @@ -96,6 +100,9 @@ am335x_scm_identify(driver_t *driver, device_t parent) > static int > am335x_scm_probe(device_t dev) > { > + /* Just allow the first one */ > + if (strcmp(device_get_nameunit(dev), "am335x_scm0") != 0) > + return (ENXIO); > > device_set_desc(dev, "AM335x Control Module Extension"); > > @@ -109,21 +116,40 @@ am335x_scm_attach(device_t dev) > struct sysctl_ctx_list *ctx; > struct sysctl_oid_list *tree; > uint32_t reg; > + phandle_t opp_table; > + int err; > > + sc = device_get_softc(dev); > + > + /* FIXME: For now; Go and kidnap syscon from opp-table */ > + opp_table = OF_finddevice("/opp-table"); > + if (opp_table == -1) { > + device_printf(dev, "Cant find /opp-table\n"); > + return (ENXIO); > + } > + if (!OF_hasprop(opp_table, "syscon")) { > + device_printf(dev, "/opp-table missing syscon property\n"); > + return (ENXIO); > + } > + err = syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon); > + if (err) { > + device_printf(dev, "Failed to get syscon\n"); > + return (ENXIO); > + } > + > /* Reset the digital outputs. */ > - ti_scm_reg_write_4(SCM_BGAP_CTRL, 0); > - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); > + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, 0); > + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); > DELAY(500); > /* Set continous mode. */ > - ti_scm_reg_write_4(SCM_BGAP_CTRL, SCM_BGAP_CONTCONV); > - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); > + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, SCM_BGAP_CONTCONV); > + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); > DELAY(500); > /* Start the ADC conversion. */ > reg = SCM_BGAP_CLRZ | SCM_BGAP_CONTCONV | SCM_BGAP_SOC; > - ti_scm_reg_write_4(SCM_BGAP_CTRL, reg); > + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, reg); > > /* Temperature sysctl. */ > - sc = device_get_softc(dev); > ctx = device_get_sysctl_ctx(dev); > tree = SYSCTL_CHILDREN(device_get_sysctl_tree(dev)); > sc->sc_temp_oid = SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, > @@ -145,7 +171,7 @@ am335x_scm_detach(device_t dev) > sysctl_remove_oid(sc->sc_temp_oid, 1, 0); > > /* Stop the bandgap ADC. */ > - ti_scm_reg_write_4(SCM_BGAP_CTRL, SCM_BGAP_BGOFF); > > *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** > _______________________________________________ > svn-src-all@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" > -- Mateusz Guzik From owner-svn-src-all@freebsd.org Sat Aug 1 04:57:31 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 57F5036DAC3; Sat, 1 Aug 2020 04:57:31 +0000 (UTC) (envelope-from gshapiro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJX2M1b5xz4L9K; Sat, 1 Aug 2020 04:57:31 +0000 (UTC) (envelope-from gshapiro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1AD4DD79D; Sat, 1 Aug 2020 04:57:31 +0000 (UTC) (envelope-from gshapiro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0714vUs7080090; Sat, 1 Aug 2020 04:57:30 GMT (envelope-from gshapiro@FreeBSD.org) Received: (from gshapiro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0714vUvN080089; Sat, 1 Aug 2020 04:57:30 GMT (envelope-from gshapiro@FreeBSD.org) Message-Id: <202008010457.0714vUvN080089@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gshapiro set sender to gshapiro@FreeBSD.org using -f From: Gregory Neil Shapiro Date: Sat, 1 Aug 2020 04:57:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363750 - head/share/examples/etc X-SVN-Group: head X-SVN-Commit-Author: gshapiro X-SVN-Commit-Paths: head/share/examples/etc X-SVN-Commit-Revision: 363750 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 04:57:31 -0000 Author: gshapiro Date: Sat Aug 1 04:57:30 2020 New Revision: 363750 URL: https://svnweb.freebsd.org/changeset/base/363750 Log: Mirror recommendation from Handbook to avoid linking conflicts when pulling in SASL libraries. PR: 247959 Reported by: Scott Allendorf MFC after: 3 days Modified: head/share/examples/etc/make.conf Modified: head/share/examples/etc/make.conf ============================================================================== --- head/share/examples/etc/make.conf Sat Aug 1 02:21:20 2020 (r363749) +++ head/share/examples/etc/make.conf Sat Aug 1 04:57:30 2020 (r363750) @@ -239,13 +239,11 @@ # # with SASLv1: # SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL -# SENDMAIL_LDFLAGS=-L/usr/local/lib -# SENDMAIL_LDADD=-lsasl +# SENDMAIL_LDADD=/usr/local/lib/libsasl.so # # with SASLv2: # SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2 -# SENDMAIL_LDFLAGS=-L/usr/local/lib -# SENDMAIL_LDADD=-lsasl2 +# SENDMAIL_LDADD=/usr/local/lib/libsasl2.so # # Note: If you are using Cyrus SASL with other applications which require # access to the sasldb file, you should add the following to your From owner-svn-src-all@freebsd.org Sat Aug 1 06:31:59 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 96159370CF5; Sat, 1 Aug 2020 06:31:59 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJZ7M3VS0z3gqp; Sat, 1 Aug 2020 06:31:59 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5C2C2E542; Sat, 1 Aug 2020 06:31:59 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0716VxcY041433; Sat, 1 Aug 2020 06:31:59 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0716Vx03041428; Sat, 1 Aug 2020 06:31:59 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008010631.0716Vx03041428@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 1 Aug 2020 06:31:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363751 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 363751 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 06:31:59 -0000 Author: mjg Date: Sat Aug 1 06:31:58 2020 New Revision: 363751 URL: https://svnweb.freebsd.org/changeset/base/363751 Log: capsicum: move global caps to caprights.h .. for easier inclusion Modified: head/sys/sys/caprights.h head/sys/sys/capsicum.h Modified: head/sys/sys/caprights.h ============================================================================== --- head/sys/sys/caprights.h Sat Aug 1 04:57:30 2020 (r363750) +++ head/sys/sys/caprights.h Sat Aug 1 06:31:58 2020 (r363751) @@ -60,4 +60,52 @@ struct cap_rights { typedef struct cap_rights cap_rights_t; #endif +#ifdef _KERNEL +extern cap_rights_t cap_accept_rights; +extern cap_rights_t cap_bind_rights; +extern cap_rights_t cap_connect_rights; +extern cap_rights_t cap_event_rights; +extern cap_rights_t cap_fchdir_rights; +extern cap_rights_t cap_fchflags_rights; +extern cap_rights_t cap_fchmod_rights; +extern cap_rights_t cap_fchown_rights; +extern cap_rights_t cap_fcntl_rights; +extern cap_rights_t cap_fexecve_rights; +extern cap_rights_t cap_flock_rights; +extern cap_rights_t cap_fpathconf_rights; +extern cap_rights_t cap_fstat_rights; +extern cap_rights_t cap_fstatfs_rights; +extern cap_rights_t cap_fsync_rights; +extern cap_rights_t cap_ftruncate_rights; +extern cap_rights_t cap_futimes_rights; +extern cap_rights_t cap_getpeername_rights; +extern cap_rights_t cap_getsockopt_rights; +extern cap_rights_t cap_getsockname_rights; +extern cap_rights_t cap_ioctl_rights; +extern cap_rights_t cap_linkat_source_rights; +extern cap_rights_t cap_linkat_target_rights; +extern cap_rights_t cap_listen_rights; +extern cap_rights_t cap_mkdirat_rights; +extern cap_rights_t cap_mkfifoat_rights; +extern cap_rights_t cap_mknodat_rights; +extern cap_rights_t cap_mmap_rights; +extern cap_rights_t cap_no_rights; +extern cap_rights_t cap_pdgetpid_rights; +extern cap_rights_t cap_pdkill_rights; +extern cap_rights_t cap_pread_rights; +extern cap_rights_t cap_pwrite_rights; +extern cap_rights_t cap_read_rights; +extern cap_rights_t cap_recv_rights; +extern cap_rights_t cap_renameat_source_rights; +extern cap_rights_t cap_renameat_target_rights; +extern cap_rights_t cap_seek_rights; +extern cap_rights_t cap_send_rights; +extern cap_rights_t cap_send_connect_rights; +extern cap_rights_t cap_setsockopt_rights; +extern cap_rights_t cap_shutdown_rights; +extern cap_rights_t cap_symlinkat_rights; +extern cap_rights_t cap_unlinkat_rights; +extern cap_rights_t cap_write_rights; +#endif + #endif /* !_SYS_CAPRIGHTS_H_ */ Modified: head/sys/sys/capsicum.h ============================================================================== --- head/sys/sys/capsicum.h Sat Aug 1 04:57:30 2020 (r363750) +++ head/sys/sys/capsicum.h Sat Aug 1 06:31:58 2020 (r363751) @@ -419,51 +419,6 @@ __END_DECLS #ifdef _KERNEL #include -extern cap_rights_t cap_accept_rights; -extern cap_rights_t cap_bind_rights; -extern cap_rights_t cap_connect_rights; -extern cap_rights_t cap_event_rights; -extern cap_rights_t cap_fchdir_rights; -extern cap_rights_t cap_fchflags_rights; -extern cap_rights_t cap_fchmod_rights; -extern cap_rights_t cap_fchown_rights; -extern cap_rights_t cap_fcntl_rights; -extern cap_rights_t cap_fexecve_rights; -extern cap_rights_t cap_flock_rights; -extern cap_rights_t cap_fpathconf_rights; -extern cap_rights_t cap_fstat_rights; -extern cap_rights_t cap_fstatfs_rights; -extern cap_rights_t cap_fsync_rights; -extern cap_rights_t cap_ftruncate_rights; -extern cap_rights_t cap_futimes_rights; -extern cap_rights_t cap_getpeername_rights; -extern cap_rights_t cap_getsockopt_rights; -extern cap_rights_t cap_getsockname_rights; -extern cap_rights_t cap_ioctl_rights; -extern cap_rights_t cap_linkat_source_rights; -extern cap_rights_t cap_linkat_target_rights; -extern cap_rights_t cap_listen_rights; -extern cap_rights_t cap_mkdirat_rights; -extern cap_rights_t cap_mkfifoat_rights; -extern cap_rights_t cap_mknodat_rights; -extern cap_rights_t cap_mmap_rights; -extern cap_rights_t cap_no_rights; -extern cap_rights_t cap_pdgetpid_rights; -extern cap_rights_t cap_pdkill_rights; -extern cap_rights_t cap_pread_rights; -extern cap_rights_t cap_pwrite_rights; -extern cap_rights_t cap_read_rights; -extern cap_rights_t cap_recv_rights; -extern cap_rights_t cap_renameat_source_rights; -extern cap_rights_t cap_renameat_target_rights; -extern cap_rights_t cap_seek_rights; -extern cap_rights_t cap_send_rights; -extern cap_rights_t cap_send_connect_rights; -extern cap_rights_t cap_setsockopt_rights; -extern cap_rights_t cap_shutdown_rights; -extern cap_rights_t cap_symlinkat_rights; -extern cap_rights_t cap_unlinkat_rights; -extern cap_rights_t cap_write_rights; #define IN_CAPABILITY_MODE(td) (((td)->td_ucred->cr_flags & CRED_FLAG_CAPMODE) != 0) From owner-svn-src-all@freebsd.org Sat Aug 1 06:32:26 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E576B371003; Sat, 1 Aug 2020 06:32:26 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJZ7t5sKRz3gsy; Sat, 1 Aug 2020 06:32:26 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 94818E89B; Sat, 1 Aug 2020 06:32:26 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0716WQbK041499; Sat, 1 Aug 2020 06:32:26 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0716WQVX041497; Sat, 1 Aug 2020 06:32:26 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008010632.0716WQVX041497@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 1 Aug 2020 06:32:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363752 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 363752 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 06:32:27 -0000 Author: mjg Date: Sat Aug 1 06:32:25 2020 New Revision: 363752 URL: https://svnweb.freebsd.org/changeset/base/363752 Log: vfs: make rights mandatory for NDINIT_ALL Modified: head/sys/kern/vfs_lookup.c head/sys/sys/namei.h Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Aug 1 06:31:58 2020 (r363751) +++ head/sys/kern/vfs_lookup.c Sat Aug 1 06:32:25 2020 (r363752) @@ -1371,6 +1371,7 @@ NDINIT_ALL(struct nameidata *ndp, u_long op, u_long fl struct thread *td) { + MPASS(rightsp != NULL); ndp->ni_cnd.cn_nameiop = op; ndp->ni_cnd.cn_flags = flags; ndp->ni_segflg = segflg; @@ -1380,10 +1381,7 @@ NDINIT_ALL(struct nameidata *ndp, u_long op, u_long fl ndp->ni_resflags = 0; filecaps_init(&ndp->ni_filecaps); ndp->ni_cnd.cn_thread = td; - if (rightsp != NULL) - ndp->ni_rightsneeded = *rightsp; - else - cap_rights_init_zero(&ndp->ni_rightsneeded); + ndp->ni_rightsneeded = *rightsp; } /* Modified: head/sys/sys/namei.h ============================================================================== --- head/sys/sys/namei.h Sat Aug 1 06:31:58 2020 (r363751) +++ head/sys/sys/namei.h Sat Aug 1 06:32:25 2020 (r363752) @@ -188,13 +188,13 @@ int cache_fplookup(struct nameidata *ndp, enum cache_f * Initialization of a nameidata structure. */ #define NDINIT(ndp, op, flags, segflg, namep, td) \ - NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, NULL, 0, td) + NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, NULL, &cap_no_rights, td) #define NDINIT_AT(ndp, op, flags, segflg, namep, dirfd, td) \ - NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, NULL, 0, td) + NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, NULL, &cap_no_rights, td) #define NDINIT_ATRIGHTS(ndp, op, flags, segflg, namep, dirfd, rightsp, td) \ NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, NULL, rightsp, td) #define NDINIT_ATVP(ndp, op, flags, segflg, namep, vp, td) \ - NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, vp, 0, td) + NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, vp, &cap_no_rights, td) void NDINIT_ALL(struct nameidata *ndp, u_long op, u_long flags, enum uio_seg segflg, const char *namep, int dirfd, struct vnode *startdir, From owner-svn-src-all@freebsd.org Sat Aug 1 06:33:12 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 670D1370FAD; Sat, 1 Aug 2020 06:33:12 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJZ8m27pPz3y12; Sat, 1 Aug 2020 06:33:12 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2DAB5EA0A; Sat, 1 Aug 2020 06:33:12 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0716XCgj041614; Sat, 1 Aug 2020 06:33:12 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0716XBSg041613; Sat, 1 Aug 2020 06:33:11 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008010633.0716XBSg041613@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 1 Aug 2020 06:33:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363753 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 363753 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 06:33:12 -0000 Author: mjg Date: Sat Aug 1 06:33:11 2020 New Revision: 363753 URL: https://svnweb.freebsd.org/changeset/base/363753 Log: vfs: convert ni_rigthsneeded to a pointer Shaves 8 bytes of struct nameidata on 64-bit platforms. Modified: head/sys/kern/vfs_lookup.c head/sys/sys/namei.h Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Aug 1 06:32:25 2020 (r363752) +++ head/sys/kern/vfs_lookup.c Sat Aug 1 06:33:11 2020 (r363753) @@ -347,7 +347,7 @@ namei_setup(struct nameidata *ndp, struct vnode **dpp, *dpp = pwd->pwd_cdir; vrefact(*dpp); } else { - rights = ndp->ni_rightsneeded; + rights = *ndp->ni_rightsneeded; cap_rights_set_one(&rights, CAP_LOOKUP); if (cnp->cn_flags & AUDITVNODE1) @@ -403,7 +403,7 @@ namei_setup(struct nameidata *ndp, struct vnode **dpp, ndp->ni_beneath_latch = pwd->pwd_cdir; vrefact(ndp->ni_beneath_latch); } else { - rights = ndp->ni_rightsneeded; + rights = *ndp->ni_rightsneeded; cap_rights_set_one(&rights, CAP_LOOKUP); error = fgetvp_rights(td, ndp->ni_dirfd, &rights, &dirfd_caps, &ndp->ni_beneath_latch); @@ -1381,7 +1381,7 @@ NDINIT_ALL(struct nameidata *ndp, u_long op, u_long fl ndp->ni_resflags = 0; filecaps_init(&ndp->ni_filecaps); ndp->ni_cnd.cn_thread = td; - ndp->ni_rightsneeded = *rightsp; + ndp->ni_rightsneeded = rightsp; } /* Modified: head/sys/sys/namei.h ============================================================================== --- head/sys/sys/namei.h Sat Aug 1 06:32:25 2020 (r363752) +++ head/sys/sys/namei.h Sat Aug 1 06:33:11 2020 (r363753) @@ -69,7 +69,7 @@ struct nameidata { */ const char *ni_dirp; /* pathname pointer */ enum uio_seg ni_segflg; /* location of pathname */ - cap_rights_t ni_rightsneeded; /* rights required to look up vnode */ + cap_rights_t *ni_rightsneeded; /* rights required to look up vnode */ /* * Arguments to lookup. */ From owner-svn-src-all@freebsd.org Sat Aug 1 06:33:39 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 861F9370FB4; Sat, 1 Aug 2020 06:33:39 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJZ9H3579z3yCJ; Sat, 1 Aug 2020 06:33:39 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4E95CE933; Sat, 1 Aug 2020 06:33:39 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0716XdGi041677; Sat, 1 Aug 2020 06:33:39 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0716XctF041675; Sat, 1 Aug 2020 06:33:38 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008010633.0716XctF041675@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 1 Aug 2020 06:33:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363754 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 363754 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 06:33:39 -0000 Author: mjg Date: Sat Aug 1 06:33:38 2020 New Revision: 363754 URL: https://svnweb.freebsd.org/changeset/base/363754 Log: vfs: inline NDINIT_ALL The routine takes more than 6 arguments, which on amd64 means some of them have to be passed through the stack. Modified: head/sys/kern/vfs_lookup.c head/sys/sys/namei.h Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Aug 1 06:33:11 2020 (r363753) +++ head/sys/kern/vfs_lookup.c Sat Aug 1 06:33:38 2020 (r363754) @@ -1365,25 +1365,6 @@ bad: return (error); } -void -NDINIT_ALL(struct nameidata *ndp, u_long op, u_long flags, enum uio_seg segflg, - const char *namep, int dirfd, struct vnode *startdir, cap_rights_t *rightsp, - struct thread *td) -{ - - MPASS(rightsp != NULL); - ndp->ni_cnd.cn_nameiop = op; - ndp->ni_cnd.cn_flags = flags; - ndp->ni_segflg = segflg; - ndp->ni_dirp = namep; - ndp->ni_dirfd = dirfd; - ndp->ni_startdir = startdir; - ndp->ni_resflags = 0; - filecaps_init(&ndp->ni_filecaps); - ndp->ni_cnd.cn_thread = td; - ndp->ni_rightsneeded = rightsp; -} - /* * Free data allocated by namei(); see namei(9) for details. */ Modified: head/sys/sys/namei.h ============================================================================== --- head/sys/sys/namei.h Sat Aug 1 06:33:11 2020 (r363753) +++ head/sys/sys/namei.h Sat Aug 1 06:33:38 2020 (r363754) @@ -196,9 +196,22 @@ int cache_fplookup(struct nameidata *ndp, enum cache_f #define NDINIT_ATVP(ndp, op, flags, segflg, namep, vp, td) \ NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, vp, &cap_no_rights, td) -void NDINIT_ALL(struct nameidata *ndp, u_long op, u_long flags, - enum uio_seg segflg, const char *namep, int dirfd, struct vnode *startdir, - cap_rights_t *rightsp, struct thread *td); +#define NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, startdir, rightsp, td) \ +do { \ + struct nameidata *_ndp = (ndp); \ + cap_rights_t *_rightsp = (rightsp); \ + MPASS(_rightsp != NULL); \ + _ndp->ni_cnd.cn_nameiop = op; \ + _ndp->ni_cnd.cn_flags = flags; \ + _ndp->ni_segflg = segflg; \ + _ndp->ni_dirp = namep; \ + _ndp->ni_dirfd = dirfd; \ + _ndp->ni_startdir = startdir; \ + _ndp->ni_resflags = 0; \ + filecaps_init(&_ndp->ni_filecaps); \ + _ndp->ni_cnd.cn_thread = td; \ + _ndp->ni_rightsneeded = _rightsp; \ +} while (0) #define NDF_NO_DVP_RELE 0x00000001 #define NDF_NO_DVP_UNLOCK 0x00000002 From owner-svn-src-all@freebsd.org Sat Aug 1 06:34:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7CC30370B6B; Sat, 1 Aug 2020 06:34:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJZB32ntmz3yWh; Sat, 1 Aug 2020 06:34:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 43566EA0B; Sat, 1 Aug 2020 06:34:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0716YJ4f041757; Sat, 1 Aug 2020 06:34:19 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0716YJ3M041756; Sat, 1 Aug 2020 06:34:19 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008010634.0716YJ3M041756@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 1 Aug 2020 06:34:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363755 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363755 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 06:34:19 -0000 Author: mjg Date: Sat Aug 1 06:34:18 2020 New Revision: 363755 URL: https://svnweb.freebsd.org/changeset/base/363755 Log: cache: mark climb_mount as __noinline Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Sat Aug 1 06:33:38 2020 (r363754) +++ head/sys/kern/vfs_cache.c Sat Aug 1 06:34:18 2020 (r363755) @@ -3448,7 +3448,7 @@ cache_fplookup_mp_supported(struct mount *mp) * By the end of successful walk we are guaranteed the reached state was * indeed present at least at some point which matches the regular lookup. */ -static int +static int __noinline cache_fplookup_climb_mount(struct cache_fpl *fpl) { struct mount *mp, *prev_mp; @@ -3457,9 +3457,8 @@ cache_fplookup_climb_mount(struct cache_fpl *fpl) vp = fpl->tvp; vp_seqc = fpl->tvp_seqc; - if (vp->v_type != VDIR) - return (0); + VNPASS(vp->v_type == VDIR || vp->v_type == VBAD, vp); mp = atomic_load_ptr(&vp->v_mountedhere); if (mp == NULL) return (0); @@ -3503,6 +3502,26 @@ cache_fplookup_climb_mount(struct cache_fpl *fpl) return (0); } +static bool +cache_fplookup_need_climb_mount(struct cache_fpl *fpl) +{ + struct mount *mp; + struct vnode *vp; + + vp = fpl->tvp; + + /* + * Hack: while this is a union, the pointer tends to be NULL so save on + * a branch. + */ + mp = atomic_load_ptr(&vp->v_mountedhere); + if (mp == NULL) + return (false); + if (vp->v_type == VDIR) + return (true); + return (false); +} + /* * Parse the path. * @@ -3689,9 +3708,11 @@ cache_fplookup_impl(struct vnode *dvp, struct cache_fp VNPASS(!seqc_in_modify(fpl->tvp_seqc), fpl->tvp); - error = cache_fplookup_climb_mount(fpl); - if (__predict_false(error != 0)) { - break; + if (cache_fplookup_need_climb_mount(fpl)) { + error = cache_fplookup_climb_mount(fpl); + if (__predict_false(error != 0)) { + break; + } } VNPASS(!seqc_in_modify(fpl->tvp_seqc), fpl->tvp); From owner-svn-src-all@freebsd.org Sat Aug 1 06:35:19 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2C0DF370E54; Sat, 1 Aug 2020 06:35:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJZCC0N6Qz3yRN; Sat, 1 Aug 2020 06:35:19 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E4537EA0C; Sat, 1 Aug 2020 06:35:18 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0716ZIJn041871; Sat, 1 Aug 2020 06:35:18 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0716ZIv8041870; Sat, 1 Aug 2020 06:35:18 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008010635.0716ZIv8041870@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 1 Aug 2020 06:35:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363756 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363756 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 06:35:19 -0000 Author: mjg Date: Sat Aug 1 06:35:18 2020 New Revision: 363756 URL: https://svnweb.freebsd.org/changeset/base/363756 Log: cache: reshuffle struct cache_fpl and nameidata_saved Shaves 16 bytes. Modified: head/sys/kern/vfs_cache.c Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Sat Aug 1 06:34:18 2020 (r363755) +++ head/sys/kern/vfs_cache.c Sat Aug 1 06:35:18 2020 (r363756) @@ -2890,24 +2890,24 @@ cache_fpl_handle_root(struct nameidata *ndp, struct vn * need restoring in case fast path lookup fails. */ struct nameidata_saved { - int cn_flags; long cn_namelen; char *cn_nameptr; size_t ni_pathlen; + int cn_flags; }; struct cache_fpl { - int line; - enum cache_fpl_status status; - bool in_smr; struct nameidata *ndp; - struct nameidata_saved snd; struct componentname *cnp; + struct pwd *pwd; struct vnode *dvp; - seqc_t dvp_seqc; struct vnode *tvp; + seqc_t dvp_seqc; seqc_t tvp_seqc; - struct pwd *pwd; + struct nameidata_saved snd; + int line; + enum cache_fpl_status status:8; + bool in_smr; }; static void From owner-svn-src-all@freebsd.org Sat Aug 1 06:37:27 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3377C371145; Sat, 1 Aug 2020 06:37:27 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJZFg0ck2z3yPy; Sat, 1 Aug 2020 06:37:27 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EC9C2E834; Sat, 1 Aug 2020 06:37:26 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0716bQpD042031; Sat, 1 Aug 2020 06:37:26 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0716bQhW042030; Sat, 1 Aug 2020 06:37:26 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008010637.0716bQhW042030@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 1 Aug 2020 06:37:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363757 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 363757 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 06:37:27 -0000 Author: mjg Date: Sat Aug 1 06:37:26 2020 New Revision: 363757 URL: https://svnweb.freebsd.org/changeset/base/363757 Log: Bump __FreeBSD_version after making rights mandatory for NDINIT_ALL Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Sat Aug 1 06:35:18 2020 (r363756) +++ head/sys/sys/param.h Sat Aug 1 06:37:26 2020 (r363757) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300102 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300103 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Sat Aug 1 09:06:17 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 57D5F374238; Sat, 1 Aug 2020 09:06:17 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJdYP1gJgz45JJ; Sat, 1 Aug 2020 09:06:17 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1C65C106C1; Sat, 1 Aug 2020 09:06:17 +0000 (UTC) (envelope-from mmel@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07196G2d038995; Sat, 1 Aug 2020 09:06:16 GMT (envelope-from mmel@FreeBSD.org) Received: (from mmel@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07196Gw3038994; Sat, 1 Aug 2020 09:06:16 GMT (envelope-from mmel@FreeBSD.org) Message-Id: <202008010906.07196Gw3038994@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mmel set sender to mmel@FreeBSD.org using -f From: Michal Meloun Date: Sat, 1 Aug 2020 09:06:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363758 - head/sys/modules/cpsw X-SVN-Group: head X-SVN-Commit-Author: mmel X-SVN-Commit-Paths: head/sys/modules/cpsw X-SVN-Commit-Revision: 363758 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 09:06:17 -0000 Author: mmel Date: Sat Aug 1 09:06:16 2020 New Revision: 363758 URL: https://svnweb.freebsd.org/changeset/base/363758 Log: Add missing dependency for cpsw module. Reported by: mjg MFC with: r363700 Modified: head/sys/modules/cpsw/Makefile Modified: head/sys/modules/cpsw/Makefile ============================================================================== --- head/sys/modules/cpsw/Makefile Sat Aug 1 06:37:26 2020 (r363757) +++ head/sys/modules/cpsw/Makefile Sat Aug 1 09:06:16 2020 (r363758) @@ -3,6 +3,6 @@ .PATH: ${SRCTOP}/sys/arm/ti/cpsw KMOD= if_cpsw -SRCS= if_cpsw.c device_if.h bus_if.h ofw_bus_if.h miibus_if.h +SRCS= if_cpsw.c device_if.h bus_if.h ofw_bus_if.h miibus_if.h syscon_if.h .include From owner-svn-src-all@freebsd.org Sat Aug 1 09:11:03 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 45F713742FC; Sat, 1 Aug 2020 09:11:03 +0000 (UTC) (envelope-from melounmichal@gmail.com) Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJdft1fYmz45f5; Sat, 1 Aug 2020 09:11:01 +0000 (UTC) (envelope-from melounmichal@gmail.com) Received: by mail-wm1-x344.google.com with SMTP id x5so10324562wmi.2; Sat, 01 Aug 2020 02:11:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:reply-to:subject:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=OEMAo4i1AWTO3Ja4Og8vVm0CDcasC4n/s6doHN4n408=; b=kWSxVcY/PMZQtCf+zmIam8CCXqaWyx/ZUGOX+EoQ0lj6mJFMxYY9fBZbrl/7VrjMhD Ck2fiOY2dyk+qcyWrvrN7CfDs7/XF4zc91Tn8Zu5Cq5B2HVLKaJAcab9SlsaMAZWZ9bz VNLpGWrZkfKwrLbbAXPoU8CZ83bIb1yrym78Dhz1dtLfHPSv7Z3EldImGjU4UDpbhO56 DzK4BXnIoeOkuF4wSVFMfYdnYQMUfKQjSbkcMcWGyIxB115U2VPG7jsWJJGqUwUHwptQ 4jJfoDj+27uoMdzc8ZYLh5c2U7oDA9hfC8hLe4pAKq9N7pD/sqv0mYkEH85BYAWeff8d kfUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:reply-to:subject:to:cc:references :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=OEMAo4i1AWTO3Ja4Og8vVm0CDcasC4n/s6doHN4n408=; b=oytgIIhhwoNwZ1cNJCDAnJMktJ/FRbtv1VR/U18cKUdZyG85QGJAjRbX4VEejcrkC1 eRdwo287KeD0kmzWcEljGHjklnu68RYhxg4TyNo0gzTubIP3MZhPPsQAWZ9N/SpNE/iE wIup8HUxixX10hJrhTi1KlZwJT+ln3udYE6uOFKzrMTYW5eraKTIHKcd21FhCApirUIK 2t0Hn26VU6ifJPAo16gCUlbjbHvYY1W9Z5VZPoRfNKAWWLyIRp5w95OY82DUtlDz76hZ j3aQVmFI0J7plGl+D+8vpWPXSR8eALPOwVhpO+SqQHdm3UlzsTqcU/MjMSGa7Pziy40x ndRw== X-Gm-Message-State: AOAM532VO3jvjH/rP5aaGlBgrw2vWKd1ZaKCSR8oTQzaJd1TCZZ2X3Ea xdiMc1K/MnBHXx2s8iVISojoQzOn X-Google-Smtp-Source: ABdhPJz6w6F5kYd6RV++uRXJzMUR/I6gZEfzA2Porlab33R01E8yC7AqkTsDVG7Fp3w0LzYm3fSVXw== X-Received: by 2002:a1c:1d52:: with SMTP id d79mr7735302wmd.82.1596273059048; Sat, 01 Aug 2020 02:10:59 -0700 (PDT) Received: from [88.208.79.100] (halouny.humusoft.cz. [88.208.79.100]) by smtp.gmail.com with ESMTPSA id s125sm16128046wmf.14.2020.08.01.02.10.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 01 Aug 2020 02:10:58 -0700 (PDT) Sender: Michal Meloun From: Michal Meloun X-Google-Original-From: Michal Meloun Reply-To: mmel@freebsd.org Subject: Re: svn commit: r363700 - in head/sys: arm/ti arm/ti/am335x arm/ti/clk arm/ti/cpsw arm/ti/omap4 arm/ti/usb dev/uart modules To: Mateusz Guzik Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202007301445.06UEj5uj062013@repo.freebsd.org> Message-ID: <85d52020-3aff-7210-ace7-12ae19ad5d9a@freebsd.org> Date: Sat, 1 Aug 2020 11:10:58 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BJdft1fYmz45f5 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=kWSxVcY/; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of melounmichal@gmail.com designates 2a00:1450:4864:20::344 as permitted sender) smtp.mailfrom=melounmichal@gmail.com X-Spamd-Result: default: False [-3.90 / 15.00]; HAS_REPLYTO(0.00)[mmel@freebsd.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-0.94)[-0.941]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.995]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; SH_EMAIL_DBL_DONT_QUERY_IPS(0.00)[0.0.0.40:email,0.0.1.242:email]; NEURAL_HAM_LONG(-0.96)[-0.963]; MIME_GOOD(-0.10)[text/plain]; REPLYTO_DOM_NEQ_FROM_DOM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DBL_PROHIBIT(0.00)[0.0.0.40:email,0.0.1.242:email]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::344:from]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 09:11:03 -0000 Oups, next module dependency on autogenerated header... Fixed in r363758. Thanks for report Michal On 01.08.2020 6:39, Mateusz Guzik wrote: > This breaks tinderbox for several arm kernels. > > On 7/30/20, Michal Meloun wrote: >> Author: mmel >> Date: Thu Jul 30 14:45:05 2020 >> New Revision: 363700 >> URL: https://svnweb.freebsd.org/changeset/base/363700 >> >> Log: >> Move Ti AM335x to dev/extres/clk framework. >> >> Re-implement clocks for these SoC by using now standard extres/clk >> framework. >> This is necessary for future expansion of these. The new implementation >> is (due to the size of the patch) only the initial (minimum) version. >> It will be updated/expanded with a subsequent set of particular patches. >> >> This patch is also not tested on OMAP4 based boards (BeagleBone), >> so all possible issues should be (and will be) fixed by ASAP once >> identified. >> >> Submited by: Oskar Holmlund (oskar.holmlund@ohdata.se) >> Differential Revision: https://reviews.freebsd.org/D25118 >> >> Added: >> head/sys/arm/ti/am335x/am3359_cppi41.c (contents, props changed) >> head/sys/arm/ti/am335x/am335x_usb_phy.c (contents, props changed) >> head/sys/arm/ti/clk/ >> head/sys/arm/ti/clk/clock_common.c (contents, props changed) >> head/sys/arm/ti/clk/clock_common.h (contents, props changed) >> head/sys/arm/ti/clk/ti_clk_clkctrl.c (contents, props changed) >> head/sys/arm/ti/clk/ti_clk_clkctrl.h (contents, props changed) >> head/sys/arm/ti/clk/ti_clk_dpll.c (contents, props changed) >> head/sys/arm/ti/clk/ti_clk_dpll.h (contents, props changed) >> head/sys/arm/ti/clk/ti_clkctrl.c (contents, props changed) >> head/sys/arm/ti/clk/ti_divider_clock.c (contents, props changed) >> head/sys/arm/ti/clk/ti_dpll_clock.c (contents, props changed) >> head/sys/arm/ti/clk/ti_gate_clock.c (contents, props changed) >> head/sys/arm/ti/clk/ti_mux_clock.c (contents, props changed) >> head/sys/arm/ti/ti_omap4_cm.c (contents, props changed) >> head/sys/arm/ti/ti_omap4_cm.h (contents, props changed) >> head/sys/arm/ti/ti_prm.c (contents, props changed) >> head/sys/arm/ti/ti_prm.h (contents, props changed) >> head/sys/arm/ti/ti_scm_syscon.c (contents, props changed) >> head/sys/arm/ti/ti_sysc.h (contents, props changed) >> Deleted: >> head/sys/arm/ti/am335x/am335x_prcm.c >> head/sys/arm/ti/am335x/am335x_usbss.c >> head/sys/arm/ti/ti_hwmods.c >> head/sys/arm/ti/ti_hwmods.h >> Modified: >> head/sys/arm/ti/am335x/am335x_dmtimer.c >> head/sys/arm/ti/am335x/am335x_dmtpps.c >> head/sys/arm/ti/am335x/am335x_dmtreg.h >> head/sys/arm/ti/am335x/am335x_gpio.c >> head/sys/arm/ti/am335x/am335x_lcd.c >> head/sys/arm/ti/am335x/am335x_musb.c >> head/sys/arm/ti/am335x/am335x_pwmss.c >> head/sys/arm/ti/am335x/am335x_rtc.c >> head/sys/arm/ti/am335x/am335x_scm.c >> head/sys/arm/ti/am335x/files.am335x >> head/sys/arm/ti/cpsw/if_cpsw.c >> head/sys/arm/ti/files.ti >> head/sys/arm/ti/omap4/files.omap4 >> head/sys/arm/ti/ti_adc.c >> head/sys/arm/ti/ti_edma3.c >> head/sys/arm/ti/ti_gpio.c >> head/sys/arm/ti/ti_i2c.c >> head/sys/arm/ti/ti_mbox.c >> head/sys/arm/ti/ti_pinmux.c >> head/sys/arm/ti/ti_prcm.c >> head/sys/arm/ti/ti_prcm.h >> head/sys/arm/ti/ti_pruss.c >> head/sys/arm/ti/ti_scm.c >> head/sys/arm/ti/ti_sdhci.c >> head/sys/arm/ti/ti_sdma.c >> head/sys/arm/ti/ti_spi.c >> head/sys/arm/ti/ti_sysc.c >> head/sys/arm/ti/ti_wdt.c >> head/sys/arm/ti/usb/omap_ehci.c >> head/sys/arm/ti/usb/omap_host.c >> head/sys/arm/ti/usb/omap_tll.c >> head/sys/dev/uart/uart_dev_ti8250.c >> head/sys/modules/Makefile >> >> Added: head/sys/arm/ti/am335x/am3359_cppi41.c >> ============================================================================== >> --- /dev/null 00:00:00 1970 (empty, because file is newly added) >> +++ head/sys/arm/ti/am335x/am3359_cppi41.c Thu Jul 30 14:45:05 >> 2020 (r363700) >> @@ -0,0 +1,192 @@ >> +/*- >> + * Copyright (c) 2019 Emmanuel Vadot >> + * >> + * Copyright (c) 2020 Oskar Holmlund >> + * >> + * Redistribution and use in source and binary forms, with or without >> + * modification, are permitted provided that the following conditions >> + * are met: >> + * 1. Redistributions of source code must retain the above copyright >> + * notice, this list of conditions and the following disclaimer. >> + * 2. Redistributions in binary form must reproduce the above copyright >> + * notice, this list of conditions and the following disclaimer in the >> + * documentation and/or other materials provided with the distribution. >> + * >> + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR >> + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >> WARRANTIES >> + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. >> + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, >> + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, >> + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; >> + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED >> + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, >> + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY >> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF >> + * SUCH DAMAGE. >> + * >> + * $FreeBSD$ >> + */ >> +/* Based on sys/arm/ti/ti_sysc.c */ >> + >> +#include >> +__FBSDID("$FreeBSD$"); >> + >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> + >> +#include >> +#include >> + >> +#include >> + >> +#include >> +#include >> +#include >> + >> +#include >> + >> +#if 0 >> +#define DPRINTF(dev, msg...) device_printf(dev, msg) >> +#else >> +#define DPRINTF(dev, msg...) >> +#endif >> + >> +struct ti_am3359_cppi41_softc { >> + device_t dev; >> + struct syscon * syscon; >> + struct resource * res[4]; >> + bus_space_tag_t bst; >> + bus_space_handle_t bsh; >> + struct mtx mtx; >> +}; >> + >> +static struct resource_spec ti_am3359_cppi41_res_spec[] = { >> + { SYS_RES_MEMORY, 0, RF_ACTIVE | RF_SHAREABLE }, >> + { SYS_RES_MEMORY, 1, RF_ACTIVE | RF_SHAREABLE }, >> + { SYS_RES_MEMORY, 2, RF_ACTIVE | RF_SHAREABLE }, >> + { SYS_RES_MEMORY, 3, RF_ACTIVE | RF_SHAREABLE }, >> + { -1, 0 } >> +}; >> + >> +/* Device */ >> +static struct ofw_compat_data compat_data[] = { >> + { "ti,am3359-cppi41", 1 }, >> + { NULL, 0 } >> +}; >> + >> +static int >> +ti_am3359_cppi41_write_4(device_t dev, bus_addr_t addr, uint32_t val) >> +{ >> + struct ti_am3359_cppi41_softc *sc; >> + >> + sc = device_get_softc(dev); >> + DPRINTF(sc->dev, "offset=%lx write %x\n", addr, val); >> + mtx_lock(&sc->mtx); >> + bus_space_write_4(sc->bst, sc->bsh, addr, val); >> + mtx_unlock(&sc->mtx); >> + return (0); >> +} >> + >> +static uint32_t >> +ti_am3359_cppi41_read_4(device_t dev, bus_addr_t addr) >> +{ >> + struct ti_am3359_cppi41_softc *sc; >> + uint32_t val; >> + >> + sc = device_get_softc(dev); >> + >> + mtx_lock(&sc->mtx); >> + val = bus_space_read_4(sc->bst, sc->bsh, addr); >> + mtx_unlock(&sc->mtx); >> + DPRINTF(sc->dev, "offset=%lx Read %x\n", addr, val); >> + return (val); >> +} >> + >> +/* device interface */ >> +static int >> +ti_am3359_cppi41_probe(device_t dev) >> +{ >> + if (!ofw_bus_status_okay(dev)) >> + return (ENXIO); >> + >> + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) >> + return (ENXIO); >> + >> + device_set_desc(dev, "TI AM3359 CPPI 41"); >> + return(BUS_PROBE_DEFAULT); >> +} >> + >> +static int >> +ti_am3359_cppi41_attach(device_t dev) >> +{ >> + struct ti_am3359_cppi41_softc *sc; >> + phandle_t node; >> + uint32_t reg, reset_bit, timeout=10; >> + uint64_t sysc_address; >> + device_t parent; >> + >> + sc = device_get_softc(dev); >> + sc->dev = dev; >> + >> + if (bus_alloc_resources(dev, ti_am3359_cppi41_res_spec, sc->res)) { >> + device_printf(sc->dev, "Cant allocate resources\n"); >> + return (ENXIO); >> + } >> + >> + sc->dev = dev; >> + sc->bst = rman_get_bustag(sc->res[0]); >> + sc->bsh = rman_get_bushandle(sc->res[0]); >> + >> + mtx_init(&sc->mtx, device_get_nameunit(sc->dev), NULL, MTX_DEF); >> + node = ofw_bus_get_node(sc->dev); >> + >> + /* variant of am335x_usbss.c */ >> + DPRINTF(dev, "-- RESET USB --\n"); >> + parent = device_get_parent(dev); >> + reset_bit = ti_sysc_get_soft_reset_bit(parent); >> + if (reset_bit == 0) { >> + DPRINTF(dev, "Dont have reset bit\n"); >> + return (0); >> + } >> + sysc_address = ti_sysc_get_sysc_address_offset_host(parent); >> + DPRINTF(dev, "sysc_address %x\n", sysc_address); >> + ti_am3359_cppi41_write_4(dev, sysc_address, reset_bit); >> + DELAY(100); >> + reg = ti_am3359_cppi41_read_4(dev, sysc_address); >> + if ((reg & reset_bit) && timeout--) { >> + DPRINTF(dev, "Reset still ongoing - wait a little bit longer\n"); >> + DELAY(100); >> + reg = ti_am3359_cppi41_read_4(dev, sysc_address); >> + } >> + if (timeout == 0) >> + device_printf(dev, "USB Reset timeout\n"); >> + >> + return (0); >> +} >> + >> + >> +static device_method_t ti_am3359_cppi41_methods[] = { >> + DEVMETHOD(device_probe, ti_am3359_cppi41_probe), >> + DEVMETHOD(device_attach, ti_am3359_cppi41_attach), >> + >> + DEVMETHOD_END >> +}; >> + >> + >> +DEFINE_CLASS_1(ti_am3359_cppi41, ti_am3359_cppi41_driver, >> + ti_am3359_cppi41_methods,sizeof(struct ti_am3359_cppi41_softc), >> + simplebus_driver); >> + >> +static devclass_t ti_am3359_cppi41_devclass; >> + >> +EARLY_DRIVER_MODULE(ti_am3359_cppi41, simplebus, ti_am3359_cppi41_driver, >> + ti_am3359_cppi41_devclass, 0, 0, BUS_PASS_BUS + >> BUS_PASS_ORDER_MIDDLE); >> +MODULE_VERSION(ti_am3359_cppi41, 1); >> +MODULE_DEPEND(ti_am3359_cppi41, ti_sysc, 1, 1, 1); >> >> Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c >> ============================================================================== >> --- head/sys/arm/ti/am335x/am335x_dmtimer.c Thu Jul 30 14:42:50 >> 2020 (r363699) >> +++ head/sys/arm/ti/am335x/am335x_dmtimer.c Thu Jul 30 14:45:05 >> 2020 (r363700) >> @@ -42,12 +42,13 @@ __FBSDID("$FreeBSD$"); >> >> #include /* For arm_set_delay */ >> >> +#include >> + >> #include >> #include >> #include >> >> -#include >> -#include >> +#include >> >> #include "am335x_dmtreg.h" >> >> @@ -58,7 +59,8 @@ struct am335x_dmtimer_softc { >> int tmr_irq_rid; >> struct resource * tmr_irq_res; >> void *tmr_irq_handler; >> - uint32_t sysclk_freq; >> + clk_t clk_fck; >> + uint64_t sysclk_freq; >> uint32_t tclr; /* Cached TCLR register. */ >> union { >> struct timecounter tc; >> @@ -251,6 +253,7 @@ am335x_dmtimer_probe(device_t dev) >> { >> char strbuf[32]; >> int tmr_num; >> + uint64_t rev_address; >> >> if (!ofw_bus_status_okay(dev)) >> return (ENXIO); >> @@ -259,13 +262,22 @@ am335x_dmtimer_probe(device_t dev) >> return (ENXIO); >> >> /* >> - * Get the hardware unit number (the N from ti,hwmods="timerN"). >> + * Get the hardware unit number from address of rev register. >> * If this isn't the hardware unit we're going to use for either the >> * eventtimer or the timecounter, no point in instantiating the device. >> */ >> - tmr_num = ti_hwmods_get_unit(dev, "timer"); >> - if (tmr_num != ET_TMR_NUM && tmr_num != TC_TMR_NUM) >> - return (ENXIO); >> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >> + switch (rev_address) { >> + case DMTIMER2_REV: >> + tmr_num = 2; >> + break; >> + case DMTIMER3_REV: >> + tmr_num = 3; >> + break; >> + default: >> + /* Not DMTIMER2 or DMTIMER3 */ >> + return (ENXIO); >> + } >> >> snprintf(strbuf, sizeof(strbuf), "AM335x DMTimer%d", tmr_num); >> device_set_desc_copy(dev, strbuf); >> @@ -277,24 +289,47 @@ static int >> am335x_dmtimer_attach(device_t dev) >> { >> struct am335x_dmtimer_softc *sc; >> - clk_ident_t timer_id; >> int err; >> + uint64_t rev_address; >> + clk_t sys_clkin; >> >> sc = device_get_softc(dev); >> sc->dev = dev; >> >> - /* Get the base clock frequency. */ >> - if ((err = ti_prcm_clk_get_source_freq(SYS_CLK, &sc->sysclk_freq)) != 0) >> - return (err); >> + /* expect one clock */ >> + err = clk_get_by_ofw_index(dev, 0, 0, &sc->clk_fck); >> + if (err != 0) { >> + device_printf(dev, "Cant find clock index 0. err: %d\n", err); >> + return (ENXIO); >> + } >> >> + err = clk_get_by_name(dev, "sys_clkin_ck@40", &sys_clkin); >> + if (err != 0) { >> + device_printf(dev, "Cant find sys_clkin_ck@40 err: %d\n", err); >> + return (ENXIO); >> + } >> + >> + /* Select M_OSC as DPLL parent */ >> + err = clk_set_parent_by_clk(sc->clk_fck, sys_clkin); >> + if (err != 0) { >> + device_printf(dev, "Cant set mux to CLK_M_OSC\n"); >> + return (ENXIO); >> + } >> + >> /* Enable clocks and power on the device. */ >> - if ((timer_id = ti_hwmods_get_clock(dev)) == INVALID_CLK_IDENT) >> + err = ti_sysc_clock_enable(device_get_parent(dev)); >> + if (err != 0) { >> + device_printf(dev, "Cant enable sysc clkctrl, err %d\n", err); >> return (ENXIO); >> - if ((err = ti_prcm_clk_set_source(timer_id, SYSCLK_CLK)) != 0) >> - return (err); >> - if ((err = ti_prcm_clk_enable(timer_id)) != 0) >> - return (err); >> + } >> >> + /* Get the base clock frequency. */ >> + err = clk_get_freq(sc->clk_fck, &sc->sysclk_freq); >> + if (err != 0) { >> + device_printf(dev, "Cant get sysclk frequency, err %d\n", err); >> + return (ENXIO); >> + } >> + >> /* Request the memory resources. */ >> sc->tmr_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, >> &sc->tmr_mem_rid, RF_ACTIVE); >> @@ -302,7 +337,20 @@ am335x_dmtimer_attach(device_t dev) >> return (ENXIO); >> } >> >> - sc->tmr_num = ti_hwmods_get_unit(dev, "timer"); >> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >> + switch (rev_address) { >> + case DMTIMER2_REV: >> + sc->tmr_num = 2; >> + break; >> + case DMTIMER3_REV: >> + sc->tmr_num = 3; >> + break; >> + default: >> + device_printf(dev, "Not timer 2 or 3! %#jx\n", >> + rev_address); >> + return (ENXIO); >> + } >> + >> snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", sc->tmr_num); >> >> /* >> @@ -334,7 +382,7 @@ static driver_t am335x_dmtimer_driver = { >> static devclass_t am335x_dmtimer_devclass; >> >> DRIVER_MODULE(am335x_dmtimer, simplebus, am335x_dmtimer_driver, >> am335x_dmtimer_devclass, 0, 0); >> -MODULE_DEPEND(am335x_dmtimer, am335x_prcm, 1, 1, 1); >> +MODULE_DEPEND(am335x_dmtimer, ti_sysc, 1, 1, 1); >> >> static void >> am335x_dmtimer_delay(int usec, void *arg) >> >> Modified: head/sys/arm/ti/am335x/am335x_dmtpps.c >> ============================================================================== >> --- head/sys/arm/ti/am335x/am335x_dmtpps.c Thu Jul 30 14:42:50 >> 2020 (r363699) >> +++ head/sys/arm/ti/am335x/am335x_dmtpps.c Thu Jul 30 14:45:05 >> 2020 (r363700) >> @@ -43,6 +43,8 @@ >> #include >> __FBSDID("$FreeBSD$"); >> >> +#include "opt_platform.h" >> + >> #include >> #include >> #include >> @@ -60,9 +62,9 @@ __FBSDID("$FreeBSD$"); >> #include >> #include >> #include >> +#include >> >> -#include >> -#include >> +#include >> #include >> #include >> >> @@ -82,6 +84,8 @@ struct dmtpps_softc { >> struct cdev * pps_cdev; >> struct pps_state pps_state; >> struct mtx pps_mtx; >> + clk_t clk_fck; >> + uint64_t sysclk_freq; >> }; >> >> static int dmtpps_tmr_num; /* Set by probe() */ >> @@ -383,6 +387,7 @@ dmtpps_probe(device_t dev) >> { >> char strbuf[64]; >> int tmr_num; >> + uint64_t rev_address; >> >> if (!ofw_bus_status_okay(dev)) >> return (ENXIO); >> @@ -402,7 +407,33 @@ dmtpps_probe(device_t dev) >> * Figure out which hardware timer is being probed and see if it matches >> * the configured timer number determined earlier. >> */ >> - tmr_num = ti_hwmods_get_unit(dev, "timer"); >> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >> + switch (rev_address) { >> + case DMTIMER1_1MS_REV: >> + tmr_num = 1; >> + break; >> + case DMTIMER2_REV: >> + tmr_num = 2; >> + break; >> + case DMTIMER3_REV: >> + tmr_num = 3; >> + break; >> + case DMTIMER4_REV: >> + tmr_num = 4; >> + break; >> + case DMTIMER5_REV: >> + tmr_num = 5; >> + break; >> + case DMTIMER6_REV: >> + tmr_num = 6; >> + break; >> + case DMTIMER7_REV: >> + tmr_num = 7; >> + break; >> + default: >> + return (ENXIO); >> + } >> + >> if (dmtpps_tmr_num != tmr_num) >> return (ENXIO); >> >> @@ -418,23 +449,73 @@ dmtpps_attach(device_t dev) >> { >> struct dmtpps_softc *sc; >> struct make_dev_args mda; >> - clk_ident_t timer_id; >> - int err, sysclk_freq; >> + int err; >> + clk_t sys_clkin; >> + uint64_t rev_address; >> >> sc = device_get_softc(dev); >> sc->dev = dev; >> >> - /* Get the base clock frequency. */ >> - err = ti_prcm_clk_get_source_freq(SYS_CLK, &sysclk_freq); >> + /* Figure out which hardware timer this is and set the name string. */ >> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >> + switch (rev_address) { >> + case DMTIMER1_1MS_REV: >> + sc->tmr_num = 1; >> + break; >> + case DMTIMER2_REV: >> + sc->tmr_num = 2; >> + break; >> + case DMTIMER3_REV: >> + sc->tmr_num = 3; >> + break; >> + case DMTIMER4_REV: >> + sc->tmr_num = 4; >> + break; >> + case DMTIMER5_REV: >> + sc->tmr_num = 5; >> + break; >> + case DMTIMER6_REV: >> + sc->tmr_num = 6; >> + break; >> + case DMTIMER7_REV: >> + sc->tmr_num = 7; >> + break; >> + } >> + snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", sc->tmr_num); >> >> + /* expect one clock */ >> + err = clk_get_by_ofw_index(dev, 0, 0, &sc->clk_fck); >> + if (err != 0) { >> + device_printf(dev, "Cant find clock index 0. err: %d\n", err); >> + return (ENXIO); >> + } >> + >> + err = clk_get_by_name(dev, "sys_clkin_ck@40", &sys_clkin); >> + if (err != 0) { >> + device_printf(dev, "Cant find sys_clkin_ck@40 err: %d\n", err); >> + return (ENXIO); >> + } >> + >> + /* Select M_OSC as DPLL parent */ >> + err = clk_set_parent_by_clk(sc->clk_fck, sys_clkin); >> + if (err != 0) { >> + device_printf(dev, "Cant set mux to CLK_M_OSC\n"); >> + return (ENXIO); >> + } >> + >> /* Enable clocks and power on the device. */ >> - if ((timer_id = ti_hwmods_get_clock(dev)) == INVALID_CLK_IDENT) >> + err = ti_sysc_clock_enable(device_get_parent(dev)); >> + if (err != 0) { >> + device_printf(dev, "Cant enable sysc clkctrl, err %d\n", err); >> return (ENXIO); >> - if ((err = ti_prcm_clk_set_source(timer_id, SYSCLK_CLK)) != 0) >> - return (err); >> - if ((err = ti_prcm_clk_enable(timer_id)) != 0) >> - return (err); >> + } >> >> + /* Get the base clock frequency. */ >> + err = clk_get_freq(sc->clk_fck, &sc->sysclk_freq); >> + if (err != 0) { >> + device_printf(dev, "Cant get sysclk frequency, err %d\n", err); >> + return (ENXIO); >> + } >> /* Request the memory resources. */ >> sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, >> &sc->mem_rid, RF_ACTIVE); >> @@ -442,10 +523,6 @@ dmtpps_attach(device_t dev) >> return (ENXIO); >> } >> >> - /* Figure out which hardware timer this is and set the name string. */ >> - sc->tmr_num = ti_hwmods_get_unit(dev, "timer"); >> - snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", sc->tmr_num); >> - >> /* >> * Configure the timer pulse/capture pin to input/capture mode. This is >> * required in addition to configuring the pin as input with the pinmux >> @@ -468,7 +545,7 @@ dmtpps_attach(device_t dev) >> sc->tc.tc_name = sc->tmr_name; >> sc->tc.tc_get_timecount = dmtpps_get_timecount; >> sc->tc.tc_counter_mask = ~0u; >> - sc->tc.tc_frequency = sysclk_freq; >> + sc->tc.tc_frequency = sc->sysclk_freq; >> sc->tc.tc_quality = 1000; >> sc->tc.tc_priv = sc; >> >> @@ -541,5 +618,4 @@ static driver_t dmtpps_driver = { >> static devclass_t dmtpps_devclass; >> >> DRIVER_MODULE(am335x_dmtpps, simplebus, dmtpps_driver, dmtpps_devclass, 0, >> 0); >> -MODULE_DEPEND(am335x_dmtpps, am335x_prcm, 1, 1, 1); >> - >> +MODULE_DEPEND(am335x_dmtpps, ti_sysc, 1, 1, 1); >> >> Modified: head/sys/arm/ti/am335x/am335x_dmtreg.h >> ============================================================================== >> --- head/sys/arm/ti/am335x/am335x_dmtreg.h Thu Jul 30 14:42:50 >> 2020 (r363699) >> +++ head/sys/arm/ti/am335x/am335x_dmtreg.h Thu Jul 30 14:45:05 >> 2020 (r363700) >> @@ -73,4 +73,16 @@ >> #define DMT_TSICR_RESET (1 << 1) /* TSICR perform soft reset */ >> #define DMT_TCAR2 0x48 /* Capture Reg */ >> >> +/* Location of revision register from TRM Memory map chapter 2 */ >> +/* L4_WKUP */ >> +#define DMTIMER0_REV 0x05000 >> +#define DMTIMER1_1MS_REV 0x31000 >> +/* L4_PER */ >> +#define DMTIMER2_REV 0x40000 >> +#define DMTIMER3_REV 0x42000 >> +#define DMTIMER4_REV 0x44000 >> +#define DMTIMER5_REV 0x46000 >> +#define DMTIMER6_REV 0x48000 >> +#define DMTIMER7_REV 0x4A000 >> + >> #endif /* AM335X_DMTREG_H */ >> >> Modified: head/sys/arm/ti/am335x/am335x_gpio.c >> ============================================================================== >> --- head/sys/arm/ti/am335x/am335x_gpio.c Thu Jul 30 14:42:50 2020 (r363699) >> +++ head/sys/arm/ti/am335x/am335x_gpio.c Thu Jul 30 14:45:05 2020 (r363700) >> @@ -155,3 +155,4 @@ DEFINE_CLASS_1(gpio, am335x_gpio_driver, am335x_gpio_m >> sizeof(struct ti_gpio_softc), ti_gpio_driver); >> DRIVER_MODULE(am335x_gpio, simplebus, am335x_gpio_driver, >> am335x_gpio_devclass, >> 0, 0); >> +MODULE_DEPEND(am335x_gpio, ti_sysc, 1, 1, 1); >> >> Modified: head/sys/arm/ti/am335x/am335x_lcd.c >> ============================================================================== >> --- head/sys/arm/ti/am335x/am335x_lcd.c Thu Jul 30 14:42:50 2020 (r363699) >> +++ head/sys/arm/ti/am335x/am335x_lcd.c Thu Jul 30 14:45:05 2020 (r363700) >> @@ -50,6 +50,8 @@ __FBSDID("$FreeBSD$"); >> >> #include >> >> +#include >> + >> #include >> #include >> #include >> @@ -65,7 +67,7 @@ __FBSDID("$FreeBSD$"); >> #include >> #endif >> >> -#include >> +#include >> #include >> >> #include "am335x_lcd.h" >> @@ -219,6 +221,9 @@ struct am335x_lcd_softc { >> /* HDMI framer */ >> phandle_t sc_hdmi_framer; >> eventhandler_tag sc_hdmi_evh; >> + >> + /* Clock */ >> + clk_t sc_clk_dpll_disp_ck; >> }; >> >> static void >> @@ -615,24 +620,28 @@ am335x_lcd_configure(struct am335x_lcd_softc *sc) >> uint32_t hbp, hfp, hsw; >> uint32_t vbp, vfp, vsw; >> uint32_t width, height; >> - unsigned int ref_freq; >> + uint64_t ref_freq; >> int err; >> >> /* >> * try to adjust clock to get double of requested frequency >> * HDMI/DVI displays are very sensitive to error in frequncy value >> */ >> - if (ti_prcm_clk_set_source_freq(LCDC_CLK, sc->sc_panel.panel_pxl_clk*2)) >> { >> + >> + err = clk_set_freq(sc->sc_clk_dpll_disp_ck, sc->sc_panel.panel_pxl_clk*2, >> + CLK_SET_ROUND_ANY); >> + if (err != 0) { >> device_printf(sc->sc_dev, "can't set source frequency\n"); >> return (ENXIO); >> } >> >> - if (ti_prcm_clk_get_source_freq(LCDC_CLK, &ref_freq)) { >> + err = clk_get_freq(sc->sc_clk_dpll_disp_ck, &ref_freq); >> + if (err != 0) { >> device_printf(sc->sc_dev, "can't get reference frequency\n"); >> return (ENXIO); >> } >> >> - /* Panle initialization */ >> + /* Panel initialization */ >> dma_size = >> round_page(sc->sc_panel.panel_width*sc->sc_panel.panel_height*sc->sc_panel.bpp/8); >> >> /* >> @@ -967,6 +976,13 @@ am335x_lcd_attach(device_t dev) >> return (ENXIO); >> } >> >> + /* Fixme: Cant find any reference in DTS for dpll_disp_ck@498 for now. */ >> + err = clk_get_by_name(dev, "dpll_disp_ck@498", &sc->sc_clk_dpll_disp_ck); >> + if (err != 0) { >> + device_printf(dev, "Cant get dpll_disp_ck@49\n"); >> + return (ENXIO); >> + } >> + >> sc->sc_panel.ac_bias = 255; >> sc->sc_panel.ac_bias_intrpt = 0; >> sc->sc_panel.dma_burst_sz = 16; >> @@ -989,7 +1005,11 @@ am335x_lcd_attach(device_t dev) >> } >> } >> >> - ti_prcm_clk_enable(LCDC_CLK); >> + err = ti_sysc_clock_enable(device_get_parent(dev)); >> + if (err != 0) { >> + device_printf(dev, "Failed to enable sysc clkctrl, err %d\n", err); >> + return (ENXIO); >> + } >> >> rid = 0; >> sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, >> @@ -1081,3 +1101,4 @@ static devclass_t am335x_lcd_devclass; >> DRIVER_MODULE(am335x_lcd, simplebus, am335x_lcd_driver, >> am335x_lcd_devclass, 0, 0); >> MODULE_VERSION(am335x_lcd, 1); >> MODULE_DEPEND(am335x_lcd, simplebus, 1, 1, 1); >> +MODULE_DEPEND(am335x_lcd, ti_sysc, 1, 1, 1); >> >> Modified: head/sys/arm/ti/am335x/am335x_musb.c >> ============================================================================== >> --- head/sys/arm/ti/am335x/am335x_musb.c Thu Jul 30 14:42:50 2020 (r363699) >> +++ head/sys/arm/ti/am335x/am335x_musb.c Thu Jul 30 14:45:05 2020 (r363700) >> @@ -66,9 +66,11 @@ __FBSDID("$FreeBSD$"); >> >> #include >> >> -#include >> -#include >> #include >> +#include >> +#include >> +#include >> +#include "syscon_if.h" >> >> #define USBCTRL_REV 0x00 >> #define USBCTRL_CTRL 0x14 >> @@ -130,6 +132,7 @@ struct musbotg_super_softc { >> struct musbotg_softc sc_otg; >> struct resource *sc_mem_res[2]; >> int sc_irq_rid; >> + struct syscon *syscon; >> }; >> >> static void >> @@ -155,30 +158,33 @@ static void >> musbotg_clocks_on(void *arg) >> { >> struct musbotg_softc *sc; >> - uint32_t c, reg; >> + struct musbotg_super_softc *ssc; >> + uint32_t reg; >> >> sc = arg; >> - reg = USB_CTRL[sc->sc_id]; >> + ssc = sc->sc_platform_data; >> >> - ti_scm_reg_read_4(reg, &c); >> - c &= ~3; /* Enable power */ >> - c |= 1 << 19; /* VBUS detect enable */ >> - c |= 1 << 20; /* Session end enable */ >> - ti_scm_reg_write_4(reg, c); >> + reg = SYSCON_READ_4(ssc->syscon, USB_CTRL[sc->sc_id]); >> + reg &= ~3; /* Enable power */ >> + reg |= 1 << 19; /* VBUS detect enable */ >> + reg |= 1 << 20; /* Session end enable */ >> + >> + SYSCON_WRITE_4(ssc->syscon, USB_CTRL[sc->sc_id], reg); >> } >> >> static void >> musbotg_clocks_off(void *arg) >> { >> struct musbotg_softc *sc; >> - uint32_t c, reg; >> + struct musbotg_super_softc *ssc; >> + uint32_t reg; >> >> sc = arg; >> - reg = USB_CTRL[sc->sc_id]; >> + ssc = sc->sc_platform_data; >> >> /* Disable power to PHY */ >> - ti_scm_reg_read_4(reg, &c); >> - ti_scm_reg_write_4(reg, c | 3); >> + reg = SYSCON_READ_4(ssc->syscon, USB_CTRL[sc->sc_id]); >> + SYSCON_WRITE_4(ssc->syscon, USB_CTRL[sc->sc_id], reg | 3); >> } >> >> static void >> @@ -241,9 +247,42 @@ musbotg_attach(device_t dev) >> char mode[16]; >> int err; >> uint32_t reg; >> + phandle_t opp_table; >> + clk_t clk_usbotg_fck; >> >> sc->sc_otg.sc_id = device_get_unit(dev); >> >> + /* FIXME: The devicetree needs to be updated to get a handle to the gate >> + * usbotg_fck@47c. see TRM 8.1.12.2 CM_WKUP CM_CLKDCOLDO_DPLL_PER. >> + */ >> + err = clk_get_by_name(dev, "usbotg_fck@47c", &clk_usbotg_fck); >> + if (err) { >> + device_printf(dev, "Can not find usbotg_fck@47c\n"); >> + return (ENXIO); >> + } >> + >> + err = clk_enable(clk_usbotg_fck); >> + if (err) { >> + device_printf(dev, "Can not enable usbotg_fck@47c\n"); >> + return (ENXIO); >> + } >> + >> + /* FIXME: For now; Go and kidnap syscon from opp-table */ >> + opp_table = OF_finddevice("/opp-table"); >> + if (opp_table == -1) { >> + device_printf(dev, "Cant find /opp-table\n"); >> + return (ENXIO); >> + } >> + if (!OF_hasprop(opp_table, "syscon")) { >> + device_printf(dev, "/opp-table missing syscon property\n"); >> + return (ENXIO); >> + } >> + err = syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon); >> + if (err) { >> + device_printf(dev, "Failed to get syscon\n"); >> + return (ENXIO); >> + } >> + >> /* Request the memory resources */ >> err = bus_alloc_resources(dev, am335x_musbotg_mem_spec, >> sc->sc_mem_res); >> @@ -417,5 +456,7 @@ static driver_t musbotg_driver = { >> >> static devclass_t musbotg_devclass; >> >> -DRIVER_MODULE(musbotg, usbss, musbotg_driver, musbotg_devclass, 0, 0); >> -MODULE_DEPEND(musbotg, usbss, 1, 1, 1); >> +DRIVER_MODULE(musbotg, ti_sysc, musbotg_driver, musbotg_devclass, 0, 0); >> +MODULE_DEPEND(musbotg, ti_sysc, 1, 1, 1); >> +MODULE_DEPEND(musbotg, ti_am3359_cppi41, 1, 1, 1); >> +MODULE_DEPEND(usbss, usb, 1, 1, 1); >> >> Modified: head/sys/arm/ti/am335x/am335x_pwmss.c >> ============================================================================== >> --- head/sys/arm/ti/am335x/am335x_pwmss.c Thu Jul 30 14:42:50 >> 2020 (r363699) >> +++ head/sys/arm/ti/am335x/am335x_pwmss.c Thu Jul 30 14:45:05 >> 2020 (r363700) >> @@ -46,10 +46,11 @@ __FBSDID("$FreeBSD$"); >> #include >> #include >> >> -#include >> -#include >> -#include >> +#include >> >> +#include >> +#include "syscon_if.h" >> + >> #include "am335x_pwm.h" >> #include "am335x_scm.h" >> >> @@ -59,6 +60,11 @@ __FBSDID("$FreeBSD$"); >> #define CLKCONFIG_EPWMCLK_EN (1 << 8) >> #define PWMSS_CLKSTATUS 0x0C >> >> +/* TRM chapter 2 memory map table 2-3 + VER register location */ >> +#define PWMSS_REV_0 0x0000 >> +#define PWMSS_REV_1 0x2000 >> +#define PWMSS_REV_2 0x4000 >> + >> static device_probe_t am335x_pwmss_probe; >> static device_attach_t am335x_pwmss_attach; >> static device_detach_t am335x_pwmss_detach; >> @@ -66,7 +72,7 @@ static device_detach_t am335x_pwmss_detach; >> struct am335x_pwmss_softc { >> struct simplebus_softc sc_simplebus; >> device_t sc_dev; >> - clk_ident_t sc_clk; >> + struct syscon *syscon; >> }; >> >> static device_method_t am335x_pwmss_methods[] = { >> @@ -97,36 +103,45 @@ am335x_pwmss_attach(device_t dev) >> { >> struct am335x_pwmss_softc *sc; >> uint32_t reg, id; >> - phandle_t node; >> + uint64_t rev_address; >> + phandle_t node, opp_table; >> >> sc = device_get_softc(dev); >> sc->sc_dev = dev; >> >> - sc->sc_clk = ti_hwmods_get_clock(dev); >> - if (sc->sc_clk == INVALID_CLK_IDENT) { >> - device_printf(dev, "failed to get device id based on ti,hwmods\n"); >> - return (EINVAL); >> + /* FIXME: For now; Go and kidnap syscon from opp-table */ >> + opp_table = OF_finddevice("/opp-table"); >> + if (opp_table == -1) { >> + device_printf(dev, "Cant find /opp-table\n"); >> + return (ENXIO); >> } >> + if (!OF_hasprop(opp_table, "syscon")) { >> + device_printf(dev, "/opp-table doesnt have required syscon property\n"); >> + return (ENXIO); >> + } >> + if (syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon) != >> 0) { >> + device_printf(dev, "Failed to get syscon\n"); >> + return (ENXIO); >> + } >> >> - ti_prcm_clk_enable(sc->sc_clk); >> - ti_scm_reg_read_4(SCM_PWMSS_CTRL, ®); >> - switch (sc->sc_clk) { >> - case PWMSS0_CLK: >> - id = 0; >> - break; >> - case PWMSS1_CLK: >> - id = 1; >> - break; >> + ti_sysc_clock_enable(device_get_parent(dev)); >> >> - case PWMSS2_CLK: >> - id = 2; >> - break; >> - default: >> - device_printf(dev, "unknown pwmss clock id: %d\n", sc->sc_clk); >> - return (EINVAL); >> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >> + switch (rev_address) { >> + case PWMSS_REV_0: >> + id = 0; >> + break; >> + case PWMSS_REV_1: >> + id = 1; >> + break; >> + case PWMSS_REV_2: >> + id = 2; >> + break; >> } >> + >> + reg = SYSCON_READ_4(sc->syscon, SCM_PWMSS_CTRL); >> reg |= (1 << id); >> - ti_scm_reg_write_4(SCM_PWMSS_CTRL, reg); >> + SYSCON_WRITE_4(sc->syscon, SCM_PWMSS_CTRL, reg); >> >> node = ofw_bus_get_node(dev); >> >> @@ -161,3 +176,4 @@ DEFINE_CLASS_1(am335x_pwmss, am335x_pwmss_driver, am33 >> static devclass_t am335x_pwmss_devclass; >> DRIVER_MODULE(am335x_pwmss, simplebus, am335x_pwmss_driver, >> am335x_pwmss_devclass, 0, 0); >> MODULE_VERSION(am335x_pwmss, 1); >> +MODULE_DEPEND(am335x_pwmss, ti_sysc, 1, 1, 1); >> >> Modified: head/sys/arm/ti/am335x/am335x_rtc.c >> ============================================================================== >> --- head/sys/arm/ti/am335x/am335x_rtc.c Thu Jul 30 14:42:50 2020 (r363699) >> +++ head/sys/arm/ti/am335x/am335x_rtc.c Thu Jul 30 14:45:05 2020 (r363700) >> @@ -39,8 +39,9 @@ __FBSDID("$FreeBSD$"); >> >> #include >> >> +#include >> #include >> -#include >> +#include >> #include >> #include >> >> @@ -110,7 +111,7 @@ am335x_rtc_attach(device_t dev) >> RTC_LOCK_INIT(sc); >> >> /* Enable the RTC module. */ >> - ti_prcm_clk_enable(RTC_CLK); >> + ti_sysc_clock_enable(device_get_parent(dev)); >> rev = RTC_READ4(sc, RTC_REVISION); >> device_printf(dev, "AM335X RTC v%d.%d.%d\n", >> (rev >> 8) & 0x7, (rev >> 6) & 0x3, rev & 0x3f); >> @@ -209,3 +210,4 @@ static devclass_t am335x_rtc_devclass; >> DRIVER_MODULE(am335x_rtc, simplebus, am335x_rtc_driver, >> am335x_rtc_devclass, 0, 0); >> MODULE_VERSION(am335x_rtc, 1); >> MODULE_DEPEND(am335x_rtc, simplebus, 1, 1, 1); >> +MODULE_DEPEND(am335x_rtc, ti_sysc, 1, 1, 1); >> >> Modified: head/sys/arm/ti/am335x/am335x_scm.c >> ============================================================================== >> --- head/sys/arm/ti/am335x/am335x_scm.c Thu Jul 30 14:42:50 2020 (r363699) >> +++ head/sys/arm/ti/am335x/am335x_scm.c Thu Jul 30 14:45:05 2020 (r363700) >> @@ -40,11 +40,15 @@ __FBSDID("$FreeBSD$"); >> #include >> #include >> >> +#include >> +#include "syscon_if.h" >> + >> #define TZ_ZEROC 2731 >> >> struct am335x_scm_softc { >> int sc_last_temp; >> struct sysctl_oid *sc_temp_oid; >> + struct syscon *syscon; >> }; >> >> static int >> @@ -60,7 +64,7 @@ am335x_scm_temp_sysctl(SYSCTL_HANDLER_ARGS) >> >> /* Read the temperature and convert to Kelvin. */ >> for(i = 50; i > 0; i--) { >> - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); >> + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); >> if ((reg & SCM_BGAP_EOCZ) == 0) >> break; >> DELAY(50); >> @@ -96,6 +100,9 @@ am335x_scm_identify(driver_t *driver, device_t parent) >> static int >> am335x_scm_probe(device_t dev) >> { >> + /* Just allow the first one */ >> + if (strcmp(device_get_nameunit(dev), "am335x_scm0") != 0) >> + return (ENXIO); >> >> device_set_desc(dev, "AM335x Control Module Extension"); >> >> @@ -109,21 +116,40 @@ am335x_scm_attach(device_t dev) >> struct sysctl_ctx_list *ctx; >> struct sysctl_oid_list *tree; >> uint32_t reg; >> + phandle_t opp_table; >> + int err; >> >> + sc = device_get_softc(dev); >> + >> + /* FIXME: For now; Go and kidnap syscon from opp-table */ >> + opp_table = OF_finddevice("/opp-table"); >> + if (opp_table == -1) { >> + device_printf(dev, "Cant find /opp-table\n"); >> + return (ENXIO); >> + } >> + if (!OF_hasprop(opp_table, "syscon")) { >> + device_printf(dev, "/opp-table missing syscon property\n"); >> + return (ENXIO); >> + } >> + err = syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon); >> + if (err) { >> + device_printf(dev, "Failed to get syscon\n"); >> + return (ENXIO); >> + } >> + >> /* Reset the digital outputs. */ >> - ti_scm_reg_write_4(SCM_BGAP_CTRL, 0); >> - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); >> + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, 0); >> + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); >> DELAY(500); >> /* Set continous mode. */ >> - ti_scm_reg_write_4(SCM_BGAP_CTRL, SCM_BGAP_CONTCONV); >> - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); >> + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, SCM_BGAP_CONTCONV); >> + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); >> DELAY(500); >> /* Start the ADC conversion. */ >> reg = SCM_BGAP_CLRZ | SCM_BGAP_CONTCONV | SCM_BGAP_SOC; >> - ti_scm_reg_write_4(SCM_BGAP_CTRL, reg); >> + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, reg); >> >> /* Temperature sysctl. */ >> - sc = device_get_softc(dev); >> ctx = device_get_sysctl_ctx(dev); >> tree = SYSCTL_CHILDREN(device_get_sysctl_tree(dev)); >> sc->sc_temp_oid = SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, >> @@ -145,7 +171,7 @@ am335x_scm_detach(device_t dev) >> sysctl_remove_oid(sc->sc_temp_oid, 1, 0); >> >> /* Stop the bandgap ADC. */ >> - ti_scm_reg_write_4(SCM_BGAP_CTRL, SCM_BGAP_BGOFF); >> >> *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** >> _______________________________________________ >> svn-src-all@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/svn-src-all >> To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" >> > > From owner-svn-src-all@freebsd.org Sat Aug 1 09:40:20 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1A065375674; Sat, 1 Aug 2020 09:40:20 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJfJg6spHz47R8; Sat, 1 Aug 2020 09:40:19 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CF90010D0A; Sat, 1 Aug 2020 09:40:19 +0000 (UTC) (envelope-from mw@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0719eJj1057884; Sat, 1 Aug 2020 09:40:19 GMT (envelope-from mw@FreeBSD.org) Received: (from mw@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0719eJM0057883; Sat, 1 Aug 2020 09:40:19 GMT (envelope-from mw@FreeBSD.org) Message-Id: <202008010940.0719eJM0057883@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mw set sender to mw@FreeBSD.org using -f From: Marcin Wojtas Date: Sat, 1 Aug 2020 09:40:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363759 - head/sys/dev/neta X-SVN-Group: head X-SVN-Commit-Author: mw X-SVN-Commit-Paths: head/sys/dev/neta X-SVN-Commit-Revision: 363759 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 09:40:20 -0000 Author: mw Date: Sat Aug 1 09:40:19 2020 New Revision: 363759 URL: https://svnweb.freebsd.org/changeset/base/363759 Log: Fix TX csum handling in if_mvneta The mvneta device requires MVNETA_TX_CMD_L4_CHECKSUM_NONE bit to be set in the tx descriptor is checksum not required. However, mvneta_tx_set_csumflag() is not setting this flag currently, causing the hardware to randomly corrupt IP header during transmission. This affects injected IPv4 packets that skips kernel IP stack processing (e.g. DHCP), as well as all IPv6 packets, since the driver currently does not offload csum for IPv6. The fix is to remove all the early return paths from mvneta_tx_set_csumflag() which do not set the MVNETA_TX_CMD_L4_CHECKSUM_NONE flag. PR: 248306 Submitted by: Mike Cui Reported by: Mike Cui Modified: head/sys/dev/neta/if_mvneta.c Modified: head/sys/dev/neta/if_mvneta.c ============================================================================== --- head/sys/dev/neta/if_mvneta.c Sat Aug 1 09:06:16 2020 (r363758) +++ head/sys/dev/neta/if_mvneta.c Sat Aug 1 09:40:19 2020 (r363759) @@ -2828,18 +2828,15 @@ mvneta_tx_set_csumflag(struct ifnet *ifp, csum_flags = ifp->if_hwassist & m->m_pkthdr.csum_flags; eh = mtod(m, struct ether_header *); - if (csum_flags == 0) - return; - switch (ntohs(eh->ether_type)) { case ETHERTYPE_IP: ipoff = ETHER_HDR_LEN; break; - case ETHERTYPE_IPV6: - return; case ETHERTYPE_VLAN: ipoff = ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN; break; + default: + csum_flags = 0; } if (__predict_true(csum_flags & (CSUM_IP|CSUM_IP_TCP|CSUM_IP_UDP))) { From owner-svn-src-all@freebsd.org Sat Aug 1 13:56:32 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1A85337C174; Sat, 1 Aug 2020 13:56:32 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJm0H6zphz4L1B; Sat, 1 Aug 2020 13:56:31 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D316313A34; Sat, 1 Aug 2020 13:56:31 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 071DuVre017438; Sat, 1 Aug 2020 13:56:31 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 071DuV93017437; Sat, 1 Aug 2020 13:56:31 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008011356.071DuV93017437@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Sat, 1 Aug 2020 13:56:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363760 - stable/12/lib/msun/man X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: stable/12/lib/msun/man X-SVN-Commit-Revision: 363760 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 13:56:32 -0000 Author: gbe (doc committer) Date: Sat Aug 1 13:56:31 2020 New Revision: 363760 URL: https://svnweb.freebsd.org/changeset/base/363760 Log: MFC r359326 (by carlavilla): Add a HISTORY section to log(3) man page PR: 240265 Submitted by: gbe Approved by: bcr, imp Differential Revision: https://reviews.freebsd.org/D24148 Modified: stable/12/lib/msun/man/log.3 Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/msun/man/log.3 ============================================================================== --- stable/12/lib/msun/man/log.3 Sat Aug 1 09:40:19 2020 (r363759) +++ stable/12/lib/msun/man/log.3 Sat Aug 1 13:56:31 2020 (r363760) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 3, 2013 +.Dd March 22, 2020 .Dt LOG 3 .Os .Sh NAME @@ -135,3 +135,14 @@ and .Fn log1pl functions conform to .St -isoC-99 . +.Sh HISTORY +The +.Fn log +function first appeared in +.At v1 ; +.Fn log10 +in +.At v7 ; +.Fn log1p +in +.Bx 4.3 . From owner-svn-src-all@freebsd.org Sat Aug 1 14:00:48 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6C8F937C331; Sat, 1 Aug 2020 14:00:48 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJm5D20vtz4LL3; Sat, 1 Aug 2020 14:00:48 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 28E9A13C3C; Sat, 1 Aug 2020 14:00:48 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 071E0ma6017760; Sat, 1 Aug 2020 14:00:48 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 071E0m50017759; Sat, 1 Aug 2020 14:00:48 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008011400.071E0m50017759@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Sat, 1 Aug 2020 14:00:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363761 - stable/12/lib/libc/stdlib X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: stable/12/lib/libc/stdlib X-SVN-Commit-Revision: 363761 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 14:00:48 -0000 Author: gbe (doc committer) Date: Sat Aug 1 14:00:47 2020 New Revision: 363761 URL: https://svnweb.freebsd.org/changeset/base/363761 Log: MFC r359772 (by carlavilla): exit(3): Add a HISTORY section PR: 240259 Submitted by: gbe Reviewed by: bcr Approved by: bcr Obtained from: OpenBSD Differential Revision: https://reviews.freebsd.org/D24146 Modified: stable/12/lib/libc/stdlib/exit.3 Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libc/stdlib/exit.3 ============================================================================== --- stable/12/lib/libc/stdlib/exit.3 Sat Aug 1 13:56:31 2020 (r363760) +++ stable/12/lib/libc/stdlib/exit.3 Sat Aug 1 14:00:47 2020 (r363761) @@ -32,7 +32,7 @@ .\" @(#)exit.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd May 28, 2018 +.Dd March 22, 2020 .Dt EXIT 3 .Os .Sh NAME @@ -131,3 +131,8 @@ and .Fn _Exit functions conform to .St -isoC-99 . +.Sh HISTORY +The +.Fn exit +function appeared in +.At v1 . From owner-svn-src-all@freebsd.org Sat Aug 1 14:08:06 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1F22F37C57E; Sat, 1 Aug 2020 14:08:06 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJmFd6v6xz4LPj; Sat, 1 Aug 2020 14:08:05 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CC07313A55; Sat, 1 Aug 2020 14:08:05 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 071E85FF023703; Sat, 1 Aug 2020 14:08:05 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 071E85o2023702; Sat, 1 Aug 2020 14:08:05 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008011408.071E85o2023702@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Sat, 1 Aug 2020 14:08:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363762 - stable/12/lib/libc/stdio X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: stable/12/lib/libc/stdio X-SVN-Commit-Revision: 363762 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 14:08:06 -0000 Author: gbe (doc committer) Date: Sat Aug 1 14:08:05 2020 New Revision: 363762 URL: https://svnweb.freebsd.org/changeset/base/363762 Log: MFC r359773 (by carlavilla): Add HISTORY section to getc(3) PR: 240269 Submitted by: gbe Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D24295 Modified: stable/12/lib/libc/stdio/getc.3 Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libc/stdio/getc.3 ============================================================================== --- stable/12/lib/libc/stdio/getc.3 Sat Aug 1 14:00:47 2020 (r363761) +++ stable/12/lib/libc/stdio/getc.3 Sat Aug 1 14:08:05 2020 (r363762) @@ -32,7 +32,7 @@ .\" @(#)getc.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd January 10, 2003 +.Dd April 4, 2020 .Dt GETC 3 .Os .Sh NAME @@ -153,6 +153,22 @@ and .Fn getchar_unlocked functions conform to .St -p1003.1-2001 . +.Sh HISTORY +The +.Fn getc +and +.Fn getw +functions appeared in a similar form in +.At v1 ; +and were integrated into stdio in +.At v7 ; +.Fn getchar +in +.At v4 ; +and +.Fn fgetc +in +.At v7 . .Sh BUGS Since .Dv EOF From owner-svn-src-all@freebsd.org Sat Aug 1 14:22:07 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 20C6937CADA; Sat, 1 Aug 2020 14:22:07 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJmYq08fQz4MfF; Sat, 1 Aug 2020 14:22:07 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C5982140F6; Sat, 1 Aug 2020 14:22:06 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 071EM6Rv033412; Sat, 1 Aug 2020 14:22:06 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 071EM5Uc033404; Sat, 1 Aug 2020 14:22:05 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008011422.071EM5Uc033404@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Sat, 1 Aug 2020 14:22:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363763 - in stable/12/lib: libc/stdio libc/stdlib msun/man X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: in stable/12/lib: libc/stdio libc/stdlib msun/man X-SVN-Commit-Revision: 363763 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 14:22:07 -0000 Author: gbe (doc committer) Date: Sat Aug 1 14:22:05 2020 New Revision: 363763 URL: https://svnweb.freebsd.org/changeset/base/363763 Log: MFC r359547, r359629 (by imp): Note some functions that appeared in First Edition Unix These functions first appeared in the First Edition of Unix (or earlier in the pdp-7 version). Just claim 1st Edition for all this. The pdp-7 code is too fragmented at this point to extend history that far back. Modified: stable/12/lib/libc/stdio/getwc.3 stable/12/lib/libc/stdlib/atof.3 stable/12/lib/libc/stdlib/atoi.3 stable/12/lib/msun/man/cos.3 stable/12/lib/msun/man/exp.3 stable/12/lib/msun/man/sin.3 Directory Properties: stable/12/ (props changed) Modified: stable/12/lib/libc/stdio/getwc.3 ============================================================================== --- stable/12/lib/libc/stdio/getwc.3 Sat Aug 1 14:08:05 2020 (r363762) +++ stable/12/lib/libc/stdio/getwc.3 Sat Aug 1 14:22:05 2020 (r363763) @@ -112,3 +112,10 @@ and functions conform to .St -isoC-99 . +.Sh HISTORY +A version of the +.Fn getc +and +.Fn getw +functions appeared in +.At v1 . Modified: stable/12/lib/libc/stdlib/atof.3 ============================================================================== --- stable/12/lib/libc/stdlib/atof.3 Sat Aug 1 14:08:05 2020 (r363762) +++ stable/12/lib/libc/stdlib/atof.3 Sat Aug 1 14:22:05 2020 (r363763) @@ -32,7 +32,7 @@ .\" @(#)atof.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd June 4, 1993 +.Dd April 1, 2020 .Dt ATOF 3 .Os .Sh NAME @@ -93,3 +93,8 @@ function conforms to .St -isoC , and .St -isoC-99 . +.Sh HISTORY +The +.Fn atof +function appeared in +.At v1 . Modified: stable/12/lib/libc/stdlib/atoi.3 ============================================================================== --- stable/12/lib/libc/stdlib/atoi.3 Sat Aug 1 14:08:05 2020 (r363762) +++ stable/12/lib/libc/stdlib/atoi.3 Sat Aug 1 14:22:05 2020 (r363763) @@ -32,7 +32,7 @@ .\" @(#)atoi.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd June 13, 2018 +.Dd April 1, 2020 .Dt ATOI 3 .Os .Sh NAME @@ -85,3 +85,8 @@ function conforms to .St -isoC , and .St -isoC-99 . +.Sh HISTORY +The +.Fn atoi +function appeared in +.At v1 . Modified: stable/12/lib/msun/man/cos.3 ============================================================================== --- stable/12/lib/msun/man/cos.3 Sat Aug 1 14:08:05 2020 (r363762) +++ stable/12/lib/msun/man/cos.3 Sat Aug 1 14:22:05 2020 (r363763) @@ -28,7 +28,7 @@ .\" from: @(#)cos.3 5.1 (Berkeley) 5/2/91 .\" $FreeBSD$ .\" -.Dd January 24, 2008 +.Dd April 1, 2020 .Dt COS 3 .Os .Sh NAME @@ -81,3 +81,8 @@ functions return the cosine value. .Sh STANDARDS These functions conform to .St -isoC-99 . +.Sh HISTORY +The +.Fn cos +function first appeared in +.At v1 . Modified: stable/12/lib/msun/man/exp.3 ============================================================================== --- stable/12/lib/msun/man/exp.3 Sat Aug 1 14:08:05 2020 (r363762) +++ stable/12/lib/msun/man/exp.3 Sat Aug 1 14:22:05 2020 (r363763) @@ -28,7 +28,7 @@ .\" from: @(#)exp.3 6.12 (Berkeley) 7/31/91 .\" $FreeBSD$ .\" -.Dd December 8, 2017 +.Dd April 1, 2020 .Dt EXP 3 .Os .Sh NAME @@ -190,3 +190,8 @@ and infinite x, i.e., independently of x. .Sh STANDARDS These functions conform to .St -isoC-99 . +.Sh HISTORY +The +.Fn exp +function appeared in +.At v1 . Modified: stable/12/lib/msun/man/sin.3 ============================================================================== --- stable/12/lib/msun/man/sin.3 Sat Aug 1 14:08:05 2020 (r363762) +++ stable/12/lib/msun/man/sin.3 Sat Aug 1 14:22:05 2020 (r363763) @@ -29,7 +29,7 @@ .\" from: @(#)sin.3 6.7 (Berkeley) 4/19/91 .\" $FreeBSD$ .\" -.Dd January 24, 2008 +.Dd April 1, 2020 .Dt SIN 3 .Os .Sh NAME @@ -80,3 +80,8 @@ functions return the sine value. .Sh STANDARDS These functions conform to .St -isoC-99 . +.Sh HISTORY +The +.Fn sin +function first appeared in +.At v1 . From owner-svn-src-all@freebsd.org Sat Aug 1 14:33:23 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3654E37D06E; Sat, 1 Aug 2020 14:33:23 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJmpq0jsgz4N8y; Sat, 1 Aug 2020 14:33:23 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F0F771414E; Sat, 1 Aug 2020 14:33:22 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 071EXMjD042295; Sat, 1 Aug 2020 14:33:22 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 071EXMTA042294; Sat, 1 Aug 2020 14:33:22 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008011433.071EXMTA042294@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Sat, 1 Aug 2020 14:33:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363764 - stable/12/share/man/man7 X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: stable/12/share/man/man7 X-SVN-Commit-Revision: 363764 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 14:33:23 -0000 Author: gbe (doc committer) Date: Sat Aug 1 14:33:22 2020 New Revision: 363764 URL: https://svnweb.freebsd.org/changeset/base/363764 Log: MFC r352577 (by 0mp): ascii(7): Add STANDARDS section and update HISTORY section PR: 240727 Submitted by: gbe Reviewed by: imp Modified: stable/12/share/man/man7/ascii.7 Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man7/ascii.7 ============================================================================== --- stable/12/share/man/man7/ascii.7 Sat Aug 1 14:22:05 2020 (r363763) +++ stable/12/share/man/man7/ascii.7 Sat Aug 1 14:33:22 2020 (r363764) @@ -28,7 +28,7 @@ .\" @(#)ascii.7 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd October 30, 2017 +.Dd September 21, 2019 .Dt ASCII 7 .Os .Sh NAME @@ -146,8 +146,15 @@ ESC ; [ { 11011 .Bl -tag -width /usr/share/misc/ascii -compact .It Pa /usr/share/misc/ascii .El +.Sh STANDARDS +.Rs +.%T Information Systems - Coded Character Sets - 7-Bit American National\ + Standard Code for Information Interchange (7-Bit ASCII) +.%R INCITS 4-1986[R2017] +.%Q InterNational Committee for Information Technology Standards +.Re .Sh HISTORY An .Nm manual page appeared in -.At v7 . +.At v2 . From owner-svn-src-all@freebsd.org Sat Aug 1 14:41:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5DFB337DB94; Sat, 1 Aug 2020 14:41:44 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJn0S1py8z4P0b; Sat, 1 Aug 2020 14:41:44 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 213E4141AC; Sat, 1 Aug 2020 14:41:44 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 071EfhfN043899; Sat, 1 Aug 2020 14:41:44 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 071Efhc5043898; Sat, 1 Aug 2020 14:41:43 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008011441.071Efhc5043898@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Sat, 1 Aug 2020 14:41:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363765 - stable/12/usr.bin/ncal X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: stable/12/usr.bin/ncal X-SVN-Commit-Revision: 363765 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 14:41:44 -0000 Author: gbe (doc committer) Date: Sat Aug 1 14:41:43 2020 New Revision: 363765 URL: https://svnweb.freebsd.org/changeset/base/363765 Log: MFC r359418 (by grog): Add STANDARDS section PR: 239723 Submitted by: gbe Reported by: gbe Modified: stable/12/usr.bin/ncal/ncal.1 Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.bin/ncal/ncal.1 ============================================================================== --- stable/12/usr.bin/ncal/ncal.1 Sat Aug 1 14:33:22 2020 (r363764) +++ stable/12/usr.bin/ncal/ncal.1 Sat Aug 1 14:41:43 2020 (r363765) @@ -179,6 +179,24 @@ Highlighting of dates is disabled if stdout is not a t .Sh SEE ALSO .Xr calendar 3 , .Xr strftime 3 +.Sh STANDARDS +The +.Nm +utility is compliant with the +X/Open System Interfaces option of the +.St -p1003.1-2008 +specification. +.Pp +The flags +.Op Fl 3hyJeopw , +as well as the ability to specify a month name as a single argument, +are extensions to that specification. +.Pp +The week number computed by +.Fl w +is compliant with the +.St -iso8601 +specification. .Sh HISTORY A .Nm From owner-svn-src-all@freebsd.org Sat Aug 1 14:58:44 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6C25C37DF70; Sat, 1 Aug 2020 14:58:44 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJnN4227jz4Pdj; Sat, 1 Aug 2020 14:58:44 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 245B814773; Sat, 1 Aug 2020 14:58:44 +0000 (UTC) (envelope-from gbe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 071EwhNj054832; Sat, 1 Aug 2020 14:58:43 GMT (envelope-from gbe@FreeBSD.org) Received: (from gbe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 071EwhbB054831; Sat, 1 Aug 2020 14:58:43 GMT (envelope-from gbe@FreeBSD.org) Message-Id: <202008011458.071EwhbB054831@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gbe set sender to gbe@FreeBSD.org using -f From: Gordon Bergling Date: Sat, 1 Aug 2020 14:58:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r363766 - stable/12/share/man/man7 X-SVN-Group: stable-12 X-SVN-Commit-Author: gbe X-SVN-Commit-Paths: stable/12/share/man/man7 X-SVN-Commit-Revision: 363766 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 14:58:44 -0000 Author: gbe (doc committer) Date: Sat Aug 1 14:58:43 2020 New Revision: 363766 URL: https://svnweb.freebsd.org/changeset/base/363766 Log: MFC r363106 (by carlavilla): Add orders man page PR: 239020 Submitted by: gbe Approved by: imp Obtained from: NetBSD Differential Revision: https://reviews.freebsd.org/D24293 Added: stable/12/share/man/man7/orders.7 - copied unchanged from r363106, head/share/man/man7/orders.7 Modified: stable/12/share/man/man7/Makefile Directory Properties: stable/12/ (props changed) Modified: stable/12/share/man/man7/Makefile ============================================================================== --- stable/12/share/man/man7/Makefile Sat Aug 1 14:41:43 2020 (r363765) +++ stable/12/share/man/man7/Makefile Sat Aug 1 14:58:43 2020 (r363766) @@ -23,6 +23,7 @@ MAN= arch.7 \ intro.7 \ maclabel.7 \ operator.7 \ + orders.7 \ ports.7 \ release.7 \ sdoc.7 \ Copied: stable/12/share/man/man7/orders.7 (from r363106, head/share/man/man7/orders.7) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/12/share/man/man7/orders.7 Sat Aug 1 14:58:43 2020 (r363766, copy of r363106, head/share/man/man7/orders.7) @@ -0,0 +1,111 @@ +.\" $NetBSD: orders.7,v 1.6 2011/08/06 11:07:18 jruoho Exp $ +.\" +.\" Copyright (c) 2010 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jukka Ruohonen. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd August 6, 2011 +.Dt ORDERS 7 +.Os +.Sh NAME +.Nm orders +.Nd orders of magnitude +.Sh DESCRIPTION +The following table lists common multiples of bytes. +.Bl -column -offset 2n \ +"Kilobyte" "Prefix" "Power of 2" "Power of 10" +.It Sy Name Ta Sy Prefix Ta Sy Power of 2 Ta Sy Power of 10 +.It Kilobyte Ta kB Ta 2^10 Ta 10^3 +.It Megabyte Ta MB Ta 2^20 Ta 10^6 +.It Gigabyte Ta GB Ta 2^30 Ta 10^9 +.It Terabyte Ta TB Ta 2^40 Ta 10^12 +.It Petabyte Ta PB Ta 2^50 Ta 10^15 +.It Exabyte Ta EB Ta 2^60 Ta 10^18 +.It Zettabyte Ta ZB Ta 2^70 Ta 10^21 +.It Yottabyte Ta YB Ta 2^80 Ta 10^24 +.El +.Pp +The following table lists common bit rates as a power of ten. +.Bl -column -offset 2n \ +"Megabit per second" "Prefix" "Bit per second" "Byte per second" +.It Sy Name Ta Sy Prefix Ta Sy Bit per second Ta Sy Byte per second +.It Bit per second Ta bit/s Ta 1 Ta 0.125 +.It Byte per second Ta B/s Ta 8 Ta 1 +.It Kilobit per second Ta kbit/s Ta 10^3 Ta 125 +.It Kilobyte per second Ta kB/s Ta 8 * 10^3 Ta 1000 +.It Megabit per second Ta Mbit/s Ta 10^6 Ta 125000 +.It Megabyte per second Ta MB/s Ta 8 * 10^6 Ta 1000000 +.It Gigabit per second Ta Gbit/s Ta 10^9 Ta 125000000 +.It Gigabyte per second Ta GB/s Ta 8 * 10^9 Ta 1000000000 +.It Terabit per second Ta Tbit/s Ta 10^12 Ta 125000000000 +.It Terabyte per second Ta TB/s Ta 8 * 10^12 Ta 1000000000000 +.El +.Pp +The following table lists common orders of magnitude as a power of ten. +.Bl -column -offset 2n \ +"Septillionth" "Order" "Prefix" "Symbol" "Decimal" +.It Sy Name Ta Sy Order Ta Sy Prefix Ta Sy Symbol Ta Sy Decimal +.It Septillionth Ta 10^-24 Ta yocto Ta y Ta 0.000000000000000000000001 +.It Sextillionth Ta 10^-21 Ta zepto Ta z Ta 0.000000000000000000001 +.It Quintillionth Ta 10^-18 Ta atto Ta a Ta 0.000000000000000001 +.It Quadrillionth Ta 10^-15 Ta femto Ta f Ta 0.000000000000001 +.It Trillionth Ta 10^-12 Ta pico Ta p Ta 0.000000000001 +.It Billionth Ta 10^-9 Ta nano Ta n Ta 0.000000001 +.It Millionth Ta 10^-6 Ta micro Ta mu Ta 0.000001 +.It Thousandth Ta 10^-3 Ta milli Ta m Ta 0.001 +.It Hundredth Ta 10^-2 Ta centi Ta c Ta 0.01 +.It Tenth Ta 10^-1 Ta deci Ta d Ta 0.1 +.It One Ta 10^0 Ta - Ta - Ta 1 +.It Ten Ta 10^1 Ta deca Ta da Ta 10 +.It Hundred Ta 10^2 Ta hecto Ta h Ta 100 +.It Thousand Ta 10^3 Ta kilo Ta k Ta 1000 +.It Million Ta 10^6 Ta mega Ta M Ta 1000000 +.It Billion Ta 10^9 Ta giga Ta G Ta 1000000000 +.It Trillion Ta 10^12 Ta tera Ta T Ta 1000000000000 +.It Quadrillion Ta 10^15 Ta peta Ta P Ta 1000000000000000 +.It Quintillion Ta 10^18 Ta exa Ta E Ta 1000000000000000000 +.It Sextillion Ta 10^21 Ta zetta Ta Z Ta 1000000000000000000000 +.It Septillion Ta 10^24 Ta yotta Ta Y Ta 1000000000000000000000000 +.El +.Sh SEE ALSO +.Xr units 1 , +.Xr number 6 +.Sh STANDARDS +There have been various attempts to standardize the set of binary prefixes. +Organizations such as International Electrotechnical Commission +.Pq Tn IEC +have proposed new prefixes such as +.Dq kibi , +.Dq mebi , +.Dq gibi , +and +.Dq yobi , +but the adoption has been slow at best. +.Sh AUTHORS +This manual page was written by +.An Jukka Ruohonen Aq Mt jruoho@netbsd.org . From owner-svn-src-all@freebsd.org Sat Aug 1 16:02:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BA4B837EDE9; Sat, 1 Aug 2020 16:02:33 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJpnj4Xbtz4Rxq; Sat, 1 Aug 2020 16:02:33 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7FD651551E; Sat, 1 Aug 2020 16:02:33 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 071G2XDj097021; Sat, 1 Aug 2020 16:02:33 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 071G2XdZ097020; Sat, 1 Aug 2020 16:02:33 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <202008011602.071G2XdZ097020@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Sat, 1 Aug 2020 16:02:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363767 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 363767 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 16:02:33 -0000 Author: mjg Date: Sat Aug 1 16:02:32 2020 New Revision: 363767 URL: https://svnweb.freebsd.org/changeset/base/363767 Log: cred: add more asserts for td_realucred == td_ucred Modified: head/sys/kern/kern_prot.c head/sys/kern/kern_thread.c Modified: head/sys/kern/kern_prot.c ============================================================================== --- head/sys/kern/kern_prot.c Sat Aug 1 14:58:43 2020 (r363766) +++ head/sys/kern/kern_prot.c Sat Aug 1 16:02:32 2020 (r363767) @@ -1881,7 +1881,8 @@ crunuse(struct thread *td) { struct ucred *cr, *crold; - cr = td->td_ucred; + MPASS(td->td_realucred == td->td_ucred); + cr = td->td_realucred; mtx_lock(&cr->cr_mtx); cr->cr_ref += td->td_ucredref; td->td_ucredref = 0; @@ -1897,6 +1898,7 @@ crunuse(struct thread *td) crold = NULL; } mtx_unlock(&cr->cr_mtx); + td->td_realucred = NULL; return (crold); } Modified: head/sys/kern/kern_thread.c ============================================================================== --- head/sys/kern/kern_thread.c Sat Aug 1 14:58:43 2020 (r363766) +++ head/sys/kern/kern_thread.c Sat Aug 1 16:02:32 2020 (r363767) @@ -543,6 +543,7 @@ thread_exit(void) (long)p->p_pid, td->td_name); SDT_PROBE0(proc, , , lwp__exit); KASSERT(TAILQ_EMPTY(&td->td_sigqueue.sq_list), ("signal pending")); + MPASS(td->td_realucred == td->td_ucred); /* * drop FPU & debug register state storage, or any other From owner-svn-src-all@freebsd.org Sat Aug 1 17:37:27 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 862F43A1925; Sat, 1 Aug 2020 17:37:27 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BJrvB5ftpz4Wnq; Sat, 1 Aug 2020 17:37:26 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wm1-x344.google.com with SMTP id k8so11934458wma.2; Sat, 01 Aug 2020 10:37:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=6UIYoSB6SRd0eBuEdOQEDINY8Facwlr/l6DQgOoS7Wc=; b=GvjGVnwlAUTX3ZH3XC+zzMQto66GndpF2yrFkoQZhzesJH/oyZanYHzRvh33xTjfSH 0XQa+HeVSRVoCjzmt08RombqTOiGKP7DKM2gBznBukgjDtKjGnUFAlym1H/dSK9DF/G/ CVdglu66hTfDj0rTb0BT4wFq5TEry7LIJsrqEDLkydNKDSPCbFqtJGX4j5Bazc9IzWHp vC67C9IpZXMS9ziHDC3SR2fzJu0RXDATwoURYJS1WOpPJLKSODId1kTxgCKhkVnozh+Z ALsLPBpf30WyIY4IRmQnTgXibcn/nxOkDCn4j12vo+/LNI1AinxclhtL0dT4l70Cqfst 2EkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=6UIYoSB6SRd0eBuEdOQEDINY8Facwlr/l6DQgOoS7Wc=; b=AzAWXZmarHQ7QrXliWwP3x8ui8J/EvKxk5JbfIdioPtWxHXd5l03D41vL++4s1SfXy T8YwQMoNyE076QrpRtgqepKxB5Iql/B+B5XMHf7U0nplEV92KZTPHDzBZbjv9dbDBlBb XRMd65k4HUykSCwUDOq7tYANxvYKBcKGCA8Btc07gPgwrMQJJ3F5QBsZUdyEMmV8isD+ JVygn8l6wIy2ATQ1JWw2hKB1EAV6UoTZBioDf0KXEhQA5mP7K/aAKyvDr2dNEWuom0zx TJFTBF8V2GVOgu1tjBob94SY95kJZpsByb9R8eLi49A2i2W0EdyibGt1cwlFYH1Qu2/D AuzQ== X-Gm-Message-State: AOAM530Rxt5bj8fnAWgt/fQID+FnukvDeF3a9k7rwNqQQ9vcdA6Nq9kg JMq/1MS5xwX8mX+WB4DOSCB+aLunKpHWwZdXop/TlA== X-Google-Smtp-Source: ABdhPJxV1UA9P8gpIAnmlWEYH+eQTzHPDMrq9WAgBpAYoRL81c1SEqVx+T67Y+RxD/uSe3uSflMWOmMwCbYJYrgUM3s= X-Received: by 2002:a1c:e90d:: with SMTP id q13mr9078536wmc.187.1596303444025; Sat, 01 Aug 2020 10:37:24 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a5d:614c:0:0:0:0:0 with HTTP; Sat, 1 Aug 2020 10:37:23 -0700 (PDT) In-Reply-To: <85d52020-3aff-7210-ace7-12ae19ad5d9a@freebsd.org> References: <202007301445.06UEj5uj062013@repo.freebsd.org> <85d52020-3aff-7210-ace7-12ae19ad5d9a@freebsd.org> From: Mateusz Guzik Date: Sat, 1 Aug 2020 19:37:23 +0200 Message-ID: Subject: Re: svn commit: r363700 - in head/sys: arm/ti arm/ti/am335x arm/ti/clk arm/ti/cpsw arm/ti/omap4 arm/ti/usb dev/uart modules To: mmel@freebsd.org Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4BJrvB5ftpz4Wnq X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2020 17:37:27 -0000 thanks for prompt response. I confirm the issue is fixed. On 8/1/20, Michal Meloun wrote: > Oups, next module dependency on autogenerated header... > Fixed in r363758. > > Thanks for report > Michal > > > On 01.08.2020 6:39, Mateusz Guzik wrote: >> This breaks tinderbox for several arm kernels. >> >> On 7/30/20, Michal Meloun wrote: >>> Author: mmel >>> Date: Thu Jul 30 14:45:05 2020 >>> New Revision: 363700 >>> URL: https://svnweb.freebsd.org/changeset/base/363700 >>> >>> Log: >>> Move Ti AM335x to dev/extres/clk framework. >>> >>> Re-implement clocks for these SoC by using now standard extres/clk >>> framework. >>> This is necessary for future expansion of these. The new >>> implementation >>> is (due to the size of the patch) only the initial (minimum) version. >>> It will be updated/expanded with a subsequent set of particular >>> patches. >>> >>> This patch is also not tested on OMAP4 based boards (BeagleBone), >>> so all possible issues should be (and will be) fixed by ASAP once >>> identified. >>> >>> Submited by: Oskar Holmlund (oskar.holmlund@ohdata.se) >>> Differential Revision: https://reviews.freebsd.org/D25118 >>> >>> Added: >>> head/sys/arm/ti/am335x/am3359_cppi41.c (contents, props changed) >>> head/sys/arm/ti/am335x/am335x_usb_phy.c (contents, props changed) >>> head/sys/arm/ti/clk/ >>> head/sys/arm/ti/clk/clock_common.c (contents, props changed) >>> head/sys/arm/ti/clk/clock_common.h (contents, props changed) >>> head/sys/arm/ti/clk/ti_clk_clkctrl.c (contents, props changed) >>> head/sys/arm/ti/clk/ti_clk_clkctrl.h (contents, props changed) >>> head/sys/arm/ti/clk/ti_clk_dpll.c (contents, props changed) >>> head/sys/arm/ti/clk/ti_clk_dpll.h (contents, props changed) >>> head/sys/arm/ti/clk/ti_clkctrl.c (contents, props changed) >>> head/sys/arm/ti/clk/ti_divider_clock.c (contents, props changed) >>> head/sys/arm/ti/clk/ti_dpll_clock.c (contents, props changed) >>> head/sys/arm/ti/clk/ti_gate_clock.c (contents, props changed) >>> head/sys/arm/ti/clk/ti_mux_clock.c (contents, props changed) >>> head/sys/arm/ti/ti_omap4_cm.c (contents, props changed) >>> head/sys/arm/ti/ti_omap4_cm.h (contents, props changed) >>> head/sys/arm/ti/ti_prm.c (contents, props changed) >>> head/sys/arm/ti/ti_prm.h (contents, props changed) >>> head/sys/arm/ti/ti_scm_syscon.c (contents, props changed) >>> head/sys/arm/ti/ti_sysc.h (contents, props changed) >>> Deleted: >>> head/sys/arm/ti/am335x/am335x_prcm.c >>> head/sys/arm/ti/am335x/am335x_usbss.c >>> head/sys/arm/ti/ti_hwmods.c >>> head/sys/arm/ti/ti_hwmods.h >>> Modified: >>> head/sys/arm/ti/am335x/am335x_dmtimer.c >>> head/sys/arm/ti/am335x/am335x_dmtpps.c >>> head/sys/arm/ti/am335x/am335x_dmtreg.h >>> head/sys/arm/ti/am335x/am335x_gpio.c >>> head/sys/arm/ti/am335x/am335x_lcd.c >>> head/sys/arm/ti/am335x/am335x_musb.c >>> head/sys/arm/ti/am335x/am335x_pwmss.c >>> head/sys/arm/ti/am335x/am335x_rtc.c >>> head/sys/arm/ti/am335x/am335x_scm.c >>> head/sys/arm/ti/am335x/files.am335x >>> head/sys/arm/ti/cpsw/if_cpsw.c >>> head/sys/arm/ti/files.ti >>> head/sys/arm/ti/omap4/files.omap4 >>> head/sys/arm/ti/ti_adc.c >>> head/sys/arm/ti/ti_edma3.c >>> head/sys/arm/ti/ti_gpio.c >>> head/sys/arm/ti/ti_i2c.c >>> head/sys/arm/ti/ti_mbox.c >>> head/sys/arm/ti/ti_pinmux.c >>> head/sys/arm/ti/ti_prcm.c >>> head/sys/arm/ti/ti_prcm.h >>> head/sys/arm/ti/ti_pruss.c >>> head/sys/arm/ti/ti_scm.c >>> head/sys/arm/ti/ti_sdhci.c >>> head/sys/arm/ti/ti_sdma.c >>> head/sys/arm/ti/ti_spi.c >>> head/sys/arm/ti/ti_sysc.c >>> head/sys/arm/ti/ti_wdt.c >>> head/sys/arm/ti/usb/omap_ehci.c >>> head/sys/arm/ti/usb/omap_host.c >>> head/sys/arm/ti/usb/omap_tll.c >>> head/sys/dev/uart/uart_dev_ti8250.c >>> head/sys/modules/Makefile >>> >>> Added: head/sys/arm/ti/am335x/am3359_cppi41.c >>> ============================================================================== >>> --- /dev/null 00:00:00 1970 (empty, because file is newly added) >>> +++ head/sys/arm/ti/am335x/am3359_cppi41.c Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -0,0 +1,192 @@ >>> +/*- >>> + * Copyright (c) 2019 Emmanuel Vadot >>> + * >>> + * Copyright (c) 2020 Oskar Holmlund >>> + * >>> + * Redistribution and use in source and binary forms, with or without >>> + * modification, are permitted provided that the following conditions >>> + * are met: >>> + * 1. Redistributions of source code must retain the above copyright >>> + * notice, this list of conditions and the following disclaimer. >>> + * 2. Redistributions in binary form must reproduce the above copyright >>> + * notice, this list of conditions and the following disclaimer in >>> the >>> + * documentation and/or other materials provided with the >>> distribution. >>> + * >>> + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR >>> + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >>> WARRANTIES >>> + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >>> DISCLAIMED. >>> + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, >>> + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, >>> + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; >>> + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER >>> CAUSED >>> + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT >>> LIABILITY, >>> + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY >>> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY >>> OF >>> + * SUCH DAMAGE. >>> + * >>> + * $FreeBSD$ >>> + */ >>> +/* Based on sys/arm/ti/ti_sysc.c */ >>> + >>> +#include >>> +__FBSDID("$FreeBSD$"); >>> + >>> +#include >>> +#include >>> +#include >>> +#include >>> +#include >>> +#include >>> +#include >>> +#include >>> +#include >>> + >>> +#include >>> +#include >>> + >>> +#include >>> + >>> +#include >>> +#include >>> +#include >>> + >>> +#include >>> + >>> +#if 0 >>> +#define DPRINTF(dev, msg...) device_printf(dev, msg) >>> +#else >>> +#define DPRINTF(dev, msg...) >>> +#endif >>> + >>> +struct ti_am3359_cppi41_softc { >>> + device_t dev; >>> + struct syscon * syscon; >>> + struct resource * res[4]; >>> + bus_space_tag_t bst; >>> + bus_space_handle_t bsh; >>> + struct mtx mtx; >>> +}; >>> + >>> +static struct resource_spec ti_am3359_cppi41_res_spec[] = { >>> + { SYS_RES_MEMORY, 0, RF_ACTIVE | RF_SHAREABLE }, >>> + { SYS_RES_MEMORY, 1, RF_ACTIVE | RF_SHAREABLE }, >>> + { SYS_RES_MEMORY, 2, RF_ACTIVE | RF_SHAREABLE }, >>> + { SYS_RES_MEMORY, 3, RF_ACTIVE | RF_SHAREABLE }, >>> + { -1, 0 } >>> +}; >>> + >>> +/* Device */ >>> +static struct ofw_compat_data compat_data[] = { >>> + { "ti,am3359-cppi41", 1 }, >>> + { NULL, 0 } >>> +}; >>> + >>> +static int >>> +ti_am3359_cppi41_write_4(device_t dev, bus_addr_t addr, uint32_t val) >>> +{ >>> + struct ti_am3359_cppi41_softc *sc; >>> + >>> + sc = device_get_softc(dev); >>> + DPRINTF(sc->dev, "offset=%lx write %x\n", addr, val); >>> + mtx_lock(&sc->mtx); >>> + bus_space_write_4(sc->bst, sc->bsh, addr, val); >>> + mtx_unlock(&sc->mtx); >>> + return (0); >>> +} >>> + >>> +static uint32_t >>> +ti_am3359_cppi41_read_4(device_t dev, bus_addr_t addr) >>> +{ >>> + struct ti_am3359_cppi41_softc *sc; >>> + uint32_t val; >>> + >>> + sc = device_get_softc(dev); >>> + >>> + mtx_lock(&sc->mtx); >>> + val = bus_space_read_4(sc->bst, sc->bsh, addr); >>> + mtx_unlock(&sc->mtx); >>> + DPRINTF(sc->dev, "offset=%lx Read %x\n", addr, val); >>> + return (val); >>> +} >>> + >>> +/* device interface */ >>> +static int >>> +ti_am3359_cppi41_probe(device_t dev) >>> +{ >>> + if (!ofw_bus_status_okay(dev)) >>> + return (ENXIO); >>> + >>> + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) >>> + return (ENXIO); >>> + >>> + device_set_desc(dev, "TI AM3359 CPPI 41"); >>> + return(BUS_PROBE_DEFAULT); >>> +} >>> + >>> +static int >>> +ti_am3359_cppi41_attach(device_t dev) >>> +{ >>> + struct ti_am3359_cppi41_softc *sc; >>> + phandle_t node; >>> + uint32_t reg, reset_bit, timeout=10; >>> + uint64_t sysc_address; >>> + device_t parent; >>> + >>> + sc = device_get_softc(dev); >>> + sc->dev = dev; >>> + >>> + if (bus_alloc_resources(dev, ti_am3359_cppi41_res_spec, sc->res)) { >>> + device_printf(sc->dev, "Cant allocate resources\n"); >>> + return (ENXIO); >>> + } >>> + >>> + sc->dev = dev; >>> + sc->bst = rman_get_bustag(sc->res[0]); >>> + sc->bsh = rman_get_bushandle(sc->res[0]); >>> + >>> + mtx_init(&sc->mtx, device_get_nameunit(sc->dev), NULL, MTX_DEF); >>> + node = ofw_bus_get_node(sc->dev); >>> + >>> + /* variant of am335x_usbss.c */ >>> + DPRINTF(dev, "-- RESET USB --\n"); >>> + parent = device_get_parent(dev); >>> + reset_bit = ti_sysc_get_soft_reset_bit(parent); >>> + if (reset_bit == 0) { >>> + DPRINTF(dev, "Dont have reset bit\n"); >>> + return (0); >>> + } >>> + sysc_address = ti_sysc_get_sysc_address_offset_host(parent); >>> + DPRINTF(dev, "sysc_address %x\n", sysc_address); >>> + ti_am3359_cppi41_write_4(dev, sysc_address, reset_bit); >>> + DELAY(100); >>> + reg = ti_am3359_cppi41_read_4(dev, sysc_address); >>> + if ((reg & reset_bit) && timeout--) { >>> + DPRINTF(dev, "Reset still ongoing - wait a little bit longer\n"); >>> + DELAY(100); >>> + reg = ti_am3359_cppi41_read_4(dev, sysc_address); >>> + } >>> + if (timeout == 0) >>> + device_printf(dev, "USB Reset timeout\n"); >>> + >>> + return (0); >>> +} >>> + >>> + >>> +static device_method_t ti_am3359_cppi41_methods[] = { >>> + DEVMETHOD(device_probe, ti_am3359_cppi41_probe), >>> + DEVMETHOD(device_attach, ti_am3359_cppi41_attach), >>> + >>> + DEVMETHOD_END >>> +}; >>> + >>> + >>> +DEFINE_CLASS_1(ti_am3359_cppi41, ti_am3359_cppi41_driver, >>> + ti_am3359_cppi41_methods,sizeof(struct ti_am3359_cppi41_softc), >>> + simplebus_driver); >>> + >>> +static devclass_t ti_am3359_cppi41_devclass; >>> + >>> +EARLY_DRIVER_MODULE(ti_am3359_cppi41, simplebus, >>> ti_am3359_cppi41_driver, >>> + ti_am3359_cppi41_devclass, 0, 0, BUS_PASS_BUS + >>> BUS_PASS_ORDER_MIDDLE); >>> +MODULE_VERSION(ti_am3359_cppi41, 1); >>> +MODULE_DEPEND(ti_am3359_cppi41, ti_sysc, 1, 1, 1); >>> >>> Modified: head/sys/arm/ti/am335x/am335x_dmtimer.c >>> ============================================================================== >>> --- head/sys/arm/ti/am335x/am335x_dmtimer.c Thu Jul 30 14:42:50 >>> 2020 (r363699) >>> +++ head/sys/arm/ti/am335x/am335x_dmtimer.c Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -42,12 +42,13 @@ __FBSDID("$FreeBSD$"); >>> >>> #include /* For arm_set_delay */ >>> >>> +#include >>> + >>> #include >>> #include >>> #include >>> >>> -#include >>> -#include >>> +#include >>> >>> #include "am335x_dmtreg.h" >>> >>> @@ -58,7 +59,8 @@ struct am335x_dmtimer_softc { >>> int tmr_irq_rid; >>> struct resource * tmr_irq_res; >>> void *tmr_irq_handler; >>> - uint32_t sysclk_freq; >>> + clk_t clk_fck; >>> + uint64_t sysclk_freq; >>> uint32_t tclr; /* Cached TCLR register. */ >>> union { >>> struct timecounter tc; >>> @@ -251,6 +253,7 @@ am335x_dmtimer_probe(device_t dev) >>> { >>> char strbuf[32]; >>> int tmr_num; >>> + uint64_t rev_address; >>> >>> if (!ofw_bus_status_okay(dev)) >>> return (ENXIO); >>> @@ -259,13 +262,22 @@ am335x_dmtimer_probe(device_t dev) >>> return (ENXIO); >>> >>> /* >>> - * Get the hardware unit number (the N from ti,hwmods="timerN"). >>> + * Get the hardware unit number from address of rev register. >>> * If this isn't the hardware unit we're going to use for either the >>> * eventtimer or the timecounter, no point in instantiating the >>> device. >>> */ >>> - tmr_num = ti_hwmods_get_unit(dev, "timer"); >>> - if (tmr_num != ET_TMR_NUM && tmr_num != TC_TMR_NUM) >>> - return (ENXIO); >>> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >>> + switch (rev_address) { >>> + case DMTIMER2_REV: >>> + tmr_num = 2; >>> + break; >>> + case DMTIMER3_REV: >>> + tmr_num = 3; >>> + break; >>> + default: >>> + /* Not DMTIMER2 or DMTIMER3 */ >>> + return (ENXIO); >>> + } >>> >>> snprintf(strbuf, sizeof(strbuf), "AM335x DMTimer%d", tmr_num); >>> device_set_desc_copy(dev, strbuf); >>> @@ -277,24 +289,47 @@ static int >>> am335x_dmtimer_attach(device_t dev) >>> { >>> struct am335x_dmtimer_softc *sc; >>> - clk_ident_t timer_id; >>> int err; >>> + uint64_t rev_address; >>> + clk_t sys_clkin; >>> >>> sc = device_get_softc(dev); >>> sc->dev = dev; >>> >>> - /* Get the base clock frequency. */ >>> - if ((err = ti_prcm_clk_get_source_freq(SYS_CLK, &sc->sysclk_freq)) != >>> 0) >>> - return (err); >>> + /* expect one clock */ >>> + err = clk_get_by_ofw_index(dev, 0, 0, &sc->clk_fck); >>> + if (err != 0) { >>> + device_printf(dev, "Cant find clock index 0. err: %d\n", err); >>> + return (ENXIO); >>> + } >>> >>> + err = clk_get_by_name(dev, "sys_clkin_ck@40", &sys_clkin); >>> + if (err != 0) { >>> + device_printf(dev, "Cant find sys_clkin_ck@40 err: %d\n", err); >>> + return (ENXIO); >>> + } >>> + >>> + /* Select M_OSC as DPLL parent */ >>> + err = clk_set_parent_by_clk(sc->clk_fck, sys_clkin); >>> + if (err != 0) { >>> + device_printf(dev, "Cant set mux to CLK_M_OSC\n"); >>> + return (ENXIO); >>> + } >>> + >>> /* Enable clocks and power on the device. */ >>> - if ((timer_id = ti_hwmods_get_clock(dev)) == INVALID_CLK_IDENT) >>> + err = ti_sysc_clock_enable(device_get_parent(dev)); >>> + if (err != 0) { >>> + device_printf(dev, "Cant enable sysc clkctrl, err %d\n", err); >>> return (ENXIO); >>> - if ((err = ti_prcm_clk_set_source(timer_id, SYSCLK_CLK)) != 0) >>> - return (err); >>> - if ((err = ti_prcm_clk_enable(timer_id)) != 0) >>> - return (err); >>> + } >>> >>> + /* Get the base clock frequency. */ >>> + err = clk_get_freq(sc->clk_fck, &sc->sysclk_freq); >>> + if (err != 0) { >>> + device_printf(dev, "Cant get sysclk frequency, err %d\n", err); >>> + return (ENXIO); >>> + } >>> + >>> /* Request the memory resources. */ >>> sc->tmr_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, >>> &sc->tmr_mem_rid, RF_ACTIVE); >>> @@ -302,7 +337,20 @@ am335x_dmtimer_attach(device_t dev) >>> return (ENXIO); >>> } >>> >>> - sc->tmr_num = ti_hwmods_get_unit(dev, "timer"); >>> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >>> + switch (rev_address) { >>> + case DMTIMER2_REV: >>> + sc->tmr_num = 2; >>> + break; >>> + case DMTIMER3_REV: >>> + sc->tmr_num = 3; >>> + break; >>> + default: >>> + device_printf(dev, "Not timer 2 or 3! %#jx\n", >>> + rev_address); >>> + return (ENXIO); >>> + } >>> + >>> snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", >>> sc->tmr_num); >>> >>> /* >>> @@ -334,7 +382,7 @@ static driver_t am335x_dmtimer_driver = { >>> static devclass_t am335x_dmtimer_devclass; >>> >>> DRIVER_MODULE(am335x_dmtimer, simplebus, am335x_dmtimer_driver, >>> am335x_dmtimer_devclass, 0, 0); >>> -MODULE_DEPEND(am335x_dmtimer, am335x_prcm, 1, 1, 1); >>> +MODULE_DEPEND(am335x_dmtimer, ti_sysc, 1, 1, 1); >>> >>> static void >>> am335x_dmtimer_delay(int usec, void *arg) >>> >>> Modified: head/sys/arm/ti/am335x/am335x_dmtpps.c >>> ============================================================================== >>> --- head/sys/arm/ti/am335x/am335x_dmtpps.c Thu Jul 30 14:42:50 >>> 2020 (r363699) >>> +++ head/sys/arm/ti/am335x/am335x_dmtpps.c Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -43,6 +43,8 @@ >>> #include >>> __FBSDID("$FreeBSD$"); >>> >>> +#include "opt_platform.h" >>> + >>> #include >>> #include >>> #include >>> @@ -60,9 +62,9 @@ __FBSDID("$FreeBSD$"); >>> #include >>> #include >>> #include >>> +#include >>> >>> -#include >>> -#include >>> +#include >>> #include >>> #include >>> >>> @@ -82,6 +84,8 @@ struct dmtpps_softc { >>> struct cdev * pps_cdev; >>> struct pps_state pps_state; >>> struct mtx pps_mtx; >>> + clk_t clk_fck; >>> + uint64_t sysclk_freq; >>> }; >>> >>> static int dmtpps_tmr_num; /* Set by probe() */ >>> @@ -383,6 +387,7 @@ dmtpps_probe(device_t dev) >>> { >>> char strbuf[64]; >>> int tmr_num; >>> + uint64_t rev_address; >>> >>> if (!ofw_bus_status_okay(dev)) >>> return (ENXIO); >>> @@ -402,7 +407,33 @@ dmtpps_probe(device_t dev) >>> * Figure out which hardware timer is being probed and see if it >>> matches >>> * the configured timer number determined earlier. >>> */ >>> - tmr_num = ti_hwmods_get_unit(dev, "timer"); >>> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >>> + switch (rev_address) { >>> + case DMTIMER1_1MS_REV: >>> + tmr_num = 1; >>> + break; >>> + case DMTIMER2_REV: >>> + tmr_num = 2; >>> + break; >>> + case DMTIMER3_REV: >>> + tmr_num = 3; >>> + break; >>> + case DMTIMER4_REV: >>> + tmr_num = 4; >>> + break; >>> + case DMTIMER5_REV: >>> + tmr_num = 5; >>> + break; >>> + case DMTIMER6_REV: >>> + tmr_num = 6; >>> + break; >>> + case DMTIMER7_REV: >>> + tmr_num = 7; >>> + break; >>> + default: >>> + return (ENXIO); >>> + } >>> + >>> if (dmtpps_tmr_num != tmr_num) >>> return (ENXIO); >>> >>> @@ -418,23 +449,73 @@ dmtpps_attach(device_t dev) >>> { >>> struct dmtpps_softc *sc; >>> struct make_dev_args mda; >>> - clk_ident_t timer_id; >>> - int err, sysclk_freq; >>> + int err; >>> + clk_t sys_clkin; >>> + uint64_t rev_address; >>> >>> sc = device_get_softc(dev); >>> sc->dev = dev; >>> >>> - /* Get the base clock frequency. */ >>> - err = ti_prcm_clk_get_source_freq(SYS_CLK, &sysclk_freq); >>> + /* Figure out which hardware timer this is and set the name string. */ >>> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >>> + switch (rev_address) { >>> + case DMTIMER1_1MS_REV: >>> + sc->tmr_num = 1; >>> + break; >>> + case DMTIMER2_REV: >>> + sc->tmr_num = 2; >>> + break; >>> + case DMTIMER3_REV: >>> + sc->tmr_num = 3; >>> + break; >>> + case DMTIMER4_REV: >>> + sc->tmr_num = 4; >>> + break; >>> + case DMTIMER5_REV: >>> + sc->tmr_num = 5; >>> + break; >>> + case DMTIMER6_REV: >>> + sc->tmr_num = 6; >>> + break; >>> + case DMTIMER7_REV: >>> + sc->tmr_num = 7; >>> + break; >>> + } >>> + snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", >>> sc->tmr_num); >>> >>> + /* expect one clock */ >>> + err = clk_get_by_ofw_index(dev, 0, 0, &sc->clk_fck); >>> + if (err != 0) { >>> + device_printf(dev, "Cant find clock index 0. err: %d\n", err); >>> + return (ENXIO); >>> + } >>> + >>> + err = clk_get_by_name(dev, "sys_clkin_ck@40", &sys_clkin); >>> + if (err != 0) { >>> + device_printf(dev, "Cant find sys_clkin_ck@40 err: %d\n", err); >>> + return (ENXIO); >>> + } >>> + >>> + /* Select M_OSC as DPLL parent */ >>> + err = clk_set_parent_by_clk(sc->clk_fck, sys_clkin); >>> + if (err != 0) { >>> + device_printf(dev, "Cant set mux to CLK_M_OSC\n"); >>> + return (ENXIO); >>> + } >>> + >>> /* Enable clocks and power on the device. */ >>> - if ((timer_id = ti_hwmods_get_clock(dev)) == INVALID_CLK_IDENT) >>> + err = ti_sysc_clock_enable(device_get_parent(dev)); >>> + if (err != 0) { >>> + device_printf(dev, "Cant enable sysc clkctrl, err %d\n", err); >>> return (ENXIO); >>> - if ((err = ti_prcm_clk_set_source(timer_id, SYSCLK_CLK)) != 0) >>> - return (err); >>> - if ((err = ti_prcm_clk_enable(timer_id)) != 0) >>> - return (err); >>> + } >>> >>> + /* Get the base clock frequency. */ >>> + err = clk_get_freq(sc->clk_fck, &sc->sysclk_freq); >>> + if (err != 0) { >>> + device_printf(dev, "Cant get sysclk frequency, err %d\n", err); >>> + return (ENXIO); >>> + } >>> /* Request the memory resources. */ >>> sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, >>> &sc->mem_rid, RF_ACTIVE); >>> @@ -442,10 +523,6 @@ dmtpps_attach(device_t dev) >>> return (ENXIO); >>> } >>> >>> - /* Figure out which hardware timer this is and set the name string. */ >>> - sc->tmr_num = ti_hwmods_get_unit(dev, "timer"); >>> - snprintf(sc->tmr_name, sizeof(sc->tmr_name), "DMTimer%d", >>> sc->tmr_num); >>> - >>> /* >>> * Configure the timer pulse/capture pin to input/capture mode. This >>> is >>> * required in addition to configuring the pin as input with the >>> pinmux >>> @@ -468,7 +545,7 @@ dmtpps_attach(device_t dev) >>> sc->tc.tc_name = sc->tmr_name; >>> sc->tc.tc_get_timecount = dmtpps_get_timecount; >>> sc->tc.tc_counter_mask = ~0u; >>> - sc->tc.tc_frequency = sysclk_freq; >>> + sc->tc.tc_frequency = sc->sysclk_freq; >>> sc->tc.tc_quality = 1000; >>> sc->tc.tc_priv = sc; >>> >>> @@ -541,5 +618,4 @@ static driver_t dmtpps_driver = { >>> static devclass_t dmtpps_devclass; >>> >>> DRIVER_MODULE(am335x_dmtpps, simplebus, dmtpps_driver, dmtpps_devclass, >>> 0, >>> 0); >>> -MODULE_DEPEND(am335x_dmtpps, am335x_prcm, 1, 1, 1); >>> - >>> +MODULE_DEPEND(am335x_dmtpps, ti_sysc, 1, 1, 1); >>> >>> Modified: head/sys/arm/ti/am335x/am335x_dmtreg.h >>> ============================================================================== >>> --- head/sys/arm/ti/am335x/am335x_dmtreg.h Thu Jul 30 14:42:50 >>> 2020 (r363699) >>> +++ head/sys/arm/ti/am335x/am335x_dmtreg.h Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -73,4 +73,16 @@ >>> #define DMT_TSICR_RESET (1 << 1) /* TSICR perform soft reset */ >>> #define DMT_TCAR2 0x48 /* Capture Reg */ >>> >>> +/* Location of revision register from TRM Memory map chapter 2 */ >>> +/* L4_WKUP */ >>> +#define DMTIMER0_REV 0x05000 >>> +#define DMTIMER1_1MS_REV 0x31000 >>> +/* L4_PER */ >>> +#define DMTIMER2_REV 0x40000 >>> +#define DMTIMER3_REV 0x42000 >>> +#define DMTIMER4_REV 0x44000 >>> +#define DMTIMER5_REV 0x46000 >>> +#define DMTIMER6_REV 0x48000 >>> +#define DMTIMER7_REV 0x4A000 >>> + >>> #endif /* AM335X_DMTREG_H */ >>> >>> Modified: head/sys/arm/ti/am335x/am335x_gpio.c >>> ============================================================================== >>> --- head/sys/arm/ti/am335x/am335x_gpio.c Thu Jul 30 14:42:50 >>> 2020 (r363699) >>> +++ head/sys/arm/ti/am335x/am335x_gpio.c Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -155,3 +155,4 @@ DEFINE_CLASS_1(gpio, am335x_gpio_driver, >>> am335x_gpio_m >>> sizeof(struct ti_gpio_softc), ti_gpio_driver); >>> DRIVER_MODULE(am335x_gpio, simplebus, am335x_gpio_driver, >>> am335x_gpio_devclass, >>> 0, 0); >>> +MODULE_DEPEND(am335x_gpio, ti_sysc, 1, 1, 1); >>> >>> Modified: head/sys/arm/ti/am335x/am335x_lcd.c >>> ============================================================================== >>> --- head/sys/arm/ti/am335x/am335x_lcd.c Thu Jul 30 14:42:50 >>> 2020 (r363699) >>> +++ head/sys/arm/ti/am335x/am335x_lcd.c Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -50,6 +50,8 @@ __FBSDID("$FreeBSD$"); >>> >>> #include >>> >>> +#include >>> + >>> #include >>> #include >>> #include >>> @@ -65,7 +67,7 @@ __FBSDID("$FreeBSD$"); >>> #include >>> #endif >>> >>> -#include >>> +#include >>> #include >>> >>> #include "am335x_lcd.h" >>> @@ -219,6 +221,9 @@ struct am335x_lcd_softc { >>> /* HDMI framer */ >>> phandle_t sc_hdmi_framer; >>> eventhandler_tag sc_hdmi_evh; >>> + >>> + /* Clock */ >>> + clk_t sc_clk_dpll_disp_ck; >>> }; >>> >>> static void >>> @@ -615,24 +620,28 @@ am335x_lcd_configure(struct am335x_lcd_softc *sc) >>> uint32_t hbp, hfp, hsw; >>> uint32_t vbp, vfp, vsw; >>> uint32_t width, height; >>> - unsigned int ref_freq; >>> + uint64_t ref_freq; >>> int err; >>> >>> /* >>> * try to adjust clock to get double of requested frequency >>> * HDMI/DVI displays are very sensitive to error in frequncy value >>> */ >>> - if (ti_prcm_clk_set_source_freq(LCDC_CLK, >>> sc->sc_panel.panel_pxl_clk*2)) >>> { >>> + >>> + err = clk_set_freq(sc->sc_clk_dpll_disp_ck, >>> sc->sc_panel.panel_pxl_clk*2, >>> + CLK_SET_ROUND_ANY); >>> + if (err != 0) { >>> device_printf(sc->sc_dev, "can't set source frequency\n"); >>> return (ENXIO); >>> } >>> >>> - if (ti_prcm_clk_get_source_freq(LCDC_CLK, &ref_freq)) { >>> + err = clk_get_freq(sc->sc_clk_dpll_disp_ck, &ref_freq); >>> + if (err != 0) { >>> device_printf(sc->sc_dev, "can't get reference frequency\n"); >>> return (ENXIO); >>> } >>> >>> - /* Panle initialization */ >>> + /* Panel initialization */ >>> dma_size = >>> round_page(sc->sc_panel.panel_width*sc->sc_panel.panel_height*sc->sc_panel.bpp/8); >>> >>> /* >>> @@ -967,6 +976,13 @@ am335x_lcd_attach(device_t dev) >>> return (ENXIO); >>> } >>> >>> + /* Fixme: Cant find any reference in DTS for dpll_disp_ck@498 for now. >>> */ >>> + err = clk_get_by_name(dev, "dpll_disp_ck@498", >>> &sc->sc_clk_dpll_disp_ck); >>> + if (err != 0) { >>> + device_printf(dev, "Cant get dpll_disp_ck@49\n"); >>> + return (ENXIO); >>> + } >>> + >>> sc->sc_panel.ac_bias = 255; >>> sc->sc_panel.ac_bias_intrpt = 0; >>> sc->sc_panel.dma_burst_sz = 16; >>> @@ -989,7 +1005,11 @@ am335x_lcd_attach(device_t dev) >>> } >>> } >>> >>> - ti_prcm_clk_enable(LCDC_CLK); >>> + err = ti_sysc_clock_enable(device_get_parent(dev)); >>> + if (err != 0) { >>> + device_printf(dev, "Failed to enable sysc clkctrl, err %d\n", err); >>> + return (ENXIO); >>> + } >>> >>> rid = 0; >>> sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, >>> @@ -1081,3 +1101,4 @@ static devclass_t am335x_lcd_devclass; >>> DRIVER_MODULE(am335x_lcd, simplebus, am335x_lcd_driver, >>> am335x_lcd_devclass, 0, 0); >>> MODULE_VERSION(am335x_lcd, 1); >>> MODULE_DEPEND(am335x_lcd, simplebus, 1, 1, 1); >>> +MODULE_DEPEND(am335x_lcd, ti_sysc, 1, 1, 1); >>> >>> Modified: head/sys/arm/ti/am335x/am335x_musb.c >>> ============================================================================== >>> --- head/sys/arm/ti/am335x/am335x_musb.c Thu Jul 30 14:42:50 >>> 2020 (r363699) >>> +++ head/sys/arm/ti/am335x/am335x_musb.c Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -66,9 +66,11 @@ __FBSDID("$FreeBSD$"); >>> >>> #include >>> >>> -#include >>> -#include >>> #include >>> +#include >>> +#include >>> +#include >>> +#include "syscon_if.h" >>> >>> #define USBCTRL_REV 0x00 >>> #define USBCTRL_CTRL 0x14 >>> @@ -130,6 +132,7 @@ struct musbotg_super_softc { >>> struct musbotg_softc sc_otg; >>> struct resource *sc_mem_res[2]; >>> int sc_irq_rid; >>> + struct syscon *syscon; >>> }; >>> >>> static void >>> @@ -155,30 +158,33 @@ static void >>> musbotg_clocks_on(void *arg) >>> { >>> struct musbotg_softc *sc; >>> - uint32_t c, reg; >>> + struct musbotg_super_softc *ssc; >>> + uint32_t reg; >>> >>> sc = arg; >>> - reg = USB_CTRL[sc->sc_id]; >>> + ssc = sc->sc_platform_data; >>> >>> - ti_scm_reg_read_4(reg, &c); >>> - c &= ~3; /* Enable power */ >>> - c |= 1 << 19; /* VBUS detect enable */ >>> - c |= 1 << 20; /* Session end enable */ >>> - ti_scm_reg_write_4(reg, c); >>> + reg = SYSCON_READ_4(ssc->syscon, USB_CTRL[sc->sc_id]); >>> + reg &= ~3; /* Enable power */ >>> + reg |= 1 << 19; /* VBUS detect enable */ >>> + reg |= 1 << 20; /* Session end enable */ >>> + >>> + SYSCON_WRITE_4(ssc->syscon, USB_CTRL[sc->sc_id], reg); >>> } >>> >>> static void >>> musbotg_clocks_off(void *arg) >>> { >>> struct musbotg_softc *sc; >>> - uint32_t c, reg; >>> + struct musbotg_super_softc *ssc; >>> + uint32_t reg; >>> >>> sc = arg; >>> - reg = USB_CTRL[sc->sc_id]; >>> + ssc = sc->sc_platform_data; >>> >>> /* Disable power to PHY */ >>> - ti_scm_reg_read_4(reg, &c); >>> - ti_scm_reg_write_4(reg, c | 3); >>> + reg = SYSCON_READ_4(ssc->syscon, USB_CTRL[sc->sc_id]); >>> + SYSCON_WRITE_4(ssc->syscon, USB_CTRL[sc->sc_id], reg | 3); >>> } >>> >>> static void >>> @@ -241,9 +247,42 @@ musbotg_attach(device_t dev) >>> char mode[16]; >>> int err; >>> uint32_t reg; >>> + phandle_t opp_table; >>> + clk_t clk_usbotg_fck; >>> >>> sc->sc_otg.sc_id = device_get_unit(dev); >>> >>> + /* FIXME: The devicetree needs to be updated to get a handle to the >>> gate >>> + * usbotg_fck@47c. see TRM 8.1.12.2 CM_WKUP CM_CLKDCOLDO_DPLL_PER. >>> + */ >>> + err = clk_get_by_name(dev, "usbotg_fck@47c", &clk_usbotg_fck); >>> + if (err) { >>> + device_printf(dev, "Can not find usbotg_fck@47c\n"); >>> + return (ENXIO); >>> + } >>> + >>> + err = clk_enable(clk_usbotg_fck); >>> + if (err) { >>> + device_printf(dev, "Can not enable usbotg_fck@47c\n"); >>> + return (ENXIO); >>> + } >>> + >>> + /* FIXME: For now; Go and kidnap syscon from opp-table */ >>> + opp_table = OF_finddevice("/opp-table"); >>> + if (opp_table == -1) { >>> + device_printf(dev, "Cant find /opp-table\n"); >>> + return (ENXIO); >>> + } >>> + if (!OF_hasprop(opp_table, "syscon")) { >>> + device_printf(dev, "/opp-table missing syscon property\n"); >>> + return (ENXIO); >>> + } >>> + err = syscon_get_by_ofw_property(dev, opp_table, "syscon", >>> &sc->syscon); >>> + if (err) { >>> + device_printf(dev, "Failed to get syscon\n"); >>> + return (ENXIO); >>> + } >>> + >>> /* Request the memory resources */ >>> err = bus_alloc_resources(dev, am335x_musbotg_mem_spec, >>> sc->sc_mem_res); >>> @@ -417,5 +456,7 @@ static driver_t musbotg_driver = { >>> >>> static devclass_t musbotg_devclass; >>> >>> -DRIVER_MODULE(musbotg, usbss, musbotg_driver, musbotg_devclass, 0, 0); >>> -MODULE_DEPEND(musbotg, usbss, 1, 1, 1); >>> +DRIVER_MODULE(musbotg, ti_sysc, musbotg_driver, musbotg_devclass, 0, >>> 0); >>> +MODULE_DEPEND(musbotg, ti_sysc, 1, 1, 1); >>> +MODULE_DEPEND(musbotg, ti_am3359_cppi41, 1, 1, 1); >>> +MODULE_DEPEND(usbss, usb, 1, 1, 1); >>> >>> Modified: head/sys/arm/ti/am335x/am335x_pwmss.c >>> ============================================================================== >>> --- head/sys/arm/ti/am335x/am335x_pwmss.c Thu Jul 30 14:42:50 >>> 2020 (r363699) >>> +++ head/sys/arm/ti/am335x/am335x_pwmss.c Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -46,10 +46,11 @@ __FBSDID("$FreeBSD$"); >>> #include >>> #include >>> >>> -#include >>> -#include >>> -#include >>> +#include >>> >>> +#include >>> +#include "syscon_if.h" >>> + >>> #include "am335x_pwm.h" >>> #include "am335x_scm.h" >>> >>> @@ -59,6 +60,11 @@ __FBSDID("$FreeBSD$"); >>> #define CLKCONFIG_EPWMCLK_EN (1 << 8) >>> #define PWMSS_CLKSTATUS 0x0C >>> >>> +/* TRM chapter 2 memory map table 2-3 + VER register location */ >>> +#define PWMSS_REV_0 0x0000 >>> +#define PWMSS_REV_1 0x2000 >>> +#define PWMSS_REV_2 0x4000 >>> + >>> static device_probe_t am335x_pwmss_probe; >>> static device_attach_t am335x_pwmss_attach; >>> static device_detach_t am335x_pwmss_detach; >>> @@ -66,7 +72,7 @@ static device_detach_t am335x_pwmss_detach; >>> struct am335x_pwmss_softc { >>> struct simplebus_softc sc_simplebus; >>> device_t sc_dev; >>> - clk_ident_t sc_clk; >>> + struct syscon *syscon; >>> }; >>> >>> static device_method_t am335x_pwmss_methods[] = { >>> @@ -97,36 +103,45 @@ am335x_pwmss_attach(device_t dev) >>> { >>> struct am335x_pwmss_softc *sc; >>> uint32_t reg, id; >>> - phandle_t node; >>> + uint64_t rev_address; >>> + phandle_t node, opp_table; >>> >>> sc = device_get_softc(dev); >>> sc->sc_dev = dev; >>> >>> - sc->sc_clk = ti_hwmods_get_clock(dev); >>> - if (sc->sc_clk == INVALID_CLK_IDENT) { >>> - device_printf(dev, "failed to get device id based on ti,hwmods\n"); >>> - return (EINVAL); >>> + /* FIXME: For now; Go and kidnap syscon from opp-table */ >>> + opp_table = OF_finddevice("/opp-table"); >>> + if (opp_table == -1) { >>> + device_printf(dev, "Cant find /opp-table\n"); >>> + return (ENXIO); >>> } >>> + if (!OF_hasprop(opp_table, "syscon")) { >>> + device_printf(dev, "/opp-table doesnt have required syscon >>> property\n"); >>> + return (ENXIO); >>> + } >>> + if (syscon_get_by_ofw_property(dev, opp_table, "syscon", &sc->syscon) >>> != >>> 0) { >>> + device_printf(dev, "Failed to get syscon\n"); >>> + return (ENXIO); >>> + } >>> >>> - ti_prcm_clk_enable(sc->sc_clk); >>> - ti_scm_reg_read_4(SCM_PWMSS_CTRL, ®); >>> - switch (sc->sc_clk) { >>> - case PWMSS0_CLK: >>> - id = 0; >>> - break; >>> - case PWMSS1_CLK: >>> - id = 1; >>> - break; >>> + ti_sysc_clock_enable(device_get_parent(dev)); >>> >>> - case PWMSS2_CLK: >>> - id = 2; >>> - break; >>> - default: >>> - device_printf(dev, "unknown pwmss clock id: %d\n", sc->sc_clk); >>> - return (EINVAL); >>> + rev_address = ti_sysc_get_rev_address(device_get_parent(dev)); >>> + switch (rev_address) { >>> + case PWMSS_REV_0: >>> + id = 0; >>> + break; >>> + case PWMSS_REV_1: >>> + id = 1; >>> + break; >>> + case PWMSS_REV_2: >>> + id = 2; >>> + break; >>> } >>> + >>> + reg = SYSCON_READ_4(sc->syscon, SCM_PWMSS_CTRL); >>> reg |= (1 << id); >>> - ti_scm_reg_write_4(SCM_PWMSS_CTRL, reg); >>> + SYSCON_WRITE_4(sc->syscon, SCM_PWMSS_CTRL, reg); >>> >>> node = ofw_bus_get_node(dev); >>> >>> @@ -161,3 +176,4 @@ DEFINE_CLASS_1(am335x_pwmss, am335x_pwmss_driver, >>> am33 >>> static devclass_t am335x_pwmss_devclass; >>> DRIVER_MODULE(am335x_pwmss, simplebus, am335x_pwmss_driver, >>> am335x_pwmss_devclass, 0, 0); >>> MODULE_VERSION(am335x_pwmss, 1); >>> +MODULE_DEPEND(am335x_pwmss, ti_sysc, 1, 1, 1); >>> >>> Modified: head/sys/arm/ti/am335x/am335x_rtc.c >>> ============================================================================== >>> --- head/sys/arm/ti/am335x/am335x_rtc.c Thu Jul 30 14:42:50 >>> 2020 (r363699) >>> +++ head/sys/arm/ti/am335x/am335x_rtc.c Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -39,8 +39,9 @@ __FBSDID("$FreeBSD$"); >>> >>> #include >>> >>> +#include >>> #include >>> -#include >>> +#include >>> #include >>> #include >>> >>> @@ -110,7 +111,7 @@ am335x_rtc_attach(device_t dev) >>> RTC_LOCK_INIT(sc); >>> >>> /* Enable the RTC module. */ >>> - ti_prcm_clk_enable(RTC_CLK); >>> + ti_sysc_clock_enable(device_get_parent(dev)); >>> rev = RTC_READ4(sc, RTC_REVISION); >>> device_printf(dev, "AM335X RTC v%d.%d.%d\n", >>> (rev >> 8) & 0x7, (rev >> 6) & 0x3, rev & 0x3f); >>> @@ -209,3 +210,4 @@ static devclass_t am335x_rtc_devclass; >>> DRIVER_MODULE(am335x_rtc, simplebus, am335x_rtc_driver, >>> am335x_rtc_devclass, 0, 0); >>> MODULE_VERSION(am335x_rtc, 1); >>> MODULE_DEPEND(am335x_rtc, simplebus, 1, 1, 1); >>> +MODULE_DEPEND(am335x_rtc, ti_sysc, 1, 1, 1); >>> >>> Modified: head/sys/arm/ti/am335x/am335x_scm.c >>> ============================================================================== >>> --- head/sys/arm/ti/am335x/am335x_scm.c Thu Jul 30 14:42:50 >>> 2020 (r363699) >>> +++ head/sys/arm/ti/am335x/am335x_scm.c Thu Jul 30 14:45:05 >>> 2020 (r363700) >>> @@ -40,11 +40,15 @@ __FBSDID("$FreeBSD$"); >>> #include >>> #include >>> >>> +#include >>> +#include "syscon_if.h" >>> + >>> #define TZ_ZEROC 2731 >>> >>> struct am335x_scm_softc { >>> int sc_last_temp; >>> struct sysctl_oid *sc_temp_oid; >>> + struct syscon *syscon; >>> }; >>> >>> static int >>> @@ -60,7 +64,7 @@ am335x_scm_temp_sysctl(SYSCTL_HANDLER_ARGS) >>> >>> /* Read the temperature and convert to Kelvin. */ >>> for(i = 50; i > 0; i--) { >>> - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); >>> + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); >>> if ((reg & SCM_BGAP_EOCZ) == 0) >>> break; >>> DELAY(50); >>> @@ -96,6 +100,9 @@ am335x_scm_identify(driver_t *driver, device_t >>> parent) >>> static int >>> am335x_scm_probe(device_t dev) >>> { >>> + /* Just allow the first one */ >>> + if (strcmp(device_get_nameunit(dev), "am335x_scm0") != 0) >>> + return (ENXIO); >>> >>> device_set_desc(dev, "AM335x Control Module Extension"); >>> >>> @@ -109,21 +116,40 @@ am335x_scm_attach(device_t dev) >>> struct sysctl_ctx_list *ctx; >>> struct sysctl_oid_list *tree; >>> uint32_t reg; >>> + phandle_t opp_table; >>> + int err; >>> >>> + sc = device_get_softc(dev); >>> + >>> + /* FIXME: For now; Go and kidnap syscon from opp-table */ >>> + opp_table = OF_finddevice("/opp-table"); >>> + if (opp_table == -1) { >>> + device_printf(dev, "Cant find /opp-table\n"); >>> + return (ENXIO); >>> + } >>> + if (!OF_hasprop(opp_table, "syscon")) { >>> + device_printf(dev, "/opp-table missing syscon property\n"); >>> + return (ENXIO); >>> + } >>> + err = syscon_get_by_ofw_property(dev, opp_table, "syscon", >>> &sc->syscon); >>> + if (err) { >>> + device_printf(dev, "Failed to get syscon\n"); >>> + return (ENXIO); >>> + } >>> + >>> /* Reset the digital outputs. */ >>> - ti_scm_reg_write_4(SCM_BGAP_CTRL, 0); >>> - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); >>> + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, 0); >>> + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); >>> DELAY(500); >>> /* Set continous mode. */ >>> - ti_scm_reg_write_4(SCM_BGAP_CTRL, SCM_BGAP_CONTCONV); >>> - ti_scm_reg_read_4(SCM_BGAP_CTRL, ®); >>> + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, SCM_BGAP_CONTCONV); >>> + reg = SYSCON_READ_4(sc->syscon, SCM_BGAP_CTRL); >>> DELAY(500); >>> /* Start the ADC conversion. */ >>> reg = SCM_BGAP_CLRZ | SCM_BGAP_CONTCONV | SCM_BGAP_SOC; >>> - ti_scm_reg_write_4(SCM_BGAP_CTRL, reg); >>> + SYSCON_WRITE_4(sc->syscon, SCM_BGAP_CTRL, reg); >>> >>> /* Temperature sysctl. */ >>> - sc = device_get_softc(dev); >>> ctx = device_get_sysctl_ctx(dev); >>> tree = SYSCTL_CHILDREN(device_get_sysctl_tree(dev)); >>> sc->sc_temp_oid = SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, >>> @@ -145,7 +171,7 @@ am335x_scm_detach(device_t dev) >>> sysctl_remove_oid(sc->sc_temp_oid, 1, 0); >>> >>> /* Stop the bandgap ADC. */ >>> - ti_scm_reg_write_4(SCM_BGAP_CTRL, SCM_BGAP_BGOFF); >>> >>> *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** >>> _______________________________________________ >>> svn-src-all@freebsd.org mailing list >>> https://lists.freebsd.org/mailman/listinfo/svn-src-all >>> To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" >>> >> >> > -- Mateusz Guzik