From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from ws5-mx01.kavi.com (ws5-mx01.kavi.com [34.193.7.191]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1AE7CC76196 for ; Tue, 28 Mar 2023 14:01:59 +0000 (UTC) Received: from lists.oasis-open.org (oasis.ws5.connectedcommunity.org [10.110.1.242]) by ws5-mx01.kavi.com (Postfix) with ESMTP id 8955E33564 for ; Tue, 28 Mar 2023 14:01:58 +0000 (UTC) Received: from lists.oasis-open.org (oasis-open.org [10.110.1.242]) by lists.oasis-open.org (Postfix) with ESMTP id 861769863DF for ; Tue, 28 Mar 2023 14:01:58 +0000 (UTC) Received: from host09.ws5.connectedcommunity.org (host09.ws5.connectedcommunity.org [10.110.1.97]) by lists.oasis-open.org (Postfix) with QMQP id 7B16998637D; Tue, 28 Mar 2023 14:01:58 +0000 (UTC) Mailing-List: contact virtio-dev-help@lists.oasis-open.org; run by ezmlm List-ID: Sender: Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Received: from lists.oasis-open.org (oasis-open.org [10.110.1.242]) by lists.oasis-open.org (Postfix) with ESMTP id 6833398638E; Tue, 28 Mar 2023 14:01:49 +0000 (UTC) X-Virus-Scanned: amavisd-new at kavi.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OR0dTkuECgp4UPU06tkUqK21bXX6RFMsGEJ29OXCUPtGJw71Ons/YgsbsgsAc2Rla3fBaToKLUZCXqezSLnofm8ah77MxlVQwzxUG1D0uns9Pm+1ywTSTCk2GDj+J7ZAy53S8vloZspb8hr1rRB4SDTve7LlMIeicf1N4AUh3DEPlAui732ZA1/clYE776b71qgpWogEKEXbgMF01S2RuIV9Z12PKF/y/fKcL48w8TMuZnlEo8yfcDynlGfxrXhJj5SwCXvyjHc8JLLyhOEgamirQekJdkahM1pzh/uQqvu4FD6h3FmiVG1PTI9mPuZEgeCa1QUyJpBnW/R7jKAWMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BgMP1QsKMnSmFm+BquJkB/qnNNeiIjAkEaRnOsNwH/I=; b=HBFGrFLtoMhfMS96GMVDxOT6XPk9JJHExMDFnBumKTxyxuBwm1m+vbt0TMVQ3Elx1avOlFLDA4bjGQZbNEkFX6LP1KiRPUlfv4zjNR9Suk4nE9LfOWoEft8RKl+n8tnyOq4at6O1tBx3MYE0YJP6/ttjphFHSpLQJh1szH8ZBbHKmQ8bofLGx0FiuwjALwq+QMYuJhkaYWig3oi6rGrN93pt7iluwA8izEqwv/1lcIVHc9U3zDwrttmuh4GLowjlwo8AOIX/jKRFmj6NnWX4BahZn0lJC7yBVMxpLdJljmKGu0jEDdIpD7WwpXDQLxIxBY/KtQBn09qBPyIJfTO/LQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none From: David Edmondson To: Parav Pandit , mst@redhat.com, virtio-dev@lists.oasis-open.org, pasic@linux.ibm.com, cohuck@redhat.com Cc: sgarzare@redhat.com, virtio-comment@lists.oasis-open.org, shahafs@nvidia.com, Parav Pandit , Jiri Pirko In-Reply-To: <20230327235936.414196-4-parav@nvidia.com> References: <20230327235936.414196-1-parav@nvidia.com> <20230327235936.414196-4-parav@nvidia.com> Date: Tue, 28 Mar 2023 15:01:35 +0100 Message-ID: Content-Type: text/plain X-ClientProxiedBy: LO4P123CA0639.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:296::6) To DS7PR10MB4926.namprd10.prod.outlook.com (2603:10b6:5:3ac::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB4926:EE_|MW4PR10MB6629:EE_ X-MS-Office365-Filtering-Correlation-Id: bb5ba150-050f-405f-a68c-08db2f94f4bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mIztrhN5ZOjXQkGCtFATu3u1FvZ5i+9859Qr//RUYIQleVHE6/rOplWgy+CuxKKJ5F+ZkZHbTItekYwseKlG8AvymFhS935X2unFO99qfEkj6ujNyi+Ov/hmPPkk4WMMYmBptBY0Wbij+ppuRNnXskyveaf4HZc7gXYU1dRR0iJSPIxR9jQfOYXFE/D7uUpWK3+WtBqFFGQQmAbX+wDuHKowjQp9hc8P05necUOf7HPySOOejp9GPtL3/hKm5pSnvj5Xz/6B21D8rWGfonMCZZJNo4KzLCxGNo65lM409PUtFP1iqCYGYBpF+XwQoEG6kZ1vhmcjp+LCzDxIU/6BeIwTmHAk05bk2JBimlt0pPT6eQ3jU8TrIK3gx0rZ0mjm5rMoNsnWN59QcljZAX3gu5F/jpkDOB4qRuidjdL/ManadTCVTXCU2M2N55mEMdYHnvE3QNVtbdRco3cChPCtKx2HsaCbYD5762R4ZyI4khYChXPxQoeZ8vEUrNmPvtL/h0cjvwd+LLSH19h7GdmAnT8+X48Zm1wY6XLLD3t6+jZmmO9sPPkWGVF8ddnJ3hn7QcSkAR8QhxZlRXVuv04GHg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR10MB4926.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(136003)(366004)(39860400002)(451199021)(6666004)(6512007)(6506007)(26005)(36756003)(5660300002)(478600001)(8936002)(6486002)(966005)(54906003)(41300700001)(66476007)(66556008)(66946007)(86362001)(4326008)(8676002)(316002)(38100700002)(44832011)(83380400001)(2906002)(2616005)(186003)(66899021);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UbLnbYDCw9hxljVX+BcNTHAX4ScAICwBNuVHpyK2pUFb8qPt7eEzFwTBCESB?= =?us-ascii?Q?sUDUEWZcM1brghsaZvg9Kdv+5sEHRI+IZU41pveJjrDMlcto+yMWy2mf/kp3?= =?us-ascii?Q?x5+2bxGazhU7+k78ck2ZyjXw+StTCqbSidWklheXMv7ZCrSo/GjH7bd1EQv6?= =?us-ascii?Q?r14GewNTJfMPovpBjl/5OkW8DPiUyoLzaWkt6gxYofjUNz9/fmg/gZJdv6qq?= =?us-ascii?Q?wkjWKwfsvfvVZSOzgzVjQ1WQQxHO86Is8AiWxybzIPaZ5Q7Ja0LR5R5NtXxa?= =?us-ascii?Q?DqSDtTy2EqT7KoiFp942PjbubsPx/3YnUxX7AdxqbQHwDK1idqz2F3V04aJX?= =?us-ascii?Q?ad+T8LHMeGD6vuP1OUPWWPVB6Y7cLY4y7Kt+Tt8Lv64oW1oGJVCP0ffI/1QV?= =?us-ascii?Q?TcWC5CFS4ksMzWFrfxza4MX7nlznnSbHvNTLwA96nWXGF0c5JK1nnjRzAZzy?= =?us-ascii?Q?bFmejoF3z9LGzu4EjPi8korKSvck64esBDbtneZY1+H96DGrXShWOM+Hs23x?= =?us-ascii?Q?/eyewvAtS0CEjnJDGa52JH7nUMpMz03AUXY7f3FfHWpRFXCVoF15a0GPbPPQ?= =?us-ascii?Q?U6UZ90d84Y606lWL/qJabvHucevl9BP3SgVLbLl0/5bAUmw3EAmsm/TIYhKN?= =?us-ascii?Q?qBnQjukkN/rOESKIFeh0gj2PFD3xjZMQVznxNfYGH2igDhDkQEVaB2qu0W+Z?= =?us-ascii?Q?p5pXlBtuTvXmTuu1v/XNT4fAO6WqTbl171hoRHkSvZvL34GXgGVVo7w+l6VF?= =?us-ascii?Q?NNlZIwQZEBdfE7lCvDS+d0VHRbs8odXm0NmfdJwatZnS69LIECfZGqE4vJAb?= =?us-ascii?Q?8wpD1M8GJ64Askr1N46Y0gXFC0JjXuaWCD6l91dU1mfYGcmQowi0/PMl28w7?= =?us-ascii?Q?1QA8QhZisCWrdNzyD2lQJdPvaRkQuYQujB+3n3utDH3R9OcOk9ujhvHIw04N?= =?us-ascii?Q?bpBKXUCrPTgrQLseumn4AOSDKf3MBxrmuy747vPcpsDoW6gkuRGzDSw0eNJM?= =?us-ascii?Q?N4vp7N/rNa5CB8DySjSZ3eWJK5HrHOXRizewJszNd6++5cyeQR7wQ0Oq5sYB?= =?us-ascii?Q?MMM9BilllwhWWCSB3zUCGFSIGW9HMTimziTMvFH15uLvmlDlBoVayolfHawD?= =?us-ascii?Q?++f+V6lFp3AkVr+tjjp9otKCy15rjXfqcX8Me+GTSJARTH5DtFa2nnMa7hC7?= =?us-ascii?Q?Ejzm+qzRP+43SA0NxlhazQoRqsQFCNFKH2gKcR0LM9vBcx9bKHEYrqt30JyM?= =?us-ascii?Q?VOSKaqiDUEWzHq0WkbFSK7GNn/gVXKC1J56q9XbdkFLA0BabIRuXlbbqPPIa?= =?us-ascii?Q?yCi6HtJbLKoGDro3cGmddyr+wVf+Rs9oNPLe7trSJyHH53pky5dm6okeMK7U?= =?us-ascii?Q?OtsRBNRWRKL4oGsvQkBOA2fgn28Y+ingjj7hSHZ22ANxaCCcGwYawUodjeBh?= =?us-ascii?Q?I/UA61FZTxXcAuKhXe1IPZumHdx4nbSe3rRmP3tgg3YmkZHs67xGa6ZguDYw?= =?us-ascii?Q?wQX9A9x0v1tBpu1FWTPqR8qquZs1/TI99qE5t8FbMXY+9B1l5MZfVdkjLEPr?= =?us-ascii?Q?F6gcqpPlxMdG4eC/nm10FLNCZA0o+bg5DGJXlAvFOEjnQl8zXJnfBE35/WBl?= =?us-ascii?Q?/g=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: MnsdGj7dC8pksOLbPKKN+xq21Otzg1xgzr+1UdFYbl3wxHWdCARUMi1mpEMp/g81Ge7+Bf7LMCfPTI3+BVmB6RA8AlhEdvzxJ7ALxhBMqpeYeUc8ICYTEnNIRTce3pFTR7NFFHLQkTu5P6Q5XC/BNK29lNMfJOoN36tCy8ESFXTh4TyU2PKEpiIZxoDePSMdtQxCxG1usK0Yi6kWsV/fRZDgDS5YHw7PcOlHFaDl+RgqIUqVc+gKoRTvTqXXOqYEuaPs39BbEuAnKYQSSvAlnrDDKLK+bHCHqxQUclnlBSioJ+grEyWMFs8dst3U4Ju9J4hgxmqJRqBDgnKHKjq0IXhklqoDNP7RlFLBwbKWFDOFfSHBYW9WmfxAkte9fcHYSV2C2hwyZ+TIXzKSou1KS0FRMbSd7joTVzn2y1cKzkHi9XTf28ASqENSHJUEx0LZiSMDTTE1iq0Uv979uzFE87n3KkGA4HM7904eeSbCDx6tgQnUX/tOBYCmgMVT/clYDj4gBirn0mgt8fVHGpabNjSI1R2emaHEVPziGVLIpYMoEKRWLI7YZBYRt7x6k6nCDsT14EBnMZB0Ap1MABs7px35Jn4r9zJtUJAPJWBfHc9j3QNhFGafC4CkaSOx/qY+L4UbRtOWH8F8oP8+/cB722yUo/ZU9Xcy6Rz/xCTw/4spr/iZmtbujgMIQPP7tHJzIvHhvK1+nTB7uWkkZVkKXqXEaqudlBFcKXO7b3WTpOPE1j8CJEmWEwcFXC/eCCLBdzlozeLraoDzZ1HEj8G79vCw5zaWSDoymSsdvC8pA/pbXaxwC1xw2xATbZwY/0LVUwUhbJYa5HexKI3xn72hxtQhPy0/rjMPlta+Qfg2M1UkNc7ZFkfL3RAfZilJou06 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb5ba150-050f-405f-a68c-08db2f94f4bc X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB4926.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 14:01:41.2043 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Fyaclg5+rPhL4lYOTVEe1phf5u8UkKPXH3ahrGqhw32/d0xeKhymR7CZPVxVk86ahL9BVY4oUsLKmJJ9BQjVidMa+DUQhdcIhiCY8PeekJE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6629 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-24_11,2023-03-28_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2303280110 X-Proofpoint-ORIG-GUID: s8iNel8QskRZHwN5NzVFbzSinlEnvUic X-Proofpoint-GUID: s8iNel8QskRZHwN5NzVFbzSinlEnvUic Subject: [virtio-dev] Re: [virtio-comment] [PATCH v8 3/8] transport-mmio: Rename QueueNum register Parav Pandit writes: > Currently specification uses virtqueue index and number > interchangeably to refer to the virtqueue. > > It is better to always refer to it the virtqueue in consistent manner. > > Two registers QueueNumMax and QueueNum actually reflects the queue size > or queue depth indicating max and actual number of entries in the queue. > > These are further named differently between pci and mmio transport. > PCI transport indicates queue size as queue_size. > > To bring consistency between pci and mmio transport, and to avoid > confusion between number and index, rename the QueueNumMax and QueueNum > registers to QueueSizeMax and QueueSize respectively. > > Fixes: https://github.com/oasis-tcs/virtio-spec/issues/163 > Reviewed-by: Jiri Pirko > Signed-off-by: Parav Pandit > > --- > changelog: > v0->v1: > - replaced references of QueueNumMax to QueueSizeMax > - replaced references of QueueNum to QueueSize > - added note for renamed fields old name suggested by @Michael Tsirkin > --- > transport-mmio.tex | 42 ++++++++++++++++++++++++++++-------------- > 1 file changed, 28 insertions(+), 14 deletions(-) > > diff --git a/transport-mmio.tex b/transport-mmio.tex > index f884a2c..3047633 100644 > --- a/transport-mmio.tex > +++ b/transport-mmio.tex > @@ -110,24 +110,31 @@ \subsection{MMIO Device Register Layout}\label{sec:Virtio Transport Options / Vi > \hline > \mmioreg{QueueSel}{Virtual queue index}{0x030}{W}{% > Writing to this register selects the virtual queue that the > - following operations on \field{QueueNumMax}, \field{QueueNum}, \field{QueueReady}, > + following operations on \field{QueueSizeMax}, > + \field{QueueSize}, \field{QueueReady}, > \field{QueueDescLow}, \field{QueueDescHigh}, \field{QueueDriverlLow}, \field{QueueDriverHigh}, > \field{QueueDeviceLow}, \field{QueueDeviceHigh} and \field{QueueReset} apply to. The index > number of the first queue is zero (0x0). > } > \hline > - \mmioreg{QueueNumMax}{Maximum virtual queue size}{0x034}{R}{% > + \mmioreg{QueueSizeMax}{Maximum virtual queue size}{0x034}{R}{% > Reading from the register returns the maximum size (number of > elements) of the queue the device is ready to process or > zero (0x0) if the queue is not available. This applies to the > queue selected by writing to \field{QueueSel}. > + \begin{note} > + \field{QueueSizeMax} was previously known as QueueNumMax. Use \field for the old name (and in other places). > + \end{note} > } > \hline > - \mmioreg{QueueNum}{Virtual queue size}{0x038}{W}{% > + \mmioreg{QueueSize}{Virtual queue size}{0x038}{W}{% > Queue size is the number of elements in the queue. > Writing to this register notifies the device what size of the > queue the driver will use. This applies to the queue selected by > writing to \field{QueueSel}. > + \begin{note} > + \field{QueueSize} was previously known as QueueNum. > + \end{note} > } > \hline > \mmioreg{QueueReady}{Virtual queue ready bit}{0x044}{RW}{% > @@ -308,11 +315,11 @@ \subsection{MMIO Device Register Layout}\label{sec:Virtio Transport Options / Vi > > Before writing to the \field{DriverFeatures} register, the driver MUST write a value to the \field{DriverFeaturesSel} register. > > -The driver MUST write a value to \field{QueueNum} which is less than > -or equal to the value presented by the device in \field{QueueNumMax}. > +The driver MUST write a value to \field{QueueSize} which is less than > +or equal to the value presented by the device in \field{QueueSizeMax}. > > When \field{QueueReady} is not zero, the driver MUST NOT access > -\field{QueueNum}, \field{QueueDescLow}, \field{QueueDescHigh}, > +\field{QueueSize}, \field{QueueDescLow}, \field{QueueDescHigh}, > \field{QueueDriverLow}, \field{QueueDriverHigh}, \field{QueueDeviceLow}, \field{QueueDeviceHigh}. > > To stop using the queue the driver MUST write zero (0x0) to this > @@ -363,14 +370,14 @@ \subsubsection{Virtqueue Configuration}\label{sec:Virtio Transport Options / Vir > and expect a returned value of zero (0x0). > > \item Read maximum queue size (number of elements) from > - \field{QueueNumMax}. If the returned value is zero (0x0) the > + \field{QueueSizeMax}. If the returned value is zero (0x0) the > queue is not available. > > \item Allocate and zero the queue memory, making sure the memory > is physically contiguous. > > \item Notify the device about the queue size by writing the size to > - \field{QueueNum}. > + \field{QueueSize}. > > \item Write physical addresses of the queue's Descriptor Area, > Driver Area and Device Area to (respectively) the > @@ -465,25 +472,32 @@ \subsection{Legacy interface}\label{sec:Virtio Transport Options / Virtio Over M > \hline > \mmioreg{QueueSel}{Virtual queue index}{0x030}{W}{% > Writing to this register selects the virtual queue that the > - following operations on the \field{QueueNumMax}, \field{QueueNum}, \field{QueueAlign} > + following operations on the \field{QueueSizeMax}, > + \field{QueueSize}, \field{QueueAlign} > and \field{QueuePFN} registers apply to. The index > number of the first queue is zero (0x0). > . > } > \hline > - \mmioreg{QueueNumMax}{Maximum virtual queue size}{0x034}{R}{% > + \mmioreg{QueueSizeMax}{Maximum virtual queue size}{0x034}{R}{% > Reading from the register returns the maximum size of the queue > the device is ready to process or zero (0x0) if the queue is not > available. This applies to the queue selected by writing to > \field{QueueSel} and is allowed only when \field{QueuePFN} is set to zero > (0x0), so when the queue is not actively used. > + \begin{note} > + \field{QueueSizeMax} was previously known as QueueNumMax. > + \end{note} > } > \hline > - \mmioreg{QueueNum}{Virtual queue size}{0x038}{W}{% > + \mmioreg{QueueSize}{Virtual queue size}{0x038}{W}{% > Queue size is the number of elements in the queue. > Writing to this register notifies the device what size of the > queue the driver will use. This applies to the queue selected by > writing to \field{QueueSel}. > + \begin{note} > + \field{QueueSize} was previously known as QueueNum. > + \end{note} > } > \hline > \mmioreg{QueueAlign}{Used Ring alignment in the virtual queue}{0x03c}{W}{% > @@ -543,16 +557,16 @@ \subsection{Legacy interface}\label{sec:Virtio Transport Options / Virtio Over M > expecting a returned value of zero (0x0). > > \item Read maximum queue size (number of elements) from > - \field{QueueNumMax}. If the returned value is zero (0x0) the > + \field{QueueSizeMax}. If the returned value is zero (0x0) the > queue is not available. > > \item Allocate and zero the queue pages in contiguous virtual > memory, aligning the Used Ring to an optimal boundary (usually > page size). The driver should choose a queue size smaller than or > - equal to \field{QueueNumMax}. > + equal to \field{QueueSizeMax}. > > \item Notify the device about the queue size by writing the size to > - \field{QueueNum}. > + \field{QueueSize}. > > \item Notify the device about the used alignment by writing its value > in bytes to \field{QueueAlign}. > -- > 2.26.2 > > > This publicly archived list offers a means to provide input to the > OASIS Virtual I/O Device (VIRTIO) TC. > > In order to verify user consent to the Feedback License terms and > to minimize spam in the list archive, subscription is required > before posting. > > Subscribe: virtio-comment-subscribe@lists.oasis-open.org > Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org > List help: virtio-comment-help@lists.oasis-open.org > List archive: https://lists.oasis-open.org/archives/virtio-comment/ > Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf > List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists > Committee: https://www.oasis-open.org/committees/virtio/ > Join OASIS: https://www.oasis-open.org/join/ -- I didn't get a lot in class, but I know it don't come in a shot glass. --------------------------------------------------------------------- To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org