Query regarding ELF loader arg style
Eric W. Biederman
ebiederm at xmission.com
Tue Jan 14 20:42:13 EST 2014
Vivek Goyal <vgoyal at redhat.com> writes:
> Hi Eric,
> I am looking at kexec ELF loader code and wondering what are arg style
> #define ARG_STYLE_ELF 0
> #define ARG_STYLE_LINUX 1
> #define ARG_STYLE_NONE 2
> I have looked at them many a times but frankly never fully understood
> what do they represent and what's the intention behind them. Can you
> please elaborate a bit on this.
There is no standard of what kind of arguments a standalone ELF
executable will receive from a bootloader.
Which means that in practice to support different OS's you either need
to pass nothing or make something up.
ARG_STYLE_ELF is my own invention and a sad attempt at coming up with an
OS agnostic standard.
ARG_STYLE_LINUX is an ELF image receiving the same arguments as the
linux kernel. It is a mess but it is reasonably well documented.
ARG_STYLE_NONE should just be simpley passing nothing into an ELF image.
When moving the code into the kernel we should be able to simply use
ARG_STYLE_LINUX. We can revist the other cases if there is ever a need.
The problem is real but I don't know if it needs to be solved any time soon.
More information about the kexec