On Mon, Jan 27, 2025 at 12:31:13PM +0000, Peter Maydell wrote: > The '-old-param' command line option is specific to Arm targets; it > is very briefly documented as "old param mode". What this option > actually does is change the behaviour when directly booting a guest > kernel, so that command line arguments are passed to the kernel using > the extremely old "param_struct" ABI, rather than the newer ATAGS or > even newer DTB mechanisms. > > This support was added back in 2007 to support an old vendor kernel > on the akita/terrier board types: > https://mail.gnu.org/archive/html/qemu-devel/2007-07/msg00344.html > Even then, it was an out-of-date mechanism from the kernel's > point of view -- the kernel has had a comment since 2001 marking > it as deprecated. As of mid-2024, the kernel only retained > param_struct support for the RiscPC and Footbridge platforms: > > https://lore.kernel.org/linux-arm-kernel/2831c5a6-cfbf-4fe0-b51c-0396e5b0a...@app.fastmail.com/ > > None of the board types QEMU supports need param_struct support; > mark this option as deprecated. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > docs/about/deprecated.rst | 13 +++++++++++++ > system/vl.c | 1 + > 2 files changed, 14 insertions(+)
I think it is reasonable to remove this extreme special case given the history around it Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index 29de49351d1..a4c7d642236 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -68,6 +68,19 @@ configurations (e.g. -smp drawers=1,books=1,clusters=1 for > x86 PC machine) is > marked deprecated since 9.0, users have to ensure that all the topology > members > described with -smp are supported by the target machine. > > +``-old-param`` option for booting Arm kernels via param_struct (since 10.0) > +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' > + > +The ``-old-param`` command line option is specific to Arm targets: > +it is used when directly booting a guest kernel to pass it the > +command line and other information via the old ``param_struct`` ABI, > +rather than the newer ATAGS or DTB mechanisms. This option was only > +ever needed to support ancient kernels on some old board types > +like the ``akita`` or ``terrier``; it has been deprecated in the > +kernel since 2001. None of the board types QEMU supports need > +``param_struct`` support, so this option has been deprecated and will > +be removed in a future QEMU version. > + > User-mode emulator command line arguments > ----------------------------------------- > > diff --git a/system/vl.c b/system/vl.c > index c5678267182..32ee1ce7041 100644 > --- a/system/vl.c > +++ b/system/vl.c > @@ -3438,6 +3438,7 @@ void qemu_init(int argc, char **argv) > nb_prom_envs++; > break; > case QEMU_OPTION_old_param: > + warn_report("-old-param is deprecated"); > old_param = 1; > break; > case QEMU_OPTION_rtc: > -- > 2.34.1 > > With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|