[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 00/17] Q35 initial support for HVM guests


  • To: Thierry Escande <thierry.escande@xxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Tue, 28 Apr 2026 09:48:41 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=t5LjEDnCnKB+aJUEQ/u4vjV15DYk3BNPjC1GMqMTxMY=; b=YaAZuoizsBHsdFwlz31H0Ns6/Rvh2VmFwl6dsRVO+SWr+4gFmkgPmxqJFvM7VpuAf+imzTsVpuSGZIS4umIdKVJbmF9HlSSOeqlkZmcD9f0I7R3j6sAjG5YlRI15bIbL9mpusag8R2MpmHgls3zAFGkhQajzgPakzXBBMUHfo/Jr69GHyWBF9w1U9MdOvhuvcrJgFquoY6bB5J25EUxmbLyRdoZXSUR49V8JU/yqYdFi8tfwInwaiECGQuNZYtypy6CrWWDmJWymo9dkPntBvc7AHOxbTR49ZjnUgaBbE5uTLvFSli4zZBVXHj7clMsuDL5DyabvAgngdU87VZkJGQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=E6e84rqZK2HeKCPLoCPjafeM1dPfXU2Wf3lZrRiN4dyOoXZpDA8gkax8//YOWNY4Jm8jR88UhiVOlE6JVVHsb5KvBtvAT8D7oP5GntIM64oMZGeX8eWNXG3NP/3WE4k2aKRmDZaZdIYjxjNeHy+OphEQJB3l+FqO9tnLhjNIsGATlK12UgrnYFZtKrBPYlDlM/Hm735f/RNuOTW8+29ejkEbGc5GeebLqVg0xtcTL9Ku79h7YZfY2h92ixyCJFeViYS5lYb63ewtAMES0CeYui+zAbOLu8Q1QgUTz297wm55ygtYYTtR9zfA9vqq5zBrHlmzEircpEExVsx8MTJEvA==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Tue, 28 Apr 2026 07:49:15 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Fri, Mar 13, 2026 at 04:35:01PM +0000, Thierry Escande wrote:
> This series introduces initial Q35 chipset support for HVM guests, based on 
> the
> patchset at [1] by Alexey Gerasimenko.
> 
> Basic support means that this patchset allows to start an HVM guest that
> emulates a Q35 chipset via Qemu and implements access to PCIe extended
> configuration space for such devices emulated by Qemu.
> 
> Support for PCIe device passthrough is not implemented yet. This is planned 
> but
> implies modifications in the hypervisor and the firmwares, mainly for the
> support of multiple PCI buses.

Why do you need multi bus support to expose PCIe capabilities?  I'm
not seeing the relation between those two.  You could still expose a
single bus on the MCFG table.

> In order to create a Q35 guest, a new domain config option has been added,
> named 'device_model_machine'. Possible values are:
> - "i440" - i440 emulation (default)
> - "q35"  - emulate a Q35 machine
> 
> If the option is omitted it defaults to "i440", not impacting existing domain
> configuration files.
> 
> DSDT files for Q35 and i440 are largely similar so the existing file dsdt.asl
> has been split with i440 and q35 specific parts put in seperated files.
> 
> The PCIe MMCONFIG area is configured by hvmloader and its base address and 
> size
> are set in Xen using a new pair of hypercalls HVMOP_get|set_ecam_space.

I guess I will see how that looks like in the series, but the setting
of the ECAM region would better be done by the toolstack.  Setting it
in hvmloader is possibly not the best placement, because it doesn't
run for PVH guests (and we will want ECAM support for PVH at some
point), and there's also a vague plan/intention to get rid of
hvmloader even for HVM guests eventually.

> Access
> to the MMCONFIG area from a guest is trapped by Xen and transfered to the
> emulator as XEN_DMOP_IO_RANGE_PCI ioreq type.

Thanks for doing this bit, IIRC from when this was last posted this
was the biggest shortcoming of the series when originally submitted.

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.