On Wed, Mar 1, 2017 at 4:31 AM, Patrick Wildt <[email protected]> wrote:
> Hi,
>
> there is no com(4) direct access support in EFI, so setting the speed
> will fail and crash the EFI Application. Happens when you run stty
> com0 115200.
>
> ok?
>
> Patrick
>
>
> diff --git a/sys/arch/amd64/stand/libsa/dev_i386.c
> b/sys/arch/amd64/stand/libsa/dev_i386.c
> index e40856cbf05..245ced84a8e 100644
> --- a/sys/arch/amd64/stand/libsa/dev_i386.c
> +++ b/sys/arch/amd64/stand/libsa/dev_i386.c
> @@ -182,8 +182,10 @@ ttydev(char *name)
> int
> cnspeed(dev_t dev, int sp)
> {
> +#ifndef EFIBOOT
> if (major(dev) == 8) /* comN */
> return comspeed(dev, sp);
> +#endif
>
> /* pc0 and anything else */
> return 9600;
>
>
in stand boot
stty could be disable
( diff probably got space instead of tabs , please use -b )
Index: ./stand/boot/cmd.c
===================================================================
RCS file: /cvs/src/sys/stand/boot/cmd.c,v
retrieving revision 1.63
diff -u -p -r1.63 cmd.c
--- ./stand/boot/cmd.c 20 Jul 2014 19:33:54 -0000 1.63
+++ ./stand/boot/cmd.c 1 Mar 2017 22:36:11 -0000
@@ -68,7 +68,9 @@ const struct cmd_table cmd_table[] = {
#endif
{"reboot", CMDT_CMD, Xreboot},
{"set", CMDT_SET, Xset},
+#ifndef EFIBOOT
{"stty", CMDT_CMD, Xstty},
+#endif
{"time", CMDT_CMD, Xtime},
{NULL, 0},
};
Alternatively the function could document the problem ( but it make the
boot loader bigger
Index: ./stand/boot/cmd.c
===================================================================
RCS file: /cvs/src/sys/stand/boot/cmd.c,v
retrieving revision 1.63
diff -u -p -r1.63 cmd.c
--- ./stand/boot/cmd.c 20 Jul 2014 19:33:54 -0000 1.63
+++ ./stand/boot/cmd.c 1 Mar 2017 22:39:23 -0000
@@ -375,6 +375,11 @@ Xstty(void)
char *cp;
dev_t dev;
+#ifndef EFIBOOT
+ printf("no com(4) direct access support in EFI");
+ return 0;
+#endif
+
if (cmd.argc == 1) {
printf("%s speed is %d\n", ttyname(0), cnspeed(0, -1));
return 0;
Maybe a better way ?
--
---------------------------------------------------------------------------------------------------------------------
() ascii ribbon campaign - against html e-mail
/\