From nobody Sat Oct 03 12:41:58 2026 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 4hxlf36SRQz6vLql for ; Sat, 03 Oct 2026 12:42:03 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hxlf33l3Yz3M48 for ; Sat, 03 Oct 2026 12:42:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791031323; 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=gmikinzLtaZgpEVUCoOo+2egpSGO2m8vMQQ8x/7JB4Q=; b=fHYnFbNksZf9f6p4YwYOZCjK3b+dmeDusK65BOfwgIO1ohAc5Dmy7tq3A1VsUQ26i0nWAR l3BlJs6HSI12Q+e5FUdkNguCItpDiBLnfq9Fadi0UycNL/KmECAjGnsqWQ3KYYYAkIQlEj DIwTXVApAy6OFfqUa7DyQrHR/Z8u2jLL3JJe+cUYCegPf/4xos23pAv+WmGDEI85Cpf9VF eQsXJaNLCUN3PmfjJ8NqeutjqINbxJC1IwbwoeChdKoCyf+65Jx6A48Pmob1th1kgbpoCG eBl+5d56sQc1XxjwdH+mA9KcrctlgNWQFCvhDH3UH8trL1BnDGprj27eKKXoGQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791031323; b=kqkT//cOJGV7d+QpAI+Ztn1lUkE0thzpZlnL+lAuPTUsfdI1kb8RTwi3jd3ue0b7KaYZBb oAU2okEbH3HNrl+bdIEUtjvitAEWX1c5xMsCk/IVh/AaLeV3Kz3eI74VBtu2vFDpUWQlg7 fViLVZpkEOxJQ4QDYE1Nwx9OlJnsIG/EhXO/4Gvu0f7ia53ecTB/KGyvzQ9byVlEL0/0jb v24rMIne+scrK86QPJ0PdPNQ5RE+1hNUBatgOT3kIY0kccVwguVKOlaz14sPOV++E+yo79 XpZT5UhPqnzyRjLrfUBQVTQU38p5Tn4Oxamt8C1b4i8z/x07Ck8hSBvfF6gM4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791031323; 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=gmikinzLtaZgpEVUCoOo+2egpSGO2m8vMQQ8x/7JB4Q=; b=eeCFQKE9c/dUdne9e+ZBlw7SLg67p5oFLDCpffJJn+EnkTFYDorW9Sr1jIfDCt03VPlfjI onc/BvO0auFPTJEiSgcyEpy2jnk7+4fsh6S1xj4EmfV+d1vjQqBv4OH76bTljQbmP8A19Z +VKdiozby9QhMmbfbJuABBnpmNGfzUkqRdjpZ3VWv4+tcSP5gKn+iaIZYnwxhu3wQdxzmc 7R/rMl9oC35ejAVxUr2rGKAFknlHOFR8kfjM1Mf8ZAN1Uza/gJBnU/qbecfEBVg21CQP6W LZ9dYar94NornSkMEKchh3aGPiu49EditrmcEmbf6gG3R5Jh715A20U2BZpG4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hxlf32ST9z145G for ; Sat, 03 Oct 2026 12:42:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27cad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 03 Oct 2026 12:41:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Faraz Vahedi Subject: git: 9c8dcc2f2fbc - main - virtio_console: Negotiate VIRTIO_CONSOLE_F_SIZE 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kfv X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9c8dcc2f2fbc9dcf4132b97de3d223f3e9f000a1 Auto-Submitted: auto-generated Date: Sat, 03 Oct 2026 12:41:58 +0000 Message-Id: <6ac0f816.27cad.3ca369fe@gitrepo.freebsd.org> The branch main has been updated by kfv: URL: https://cgit.FreeBSD.org/src/commit/?id=9c8dcc2f2fbc9dcf4132b97de3d223f3e9f000a1 commit 9c8dcc2f2fbc9dcf4132b97de3d223f3e9f000a1 Author: Faraz Vahedi AuthorDate: 2026-10-03 12:38:27 +0000 Commit: Faraz Vahedi CommitDate: 2026-10-03 12:38:27 +0000 virtio_console: Negotiate VIRTIO_CONSOLE_F_SIZE The driver reads cols/rows and sets the tty window size but never offered the feature, so that code has been dead since the very beginning; also read size under the configuration generation count. Reviewed by: markj Approved by: fuz (mentor) Differential Revision: https://reviews.freebsd.org/D60089 --- sys/dev/virtio/console/virtio_console.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/sys/dev/virtio/console/virtio_console.c b/sys/dev/virtio/console/virtio_console.c index 66433565ce25..81ffd7058f06 100644 --- a/sys/dev/virtio/console/virtio_console.c +++ b/sys/dev/virtio/console/virtio_console.c @@ -137,7 +137,9 @@ struct vtcon_softc { KASSERT((_id) >= 0 && (_id) < (_sc)->vtcon_max_ports, \ ("%s: port ID %d out of range", __func__, _id)) -#define VTCON_FEATURES VIRTIO_CONSOLE_F_MULTIPORT +#define VTCON_FEATURES \ + (VIRTIO_CONSOLE_F_SIZE | \ + VIRTIO_CONSOLE_F_MULTIPORT) static struct virtio_feature_desc vtcon_feature_desc[] = { { VIRTIO_CONSOLE_F_SIZE, "ConsoleSize" }, @@ -467,14 +469,19 @@ static void vtcon_read_config(struct vtcon_softc *sc, struct virtio_console_config *concfg) { device_t dev; + int gen; dev = sc->vtcon_dev; - bzero(concfg, sizeof(struct virtio_console_config)); + do { + gen = virtio_config_generation(dev); + bzero(concfg, sizeof(struct virtio_console_config)); - VTCON_GET_CONFIG(dev, VIRTIO_CONSOLE_F_SIZE, cols, concfg); - VTCON_GET_CONFIG(dev, VIRTIO_CONSOLE_F_SIZE, rows, concfg); - VTCON_GET_CONFIG(dev, VIRTIO_CONSOLE_F_MULTIPORT, max_nr_ports, concfg); + VTCON_GET_CONFIG(dev, VIRTIO_CONSOLE_F_SIZE, cols, concfg); + VTCON_GET_CONFIG(dev, VIRTIO_CONSOLE_F_SIZE, rows, concfg); + VTCON_GET_CONFIG(dev, VIRTIO_CONSOLE_F_MULTIPORT, max_nr_ports, + concfg); + } while (gen != virtio_config_generation(dev)); } #undef VTCON_GET_CONFIG