From owner-svn-src-all@freebsd.org Wed Oct 14 22:51: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 9C3B3444565; Wed, 14 Oct 2020 22:51:49 +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 4CBSMn3qYJz4Xfd; Wed, 14 Oct 2020 22:51:49 +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 6658215B24; Wed, 14 Oct 2020 22:51:49 +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 09EMpnKL008722; Wed, 14 Oct 2020 22:51:49 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 09EMpf29006160; Wed, 14 Oct 2020 22:51:41 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202010142251.09EMpf29006160@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 14 Oct 2020 22:51:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r366711 - in head/sys: amd64/amd64 arm/arm arm64/arm64 i386/i386 kern mips/atheros mips/atheros/ar531x mips/beri mips/broadcom mips/cavium mips/ingenic mips/malta mips/mediatek mips/mip... X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/sys: amd64/amd64 arm/arm arm64/arm64 i386/i386 kern mips/atheros mips/atheros/ar531x mips/beri mips/broadcom mips/cavium mips/ingenic mips/malta mips/mediatek mips/mips mips/nlm powerpc/aim po... X-SVN-Commit-Revision: 366711 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, 14 Oct 2020 22:51:49 -0000 Author: kib Date: Wed Oct 14 22:51:40 2020 New Revision: 366711 URL: https://svnweb.freebsd.org/changeset/base/366711 Log: Avoid dump_avail[] redefinition. Move dump_avail[] extern declaration and inlines into a new header vm/vm_dumpset.h. This fixes default gcc build for mips. Reviewed by: alc, scottph Tested by: kevans (previous version) Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D26741 Added: head/sys/vm/vm_dumpset.h (contents, props changed) Modified: head/sys/amd64/amd64/machdep.c head/sys/amd64/amd64/minidump_machdep.c head/sys/amd64/amd64/pmap.c head/sys/amd64/amd64/uma_machdep.c head/sys/arm/arm/mem.c head/sys/arm/arm/minidump_machdep.c head/sys/arm64/arm64/minidump_machdep.c head/sys/arm64/arm64/pmap.c head/sys/arm64/arm64/uma_machdep.c head/sys/i386/i386/machdep.c head/sys/i386/i386/minidump_machdep_base.c head/sys/kern/kern_dump.c head/sys/kern/subr_physmem.c head/sys/mips/atheros/ar531x/ar5315_machdep.c head/sys/mips/atheros/ar71xx_machdep.c head/sys/mips/beri/beri_machdep.c head/sys/mips/broadcom/bcm_machdep.c head/sys/mips/cavium/octeon_machdep.c head/sys/mips/ingenic/jz4780_machdep.c head/sys/mips/malta/malta_machdep.c head/sys/mips/mediatek/mtk_machdep.c head/sys/mips/mips/minidump_machdep.c head/sys/mips/mips/pmap.c head/sys/mips/mips/uma_machdep.c head/sys/mips/nlm/xlp_machdep.c head/sys/powerpc/aim/mmu_oea64.c head/sys/powerpc/aim/mmu_radix.c head/sys/powerpc/booke/pmap.c head/sys/powerpc/powerpc/minidump_machdep.c head/sys/powerpc/powerpc/uma_machdep.c head/sys/riscv/riscv/minidump_machdep.c head/sys/riscv/riscv/pmap.c head/sys/riscv/riscv/uma_machdep.c head/sys/vm/uma_core.c head/sys/vm/vm_page.c head/sys/vm/vm_page.h head/sys/vm/vm_phys.h head/sys/x86/x86/nexus.c Modified: head/sys/amd64/amd64/machdep.c ============================================================================== --- head/sys/amd64/amd64/machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/amd64/amd64/machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -95,14 +95,15 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include #include #include #include -#include #include +#include #ifdef DDB #ifndef KDB Modified: head/sys/amd64/amd64/minidump_machdep.c ============================================================================== --- head/sys/amd64/amd64/minidump_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/amd64/amd64/minidump_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/amd64/amd64/pmap.c Wed Oct 14 22:51:40 2020 (r366711) @@ -149,6 +149,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/amd64/amd64/uma_machdep.c ============================================================================== --- head/sys/amd64/amd64/uma_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/amd64/amd64/uma_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -36,12 +36,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include #include #include #include -#include void * uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, u_int8_t *flags, Modified: head/sys/arm/arm/mem.c ============================================================================== --- head/sys/arm/arm/mem.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/arm/arm/mem.c Wed Oct 14 22:51:40 2020 (r366711) @@ -65,11 +65,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include -#include /* * Used in /dev/mem drivers and elsewhere Modified: head/sys/arm/arm/minidump_machdep.c ============================================================================== --- head/sys/arm/arm/minidump_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/arm/arm/minidump_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/arm64/arm64/minidump_machdep.c ============================================================================== --- head/sys/arm64/arm64/minidump_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/arm64/arm64/minidump_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/arm64/arm64/pmap.c ============================================================================== --- head/sys/arm64/arm64/pmap.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/arm64/arm64/pmap.c Wed Oct 14 22:51:40 2020 (r366711) @@ -143,6 +143,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/arm64/arm64/uma_machdep.c ============================================================================== --- head/sys/arm64/arm64/uma_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/arm64/arm64/uma_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -34,12 +34,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include #include #include #include -#include void * uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, u_int8_t *flags, Modified: head/sys/i386/i386/machdep.c ============================================================================== --- head/sys/i386/i386/machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/i386/i386/machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -94,14 +94,15 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include #include #include #include -#include #include +#include #ifdef DDB #ifndef KDB Modified: head/sys/i386/i386/minidump_machdep_base.c ============================================================================== --- head/sys/i386/i386/minidump_machdep_base.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/i386/i386/minidump_machdep_base.c Wed Oct 14 22:51:40 2020 (r366711) @@ -43,11 +43,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include -#include #include CTASSERT(sizeof(struct kerneldumpheader) == 512); Modified: head/sys/kern/kern_dump.c ============================================================================== --- head/sys/kern/kern_dump.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/kern/kern_dump.c Wed Oct 14 22:51:40 2020 (r366711) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/kern/subr_physmem.c ============================================================================== --- head/sys/kern/subr_physmem.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/kern/subr_physmem.c Wed Oct 14 22:51:40 2020 (r366711) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include /* Modified: head/sys/mips/atheros/ar531x/ar5315_machdep.c ============================================================================== --- head/sys/mips/atheros/ar531x/ar5315_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/atheros/ar531x/ar5315_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include Modified: head/sys/mips/atheros/ar71xx_machdep.c ============================================================================== --- head/sys/mips/atheros/ar71xx_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/atheros/ar71xx_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include Modified: head/sys/mips/beri/beri_machdep.c ============================================================================== --- head/sys/mips/beri/beri_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/beri/beri_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/mips/broadcom/bcm_machdep.c ============================================================================== --- head/sys/mips/broadcom/bcm_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/broadcom/bcm_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/mips/cavium/octeon_machdep.c ============================================================================== --- head/sys/mips/cavium/octeon_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/cavium/octeon_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/mips/ingenic/jz4780_machdep.c ============================================================================== --- head/sys/mips/ingenic/jz4780_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/ingenic/jz4780_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include Modified: head/sys/mips/malta/malta_machdep.c ============================================================================== --- head/sys/mips/malta/malta_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/malta/malta_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/mips/mediatek/mtk_machdep.c ============================================================================== --- head/sys/mips/mediatek/mtk_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/mediatek/mtk_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/mips/mips/minidump_machdep.c ============================================================================== --- head/sys/mips/mips/minidump_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/mips/minidump_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -42,13 +42,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include +#include #include #include #include -#include #include #include Modified: head/sys/mips/mips/pmap.c ============================================================================== --- head/sys/mips/mips/pmap.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/mips/pmap.c Wed Oct 14 22:51:40 2020 (r366711) @@ -95,6 +95,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/mips/mips/uma_machdep.c ============================================================================== --- head/sys/mips/mips/uma_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/mips/uma_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -36,12 +36,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include #include #include #include -#include void * uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, u_int8_t *flags, Modified: head/sys/mips/nlm/xlp_machdep.c ============================================================================== --- head/sys/mips/nlm/xlp_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/mips/nlm/xlp_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/powerpc/aim/mmu_oea64.c Wed Oct 14 22:51:40 2020 (r366711) @@ -82,6 +82,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/powerpc/aim/mmu_radix.c ============================================================================== --- head/sys/powerpc/aim/mmu_radix.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/powerpc/aim/mmu_radix.c Wed Oct 14 22:51:40 2020 (r366711) @@ -68,6 +68,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/powerpc/booke/pmap.c Wed Oct 14 22:51:40 2020 (r366711) @@ -99,16 +99,17 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include #include #include -#include #include #include #include #include +#include #include #include Modified: head/sys/powerpc/powerpc/minidump_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/minidump_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/powerpc/powerpc/minidump_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -38,6 +38,7 @@ #include #include #include +#include #include #include Modified: head/sys/powerpc/powerpc/uma_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/uma_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/powerpc/powerpc/uma_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -36,15 +36,16 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include +#include #include #include #include #include -#include static int hw_uma_mdpages; SYSCTL_INT(_hw, OID_AUTO, uma_mdpages, CTLFLAG_RD, &hw_uma_mdpages, 0, Modified: head/sys/riscv/riscv/minidump_machdep.c ============================================================================== --- head/sys/riscv/riscv/minidump_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/riscv/riscv/minidump_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/riscv/riscv/pmap.c ============================================================================== --- head/sys/riscv/riscv/pmap.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/riscv/riscv/pmap.c Wed Oct 14 22:51:40 2020 (r366711) @@ -152,6 +152,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/riscv/riscv/uma_machdep.c ============================================================================== --- head/sys/riscv/riscv/uma_machdep.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/riscv/riscv/uma_machdep.c Wed Oct 14 22:51:40 2020 (r366711) @@ -34,12 +34,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include #include #include #include -#include void * uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, u_int8_t *flags, Modified: head/sys/vm/uma_core.c ============================================================================== --- head/sys/vm/uma_core.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/vm/uma_core.c Wed Oct 14 22:51:40 2020 (r366711) @@ -82,16 +82,17 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include #include -#include #include #include #include #include #include +#include #include #include #include Added: head/sys/vm/vm_dumpset.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/vm/vm_dumpset.h Wed Oct 14 22:51:40 2020 (r366711) @@ -0,0 +1,99 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020, Scott Phillips + * + * 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 unmodified, 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$ + */ + +#ifndef _SYS_DUMPSET_H_ +#define _SYS_DUMPSET_H_ + +#include +#include + +extern struct bitset *vm_page_dump; +extern long vm_page_dump_pages; +extern vm_paddr_t dump_avail[PHYS_AVAIL_COUNT]; + +static inline void +dump_add_page(vm_paddr_t pa) +{ + vm_pindex_t adj; + int i; + + adj = 0; + for (i = 0; dump_avail[i + 1] != 0; i += 2) { + if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) { + BIT_SET_ATOMIC(vm_page_dump_pages, + (pa >> PAGE_SHIFT) - (dump_avail[i] >> PAGE_SHIFT) + + adj, vm_page_dump); + return; + } + adj += howmany(dump_avail[i + 1], PAGE_SIZE) - + dump_avail[i] / PAGE_SIZE; + } +} + +static inline void +dump_drop_page(vm_paddr_t pa) +{ + vm_pindex_t adj; + int i; + + adj = 0; + for (i = 0; dump_avail[i + 1] != 0; i += 2) { + if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) { + BIT_CLR_ATOMIC(vm_page_dump_pages, + (pa >> PAGE_SHIFT) - (dump_avail[i] >> PAGE_SHIFT) + + adj, vm_page_dump); + return; + } + adj += howmany(dump_avail[i + 1], PAGE_SIZE) - + dump_avail[i] / PAGE_SIZE; + } +} + +static inline vm_paddr_t +vm_page_dump_index_to_pa(int bit) +{ + int i, tot; + + for (i = 0; dump_avail[i + 1] != 0; i += 2) { + tot = howmany(dump_avail[i + 1], PAGE_SIZE) - + dump_avail[i] / PAGE_SIZE; + if (bit < tot) + return ((vm_paddr_t)bit * PAGE_SIZE + + (dump_avail[i] & ~PAGE_MASK)); + bit -= tot; + } + return ((vm_paddr_t)NULL); +} + +#define VM_PAGE_DUMP_FOREACH(pa) \ + for (vm_pindex_t __b = BIT_FFS(vm_page_dump_pages, vm_page_dump); \ + (pa) = vm_page_dump_index_to_pa(__b - 1), __b != 0; \ + __b = BIT_FFS_AT(vm_page_dump_pages, vm_page_dump, __b)) + +#endif /* _SYS_DUMPSET_H_ */ Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/vm/vm_page.c Wed Oct 14 22:51:40 2020 (r366711) @@ -108,6 +108,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/vm/vm_page.h ============================================================================== --- head/sys/vm/vm_page.h Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/vm/vm_page.h Wed Oct 14 22:51:40 2020 (r366711) @@ -69,8 +69,6 @@ #ifndef _VM_PAGE_ #define _VM_PAGE_ -#include -#include #include /* @@ -586,69 +584,6 @@ malloc2vm_flags(int malloc_flags) #define PS_ALL_DIRTY 0x1 #define PS_ALL_VALID 0x2 #define PS_NONE_BUSY 0x4 - -extern struct bitset *vm_page_dump; -extern long vm_page_dump_pages; -extern vm_paddr_t dump_avail[]; - -static inline void -dump_add_page(vm_paddr_t pa) -{ - vm_pindex_t adj; - int i; - - adj = 0; - for (i = 0; dump_avail[i + 1] != 0; i += 2) { - if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) { - BIT_SET_ATOMIC(vm_page_dump_pages, - (pa >> PAGE_SHIFT) - (dump_avail[i] >> PAGE_SHIFT) + - adj, vm_page_dump); - return; - } - adj += howmany(dump_avail[i + 1], PAGE_SIZE) - - dump_avail[i] / PAGE_SIZE; - } -} - -static inline void -dump_drop_page(vm_paddr_t pa) -{ - vm_pindex_t adj; - int i; - - adj = 0; - for (i = 0; dump_avail[i + 1] != 0; i += 2) { - if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) { - BIT_CLR_ATOMIC(vm_page_dump_pages, - (pa >> PAGE_SHIFT) - (dump_avail[i] >> PAGE_SHIFT) + - adj, vm_page_dump); - return; - } - adj += howmany(dump_avail[i + 1], PAGE_SIZE) - - dump_avail[i] / PAGE_SIZE; - } -} - -static inline vm_paddr_t -vm_page_dump_index_to_pa(int bit) -{ - int i, tot; - - for (i = 0; dump_avail[i + 1] != 0; i += 2) { - tot = howmany(dump_avail[i + 1], PAGE_SIZE) - - dump_avail[i] / PAGE_SIZE; - if (bit < tot) - return ((vm_paddr_t)bit * PAGE_SIZE + - (dump_avail[i] & ~PAGE_MASK)); - bit -= tot; - } - return ((vm_paddr_t)NULL); -} - -#define VM_PAGE_DUMP_FOREACH(pa) \ - for (vm_pindex_t __b = BIT_FFS(vm_page_dump_pages, vm_page_dump); \ - (pa) = vm_page_dump_index_to_pa(__b - 1), __b != 0; \ - __b = BIT_FFS_AT(vm_page_dump_pages, vm_page_dump, __b)) bool vm_page_busy_acquire(vm_page_t m, int allocflags); void vm_page_busy_downgrade(vm_page_t m); Modified: head/sys/vm/vm_phys.h ============================================================================== --- head/sys/vm/vm_phys.h Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/vm/vm_phys.h Wed Oct 14 22:51:40 2020 (r366711) @@ -47,7 +47,6 @@ #endif extern vm_paddr_t phys_avail[PHYS_AVAIL_COUNT]; -extern vm_paddr_t dump_avail[PHYS_AVAIL_COUNT]; /* Domains must be dense (non-sparse) and zero-based. */ struct mem_affinity { Modified: head/sys/x86/x86/nexus.c ============================================================================== --- head/sys/x86/x86/nexus.c Wed Oct 14 21:22:23 2020 (r366710) +++ head/sys/x86/x86/nexus.c Wed Oct 14 22:51:40 2020 (r366711) @@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include