From nobody Thu Jun 18 16:19:38 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 4gh5Xm6gC7z6hVCK for ; Thu, 18 Jun 2026 16:19:52 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-yw1-f182.google.com (mail-yw1-f182.google.com [209.85.128.182]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gh5Xm2YD1z3HcJ for ; Thu, 18 Jun 2026 16:19:52 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-f182.google.com with SMTP id 00721157ae682-7fedf0e99bbso14901647b3.3 for ; Thu, 18 Jun 2026 09:19:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781799591; x=1782404391; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=abtewuMhzxSnamoHv/a3iA+L//2yHHsFTlCh07ET7CI=; b=MZKqIV0hLHL2OzosSS92La9kSN8+C97t6TWY1JELvS8ZPGZRGKfiVB0MsFB+xvy6A/ AzrizC20YxrOyZuCotVLr+dqad6R6iRPn12w2q95O9GGwvZSDR6UE3o3/TiJhKfocEp9 m3D5+Im7VcwlTAUiEBO2aneybzlkhbjld5d65SAwfCGMGLXhnhmH947krLdyL4h6ia+g o2YE6lBAUV6t/owNgV6b2ur/u8awEOxmR6kcuNZwrzr/WOOzs2vdrPLya5unqHv/xLdz Hj0ecpbWiO/q5e1+tHaL8uiUSOK9O4bUzSfF92SoMxAEd/l/CpEk1UzZ/EmgeuSKgPd6 F+DQ== X-Forwarded-Encrypted: i=1; AFNElJ9wdE45MYOg2VxI1qjRw+pNLZwHtmPu9lMf2sDvL4CPlx4O9SlrneUBbLXQBPgilaSgFddUE8/O8d6eIEuwcd6eW5nx2w==@freebsd.org X-Gm-Message-State: AOJu0YyrASbZTzRxcfbetesPM2oczg8O24NtW0i08FIHm02pfKxnft14 Nns8E4CNjUNnO2XVcBfR4Kzyp4/Lcb3BAyz5bcspD/nn+qEnIoLHXHbq7RXQAXo7z04= X-Gm-Gg: AfdE7clDoWMKhcdc5ZX5GWMi5yycNL6Hj9ca011KElACo/NsFHD85LKQpbaFg9T9lv6 NUiyIZqHTqPpiI/wMTc+z4Ej07tq9KUH93cJ0JYXMbTPlq9kTxBEtezAtBUe3ws4k68iJ/OkEeT kPrJAYqHqgFjMoxgcJVGCsB2C+jF5Y4aMwJv0aRoYsVouQzzMKF76dglHpTSsBUg5RdVMYPyend gl0/1AFQci+PzrK874hUdmlTrJ1S7YoBLfsG1+Eh6mavHQgafM2bgbIm5didTZVeGp6oleklcqo F8pRx9lK3xSlf2/+eC1uUyzA6nJyW3XyPOFRI+zynaU6ElxhARKAMFHj/6EK2cNPmX/UOiY7PBk FbBypn/Ifsy5eCjxtfjGrivc78YSY5zTriyzIQ+2PDvs3FirfKoCLcORcGwDnXpVGMEI5/ljN80 DiFHDk2LWywH2RdOlRFTdCSfkbHIozMvg= X-Received: by 2002:a05:690c:18:b0:7c5:4c4e:a8a5 with SMTP id 00721157ae682-7fe5e0a55e9mr91789617b3.46.1781799590554; Thu, 18 Jun 2026 09:19:50 -0700 (PDT) Received: from smtpclient.apple ([50.202.154.70]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7fcd00dbc0bsm72254297b3.8.2026.06.18.09.19.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jun 2026 09:19:48 -0700 (PDT) Content-Type: text/plain; charset=utf-8 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 (Mac OS X Mail 16.0 \(3891.100.17.1.3\)) Subject: Re: git: ea130fa32099 - main - virtio_net: Use bus_dma for command/ack buffers From: Jessica Clarke In-Reply-To: <6a341732.46636.51d9973c@gitrepo.freebsd.org> Date: Thu, 18 Jun 2026 09:19:38 -0700 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Sarah Walker Content-Transfer-Encoding: quoted-printable Message-Id: <5139DC0F-71BB-4B4E-8036-9B3685C38BA9@freebsd.org> References: <6a341732.46636.51d9973c@gitrepo.freebsd.org> To: Andrew Turner X-Mailer: Apple Mail (2.3891.100.17.1.3) X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4gh5Xm2YD1z3HcJ X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On 18 Jun 2026, at 09:05, Andrew Turner wrote: >=20 > The branch main has been updated by andrew: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dea130fa32099ea7e0c03702efdec28e7= 45ea6ef1 >=20 > commit ea130fa32099ea7e0c03702efdec28e745ea6ef1 > Author: Sarah Walker > AuthorDate: 2026-02-27 14:17:15 +0000 > Commit: Andrew Turner > CommitDate: 2026-06-18 16:04:24 +0000 >=20 > virtio_net: Use bus_dma for command/ack buffers >=20 > While the majority of virtio platforms will be fully coherent, some = may > require cache maintenance or other specific device memory handling = (eg for > secure partitioning). Using bus_dma allows for these usecases. >=20 > The virtio buffers are marked as coherent; this should ensure that = sync > calls are no-ops in the common cases. >=20 > Reviewed by: andrew > Sponsored by: Arm Ltd > Differential Revision: https://reviews.freebsd.org/D55564 > =E2=80=94-- > [...] > @@ -523,14 +523,60 @@ vtnet_attach(device_t dev) > goto fail; > } >=20 > + mtx_init(&sc->vtnet_hdr_mtx, device_get_nameunit(dev), > + "VirtIO Net header lock", MTX_DEF); > + > + error =3D bus_dma_tag_create( > + bus_get_dma_tag(dev), /* parent */ > + sizeof(uint16_t), /* alignment */ > + 0, /* boundary */ > + BUS_SPACE_MAXADDR, /* lowaddr */ > + BUS_SPACE_MAXADDR, /* highaddr */ > + NULL, NULL, /* filter, filterarg */ > + PAGE_SIZE, /* max request size */ > + 1, /* max # segments */ > + PAGE_SIZE, /* maxsegsize */ > + BUS_DMA_COHERENT, /* flags */ > + busdma_lock_mutex, /* lockfunc */ > + &sc->vtnet_hdr_mtx, /* lockarg */ > + &sc->vtnet_hdr_dmat); > + if (error) { > + device_printf(dev, "cannot create bus_dma_tag\n"); > + goto fail; > + } > + > + mtx_init(&sc->vtnet_ack_mtx, device_get_nameunit(dev), > + "VirtIO Net ACK lock", MTX_DEF); > + > + error =3D bus_dma_tag_create( > + bus_get_dma_tag(dev), /* parent */ > + sizeof(uint8_t), /* alignment */ > + 0, /* boundary */ > + BUS_SPACE_MAXADDR, /* lowaddr */ > + BUS_SPACE_MAXADDR, /* highaddr */ > + NULL, NULL, /* filter, filterarg */ > + sizeof(uint8_t), /* max request size */ > + 1, /* max # segments */ > + sizeof(uint8_t), /* maxsegsize */ > + BUS_DMA_COHERENT, /* flags */ > + busdma_lock_mutex, /* lockfunc */ > + &sc->vtnet_ack_mtx, /* lockarg */ > + &sc->vtnet_ack_dmat); > + if (error) { > + device_printf(dev, "cannot create bus_dma_tag\n"); > + goto fail; > + } > + > #ifdef __powerpc__ > - /* > - * Virtio uses physical addresses rather than bus addresses, so we > - * need to ask busdma to skip the iommu physical->bus mapping. At > - * present, this is only a thing on the powerpc architectures. > - */ > - bus_dma_tag_set_iommu(sc->vtnet_rx_dmat, NULL, NULL); > - bus_dma_tag_set_iommu(sc->vtnet_tx_dmat, NULL, NULL); > + /* > + * Virtio uses physical addresses rather than bus addresses, = so we > + * need to ask busdma to skip the iommu physical->bus = mapping. At > + * present, this is only a thing on the powerpc = architectures. > + */ > + bus_dma_tag_set_iommu(sc->vtnet_rx_dmat, NULL, NULL); > + bus_dma_tag_set_iommu(sc->vtnet_tx_dmat, NULL, NULL); > + bus_dma_tag_set_iommu(sc->vtnet_hdr_dmat, NULL, NULL); > + bus_dma_tag_set_iommu(sc->vtnet_ack_dmat, NULL, NULL); > #endif This block has been re-indented to use spaces not tabs. Jessica