From patchwork Mon Dec 6 19:27:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C5=81ukasz_Stelmach?= X-Patchwork-Id: 1564210 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.a=rsa-sha256 header.s=mail20170921 header.b=S12BspgK; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) (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) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J7D3r02zCz9s1l for ; Tue, 7 Dec 2021 06:28:07 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 330D282A5D; Mon, 6 Dec 2021 19:28:05 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EVq8nBEzWWJe; Mon, 6 Dec 2021 19:28:04 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id 2B7AF84B8E; Mon, 6 Dec 2021 19:28:03 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 6050A1BF29A for ; Mon, 6 Dec 2021 19:27:49 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 4FA2141BFE for ; Mon, 6 Dec 2021 19:27:49 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=samsung.com Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id f8bT7YbhxZFZ for ; Mon, 6 Dec 2021 19:27:43 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by smtp4.osuosl.org (Postfix) with ESMTPS id 0B51E41BFB for ; Mon, 6 Dec 2021 19:27:42 +0000 (UTC) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20211206192739euoutp0111ccb4fcc3ee51d070eae7782f1ca07c~_QRHYV3ic3020530205euoutp01i for ; Mon, 6 Dec 2021 19:27:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20211206192739euoutp0111ccb4fcc3ee51d070eae7782f1ca07c~_QRHYV3ic3020530205euoutp01i DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1638818859; bh=54kkj36yMfw4WaFz+47ypYPNLKoyR87GdO1aUo6ruVM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=S12BspgKUdyulJt0IGdfIIXuUQ42EwVP4LLSWWFw4B4AgMGUmCg190cypZhaM9TS6 TvpZi+y0vjhEmn9YEsIAzKF4deYSwheA+KP82Vdd7nlmvjpUh8PAIRStmnIV4U1KCT z73yuqlsUFY1zb13p0qVyf2bDswAMsXp69mM/VX4= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20211206192738eucas1p19591763ad6b41b0dd925cd6c2aabff55~_QRGNZJ1T1959819598eucas1p1L; Mon, 6 Dec 2021 19:27:38 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 2C.74.09887.9246EA16; Mon, 6 Dec 2021 19:27:37 +0000 (GMT) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20211206192737eucas1p12496b4769a286f972f94b88a8c39dd81~_QRFxg5wH1959819598eucas1p1K; Mon, 6 Dec 2021 19:27:37 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20211206192737eusmtrp1d83382266713685b08d98677f880e219~_QRFw1qBK3198531985eusmtrp1T; Mon, 6 Dec 2021 19:27:37 +0000 (GMT) X-AuditID: cbfec7f4-471ff7000000269f-ae-61ae64295036 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 90.2E.09404.8246EA16; Mon, 6 Dec 2021 19:27:36 +0000 (GMT) Received: from localhost (unknown [106.120.51.46]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20211206192737eusmtip1c0b1a3bbe1f35c6dc91a53bc1721822b~_QRFjFWTU1868318683eusmtip17; Mon, 6 Dec 2021 19:27:37 +0000 (GMT) From: =?utf-8?q?=C5=81ukasz_Stelmach?= To: buildroot@buildroot.org Date: Mon, 6 Dec 2021 20:27:31 +0100 Message-Id: <20211206192732.373740-2-l.stelmach@samsung.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211206192732.373740-1-l.stelmach@samsung.com> MIME-Version: 1.0 Organization: Samsung R&D Institute Poland X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrDKsWRmVeSWpSXmKPExsWy7djPc7qaKesSDbb0S1u8PPqS2eJ5w1ZW i6OLmtgs2iZvYre4eWgFo8XaI3fZLTr/7GKymPFuCatF55t37BZvXlxktFiw6yWbA7fH6ted 7B7z1lR7XH4/l92jf91nVo+ds+6ye9y9dYnJ49v1TkaPvi2rGD227P/M6LFocWEAVxSXTUpq TmZZapG+XQJXxv7bKgVLnCs+ns5rYNxg2cXIySEhYCKx68oE1i5GLg4hgRWMEgcvNjBBOF8Y JR5+f8cC4XxmlJh04QgbTEvny1dsEInljBLb9p2BannOKHH45R8WkCo2AUeJ/qUnWEFsEQFp ie/3zoItYRb4wizRvGU3O0hCWCBM4uiM/cwgNouAqsS63VPAGngFbCTO37/DDrFOXqLt+nRG EJtTwFZi57ZLTBA1ghInZz4BW8YvoCWxpuk6mM0MVN+8dTYzyDIJgemcEj/WtjNBDHKR+Htm EdRQYYlXx7dA2TISpyf3ADVzANn1EpMnmUH09gC9NucHC0SNtcSdc7/YQGqYBTQl1u/Shwg7 SjSe2scE0conceOtIMQJfBKTtk1nhgjzSnS0CUFUq0is698DNVBKovfVCsYJjEqzkDwzC8kD sxB2LWBkXsUonlpanJueWmyUl1quV5yYW1yal66XnJ+7iRGYwE7/O/5lB+PyVx/1DjEycTAe YpTgYFYS4VV7uDZRiDclsbIqtSg/vqg0J7X4EKM0B4uSOK/In4ZEIYH0xJLU7NTUgtQimCwT B6dUA1PtPafXwm5PpDZeEi1qTpcsXe92d3ktG29agZ7cv7Ir58TVzCMaC5/rply99k1ptpTy vVwW64KE588OLrk2Y5ZXxHfeBUxT9OKqXp2wvuhtfvlI1oV332f5e+QLfmPs/5m2y+KvfJ1a xtS0q4dWP88J7tuqe29mRkhii+PLTyJngr14l7g47rq0qa2tpzpJW6Uunl82Qu5XQaW4UMxC tiXOXVM6P18XNtZi+2kw+bbNPPH884ZnchetYt5p6WOSvOPqrJkPgm2KHh5d7tTu5fxjSaNE G6/Z/uu/lM8GLxBL80hQTPritUvix8z7X2fvK7oe7vd7dlq22MJDKpoWP3JWPLqdE9NQvPK8 biPnJCWW4oxEQy3mouJEANUAEJjPAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrFIsWRmVeSWpSXmKPExsVy+t/xu7qaKesSDW5rWrw8+pLZ4nnDVlaL o4ua2CzaJm9it7h5aAWjxdojd9ktOv/sYrKY8W4Jq0Xnm3fsFm9eXGS0WLDrJZsDt8fq153s HvPWVHtcfj+X3aN/3WdWj52z7rJ73L11icnj2/VORo++LasYPbbs/8zosWhxYQBXlJ5NUX5p SapCRn5xia1StKGFkZ6hpYWekYmlnqGxeayVkamSvp1NSmpOZllqkb5dgl7G/tsqBUucKz6e zmtg3GDZxcjJISFgItH58hVbFyMXh5DAUkaJJdOms3YxcgAlpCRWzk2HqBGW+HOtC6rmKaNE X+93dpAEm4CjRP/SE6wgtoiAtMT3e2dZQYqYBX4wSyy6NI0FJCEsECLx61I7WAOLgKrEut1T wBp4BWwkzt+/ww6xQV6i7fp0RhCbU8BWYue2S0wgRwgB1XzYFgBRLihxcuYTFpAws4C6xPp5 QiBhfgEtiTVN18E2MQNNad46m3kCo9AsJB2zEDpmIalawMi8ilEktbQ4Nz232EivODG3uDQv XS85P3cTIzBStx37uWUH48pXH/UOMTJxMB5ilOBgVhLhVXu4NlGINyWxsiq1KD++qDQntfgQ oynQYxOZpUST84GpIq8k3tDMwNTQxMzSwNTSzFhJnNezoCNRSCA9sSQ1OzW1ILUIpo+Jg1Oq galrewi3dGIhh7l6/45j67rV1X8uVpqrfJCJUcu0Oegin6E845tta+Qj57q4i3Iq+Cq3eVlb Xf5443m0xDeTZWfWiovqTGqvdOk9nCxfmBPO+ctpboBK9N8SB6VP8wpmu3zaGfGU9d6Ja9sX /VtWIve9sNzg54xJvye8slt1Y2bk774iXR+Ohg09jbtvOa0Ql7zy57uXy9fTMiJiC4+GuPHd qsruS9l7teXb75mJBWtiLuyTctOTeePmeXna1jllHekCHhcFz4XWVGdd+87Y9yjryIZJPe7M r4WyLI7mngnhnvJ7wor57ZXztz18bXFEzTApwTddotL0mcfqSkn1znaXDXPeen2ccOD+u9+u MUosxRmJhlrMRcWJAGLwZ0ZdAwAA X-CMS-MailID: 20211206192737eucas1p12496b4769a286f972f94b88a8c39dd81 X-Msg-Generator: CA X-RootMTR: 20211206192737eucas1p12496b4769a286f972f94b88a8c39dd81 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20211206192737eucas1p12496b4769a286f972f94b88a8c39dd81 References: <20211206192732.373740-1-l.stelmach@samsung.com> Subject: [Buildroot] [PATCH v2 1/2] arch: Make page size configuration architecture-independent. X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ARC Maintainers , =?utf-8?q?=C5=81ukasz_Stel?= =?utf-8?q?mach?= , "Yann E. MORIN" , Thomas Petazzoni , Romain Naour , Giulio Benetti , Thomas De Schampheleire , Marek Szyprowski Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" Rename BR2_ARC_PAGE_SIZE_* to BR2_ARCH_MMU_PAGE_SIZE_* options. Add BR2_ARCH_HAS_CONFIGURABLE_MMU_PAGE_SIZE and BR2_ARCH_HAS_MMU_PAGE_SIZE_* to control configuration option dependencies and visibility. Adapt existing ARC page size selection. Suggested-by: Yann E. MORIN Signed-off-by: Łukasz Stelmach --- arch/Config.in | 64 ++++++++++++++++++++++++++++++++++ arch/Config.in.arc | 38 -------------------- arch/arch.mk.arc | 9 ----- linux/linux.mk | 27 +++++++------- package/uclibc/uclibc.mk | 2 +- toolchain/toolchain-wrapper.mk | 13 +++++++ 6 files changed, 93 insertions(+), 60 deletions(-) diff --git a/arch/Config.in b/arch/Config.in index 1853e26bb4..561d599561 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -24,6 +24,9 @@ choice config BR2_arcle bool "ARC (little endian)" select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_ARCH_HAS_MMU_PAGE_SIZE_4K + select BR2_ARCH_HAS_MMU_PAGE_SIZE_8K + select BR2_ARCH_HAS_MMU_PAGE_SIZE_16K help Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs that can be used from deeply embedded to high @@ -32,6 +35,9 @@ config BR2_arcle config BR2_arceb bool "ARC (big endian)" select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_ARCH_HAS_MMU_PAGE_SIZE_4K + select BR2_ARCH_HAS_MMU_PAGE_SIZE_8K + select BR2_ARCH_HAS_MMU_PAGE_SIZE_16K help Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs that can be used from deeply embedded to high @@ -426,6 +432,64 @@ config BR2_BINFMT_FLAT_SHARED endchoice +config BR2_ARCH_HAS_CONFIGURABLE_MMU_PAGE_SIZE + bool + +config BR2_ARCH_HAS_MMU_PAGE_SIZE_4K + bool + select BR2_ARCH_HAS_CONFIGURABLE_MMU_PAGE_SIZE + +config BR2_ARCH_HAS_MMU_PAGE_SIZE_8K + bool + select BR2_ARCH_HAS_CONFIGURABLE_MMU_PAGE_SIZE + +config BR2_ARCH_HAS_MMU_PAGE_SIZE_16K + bool + select BR2_ARCH_HAS_CONFIGURABLE_MMU_PAGE_SIZE + +config BR2_ARCH_HAS_MMU_PAGE_SIZE_32K + bool + select BR2_ARCH_HAS_CONFIGURABLE_MMU_PAGE_SIZE + +config BR2_ARCH_HAS_MMU_PAGE_SIZE_64K + bool + select BR2_ARCH_HAS_CONFIGURABLE_MMU_PAGE_SIZE + +choice + prompt "MMU Page Size" + depends on BR2_ARCH_HAS_CONFIGURABLE_MMU_PAGE_SIZE + help + Choose MMU page size + +config BR2_ARCH_MMU_PAGE_SIZE_4K + bool "4K" + depends on BR2_ARCH_HAS_MMU_PAGE_SIZE_4K + +config BR2_ARCH_MMU_PAGE_SIZE_8K + bool "8K" + depends on BR2_ARCH_HAS_MMU_PAGE_SIZE_8K + +config BR2_ARCH_MMU_PAGE_SIZE_16K + bool "16K" + depends on BR2_ARCH_HAS_MMU_PAGE_SIZE_16K + +config BR2_ARCH_MMU_PAGE_SIZE_32K + bool "32K" + depends on BR2_ARCH_HAS_MMU_PAGE_SIZE_32K + +config BR2_ARCH_MMU_PAGE_SIZE_64K + bool "64K" + depends on BR2_ARCH_HAS_MMU_PAGE_SIZE_64K +endchoice + +config BR2_ARCH_MMU_PAGE_SIZE + string + default "4K" if BR2_ARCH_MMU_PAGE_SIZE_4K + default "8K" if BR2_ARCH_MMU_PAGE_SIZE_4K + default "16K" if BR2_ARCH_MMU_PAGE_SIZE_16K + default "32K" if BR2_ARCH_MMU_PAGE_SIZE_32K + default "64K" if BR2_ARCH_MMU_PAGE_SIZE_64K + if BR2_arcle || BR2_arceb source "arch/Config.in.arc" endif diff --git a/arch/Config.in.arc b/arch/Config.in.arc index f7a6d920b5..c82a580c5b 100644 --- a/arch/Config.in.arc +++ b/arch/Config.in.arc @@ -84,43 +84,5 @@ config BR2_READELF_ARCH_NAME default "ARCv2" if BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full default "ARCv2" if BR2_archs4x_rel31 || BR2_archs4x -choice - prompt "MMU Page Size" - default BR2_ARC_PAGE_SIZE_8K - help - MMU starting from version 3 (found in ARC 770) and now - version 4 (found in ARC HS38) allows the selection of the - page size during ASIC design creation. - - The following options are available for MMU v3 and v4: 4kB, - 8kB and 16 kB. - - The default is 8 kB (that really matches the only page size - in MMU v2). It is important to build a toolchain with page - size matching the hardware configuration. Otherwise - user-space applications will fail at runtime. - -config BR2_ARC_PAGE_SIZE_4K - bool "4KB" - depends on !BR2_arc750d - -config BR2_ARC_PAGE_SIZE_8K - bool "8KB" - help - This is the one and only option available for MMUv2 and - default value for MMU v3 and v4. - -config BR2_ARC_PAGE_SIZE_16K - bool "16KB" - depends on !BR2_arc750d - -endchoice - -config BR2_ARC_PAGE_SIZE - string - default "4K" if BR2_ARC_PAGE_SIZE_4K - default "8K" if BR2_ARC_PAGE_SIZE_8K - default "16K" if BR2_ARC_PAGE_SIZE_16K - # vim: ft=kconfig # -*- mode:kconfig; -*- diff --git a/arch/arch.mk.arc b/arch/arch.mk.arc index 32b818b0e0..a6b56a869f 100644 --- a/arch/arch.mk.arc +++ b/arch/arch.mk.arc @@ -5,13 +5,4 @@ ifeq ($(BR2_ARC_ATOMIC_EXT),y) ARCH_TOOLCHAIN_WRAPPER_OPTS = -matomic endif -# Explicitly set LD's "max-page-size" instead of relying on some defaults -ifeq ($(BR2_ARC_PAGE_SIZE_4K),y) -ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096 -else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y) -ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192 -else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y) -ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 -endif - endif diff --git a/linux/linux.mk b/linux/linux.mk index 61fdc0c76c..e66e0db52f 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -328,18 +328,21 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_AEABI)) $(if $(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le), $(call KCONFIG_ENABLE_OPT,CONFIG_PPC_DISABLE_WERROR)) - $(if $(BR2_ARC_PAGE_SIZE_4K), - $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) - $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) - $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K)) - $(if $(BR2_ARC_PAGE_SIZE_8K), - $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) - $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) - $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K)) - $(if $(BR2_ARC_PAGE_SIZE_16K), - $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) - $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) - $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K)) + $(if $(BR2_ARCH_MMU_PAGE_SIZE_4K), + $(if $(BR2_arcle)$(BR2_arcbe), + $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K))) + $(if $(BR2_ARCH_MMU_PAGE_SIZE_8K), + $(if $(BR2_arcle)$(BR2_arcbe), + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K))) + $(if $(BR2_ARCH_MMU_PAGE_SIZE_16K), + $(if $(BR2_arcle)$(BR2_arcbe), + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K))) $(if $(BR2_TARGET_ROOTFS_CPIO), $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD)) # As the kernel gets compiled before root filesystems are diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index 87e283de2a..e6699b74b8 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -78,7 +78,7 @@ endif # ifeq ($(UCLIBC_TARGET_ARCH),arc) -UCLIBC_ARC_PAGE_SIZE = CONFIG_ARC_PAGE_SIZE_$(call qstrip,$(BR2_ARC_PAGE_SIZE)) +UCLIBC_ARC_PAGE_SIZE = CONFIG_ARCH_MMU_PAGE_SIZE_$(call qstrip,$(BR2_ARCH_MMU_PAGE_SIZE)) define UCLIBC_ARC_PAGE_SIZE_CONFIG $(SED) '/CONFIG_ARC_PAGE_SIZE_*/d' $(@D)/.config $(call KCONFIG_ENABLE_OPT,$(UCLIBC_ARC_PAGE_SIZE)) diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk index 8b551e3a18..a8564441b5 100644 --- a/toolchain/toolchain-wrapper.mk +++ b/toolchain/toolchain-wrapper.mk @@ -90,3 +90,16 @@ define TOOLCHAIN_WRAPPER_INSTALL $(INSTALL) -D -m 0755 $(@D)/toolchain-wrapper \ $(HOST_DIR)/bin/toolchain-wrapper endef + +# Explicitly set LD's "max-page-size" instead of relying on some defaults +ifeq ($(BR2_ARCH_MMU_PAGE_SIZE_4K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096 +else ifeq ($(BR2_ARCH_MMU_PAGE_SIZE_8K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192 +else ifeq ($(BR2_ARCH_MMU_PAGE_SIZE_16K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 +else ifeq ($(BR2_ARCH_MMU_PAGE_SIZE_32K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=32768 +else ifeq ($(BR2_ARCH_MMU_PAGE_SIZE_64K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=65536 +endif From patchwork Mon Dec 6 19:27:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C5=81ukasz_Stelmach?= X-Patchwork-Id: 1564211 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.a=rsa-sha256 header.s=mail20170921 header.b=fWYHJmt0; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) (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) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J7D470jdtz9s1l for ; Tue, 7 Dec 2021 06:28:22 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 6FBDE60D75; Mon, 6 Dec 2021 19:28:16 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 42NkR6RxJXWO; Mon, 6 Dec 2021 19:28:15 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp3.osuosl.org (Postfix) with ESMTP id BACDF60D6F; Mon, 6 Dec 2021 19:28:14 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 5B0821BF29A for ; Mon, 6 Dec 2021 19:27:50 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 48B1F60D66 for ; Mon, 6 Dec 2021 19:27:49 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9INVVLEGA_bu for ; Mon, 6 Dec 2021 19:27:44 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by smtp3.osuosl.org (Postfix) with ESMTPS id 718F760D6F for ; Mon, 6 Dec 2021 19:27:44 +0000 (UTC) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20211206192740euoutp02f9d9eda39d3cf17582affe05b4520501~_QRIgePa61763617636euoutp02I for ; Mon, 6 Dec 2021 19:27:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20211206192740euoutp02f9d9eda39d3cf17582affe05b4520501~_QRIgePa61763617636euoutp02I DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1638818860; bh=BuQi6h+7Ey7W0FVLrNPG+Pog8SBkYq7EIHARZeyvNM8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fWYHJmt07LyOSTgtHOZ71lEExBThX9UALyQEGnXNp0WmMu/Ux5D4wm9ksO5XH05K3 hrZOpGcxsMupKmzsBr16+5UCpxEMGldEBgdBWlGOJ3OjMeV37UpDQYYVkhG2W9syNl WBcReQ6nR0QAOS6idJg0go9W7byXnP4XyzvyiqQg= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20211206192739eucas1p2bf6f61835f2f3b59fc4d485e4f468552~_QRHh08RD2247722477eucas1p2A; Mon, 6 Dec 2021 19:27:39 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 72.EE.10009.A246EA16; Mon, 6 Dec 2021 19:27:38 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20211206192737eucas1p2bd1a7c8856aab0cb669a834f9b7ab60a~_QRGGggIH2973729737eucas1p2h; Mon, 6 Dec 2021 19:27:37 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20211206192737eusmtrp2cca241ed3e7cd5eea51014a2b4195efc~_QRGFvCgR2209222092eusmtrp2s; Mon, 6 Dec 2021 19:27:37 +0000 (GMT) X-AuditID: cbfec7f2-e7fff70000002719-8a-61ae642a2636 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 95.73.09522.9246EA16; Mon, 6 Dec 2021 19:27:37 +0000 (GMT) Received: from localhost (unknown [106.120.51.46]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20211206192737eusmtip2a3af7e17125931454fc166e1f9632bca~_QRF2nbuU0575705757eusmtip2Q; Mon, 6 Dec 2021 19:27:37 +0000 (GMT) From: =?utf-8?q?=C5=81ukasz_Stelmach?= To: buildroot@buildroot.org Date: Mon, 6 Dec 2021 20:27:32 +0100 Message-Id: <20211206192732.373740-3-l.stelmach@samsung.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211206192732.373740-1-l.stelmach@samsung.com> MIME-Version: 1.0 Organization: Samsung R&D Institute Poland X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrLKsWRmVeSWpSXmKPExsWy7djP87paKesSDbYesbR4efQls8Xzhq2s FkcXNbFZtE3exG5x89AKRou1R+6yW3T+2cVkMePdElaLzjfv2C3evLjIaLFg10s2B26P1a87 2T3mran2uPx+LrtH/7rPrB47Z91l97h76xKTx7frnYwefVtWMXps2f+Z0WPR4sIArigum5TU nMyy1CJ9uwSujAtP7rEUtIhXbLi3kqmBsUmki5GTQ0LARKLl/yv2LkYuDiGBFYwSMw8fY4Vw vjBKvN3RzAhSJSTwmVHiyZ40mI6ZjXPYIIqWM0o0HtrGAuE8Z5Ro+XWaBaSKTcBRon/pCVYQ W0RAWuL7vbNgY5kFvjBLNG/ZzQ6SEBbwkNi4+zwbiM0ioCrxqecKM4jNK2AjceLaK3aIdfIS bdeng53BKWArsXPbJSaIGkGJkzOfgC3jF9CSWNN0HcxmBqpv3jqbGWSZhMB8TokPvZOYIAa5 SNy/Oo8RwhaWeHV8C9QCGYn/O+cD1XAA2fUSkyeZQfT2MEpsm/ODBaLGWuLOuV9sIDXMApoS 63fpQ4QdJRa3PGKDaOWTuPFWEOIEPolJ26YzQ4R5JTrahCCqVSTW9e+BGigl0ftqBeMERqVZ SJ6ZheSBWQi7FjAyr2IUTy0tzk1PLTbMSy3XK07MLS7NS9dLzs/dxAhMYaf/Hf+0g3Huq496 hxiZOBgPMUpwMCuJ8Ko9XJsoxJuSWFmVWpQfX1Sak1p8iFGag0VJnFfkT0OikEB6Yklqdmpq QWoRTJaJg1OqgUn5RozIjW2Gstc6Mg5PuqujHBmu4rG2gsvU5o/ahOS011/6m7b+0Vtun8V+ VrJ3VnjKf9Ut+sG/4ybYiHzMjMz3WnLumuTrF/Y1CXz5luVP21wTXZ5m72VQjekw4Mx22Sn4 bPqHVwszWo5Uf7x585qLvJHQSs23rNpO/lw/dho61gt2rvAQX/zl3csYpnV8CQsXChsG3N+c 96nR6Mft6frn8qNXOeRu/HjMU03g9vyYjBKFaTr/Sp/MTUyvuxjmsLuqpkdK+x+D5AumqRdn b5/ycF2CYz6rcOxpqQ2xkpoa02+FZK346x3zRfrSD/WsC1LvpFvDH/c77t3vbxDzjrHt9Lcy nk+3mj07pYX6lFiKMxINtZiLihMBc9YjNdADAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrLIsWRmVeSWpSXmKPExsVy+t/xe7qaKesSDW7tkbB4efQls8Xzhq2s FkcXNbFZtE3exG5x89AKRou1R+6yW3T+2cVkMePdElaLzjfv2C3evLjIaLFg10s2B26P1a87 2T3mran2uPx+LrtH/7rPrB47Z91l97h76xKTx7frnYwefVtWMXps2f+Z0WPR4sIArig9m6L8 0pJUhYz84hJbpWhDCyM9Q0sLPSMTSz1DY/NYKyNTJX07m5TUnMyy1CJ9uwS9jAtP7rEUtIhX bLi3kqmBsUmki5GTQ0LARGJm4xy2LkYuDiGBpYwSr5sPMXYxcgAlpCRWzk2HqBGW+HOtC6rm KaNES9dddpAEm4CjRP/SE6wgtoiAtMT3e2dZQYqYBX4wSyy6NI0FJCEs4CGxcfd5NhCbRUBV 4lPPFWYQm1fARuLEtVfsEBvkJdquT2cEsTkFbCV2brvEBHKEEFDNh20BEOWCEidnPmEBCTML qEusnycEEuYX0JJY03QdbBMz0JTmrbOZJzAKzULSMQuhYxaSqgWMzKsYRVJLi3PTc4sN9YoT c4tL89L1kvNzNzEC43XbsZ+bdzDOe/VR7xAjEwfjIUYJDmYlEV61h2sThXhTEiurUovy44tK c1KLDzGaAj02kVlKNDkfmDDySuINzQxMDU3MLA1MLc2MlcR5PQs6EoUE0hNLUrNTUwtSi2D6 mDg4pRqYpoe9mGZ0dK+3u9Mbtqv+H88/V7Sfwbxxw7X3Mw3qSi/+qGDsnR163vP4QX9j+wn/ L0TZz4sOcjfbZlJvEno5NCOv51GLeqXk/slfCnIEXiy7y/RkzeyqpqNbOyv3Bm6vW3n1quVD Rl3b8rxX7rrTZLb2qnR0LP0vs7/p+GYuk7+FWcfkbhmaXQu+lpLWoab+XV5x1qEfBtda09mb 7qgvuZ4j+exo3BpvLnnWT9GXPPbyFjYUiE/Z27lZ1uDoak7PlGVXS6c/DJq8632yUa7E25lu SYt2/mG+sc9Qv+XMJZ45pyRcpK2MOFy73n3iFH6zuffqfM3HT64yvzM2Y6p8EPs6eoohX6T1 k4x/Uj/3KbEUZyQaajEXFScCAMp6Y7BgAwAA X-CMS-MailID: 20211206192737eucas1p2bd1a7c8856aab0cb669a834f9b7ab60a X-Msg-Generator: CA X-RootMTR: 20211206192737eucas1p2bd1a7c8856aab0cb669a834f9b7ab60a X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20211206192737eucas1p2bd1a7c8856aab0cb669a834f9b7ab60a References: <20211206192732.373740-1-l.stelmach@samsung.com> Subject: [Buildroot] [PATCH v2 2/2] arch/arm: Make page size configurable on Aarch64 X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ARC Maintainers , =?utf-8?q?=C5=81ukasz_Stel?= =?utf-8?q?mach?= , "Yann E. MORIN" , Thomas Petazzoni , Romain Naour , Giulio Benetti , Thomas De Schampheleire , Marek Szyprowski Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" Select BR2_ARCH_HAS_MMU_PAGE_SIZE_{4,16,64}K from BR2_aarch64{,_be}. Signed-off-by: Łukasz Stelmach --- arch/Config.in | 6 ++++++ linux/linux.mk | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/arch/Config.in b/arch/Config.in index 561d599561..2f20cfb268 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -67,6 +67,9 @@ config BR2_aarch64 bool "AArch64 (little endian)" select BR2_ARCH_IS_64 select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_ARCH_HAS_MMU_PAGE_SIZE_4K + select BR2_ARCH_HAS_MMU_PAGE_SIZE_16K + select BR2_ARCH_HAS_MMU_PAGE_SIZE_64K help Aarch64 is a 64-bit architecture developed by ARM Holdings. http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php @@ -76,6 +79,9 @@ config BR2_aarch64_be bool "AArch64 (big endian)" select BR2_ARCH_IS_64 select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_ARCH_HAS_MMU_PAGE_SIZE_4K + select BR2_ARCH_HAS_MMU_PAGE_SIZE_16K + select BR2_ARCH_HAS_MMU_PAGE_SIZE_64K help Aarch64 is a 64-bit architecture developed by ARM Holdings. http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php diff --git a/linux/linux.mk b/linux/linux.mk index e66e0db52f..20b1be3be5 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -329,6 +329,10 @@ define LINUX_KCONFIG_FIXUP_CMDS $(if $(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le), $(call KCONFIG_ENABLE_OPT,CONFIG_PPC_DISABLE_WERROR)) $(if $(BR2_ARCH_MMU_PAGE_SIZE_4K), + $(if $(BR2_aarch64)$(BR2_aarch64_be), + $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_4K_PAGES) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_16K_PAGES) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_64K_PAGES)) $(if $(BR2_arcle)$(BR2_arcbe), $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) @@ -339,10 +343,19 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K))) $(if $(BR2_ARCH_MMU_PAGE_SIZE_16K), + $(if $(BR2_aarch64)$(BR2_aarch64_be), + $(call KCONFIG_DISABLEOPT,CONFIG_ARM64_4K_PAGES) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_16K_PAGES)) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_64K_PAGES) $(if $(BR2_arcle)$(BR2_arcbe), $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_4K) $(call KCONFIG_DISABLE_OPT,CONFIG_ARC_PAGE_SIZE_8K) $(call KCONFIG_ENABLE_OPT,CONFIG_ARC_PAGE_SIZE_16K))) + $(if $(BR2_ARCH_MMU_PAGE_SIZE_64K), + $(if $(BR2_aarch64)$(BR2_aarch64_be), + $(call KCONFIG_DISABLEOPT,CONFIG_ARM64_4K_PAGES) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_16K_PAGES)) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_64K_PAGES)) $(if $(BR2_TARGET_ROOTFS_CPIO), $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD)) # As the kernel gets compiled before root filesystems are