From nobody Tue Apr 30 02:16:30 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587481340; cv=none; d=zohomail.com; s=zohoarc; b=FOCzSTlPz0qa64RGnVCuFXtQhn+6XJoALFaa6fc23VYRViidC1LyDJ9RK/3lnArM/wYZkVlxZ3S5y4ArLnZHpdrQHfHGJUehWVHhSYP7cCpTselKwE0gc5ZOfSOe+41xXPFxYCNLF3pp5XAasSEMN9A7rv0HpsKu+DuvBV/NDfU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587481340; h=Content-Type:Content-Transfer-Encoding:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=b92VjZrCcZ8/ptYCcD0yGCVIfWG5nKzRvQLxloZRw84=; b=RvG/6jrbZGRMEOusXBvjHR3yb4saZCX8uMX29FxK3zad+jO04/hltfMpvhy250hF5Fp46AUxQuTNNTnuKI+tCn2cFLq3COwX9joS9gH+XlNLlvmpV/4IsGqg9YfFG1pevT81KI6hWo0rYq3aoTxzQjTZLMDibPu0mDNo/Y7/ldE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1587481340985983.6894679081032; Tue, 21 Apr 2020 08:02:20 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-223-s2ed2x3YM3uGRSEghqJ0dQ-1; Tue, 21 Apr 2020 11:02:11 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4964D18B9FC6; Tue, 21 Apr 2020 15:02:04 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BB373B3A68; Tue, 21 Apr 2020 15:02:01 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id F1DF793A78; Tue, 21 Apr 2020 15:01:57 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 03LF1ud5009375 for ; Tue, 21 Apr 2020 11:01:56 -0400 Received: by smtp.corp.redhat.com (Postfix) id 4ABC660C63; Tue, 21 Apr 2020 15:01:56 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.194.78]) by smtp.corp.redhat.com (Postfix) with ESMTP id ADE8B60C88 for ; Tue, 21 Apr 2020 15:01:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587481336; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=b92VjZrCcZ8/ptYCcD0yGCVIfWG5nKzRvQLxloZRw84=; b=DuYvRfhx1Fya5e2GIimwgErASdr16IZGYbTd9fn9f/MnmZljyU1wStoFRXZbC4meLNiG7t E5VjJKnTyrP4W8VS/uDyH17X4uwzQdJrvrFgvg449O/yW5jPUxFPufKHVpbzlvgvNEQwkr DYqa29JHAtzPGdekteeimZgvz6Y+vsw= X-MC-Unique: s2ed2x3YM3uGRSEghqJ0dQ-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH] docs: Document reserved PCI addresses for QEMU Date: Tue, 21 Apr 2020 17:01:48 +0200 Message-Id: <8be65b3dd0586f228580ade542bf74ba98b4c2f6.1587481308.git.mprivozn@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" >From time to time we are asked which PCI addresses are reserved in QEMU. Let's document them in one place, it's easier than reconstructing the list from the code each time. Signed-off-by: Michal Privoznik --- docs/pci-addresses.rst | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/docs/pci-addresses.rst b/docs/pci-addresses.rst index 885d50517a..6c203fb1ac 100644 --- a/docs/pci-addresses.rst +++ b/docs/pci-addresses.rst @@ -235,3 +235,43 @@ guest OS rather than as ``0001:08:00.1``, which is the= address of the device on the host. =20 Of course, all the rules and behaviors described above still apply. + + +Reserved addresses +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Due to some historical reasons hypervisors might expect some PCI +devices to appear at certain addresses instead of 'random' ones. +For QEMU this is machine type and guest architecture dependant. +But to give you at least a gist here is list of reserved PCI +addresses: + +For ``I440FX`` the following addresses are reserved: + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +0000:00:01.0 ISA bridge +0000:00:01.1 primary IDE controller +0000:00:01.2 PIIX3 USB controller +0000:00:01.3 PCI bridge +0000:00:02.0 primary video card +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +For ``Q35`` the following addresses are reserved: + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +0000:00:1f.2 primary SATA controller +0000:00:1f.0 ISA bridge +0000:00:1f.3 SMBus +0000:00:01.0 primary video card +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +and the following are recommended (libvirt will try to place +corresponding devices there because that's how real ``Q35`` would +do it, but won't fail if the address is already taken): + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D +0000:00:1a.0 USB2 controller +0000:00:1b.0 ICH9 sound chip +0000:00:1d.0 USB2 controller +0000:00:1e.0 dmi-to-pci bridge +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --=20 2.25.3