NetBSD Problem Report #57523

From www@netbsd.org  Thu Jul 13 06:00:59 2023
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id EBC701A923D
	for <gnats-bugs@gnats.NetBSD.org>; Thu, 13 Jul 2023 06:00:58 +0000 (UTC)
Message-Id: <20230713060058.30ED51A923E@mollari.NetBSD.org>
Date: Thu, 13 Jul 2023 06:00:58 +0000 (UTC)
From: rokuyama.rk@gmail.com
Reply-To: rokuyama.rk@gmail.com
To: gnats-bugs@NetBSD.org
Subject: [PATCH] efiboot/x86: Add serial console support via raw I/O port access
X-Send-Pr-Version: www-1.0

>Number:         57523
>Category:       port-amd64
>Synopsis:       [PATCH] efiboot/x86: Add serial console support via raw I/O port access
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-amd64-maintainer
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Jul 13 06:05:00 +0000 2023
>Closed-Date:    Thu Oct 12 07:01:29 +0000 2023
>Last-Modified:  Thu Oct 12 07:01:29 +0000 2023
>Originator:     Rin Okuyama
>Release:        10.99.3
>Organization:
Internet Initiative Japan Inc.
>Environment:
NetBSD netbsd 10.99.3 NetBSD 10.99.3 (AMD64_NET_MPSAFE) #1: Thu May 25 19:17:12 JST 2023  rin@latipes:/build/src/sys/arch/amd64/compile/AMD64_NET_MPSAFE amd64 x86_64
>Description:
Unfortunately, some (most?) UEFI implementations do not support
com ports by ``Serial I/O Protocol''.

``PNP0501-0'' and friends are not recognized also.

In this case, if user explicitly requires to switch to serial
console by ``consdev'' command, try to use raw I/O port access.

Yes, this is ugly, but what FreeBSD does, at least.
>How-To-Repeat:
Boot amd64/i386 machines with com(4) ports on UEFI mode, and
try ``consdev'' command. If you are lucky enough, serial
devices appear. But it fails in most cases, unfortunately.
>Fix:
https://github.com/rokuyama/netbsd-src/commit/47bf5414985451c577b54bcd5130680f1f6c7a35.diff

>Release-Note:

>Audit-Trail:
From: "Rin Okuyama" <rin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/57523 CVS commit: src/sys/arch/i386/stand/efiboot
Date: Mon, 24 Jul 2023 01:57:00 +0000

 Module Name:	src
 Committed By:	rin
 Date:		Mon Jul 24 01:56:59 UTC 2023

 Modified Files:
 	src/sys/arch/i386/stand/efiboot: Makefile.efiboot eficons.c
 Added Files:
 	src/sys/arch/i386/stand/efiboot: eficpufunc.c eficpufunc.h

 Log Message:
 efiboot/x86: Add serial console support via raw I/O port access

 Unfortunately, some (most?) UEFI implementations do not support
 com ports by ``Serial I/O Protocol''.

 ``PNP0501-0'' and friends are not recognized also.

 In this case, if user explicitly requires to switch to serial
 console by ``consdev'' command, try to use raw I/O port access.

 Ugly, but what FreeBSD does, at least.

 Proposed as PR port-amd64/57523


 To generate a diff of this commit:
 cvs rdiff -u -r1.21 -r1.22 src/sys/arch/i386/stand/efiboot/Makefile.efiboot
 cvs rdiff -u -r1.12 -r1.13 src/sys/arch/i386/stand/efiboot/eficons.c
 cvs rdiff -u -r0 -r1.1 src/sys/arch/i386/stand/efiboot/eficpufunc.c \
     src/sys/arch/i386/stand/efiboot/eficpufunc.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/57523 CVS commit: [netbsd-10] src/sys/arch/i386/stand/efiboot
