Are we not going to switch to 64bit mode in LinuxBIOS anyways?
We probably should, PCIe requires 64-bit loads and stores (well most devices don't need those, but hey). It also makes accessing stuff above 4GB way easier, and you can use all 16 regs without needing prefixes.
Or we need to make elfboot in LinuxBIOS to be 64elf aware, and it need to switch 64bit before load 64bit elf.
This is the preferred thing I guess, because it will allow us to use other 64bit payloads as well without requiring that they do the same weird 32->64bit trampolining as Linux does...
That trampoline is really simple actually (well, after I sat down with it and a lot of paper for a few hours). A similar thing is needed to start a 32-bit payload from a 64-bit firmware of course.
[OT: want to see *really* simple? On PowerPC it's one bit only to select between 32- and 64-bit mode. I'm sooo spoilt].
Segher