From: Chris Plant <chris@monkeyircd.org>
To: Grub-devel@gnu.org
Cc: chris@monkeyircd.org
Subject: [PATCH] Enable multiboot2 support on arm64-efi target
Date: Wed, 28 Oct 2020 19:45:18 +0000 [thread overview]
Message-ID: <4b23bf36d0a833ff038709ae7c443647976dcd8c.camel@monkeyircd.org> (raw)
Hello,
As you may have guessed from my musings on the mailing list to date,
I've been creating a patch to enable the multiboot2 loader on
ARM64/aarch64.
Why? I am playing with GNU Mach (not sure why - blame COVID-19) on
Raspberry PI. I guess the key driver for why it's interesting to a
wider audience came from Krystian Hebel - "MB2 is one of the most
commonly used (if not the most common) boot protocols for hobby OSes.",
so I propose we should support it on a platform which in it's various
guises is very easily available to hobby programmers.
As part of this effort, I've also found that definition of "struct
multiboot_tag_elf_sections" does not match the multiboot2 specification
documentation and does not align the elf sections to a 8 byte boundary.
This causes issues on aarch64 as the 64 bit numbers within the elf
sections are then misaligned throughout. Although the version of the
structure document in the multiboot2 documentation would align it
correctly, the grub and reference implemntations do not match the
documentation.
Hence, I have created a new struct multiboot_tag_elf64_sections which
is correctly aligned, and also given the next available tag number. I
have prepared an update to the multiboot2 specification to document
this, which will follow seperately.
This sequence of patches:
01 - Updates multiboot2 definitions to include the new elf64 tag, adds
awareness of the ARCHITECTURE_AARCH64 to multiboot2.
02 - Add relocator code for ARM64, based on MIPS code
03 - Adds mmap_ functions on ARM64 to support multiboot loader
04 - Adds aarch64 target to the ifdefs in multiboot loader code
05 - Updates Makefile.core.def to compile the multiboot2 loader on the
arm-efi target.
I apologise for any inadvertant breach of ettique in the way these
patches are presented - I'm a bit new to this text patch process but
I've tried my best.
Signed-off-by: Chris Plant <chris@monkeyircd.org>
next reply other threads:[~2020-10-28 19:46 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-28 19:45 Chris Plant [this message]
2020-10-28 19:47 ` [PATCH 01/05] Enable multiboot2 support on arm64-efi target Chris Plant
2020-10-28 19:49 ` [PATCH 03/05] " Chris Plant
2020-10-28 19:50 ` [PATCH 04/05] " Chris Plant
2020-10-28 19:51 ` [PATCH 05/05] " Chris Plant
2020-10-28 19:52 ` [PATCH 02/05] " Chris Plant
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4b23bf36d0a833ff038709ae7c443647976dcd8c.camel@monkeyircd.org \
--to=chris@monkeyircd.org \
--cc=Grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox