From nobody Thu Aug 6 09:03:13 2026 X-Original-To: dev-commits-src-all@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 4hG1XQ6ZCkz6mgCt for ; Thu, 06 Aug 2026 09:03:18 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hG1XQ4MtMz3X62 for ; Thu, 06 Aug 2026 09:03:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786006998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TOES3F6k/mktukr+5jJ6f7Kb8rAhruFl+HcGQ9LoSqk=; b=yfVPy7UokgLs6EAA9fr6PBwFKs9pfZbGJ+m7V+OKecsTj7CjcdtGjX7G7cNq7oRaGMFoYC JffuAOKlzUxiUUZX/JLb2Y9UuylQvZvn4VtuTy6ZLNzRuhK9QSsr6V4HUOU321wj76OViw xa14+nzNn2r05i1tpTq+V0V9uMNYBEA/q5UyNNL38rdscsx6vCOvV5AbCFaNUPpb8qqSlX iP/d5YY6HHrcGw7NH+aD+ifKbAmkwzgbs9dWGzOQ9wDgQ8lLXYmTKYmDSCW1oD6MOkO82r NW9jgzix2cETTs6fb8aYp0ZuUQn70ienMWiDzZzTlL69mg/KpUbcYI36058+fw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786006998; a=rsa-sha256; cv=none; b=TDA1eL0+WoG44F725rhg6RUbrH1FujrBxlFn2fpKJDzQt8Nii71Njkhk49aAq/l7OpUN9m nJSbfLYijCoF6RflKEk/i185f9zD/uFSVeEyHnHe4tZw1DW3a5tn6yIfTeLhxifjDQWMQd sQLmoWvcf5NLl/8+pAIbyVABAimCvF6O85QKDSFGW2S+kEDX21usDyjigp7PI5lZoUvWRW 9LNw9xD7uKM23eqhtQSWKyXf0Ng3Z/jV0+tuloAO67glKufq92PP+xAqqpNv/QXYUpRgZs 0MA8HuBX65FEf7u0wvh4ZWlcHnMXNbpjDAt9k7Z7RZQ1ikCFOjMnFtQC1o5XPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786006998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TOES3F6k/mktukr+5jJ6f7Kb8rAhruFl+HcGQ9LoSqk=; b=BZAnHRSo2ZC/HtH3RxRAkS2vOqZBZKas+q64UOMrlJWMVqqFjGSQn+TTkMEZVMTK4hb72U JFOp5yb4BaQ9zjdM5QUsyHkYt6vxMX/AOBNREad+5HEng5Ci29UGEu7uL5sMTtHmDFShfw PEdiohq4p/pKnaj0anqza8rE4gc0/IU6XaVa0A4muNjbWzYkR6TPRU8RBfZA8rWR1b1Pfq BiF+wV8OsAMr+PpRvGLsoKkrqsHRJQ+txkToy66f6ogkPbwDHSQS0JJyGfKfAepHIWLy9c 2yrWdJPawqp0cnNRK3yv5ApwwmZW+UGmkrLaLx6BXW7nGBiWnDdLSKPG3p6uRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hG1XQ38FBz5K for ; Thu, 06 Aug 2026 09:03:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18906 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 06 Aug 2026 09:03:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Timo =?utf-8?Q?V=C3=B6lker?= From: Michael Tuexen Subject: git: f059fcf3d1d8 - stable/15 - virtio_pci_modern: Remove endianness conversion for config space List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: f059fcf3d1d85562ff21a348fec0573aa76d3648 Auto-Submitted: auto-generated Date: Thu, 06 Aug 2026 09:03:13 +0000 Message-Id: <6a744dd1.18906.7d47363f@gitrepo.freebsd.org> The branch stable/15 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=f059fcf3d1d85562ff21a348fec0573aa76d3648 commit f059fcf3d1d85562ff21a348fec0573aa76d3648 Author: Timo Völker AuthorDate: 2026-06-28 10:39:10 +0000 Commit: Michael Tuexen CommitDate: 2026-08-06 09:02:00 +0000 virtio_pci_modern: Remove endianness conversion for config space The bus_* functions already handle converting from PCI endianness (i.e. little-endian) to native endianness when accessing the config space (see ofw_pcib_bus_get_bus_tag), so converting again with virtio_htogX/virtio_gtohX undoes any byte-swapping and breaks big-endian systems. They should only be used for operating on shared memory. Note part of this reverts commit fb53b42e36a9 ("virtio-modern: fix PCI common read/write functions on big endian targets"). PR: 294706 Reviewed by: adrian, tuexen Fixes: fb53b42e36a9 ("virtio-modern: fix PCI common read/write functions on big endian targets") Fixes: 9da9560c4dd3 ("virtio: Add VirtIO PCI modern (V1) support") Differential Revision: https://reviews.freebsd.org/D57392 (cherry picked from commit 07b5d1ca52b113cecad3cda73ff5e782d8f4d07d) --- sys/dev/virtio/pci/virtio_pci_modern.c | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/sys/dev/virtio/pci/virtio_pci_modern.c b/sys/dev/virtio/pci/virtio_pci_modern.c index 108fd2b5f8e9..4b16b198b3f0 100644 --- a/sys/dev/virtio/pci/virtio_pci_modern.c +++ b/sys/dev/virtio/pci/virtio_pci_modern.c @@ -665,16 +665,13 @@ vtpci_modern_read_dev_config(device_t dev, bus_size_t offset, void *dst, *(uint8_t *) dst = vtpci_modern_read_device_1(sc, offset); break; case 2: - *(uint16_t *) dst = virtio_htog16(true, - vtpci_modern_read_device_2(sc, offset)); + *(uint16_t *) dst = vtpci_modern_read_device_2(sc, offset); break; case 4: - *(uint32_t *) dst = virtio_htog32(true, - vtpci_modern_read_device_4(sc, offset)); + *(uint32_t *) dst = vtpci_modern_read_device_4(sc, offset); break; case 8: - *(uint64_t *) dst = virtio_htog64(true, - vtpci_modern_read_device_8(sc, offset)); + *(uint64_t *) dst = vtpci_modern_read_device_8(sc, offset); break; default: panic("%s: device %s invalid device read length %d offset %d", @@ -700,17 +697,17 @@ vtpci_modern_write_dev_config(device_t dev, bus_size_t offset, const void *src, vtpci_modern_write_device_1(sc, offset, *(const uint8_t *) src); break; case 2: { - uint16_t val = virtio_gtoh16(true, *(const uint16_t *) src); + uint16_t val = *(const uint16_t *) src; vtpci_modern_write_device_2(sc, offset, val); break; } case 4: { - uint32_t val = virtio_gtoh32(true, *(const uint32_t *) src); + uint32_t val = *(const uint32_t *) src; vtpci_modern_write_device_4(sc, offset, val); break; } case 8: { - uint64_t val = virtio_gtoh64(true, *(const uint64_t *) src); + uint64_t val = *(const uint64_t *) src; vtpci_modern_write_device_8(sc, offset, val); break; } @@ -1312,15 +1309,13 @@ vtpci_modern_read_common_1(struct vtpci_modern_softc *sc, bus_size_t off) static uint16_t vtpci_modern_read_common_2(struct vtpci_modern_softc *sc, bus_size_t off) { - return virtio_htog16(true, - bus_read_2(&sc->vtpci_common_res_map.vtrm_map, off)); + return bus_read_2(&sc->vtpci_common_res_map.vtrm_map, off); } static uint32_t vtpci_modern_read_common_4(struct vtpci_modern_softc *sc, bus_size_t off) { - return virtio_htog32(true, - bus_read_4(&sc->vtpci_common_res_map.vtrm_map, off)); + return bus_read_4(&sc->vtpci_common_res_map.vtrm_map, off); } static void @@ -1334,16 +1329,14 @@ static void vtpci_modern_write_common_2(struct vtpci_modern_softc *sc, bus_size_t off, uint16_t val) { - bus_write_2(&sc->vtpci_common_res_map.vtrm_map, - off, virtio_gtoh16(true, val)); + bus_write_2(&sc->vtpci_common_res_map.vtrm_map, off, val); } static void vtpci_modern_write_common_4(struct vtpci_modern_softc *sc, bus_size_t off, uint32_t val) { - bus_write_4(&sc->vtpci_common_res_map.vtrm_map, - off, virtio_gtoh32(true, val)); + bus_write_4(&sc->vtpci_common_res_map.vtrm_map, off, val); } static void