public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] 64-bit x86 U-Boot?
@ 2016-02-01  2:20 Simon Glass
  2016-02-01  7:14 ` Albert ARIBAUD
  0 siblings, 1 reply; 10+ messages in thread
From: Simon Glass @ 2016-02-01  2:20 UTC (permalink / raw)
  To: u-boot

Hi Bin,

At present U-Boot supports booting a 64-bit kernel directly. It can
also be loaded as a 64-bit payload from EFI. But it cannot be built as
a 64-bit boot loader.

I took a bit of a look at this. It looks like we need to stay in
32-bit mode until the FSP is loaded. Also, to get to 64-bit mode I'm
pretty sure we need page tables, which means we need somewhere to put
them!

Looking at the board_f init sequence, it seems that arch_cpu_init() is
the earlist we could switch to 64-bit. We'd need to grab some memory
from somewhere to do this - I wonder if this can be CAR? There is no
SRAM on x86 chips I think.

For non-FSP devices we don't init the RAM until much later -
dram_init(). That means that a significant portion of the init
sequence would be 32-bit code. I'm not sure that will work.

I suppose one option is to only go to 64-bit mode when relocating. But
then we end up with lots of code that needs to run in 32-bit and
64-bit.

Do you have any ideas on this?

Regards,
Simon

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-02-05  5:41 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-01  2:20 [U-Boot] 64-bit x86 U-Boot? Simon Glass
2016-02-01  7:14 ` Albert ARIBAUD
2016-02-02  3:58   ` Simon Glass
2016-02-02  7:25     ` Bin Meng
2016-02-02  9:53       ` Albert ARIBAUD
2016-02-02 15:02         ` Bin Meng
2016-02-03  4:31           ` Simon Glass
2016-02-03  4:42             ` Bin Meng
2016-02-04 17:41               ` Tom Rini
2016-02-05  5:41                 ` Bin Meng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox