From patchwork Thu May 5 21:51:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denys Dmytriyenko X-Patchwork-Id: 7661 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 21C77C433FE for ; Thu, 5 May 2022 21:51:31 +0000 (UTC) Received: from mailout4.zoneedit.com (mailout4.zoneedit.com [64.68.198.64]) by mx.groups.io with SMTP id smtpd.web10.2495.1651787488914557640 for ; Thu, 05 May 2022 14:51:29 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: denix.org, ip: 64.68.198.64, mailfrom: denis@denix.org) Received: from localhost (localhost [127.0.0.1]) by mailout4.zoneedit.com (Postfix) with ESMTP id B177740C3E for ; Thu, 5 May 2022 21:51:27 +0000 (UTC) Received: from mailout4.zoneedit.com ([127.0.0.1]) by localhost (zmo14-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MYc1g3BU2PXN for ; Thu, 5 May 2022 21:51:27 +0000 (UTC) Received: from mail.denix.org (pool-100-15-86-127.washdc.fios.verizon.net [100.15.86.127]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mailout4.zoneedit.com (Postfix) with ESMTPSA id A051640BE9 for ; Thu, 5 May 2022 21:51:27 +0000 (UTC) Received: from thorin.denix (thorin.denix [192.168.30.9]) by mail.denix.org (Postfix) with ESMTP id 56B7F17491D; Thu, 5 May 2022 17:51:27 -0400 (EDT) From: Denys Dmytriyenko To: openembedded-devel@lists.openembedded.org Cc: Denys Dmytriyenko Subject: [PATCH 2/2] devmem2: add support for different page sizes Date: Thu, 5 May 2022 21:51:26 +0000 Message-Id: <20220505215126.342916-2-denis@denix.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220505215126.342916-1-denis@denix.org> References: <20220505215126.342916-1-denis@denix.org> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 05 May 2022 21:51:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/96968 Instead of hardcoding 4K page size, query the system and use the value for memory mapping. Signed-off-by: Denys Dmytriyenko --- meta-oe/recipes-support/devmem2/devmem2.bb | 4 ++- ...ort-different-page-sizes-at-run-time.patch | 35 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch diff --git a/meta-oe/recipes-support/devmem2/devmem2.bb b/meta-oe/recipes-support/devmem2/devmem2.bb index c6b8df5e4..ba7aad8ab 100644 --- a/meta-oe/recipes-support/devmem2/devmem2.bb +++ b/meta-oe/recipes-support/devmem2/devmem2.bb @@ -5,7 +5,9 @@ PR = "r7" SRC_URI = "http://www.free-electrons.com/pub/mirror/devmem2.c;downloadfilename=devmem2-new.c \ file://devmem2-fixups-2.patch;apply=yes;striplevel=0 \ - file://0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch" + file://0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch \ + file://0001-devmem2-support-different-page-sizes-at-run-time.patch \ +" S = "${WORKDIR}" diff --git a/meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch b/meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch new file mode 100644 index 000000000..0da0732c5 --- /dev/null +++ b/meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch @@ -0,0 +1,35 @@ +From 0f6af48b2fbc71ec8abe862d3e9eb6da7b03538b Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko +Date: Wed, 8 Aug 2018 14:38:00 -0400 +Subject: [PATCH] devmem2: support different page sizes at run-time + +Signed-off-by: Denys Dmytriyenko +--- + devmem2.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/devmem2.c b/devmem2.c +index 68131b2..76af2d6 100644 +--- a/devmem2.c ++++ b/devmem2.c +@@ -53,8 +53,6 @@ + #define FATAL do { fprintf(stderr, "Error at line %d, file %s (%d) [%s]\n", \ + __LINE__, __FILE__, errno, strerror(errno)); exit(1); } while(0) + +-#define MAP_SIZE 4096UL +-#define MAP_MASK (MAP_SIZE - 1) + + static inline void *fixup_addr(void *addr, size_t size); + +@@ -66,6 +64,8 @@ int main(int argc, char **argv) { + int access_type = 'w'; + char fmt_str[128]; + size_t data_size; ++ unsigned long MAP_SIZE = sysconf(_SC_PAGE_SIZE); ++ unsigned long MAP_MASK = (MAP_SIZE - 1); + + if(argc < 2) { + fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n" +-- +2.7.4 +