qemu-devel
[Top][All Lists]
Advanced

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

Re: [RFC PATCH v1 1/1] include/hw/pci/pcie_host: Correct PCIE_MMCFG_BUS_


From: Michael S. Tsirkin
Subject: Re: [RFC PATCH v1 1/1] include/hw/pci/pcie_host: Correct PCIE_MMCFG_BUS_MASK
Date: Mon, 11 Apr 2022 17:12:47 -0400

On Mon, Apr 11, 2022 at 09:38:18PM +0200, Francisco Iglesias wrote:
> According to [1] address bits 27 - 20 are mapped to the bus number (the
> TLPs bus number field is 8 bits).
> 
> [1] PCI Express® Base Specification Revision 5.0 Version 1.0
> 
> Signed-off-by: Francisco Iglesias <frasse.iglesias@gmail.com>
> ---
>  include/hw/pci/pcie_host.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/hw/pci/pcie_host.h b/include/hw/pci/pcie_host.h
> index 076457b270..b3c8ce973c 100644
> --- a/include/hw/pci/pcie_host.h
> +++ b/include/hw/pci/pcie_host.h
> @@ -60,7 +60,7 @@ void pcie_host_mmcfg_update(PCIExpressHost *e,
>  /*
>   * PCI express ECAM (Enhanced Configuration Address Mapping) format.
>   * AKA mmcfg address
> - * bit 20 - 28: bus number
> + * bit 20 - 27: bus number
>   * bit 15 - 19: device number
>   * bit 12 - 14: function number
>   * bit  0 - 11: offset in configuration space of a given device

this is correct, or to be more precise:
A[(20 + n – 1):20] and 1 <= n <= 8


> @@ -68,7 +68,7 @@ void pcie_host_mmcfg_update(PCIExpressHost *e,
>  #define PCIE_MMCFG_SIZE_MAX             (1ULL << 29)
>  #define PCIE_MMCFG_SIZE_MIN             (1ULL << 20)
>  #define PCIE_MMCFG_BUS_BIT              20
> -#define PCIE_MMCFG_BUS_MASK             0x1ff
> +#define PCIE_MMCFG_BUS_MASK             0xff
>  #define PCIE_MMCFG_DEVFN_BIT            12
>  #define PCIE_MMCFG_DEVFN_MASK           0xff
>  #define PCIE_MMCFG_CONFOFFSET_MASK      0xfff
> -- 
> 2.20.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]