From owner-svn-src-head@freebsd.org Mon Mar 16 06:27:04 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 038EE25B8A6 for ; Mon, 16 Mar 2020 06:27:04 +0000 (UTC) (envelope-from tsoome@me.com) Received: from pv50p00im-ztdg10022001.me.com (pv50p00im-ztdg10022001.me.com [17.58.6.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48gmYL01bXz41rH for ; Mon, 16 Mar 2020 06:27:01 +0000 (UTC) (envelope-from tsoome@me.com) Received: from nazgul.lan (148-52-235-80.sta.estpak.ee [80.235.52.148]) by pv50p00im-ztdg10022001.me.com (Postfix) with ESMTPSA id A7840A02DF; Mon, 16 Mar 2020 06:26:59 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\)) Subject: Re: svn commit: r358989 - in head/stand/efi: libefi loader loader/arch/arm loader/arch/arm64 From: Toomas Soome In-Reply-To: <20200316001745.07df62f72d647b924b657d86@dec.sakura.ne.jp> Date: Mon, 16 Mar 2020 08:26:56 +0200 Cc: svn-src-head@freebsd.org, "tsoome@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <746EE981-536F-49AD-9B76-F9F103ECB1F9@me.com> References: <20200316001745.07df62f72d647b924b657d86@dec.sakura.ne.jp> To: junchoon@dec.sakura.ne.jp X-Mailer: Apple Mail (2.3608.60.0.2.5) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2020-03-16_01:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-2003160032 X-Rspamd-Queue-Id: 48gmYL01bXz41rH X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.59 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:17.58.0.0/16]; FREEMAIL_FROM(0.00)[me.com]; MV_CASE(0.50)[]; DKIM_TRACE(0.00)[me.com:+]; DMARC_POLICY_ALLOW(-0.50)[me.com,quarantine]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; IP_SCORE(0.00)[ip: (-3.83), ipnet: 17.58.0.0/20(-2.00), asn: 714(-2.38), country: US(-0.05)]; RCVD_IN_DNSWL_LOW(-0.10)[58.6.58.17.list.dnswl.org : 127.0.5.1]; ASN(0.00)[asn:714, ipnet:17.58.0.0/20, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RECEIVED_SPAMHAUS_PBL(0.00)[148.52.235.80.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.10]; ARC_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[me.com]; R_DKIM_ALLOW(-0.20)[me.com:s=1a1hai]; NEURAL_HAM_MEDIUM(-0.99)[-0.987,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE_FREEMAIL(0.00)[]; DWL_DNSWL_LOW(-1.00)[me.com.dwl.dnswl.org : 127.0.5.1]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2020 06:27:04 -0000 Hi! This means, your system has UART serial device =E2=80=94 you can check = this from loader prompt: efi-show -g global -v ConOut or with efivar = from running system. This would trigger efi console driver to use = TERM_EMU, which can be turned off by user and doing that would cause ESC = sequences to be passed directly to console. Might that be true in your = case? rgds, toomas > On 15. Mar 2020, at 17:17, Tomoaki AOKI = wrote: >=20 > Hi. >=20 > This broke loader menu display on efifb. At least on amd64. > ESC sequences without ESC character are shown. > Key input (at least 1, 2 and enter) works OK. > I suspect outputs for SIO is sent to efifb and ESC codes are ignored. >=20 > Reverting this fixes the issue. >=20 > Not tried (not enough time for now as I'm mainly using stable/12), > but possibly calling efi_cons_probe() from efi_cons_init() would be > needed, as ome codes are moved from the latter to the former. >=20 >=20 >> Author: tsoome >> Date: Sat Mar 14 06:36:03 2020 >> New Revision: 358989 >> URL: https://svnweb.freebsd.org/changeset/base/358989 >>=20 >> Log: >> loader: add comconsole implementation on top of SIO protocol >>=20 >> Provide comconsole on top of SIO for arm platforms (x86 does use = bios > version). >>=20 >> Added: >> head/stand/efi/loader/efiserialio.c (contents, props changed) >> Modified: >> head/stand/efi/libefi/efi_console.c >> head/stand/efi/loader/arch/arm/Makefile.inc >> head/stand/efi/loader/arch/arm64/Makefile.inc >> head/stand/efi/loader/conf.c >> head/stand/efi/loader/main.c >>=20 >> Modified: head/stand/efi/libefi/efi_console.c >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >> --- head/stand/efi/libefi/efi_console.c Sat Mar 14 05:57:22 > 2020 (r358988) >> +++ head/stand/efi/libefi/efi_console.c > Sat Mar 14 06:36:03 2020 (r358989) >> @@ -377,9 +377,22 @@ efi_cons_respond(void *s __unused, const void = *buf __u >> { >> } >>=20 >> +/* >> + * Set up conin/conout/coninex to make sure we have input ready. >> + */ >> static void >> efi_cons_probe(struct console *cp) >> { >> + EFI_STATUS status; >> + >> + conout =3D ST->ConOut; >> + conin =3D ST->ConIn; >> + >> + status =3D BS->OpenProtocol(ST->ConsoleInHandle, > &simple_input_ex_guid, >> + (void **)&coninex, IH, NULL, > EFI_OPEN_PROTOCOL_GET_PROTOCOL); >> + if (status !=3D EFI_SUCCESS) >> + coninex =3D NULL; >> + >> cp->c_flags |=3D C_PRESENTIN | C_PRESENTOUT; >> } >>=20 >> @@ -889,15 +902,7 @@ efi_cons_init(int arg) >> if (conin !=3D NULL) >> return (0); >>=20 >> - conout =3D ST->ConOut; >> - conin =3D ST->ConIn; >> - >> conout->EnableCursor(conout, TRUE); >> - status =3D BS->OpenProtocol(ST->ConsoleInHandle, > &simple_input_ex_guid, >> - (void **)&coninex, IH, NULL, > EFI_OPEN_PROTOCOL_GET_PROTOCOL); >> - if (status !=3D EFI_SUCCESS) >> - coninex =3D NULL; >> - >> if (efi_cons_update_mode()) >> return (0); >>=20 >>=20 >> Modified: head/stand/efi/loader/arch/arm/Makefile.inc >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >> --- head/stand/efi/loader/arch/arm/Makefile.inc Sat Mar 14 > 05:57:22 2020 (r358988) >> +++ head/stand/efi/loader/arch/arm/Makefile.inc Sat Mar 14 = 06:36:03 > 2020 (r358989) >> @@ -1,6 +1,7 @@ >> # $FreeBSD$ >>=20 >> SRCS+=3D exec.c \ >> + efiserialio.c \ >> start.S >>=20 >> HAVE_FDT=3Dyes >=20 > (Snip) >=20 >> @@ -930,7 +936,6 @@ main(int argc, CHAR16 *argv[]) >> if (!has_kbd && (howto & RB_PROBE)) >> howto |=3D RB_SERIAL | RB_MULTIPLE; >> howto &=3D ~RB_PROBE; >> - uhowto =3D parse_uefi_con_out(); >>=20 >> /* >> * Read additional environment variables from the boot device's >=20 > --=20 > Tomoaki AOKI