Attention is currently required from: Arthur Heymans, Julius Werner, Jérémy Compostella, Kapil Porwal, Nico Huber, Patrick Rudolph.
Subrata Banik has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/81960?usp=email )
Change subject: arch/x86: Enable long mode entry into payload for x86_64 support ......................................................................
Patch Set 4:
(1 comment)
Patchset:
PS4:
https://review.coreboot.org/c/coreboot/+/82016 implements a 32bit entry point that sets up paging in 64bit libpayload. Untested. If it works, it should work without modifying coreboot.
Thanks for the CL, just wondering if the direction check is still valid (basically the one that you have set a day before)?
Add a 64bit entry (maybe call it x86_long_mode, to avoid confusion?) in cbfs_payload_segment_type: maybe PAYLOAD_SEGMENT_X86_LONG_MODE_ENTRY ?
- CB:81964
Add a way to cbfstool to mark the entry of the payload as such (similar to your --64 patch, but then not with file attr, but as payload segment)
- CB:81964
64bit ramstage coreboot at runtime decides to jump to PAYLOAD_SEGMENT_X86_LONG_MODE_ENTRY directly if found
- CB:81960
If not found keep the old 32bit entering code
- CB:81960
If above direction is still valid then wondering why we are again discussing about ` Untested. If it works, it should work without modifying coreboot.`
Please let me know if you prefer to not make any change in coreboot for launching 64-bit payload directly even after setting the direction above?
I'm aware about head.S change to switch from protected to long mode after entering into the payload in 32bit mode. But as discussion previosuly, we wish to follow pure-64 flow going forward for next generation Intel platform hence, prefers to jump into 64-bit w/o trunking.
it may be good direction going forward where we are allowing provision of multiple entry point (both 32-bit and 64-bit) and give the flexibility to coreboot launch the desire entrypoint.