From nobody Sat Apr 22 08:30:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q3PjY1t9dz46PvH; Sat, 22 Apr 2023 08:30:41 +0000 (UTC) (envelope-from git@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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q3PjX5Nlpz3mtN; Sat, 22 Apr 2023 08:30:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682152240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cOX3JvgsfeNE5myxzSSZvUJJtn2Onkgna6o9Yk2jL5w=; b=YfTOynryCRU8REg283KsYoMz2wM4L3tKebbfaJKTU3mMDkMHRr1V47peOMJv1UomaIwyW6 quWyeJsCmBDfOuFI+M4VrK3m60LJabawrBTgb9KVokUyhLT/+2L8kB/cIKcybe9vGntRkS zYwSkkNk9RmoJUedoYBNZVrxUl/txqzLTrwoCTsYjfNn954/2/LVio7uR1Oj+9GbWM3KC6 sxSLpPX66cPanNr//1RKpv02xbMvFqrNm00rRaK4oI5tN9uIDR2jaOHL1v3qWEQtyZnJFI fDkZ5EdtgnCEC99CAO1IG9uqng9vZUj3J50kjzmsAOYa4/DKprCo9mZxnTpEYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682152240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cOX3JvgsfeNE5myxzSSZvUJJtn2Onkgna6o9Yk2jL5w=; b=UWVwLy4u2PnRwFaiP5cZXhavgfOYwHswIEwAjCIYYoo5/sYkQ5Nl7OhA2x0xtzt7ALZ+d/ Cokby/6DQY5KqQoYX6VpJ8hULNavm2N3l0DaUlC23G4OCIjMe9hlziu1OxrPW+dSFKoVA7 6TQiaErCcWrOO4DpNXsVBRKUZQd5HtbC8q3BhErT1mto1kBGgLIcHt19uuIMWYTb8n9p0E GSyM+K6VyLk2uLKJg3Rpw3qZkRCQSVCe+IwOI8lNCP4RGtm0jn0c5sBN2FP6G0NYTR7Qtx OO+fubCiXYZIXShgXe3oDHkkdTPqrypRuBd5irCio/SZTK8VeYkjWNnkEDSAXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682152240; a=rsa-sha256; cv=none; b=WNEccCguo+juLCEMo18q+TPYMwW2wqEq5D7EfABL7zIJUQycAOsdxW2N1qEtruG77PM8Nq P96LWBZ9W6XhvLvctzGzXswTVanyytghQNPOVyKN6/xOYaZrnjXnZa/Y89QoTpUQDy/AG+ 27YxIEcm7lpRmt4H8C3pEFZQOs8BqgVeZ5jJhrNrTJc1EwdpFVelg+ohDtEzw01XRPCVU6 f3INN7bhYspF3T9tjtbTFtZa2eiP90Dp+cjnLqBnGmzUPo9wDJSUujnEJkPSvOXJ/V+Sg8 ckk00V/xYQqUkjCjZX3MDPzy55cuqy6vOJjyb069bUJ0UPetgJjFUM51Pyy61Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Q3PjX39kjzvD7; Sat, 22 Apr 2023 08:30:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33M8Ueov023830; Sat, 22 Apr 2023 08:30:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33M8UeAt023829; Sat, 22 Apr 2023 08:30:40 GMT (envelope-from git) Date: Sat, 22 Apr 2023 08:30:40 GMT Message-Id: <202304220830.33M8UeAt023829@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: e5cf9deb61fd - main - LinuxKPI: Add bitmap_to_arr32() to List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e5cf9deb61fdc52c7647f4669a64d3fae126db94 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=e5cf9deb61fdc52c7647f4669a64d3fae126db94 commit e5cf9deb61fdc52c7647f4669a64d3fae126db94 Author: Vladimir Kondratyev AuthorDate: 2023-04-22 08:29:29 +0000 Commit: Vladimir Kondratyev CommitDate: 2023-04-22 08:29:29 +0000 LinuxKPI: Add bitmap_to_arr32() to bitmap_to_arr32() copies contents of bitmap to a uint32_t array of bits Required by: drm-kmod 5.15-lts Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D39552 --- sys/compat/linuxkpi/common/include/linux/bitmap.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/bitmap.h b/sys/compat/linuxkpi/common/include/linux/bitmap.h index 1ae6078966a4..4e156377cdaf 100644 --- a/sys/compat/linuxkpi/common/include/linux/bitmap.h +++ b/sys/compat/linuxkpi/common/include/linux/bitmap.h @@ -288,6 +288,26 @@ bitmap_copy(unsigned long *dst, const unsigned long *src, dst[i] = src[i]; } +static inline void +bitmap_to_arr32(uint32_t *dst, const unsigned long *src, unsigned int size) +{ + const unsigned int end = howmany(size, 32); + +#ifdef __LP64__ + unsigned int i = 0; + while (i < end) { + dst[i++] = (uint32_t)(*src & UINT_MAX); + if (i < end) + dst[i++] = (uint32_t)(*src >> 32); + src++; + } +#else + bitmap_copy(dst, src, size); +#endif + if ((size % 32) != 0) /* Linux uses BITS_PER_LONG. Seems to be a bug */ + dst[end - 1] &= (uint32_t)(UINT_MAX >> (32 - (size % 32))); +} + static inline void bitmap_or(unsigned long *dst, const unsigned long *src1, const unsigned long *src2, const unsigned int size)