> Date: Fri, 3 Jan 2020 19:26:22 +0000
> From: Miod Vallat <m...@online.fr>
> 
> Although Open Firmware supports it, there is no way from OpenBSD to
> reboot with a specified boot command line, so drop vestigial support for
> it from boot().

Hmm, reboot(2) does allow us to pass flags.  But you're right that
there is no userland tool to pass the flags to the kernel.

I suppose the dominant platforms simply didn't support passing flags
across reboots, so this never took off.  But with EFI we could support
these on amd64 and arm64.


> Index: sparc64/machdep.c
> ===================================================================
> RCS file: /OpenBSD/src/sys/arch/sparc64/sparc64/machdep.c,v
> retrieving revision 1.191
> diff -u -p -r1.191 machdep.c
> --- sparc64/machdep.c 1 Apr 2019 07:00:52 -0000       1.191
> +++ sparc64/machdep.c 3 Jan 2020 19:24:45 -0000
> @@ -593,9 +593,6 @@ struct pcb dumppcb;
>  __dead void
>  boot(int howto)
>  {
> -     int i;
> -     static char str[128];
> -
>       if ((howto & RB_RESET) != 0)
>               goto doreset;
>  
> @@ -655,30 +652,7 @@ haltsys:
>  
>  doreset:
>       printf("rebooting\n\n");
> -#if 0
> -     if (user_boot_string && *user_boot_string) {
> -             i = strlen(user_boot_string);
> -             if (i > sizeof(str))
> -                     OF_boot(user_boot_string);      /* XXX */
> -             bcopy(user_boot_string, str, i);
> -     } else
> -#endif
> -     {
> -             i = 1;
> -             str[0] = '\0';
> -     }
> -
> -     if ((howto & RB_SINGLE) != 0)
> -             str[i++] = 's';
> -     if ((howto & RB_KDB) != 0)
> -             str[i++] = 'd';
> -     if (i > 1) {
> -             if (str[0] == '\0')
> -                     str[0] = '-';
> -             str[i] = 0;
> -     } else
> -             str[0] = 0;
> -     OF_boot(str);
> +     OF_boot("");
>       panic("cpu_reboot -- failed");
>       for (;;)
>               continue;
> 
> 

Reply via email to