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:
(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.