Date: Mon, 11 Sep 2023 13:25:43 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Mon Sep 11 13:25:42 UTC 2023

 Modified Files:
 	src/sys/arch/i386/stand/efiboot [netbsd-10]: Makefile.efiboot eficons.c
 Added Files:
 	src/sys/arch/i386/stand/efiboot [netbsd-10]: eficpufunc.c eficpufunc.h

 Log Message:
 Pull up following revision(s) (requested by rin in ticket #361):

 	sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.22
 	sys/arch/i386/stand/efiboot/eficpufunc.c: revision 1.1
 	sys/arch/i386/stand/efiboot/eficpufunc.h: revision 1.1
 	sys/arch/i386/stand/efiboot/eficons.c: revision 1.13

 efiboot/x86: Add serial console support via raw I/O port access

 Unfortunately, some (most?) UEFI implementations do not support
 com ports by ``Serial I/O Protocol''.
 ``PNP0501-0'' and friends are not recognized also.

 In this case, if user explicitly requires to switch to serial
 console by ``consdev'' command, try to use raw I/O port access.

 Ugly, but what FreeBSD does, at least.
 Proposed as PR port-amd64/57523


 To generate a diff of this commit:
 cvs rdiff -u -r1.19 -r1.19.4.1 \
     src/sys/arch/i386/stand/efiboot/Makefile.efiboot
 cvs rdiff -u -r1.12 -r1.12.4.1 src/sys/arch/i386/stand/efiboot/eficons.c
 cvs rdiff -u -r0 -r1.1.2.2 src/sys/arch/i386/stand/efiboot/eficpufunc.c \
     src/sys/arch/i386/stand/efiboot/eficpufunc.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Rin Okuyama" <rin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/57523 CVS commit: src/sys/arch/i386/stand/efiboot
Date: Thu, 14 Sep 2023 03:05:15 +0000

 Module Name:	src
 Committed By:	rin
 Date:		Thu Sep 14 03:05:15 UTC 2023

 Modified Files:
 	src/sys/arch/i386/stand/efiboot: eficons.c

 Log Message:
 efiboot/x86: eficons.c: Explicitly include params.h for howmany()

 NFC for -current and netbsd-10, but necessary for netbsd-[89] to
 pull up raw IO serial port support (PR port-amd64/57523).


 To generate a diff of this commit:
 cvs rdiff -u -r1.13 -r1.14 src/sys/arch/i386/stand/efiboot/eficons.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/57523 CVS commit: [netbsd-9] src/sys/arch/i386/stand/efiboot
Date: Fri, 15 Sep 2023 15:40:22 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Fri Sep 15 15:40:22 UTC 2023

 Modified Files:
 	src/sys/arch/i386/stand/efiboot [netbsd-9]: Makefile.efiboot eficons.c
 Added Files:
 	src/sys/arch/i386/stand/efiboot [netbsd-9]: eficpufunc.c eficpufunc.h

 Log Message:
 Pull up following revision(s) (requested by rin in ticket #1732):

 	sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.22
 	sys/arch/i386/stand/efiboot/eficpufunc.c: revision 1.1
 	sys/arch/i386/stand/efiboot/eficpufunc.h: revision 1.1
 	sys/arch/i386/stand/efiboot/eficons.c: revision 1.13
 	sys/arch/i386/stand/efiboot/eficons.c: revision 1.14

 efiboot/x86: Add serial console support via raw I/O port access

 Unfortunately, some (most?) UEFI implementations do not support
 com ports by ``Serial I/O Protocol''.
 ``PNP0501-0'' and friends are not recognized also.

 In this case, if user explicitly requires to switch to serial
 console by ``consdev'' command, try to use raw I/O port access.

 Ugly, but what FreeBSD does, at least.
 Proposed as PR port-amd64/57523

 efiboot/x86: eficons.c: Explicitly include params.h for howmany()

 NFC for -current and netbsd-10, but necessary for netbsd-[89] to
 pull up raw IO serial port support (PR port-amd64/57523).


 To generate a diff of this commit:
 cvs rdiff -u -r1.15.2.1 -r1.15.2.2 \
     src/sys/arch/i386/stand/efiboot/Makefile.efiboot
 cvs rdiff -u -r1.6.6.4 -r1.6.6.5 src/sys/arch/i386/stand/efiboot/eficons.c
 cvs rdiff -u -r0 -r1.1.4.2 src/sys/arch/i386/stand/efiboot/eficpufunc.c \
     src/sys/arch/i386/stand/efiboot/eficpufunc.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/57523 CVS commit: [netbsd-8] src/sys/arch/i386/stand/efiboot
Date: Fri, 15 Sep 2023 15:44:20 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Fri Sep 15 15:44:20 UTC 2023

 Modified Files:
 	src/sys/arch/i386/stand/efiboot [netbsd-8]: Makefile.efiboot eficons.c
 Added Files:
 	src/sys/arch/i386/stand/efiboot [netbsd-8]: eficpufunc.c eficpufunc.h

 Log Message:
 Pull up following revision(s) (requested by rin in ticket #1897):

 	sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.22
 	sys/arch/i386/stand/efiboot/eficpufunc.c: revision 1.1
 	sys/arch/i386/stand/efiboot/eficpufunc.h: revision 1.1
 	sys/arch/i386/stand/efiboot/eficons.c: revision 1.13
 	sys/arch/i386/stand/efiboot/eficons.c: revision 1.14

 efiboot/x86: Add serial console support via raw I/O port access

 Unfortunately, some (most?) UEFI implementations do not support
 com ports by ``Serial I/O Protocol''.
 ``PNP0501-0'' and friends are not recognized also.

 In this case, if user explicitly requires to switch to serial
 console by ``consdev'' command, try to use raw I/O port access.

 Ugly, but what FreeBSD does, at least.
 Proposed as PR port-amd64/57523

 efiboot/x86: eficons.c: Explicitly include params.h for howmany()

 NFC for -current and netbsd-10, but necessary for netbsd-[89] to
 pull up raw IO serial port support (PR port-amd64/57523).


 To generate a diff of this commit:
 cvs rdiff -u -r1.9.2.5 -r1.9.2.6 \
     src/sys/arch/i386/stand/efiboot/Makefile.efiboot
 cvs rdiff -u -r1.4.2.6 -r1.4.2.7 src/sys/arch/i386/stand/efiboot/eficons.c
 cvs rdiff -u -r0 -r1.1.6.2 src/sys/arch/i386/stand/efiboot/eficpufunc.c \
     src/sys/arch/i386/stand/efiboot/eficpufunc.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: rin@NetBSD.org
State-Changed-When: Thu, 12 Oct 2023 07:01:29 +0000
State-Changed-Why:
pulled up to netbsd-10, -9, and -8.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2023 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.