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
> options.
> #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 mailing list