History log of /haiku/src/system/boot/platform/efi/Jamfile
Revision Date Author Comments
# 37e1b129 09-Jun-2023 PulkoMandy <pulkomandy@pulkomandy.tk>

framebuffer: report display EDID data

This allows to see the display in Screen preferences, and know its DPI
and physical size (as much as EDID data can be trusted). This
information could be used to compute the default font size, for example,
so it's important that all drivers provide it whenever possible.

Change-Id: Ic3d04e53cf5fcb24e22d35661d2b364a257947da
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6576
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# f6166140 29-Nov-2022 Augustin Cavalier <waddlesplash@gmail.com>

build: Define _BOOT_MODE once and for all in ArchitectureRules+BootRules.

Previously it was spread all around the tree, and was not defined
consistently for all boot objects (there were a number of boot modules
which did not define it, but did include headers which checked for it.)

Now, as it is handled in SetupBoot which is invoked for all boot objects,
it will be applied consistently throughout. We can thus drop the manual
additions of it from all Jamfiles.


# 476346ac 26-Mar-2022 urnenfeld <oliver.ruiz.dorantes@gmail.com>

arm64: Enable DTB handling, Introduce LINFlex UART driver

Change-Id: Ib643545271700e6ff4a4037d0e797355194927e7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5149
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: David Karoly <karolyd577@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>


# 7f6f87d2 05-Nov-2021 David Karoly <karolyd577@gmail.com>

boot/efi: build boot_fdt.a with boot compiler flags

Change-Id: I698019697d1c3bcf1e913316cfd6c0dcab65d4e3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4689
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# c4eec9f1 01-Oct-2021 Augustin Cavalier <waddlesplash@gmail.com>

Distinguish KERNEL_ARCH_DIR from KERNEL_ARCH.

On x86_64, the KERNEL_ARCH should really be "x86_64", but it was "x86"
as the architecture sources/headers directory is shared between 32 and 64 bit.

Should not be a functional change on any platform outside x86_64.


# 5e567c10 21-Aug-2021 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

ARM64 Jamfiles, missed in previous commit

* Use generic c versions of memset and memcpy
Wwrite fast asm for that later, therefore no need for arch_string.S
* Disable FDT and DTB until ARM64 is ready
(WIP: do it later)
* use ELF64


# f1fa58bf 25-Jul-2021 X512 <danger_mail@list.ru>

haiku_loader.efi: update for riscv64

* Added MMU page table generation.
* Added optional FDT device detection and passing to kernel.
* Add platform address translation stubs to bios_ia32
to drop EFI ifdefs

Change-Id: I89257c93c84404fd988f621b29f927ed0df3c3b1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4304
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 569564c0 21-Dec-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

efi/dtb: Find potential FDT on UEFI

* Makes our UEFI bootloader somewhat FDT/DTB aware on all
architectures.
* Will report when an FDT is found, and provide it to kernels
that want it.

Change-Id: I90324fc0579a9c835e60568fa9b654c2df0aba27
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3543
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 89fd39f4 01-Jul-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: Refactor CPU code to be arch-specific

* Migrate some platform agnostic architecture code into
boot/arch from efi/arch. This helps to avoid conflicts
between kernel and boot sources as well.
* Conflicts between arch_cpu in efi and kernel code means
bootcode really should *never* directly use kernel arch
headers. (other platforms don't, which is why they don't
have this same issue)
* We carefully thread any needed kernel headers (namely
assembly helper macros) into the bootloader headers without
mixing in the whole conflicting kernel/arch headers.
* ARM now properly get its cpu init code called, and we
progress further into the EFI bootloader.

Change-Id: If67ec9758b5ce68563ebd9eb45d5196401911c67
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2975
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 4f732f12 09-Mar-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: drop fdt and fdt drivers on arm

Change-Id: I3a11e7b3aae043deb72a2dd0de543cb488d75eb6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2336
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 82a7c739 22-Feb-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

efi/arm: Begin stubbing out the essentials, add fdt library

* We *might* no longer need FDT knowledge in the bootloader?
* For now though, arm sources reference gFDT, so we need it.
* Need to move away from lazy gFDT and store in arch_kernel_args.
(which is next and will be a larger commit)

Change-Id: I77cce0fc645143b78a7fd9f50ac8b96c97b5c862
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2268
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 04f1baa7 05-Feb-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

EFI: Make our haiku_loader architecture agnostic

* This is the bulk of the work. Anything else should be
minor cleanups and tweaking.
* riscv64 isn't a viable EFI platform yet.. just acting
as a stand-in to test a non-x86 EFI haiku_loader

Change-Id: Ib03de81e2b562e693987b86d7b4318209fb1c792
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2256
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# d38ba84d 11-Feb-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: Add quirks for some unicorn Apple EFI protocols

* grub and linux do the same thing.
* Based on MIT code here:
https://github.com/0xbb/apple_set_os.efi/blob/master/apple_set_os.c

Change-Id: I299b3721197c5cdd4406d313d8769d4923f7edb4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2239
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 485b5cf8 13-Dec-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: Refactor our EFI code to use fuchsia's cleaner EFI headers.

* Drop gnu-efi

Change-Id: Ib601fc8ced49b18281b6b98cf861a5aef1b9c065
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2026
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# b482adb1 01-Nov-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel/boot/efi: Continue breaking apart arch-specific code; hpet

* Move x86 hpet behind timer interface.
* Add a few if x86,x86_64 macros to start.cpp.

Change-Id: I583ec1b064785182e6d48dfbcd91b1bb2ead4b44
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1929
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# 761ddb2c 15-Oct-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

EFI: Break smp into arch subpath

Change-Id: Ia9438777f1da8ca32f93e0d85229230c809e6711
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1918
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 7c32619c 02-Oct-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

boot/platform: Break x86 code away from core EFI code

Change-Id: I88afad6d071e8b577c23da9c60392c60b3726514
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1895
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# e24ef169 02-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

EFI: Architecture-specific code depends on GNUEFI headers.

Hopefully fixes the buildbot's recent breakage.


# 753d3506 30-Oct-2018 Augustin Cavalier <waddlesplash@gmail.com>

efi: arch_src also depends on gnuefi.

Fixes the x86_64 parallel build after recent changes.


# 8ee963f9 28-Oct-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: Begin sorting x86_64 to arch subfolder

Change-Id: I0b724c05d527332fb6a5f4909b44d578ae1c6d0e


# 2ff03651 17-Oct-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: Fix missing gnuefi dependency

Change-Id: Iff3b64e781ebee192b769193808f3ec12af1d1fa


# 1f96a3cb 08-Oct-2018 Jessica Hamilton <jessica.l.hamilton@gmail.com>

system/boot: Add support for multiple bootloaders


# 3718fb86 08-Aug-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: Drop x86_64 assumptions.

Change-Id: I3d806f43ef951013369fd0bf906eca5977e8d34c


# 6b4cbec0 06-Jan-2017 Jessica Hamilton <jessica.l.hamilton@gmail.com>

UEFI: identify the boot partition to check that it's valid.

* Also modified EFI::Header to return the efi_table_header so
that we can compare it to boot device partition table.


# 9e487d8d 15-Dec-2016 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

UEFI: serial debugging support.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# a99a0c00 02-May-2015 Nick Smallbone <nick.smallbone@gmail.com>

EFI: add support for SMP.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# a7142a50 28-Apr-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

EFI: add cpu.cpp from bios_ia32


# a1d0102e 25-Apr-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

EFI: add support for HPET


# 6e6efaec 24-Apr-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

EFI: add ACPI support

Also add support in the kernel to get the ACPI RSDP from the
bootloader, and pass onto the ACPI driver using get_boot_item.


# b3215a62 21-Oct-2014 Henry Harrington <henry.harrington@gmail.com>

EFI: preliminary support for starting the kernel.

Enough to let the kernel to print hello, but not much beyond that.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# c0bdc8be 22-Apr-2016 Jessica Hamilton <jessica.l.hamilton@gmail.com>

bootloader: build objects in $(TARGET_BOOT_PLATFORM)

This separates the objects required for the various boot
loaders, allowing the build system to be able to build
for different targets alongside each other. Currently
only done for bios_ia32 vs efi, as both loaders will be
needed for the x86_64 images.


# e2e1558a 20-Apr-2016 Jessica Hamilton <jessica.l.hamilton@gmail.com>

EFI: stub functions so we can call loader's main() function.


# 735f1dae 30-Nov-2013 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

EFI: Implement console code.


# 211483cb 14-Apr-2016 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

EFI: Initial test EFI application

* Only set HAIKU_BOOT_PLATFORM to bios_ia32 if not defined
* Add gnuefi build feature
* Introduce BOOT_LDFLAGS, and move options for passing to linker
into ArchitectureSetup
* x86_64 compile fixes for warnings in boot loader
* loader/elf.cpp: don't include ELF32 support when targeting EFI
* relocation_func.cpp: copy of the relocation code from gnuefi
to make _relocate extern "C", and avoid including <efilib.h>
* boot_loader_efi.ld: copy of gnuefi's elf_x86_64_efi.lds,
modified to include support for C++ constructors, etc. Keep in
sync with the gnuefi package

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>