From nobody Wed Feb 8 07:54:28 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PBXMT23Kzz3ks2w; Wed, 8 Feb 2023 07:54:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PBXMT0r9yz3jv4; Wed, 8 Feb 2023 07:54:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XqX++STKkfomCuj+vQPmw7eXzcipsO2zTMTRrswB9U8=; b=wQAbQ+6pnt51+tkHS62uotYCbjVr1cv2GO7OsNzZTH5CEUxh8UoxMVvAMaEVBG52jtT7wi YC2dlEF838NzeCqIC0et5t+lo5CwhlKQRB/Usa72NeeiGHnFDdLAZqiE+2Ry8ryc0+nSO7 xwmRgGcjO8xBE+SWEUcpjXJxeS+yJHFthK0UV19j6xsjQBrMwZAmiWb/n+IYrdiLZ7qAqd exVi1oYLe7CpgG1fOBOrldcE61Fxh4N9JWt29cskOawTXcNXnSGrDzuUclRnxW2GTlXWUu UODL5ySKh6S4/wG8UfKLgm3XwyW2tYCEeqaQvuGDDkDDFUGsMvdSJvAdBLcYKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675842869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XqX++STKkfomCuj+vQPmw7eXzcipsO2zTMTRrswB9U8=; b=hBfGOE97M+QtWmuwnPQQW2H4pzsftHgh522DdkIAbf383ja+67TP0BILm4qSLH5WHtpkWa SaMXYmT3an0BU7zvwGQ3khdnxzwR5XBGlbOPjO6xoho0BFF41nxntXKxtJRjytnESpM5iw O1o4aT3bzrjjG+RYLDLFb/mUA2cTnXb89vks0MzkCyVf4WSEQEJ1ElKW0KWmS3QHEE+LV8 54xW+/tAHYUckIB+XYi9eph0Ur6zvav4WkhE0H6AgJWx8TZcs87QN7Vrxg741dl4dsFjF8 6HuL+lmRYDqRRVJeMU1UaZgXGsS2Enn7W+VTyyTfGOFrt2Q8JmO2MyXsVVAPPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675842869; a=rsa-sha256; cv=none; b=J2N4ZD1ciwNVdKxpUUU0MjdFazEToyzsREdPZSMMUHnBGm1mhx7WWOwD+W1umDC+oLYHSv GoTpJ+FS0o2wH2HFNMwXmHk5tiuHETUtDZyjxFEP7BVKLBde/jlwb05bAdAICyCYkl2B8M D60UXcKTS73AtNJ+k1AOlqusVYq+JzIUYwYJovDMs5Omf5nUISHpYo7+dC3/IkuzqWcKqw PzdiG6JsHbTuWAy4Buq0IiZIjPXIaKHnrGRzfOLqhNJXW13oHxSmxln7bSzDDOI/vrwSBq ACk7UK9QNOL/GC+8hQdpz3sNmo+9qtKUR5YMn+6IsgTRxiUveIT/1//9PyBfQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PBXMS5pzJzpsV; Wed, 8 Feb 2023 07:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3187sS7f038355; Wed, 8 Feb 2023 07:54:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3187sS9x038354; Wed, 8 Feb 2023 07:54:28 GMT (envelope-from git) Date: Wed, 8 Feb 2023 07:54:28 GMT Message-Id: <202302080754.3187sS9x038354@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 3662862f558f - main - rc: syscons: Add UEFI special case List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3662862f558f6afbdb53b1d6570c482c7d180580 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=3662862f558f6afbdb53b1d6570c482c7d180580 commit 3662862f558f6afbdb53b1d6570c482c7d180580 Author: Emmanuel Vadot AuthorDate: 2023-01-31 10:26:36 +0000 Commit: Emmanuel Vadot CommitDate: 2023-02-08 07:53:20 +0000 rc: syscons: Add UEFI special case Changing cursor, screenmap and setting blanktime doesn't work when booted with vt(4) and UEFI so add a special case for those depending on machdep.bootmethods. I have no way to test if this can work with vt(4) and bios boot so just in case keep calling those for this. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D38293 --- libexec/rc/rc.d/syscons | 83 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 55 insertions(+), 28 deletions(-) diff --git a/libexec/rc/rc.d/syscons b/libexec/rc/rc.d/syscons index caca9dd33f37..1251363ff33f 100755 --- a/libexec/rc/rc.d/syscons +++ b/libexec/rc/rc.d/syscons @@ -50,8 +50,11 @@ _sc_config= _sc_console= _sc_initdone= _sc_keymap_msg= +_sc_bootmethod= sc_init() { + local bootmethod + if [ -z "${_sc_initdone}" ]; then if [ -z "${_sc_console}" ]; then if [ x`sysctl -n kern.vty` = x"vt" ]; then @@ -61,6 +64,23 @@ sc_init() fi _sc_config="${_sc_console}" fi + if [ -z "${_sc_bootmethod}" ]; then + bootmethod=$(sysctl -qn machdep.bootmethod) + case ${bootmethod} in + UEFI) + _sc_bootmethod="uefi" + ;; + BIOS) + _sc_bootmethod="bios" + ;; + PVH) + _sc_bootmethod="pvh" + ;; + *) + _sc_bootmethod="uefi" # Default to UEFI + ;; + esac + fi echo -n "Configuring ${_sc_config}:" _sc_initdone=yes fi @@ -259,16 +279,8 @@ syscons_precmd() return 0 } -syscons_start() +syscons_bios_start() { - # keyboard - # - if [ -n "${keyboard}" ]; then - syscons_setkeyboard ${keyboard} - fi - - syscons_configure_keyboard - # cursor type # case ${cursor} in @@ -291,62 +303,77 @@ syscons_start() ;; esac - # font 8x16 + # blank time # - case ${font8x16} in + case ${blanktime} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' font8x16'; vidcontrol < ${viddev} -f 8x16 ${font8x16} + echo -n ' blanktime'; vidcontrol < ${viddev} -t ${blanktime} ;; esac - # font 8x14 + # screen saver # - case ${font8x14} in + case ${saver} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' font8x14'; vidcontrol < ${viddev} -f 8x14 ${font8x14} + echo -n ' screensaver' + for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5 }'`; do + kldunload ${i} + done + load_kld -e _saver ${saver}_saver ;; esac +} - # font 8x8 +syscons_start() +{ + # keyboard # - case ${font8x8} in + if [ -n "${keyboard}" ]; then + syscons_setkeyboard ${keyboard} + fi + + syscons_configure_keyboard + + if [ "${_sc_bootmethod}" = "bios" ]; then + syscons_bios_start + fi + + # font 8x16 + # + case ${font8x16} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' font8x8'; vidcontrol < ${viddev} -f 8x8 ${font8x8} + echo -n ' font8x16'; vidcontrol < ${viddev} -f 8x16 ${font8x16} ;; esac - # blank time + # font 8x14 # - case ${blanktime} in + case ${font8x14} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' blanktime'; vidcontrol < ${viddev} -t ${blanktime} + echo -n ' font8x14'; vidcontrol < ${viddev} -f 8x14 ${font8x14} ;; esac - # screen saver + # font 8x8 # - case ${saver} in + case ${font8x8} in [Nn][Oo] | '') ;; *) sc_init - echo -n ' screensaver' - for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5 }'`; do - kldunload ${i} - done - load_kld -e _saver ${saver}_saver + echo -n ' font8x8'; vidcontrol < ${viddev} -f 8x8 ${font8x8} ;; esac