Go to file
Thomas Petazzoni dcb74db89e arch: add support for configurable page size on ARM64
This commit is based on earlier work from Łukasz Stelmach
<l.stelmach@samsung.com> to add support for different page sizes on
ARM64.

In his initial submission, Łukasz took an approach similar to this
one, i.e make it ARM64-specific. Following the feedback on the mailing
list, his second version [1] tried to generalize the logic to
configure the page size between architectures. But the general
consensus during the review process was that there wasn't much to
generalize in the end.

So, this new iteration is back to a simpler approach:

 * We have new options in Config.in.arm to configure the page
   size. Only 4 KB and 64 KB are supported, because our testing in
   Qemu and real hardware has not allowed to get a successful setup
   for 16 KB pages. We can always re-add support for 16 KB later if
   that is resolved.

 * The logic to define the ARCH_TOOLCHAIN_WRAPPER_OPTS options is
   moved from the ARC-specific file to arch/arch.mk, and extended to
   cover ARM64.

 * The appropriate logic in uclibc.mk and linux.mk is added to tweak
   the relevant configuration options.

 * A test case is added in the runtime test infrastructure to test
   building and booting under Qemu a 64 KB configuration, with all 3 C
   libraries.

For the regular configuration of 4 KB pages, this commit makes one
functional change: on ARM64, -Wl,-z,max-page-size=4096 is now passed in
the compiler flags of the wrapper.

[1] https://patchwork.ozlabs.org/project/buildroot/list/?series=275452

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-07-26 22:54:39 +02:00
arch arch: add support for configurable page size on ARM64 2022-07-26 22:54:39 +02:00
board configs/kontron_bl_imx8mm_defconfig: bump U-Boot 2022-07-26 15:13:59 +02:00
boot boot/arm-trusted-firmware: allow enabling without uboot or edk2 2022-07-26 22:51:09 +02:00
configs configs/*: use BR2_ENABLE_LTO to enable LTO instead of BR2_GCC_ENABLE_LTO 2022-07-26 21:56:13 +02:00
docs docs/manual: fix patchwork URL 2022-07-23 18:57:22 +02:00
fs fs/tar: add option for zstd compression 2022-07-23 22:40:01 +02:00
linux arch: add support for configurable page size on ARM64 2022-07-26 22:54:39 +02:00
package arch: add support for configurable page size on ARM64 2022-07-26 22:54:39 +02:00
support arch: add support for configurable page size on ARM64 2022-07-26 22:54:39 +02:00
system package/systemd: add setting for systemd default.target 2022-05-02 22:58:44 +02:00
toolchain toolchain: introduce BR2_TOOLCHAIN_HAS_GCC_BUG_104028 2022-07-26 17:12:51 +02:00
utils utils/readme.txt: Fix typo "get-developers" 2022-07-23 18:21:21 +02:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig
.flake8
.gitignore
.gitlab-ci.yml utils/checkpackagelib/lib_sysv: run shellcheck 2022-02-06 18:27:03 +01:00
.shellcheckrc utils/check-package: improve shellcheck reproducibility 2022-07-25 23:52:47 +02:00
CHANGES Update for 2022.02.3 2022-06-19 12:53:35 +02:00
Config.in Config.in: add new option BR2_ENABLE_LTO to globally enable LTO 2022-07-26 21:53:52 +02:00
Config.in.legacy package/{mesa3d, mesa3d-headers}: bump version to 22.1.3 2022-07-23 22:30:14 +02:00
COPYING
DEVELOPERS package/qt6/qt6base: new package 2022-07-26 22:54:38 +02:00
Makefile Kickoff 2022.08 cycle 2022-06-07 21:06:39 +02:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches