[haiku-development] Re: Need help with UEFI and Jam

  • From: Fredrik Holmqvist <fredrik.holmqvist@xxxxxxxxx>
  • To: haiku-development <haiku-development@xxxxxxxxxxxxx>
  • Date: Fri, 23 Aug 2013 13:41:35 +0200

2013/8/23 Ingo Weinhold <ingo_weinhold@xxxxxx>:
> The boot loader for Haiku x86-64 is most 32 bit, hence the respective flags
> (look for HAIKU_BOOT_{LINK,CC,C++}FLAGS in build/jam/BuildSetup, they are
> used with TARGET_ prefix in build/jam/BootRules). Reasons for that are that
> it required less changes and it's easier to support loading both 32 and 64
> bit kernels.

Ah, that would explain it.

> What to do depends mostly on how the boot process is supposed to work. With
> two stages (UEFI loader -> haiku_loader) there's a bit more flexibility and
> the boot loader could possibly remain 32 bit. Although that also depends on
> how the interaction with UEFI works (you might need to switch back and forth
> between 32 bit and long mode). With only one stage (like the OpenFirmware
> boot loader) you'll either need entry code to switch to 32 bit or you'll
> need to add 64 bit support to the boot loader.

I'm trying to avoid thinking about that stuff yet. Not even sure I'm
the right person for that.
Before I even get there I do need to be able to build a 64-bit EFI
application (Hello World) in the build system as afaik only Macbooks
can run 32 bit EFI apps on 64 bit EFI hardware.

> If you want to build a separate 64 bit UEFI application,
> but keep the boot loader mostly 32 bit, you'll have to write your own rules
> (or do more stuff manually) to build the former.

I think this is what we want so we can run 32-bit Haiku as well.
I'll take a look at making my own jam rules.

/Fredrik Holmqvist, TQH

Other related posts: