Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47599 )
Change subject: arch/x86: Top align bootblock program ......................................................................
Patch Set 2:
(2 comments)
https://review.coreboot.org/c/coreboot/+/47599/1/src/arch/x86/bootblock_crt0... File src/arch/x86/bootblock_crt0.S:
https://review.coreboot.org/c/coreboot/+/47599/1/src/arch/x86/bootblock_crt0... PS1, Line 19: #include <cpu/x86/16bit/entry16.inc> : #include <cpu/x86/16bit/reset16.inc> : #include <cpu/x86/32bit/entry32.inc>
So this is the only thing that really needs to be in the init section. […]
Section .init description for ELF:
This section holds executable instructions that contribute to the process initialization code. When a program starts to run, the system arranges to execute the code in this section before calling the main program entry point (called main for C programs)
I think CAR init and clearing stack/bss fits the description precisely. Rest of the .S files changed here fit the "called before main program entry" criteria.
https://review.coreboot.org/c/coreboot/+/47599/1/src/arch/x86/bootblock_crt0... PS1, Line 57: .previous
So directive swaps this to the previous section? What does this mean here?
I might have replicated this from id.S or fit.S, but at the end of the file it indeed makes little sense now. Mentioned .S files were previously included from booblock0.S CB:11792, prior to that use of the directive probably made a difference.