search for: devfn

Displaying 20 results from an estimated 194 matches for "devfn".

2018 Feb 28
1
[PATCH v2 2/6] PCI: Scan all functions when running over Jailhouse
On Wed, 28 Feb 2018, Jan Kiszka wrote: > From: Jan Kiszka <jan.kiszka at siemens.com> > > Per PCIe r4.0, sec 7.5.1.1.9, multi-function devices are required to > have a function 0. Therefore, Linux scans for devices at function 0 > (devfn 0/8/16/...) and only scans for other functions if function 0 > has its Multi-Function Device bit set or ARI or SR-IOV indicate > there are more functions. > > The Jailhouse hypervisor may pass individual functions of a > multi-function device to a guest without passing function 0, w...
2007 Dec 27
2
VT-d and the GPU
...:PCI: bdf = 0:2:0 (XEN) intel-iommu.c:1260:d0 domain_context_unmap_one_1:bdf = 0:2:0 (XEN) intel-iommu.c:741: iommu_page_fault: iommu->reg = fff77000 (XEN) intel-iommu.c:724: iommu_page_fault:DMA Write: DEVICE 0:2.0 addr 7e8000002 (XEN) print_vtd_entries: domain_id = 0 bdf = 0:2:0 devfn = 10, gmfn = 7e800 (XEN) ---- print_vtd_entries 0 ---- (XEN) d->pgd = ffbce000 virt_to_maddr(hd->pgd) = bce000 (XEN) root_entry = ffbcb000 (XEN) root_entry[0] = bc5001 (XEN) maddr_to_virt(root_entry[0]) = ffbc5001 (XEN) ctxt_entry[10].lo == 0 (XEN) i...
2018 Mar 01
0
[PATCH v3 2/6] PCI: Scan all functions when running over Jailhouse
From: Jan Kiszka <jan.kiszka at siemens.com> Per PCIe r4.0, sec 7.5.1.1.9, multi-function devices are required to have a function 0. Therefore, Linux scans for devices at function 0 (devfn 0/8/16/...) and only scans for other functions if function 0 has its Multi-Function Device bit set or ARI or SR-IOV indicate there are more functions. The Jailhouse hypervisor may pass individual functions of a multi-function device to a guest without passing function 0, which means a Linux guest...
2018 Mar 04
0
[PATCH v4 2/7] PCI: Scan all functions when running over Jailhouse
From: Jan Kiszka <jan.kiszka at siemens.com> Per PCIe r4.0, sec 7.5.1.1.9, multi-function devices are required to have a function 0. Therefore, Linux scans for devices at function 0 (devfn 0/8/16/...) and only scans for other functions if function 0 has its Multi-Function Device bit set or ARI or SR-IOV indicate there are more functions. The Jailhouse hypervisor may pass individual functions of a multi-function device to a guest without passing function 0, which means a Linux guest...
2018 Mar 07
0
[PATCH v5 2/7] PCI: Scan all functions when running over Jailhouse
From: Jan Kiszka <jan.kiszka at siemens.com> Per PCIe r4.0, sec 7.5.1.1.9, multi-function devices are required to have a function 0. Therefore, Linux scans for devices at function 0 (devfn 0/8/16/...) and only scans for other functions if function 0 has its Multi-Function Device bit set or ARI or SR-IOV indicate there are more functions. The Jailhouse hypervisor may pass individual functions of a multi-function device to a guest without passing function 0, which means a Linux guest...
2012 Sep 26
3
[PATCH v3] xen/tools: Add 64 bits big bar support
...mem_end; diff --git a/tools/firmware/hvmloader/pci.c b/tools/firmware/hvmloader/pci.c index fd56e50..0500db5 100644 --- a/tools/firmware/hvmloader/pci.c +++ b/tools/firmware/hvmloader/pci.c @@ -36,19 +36,25 @@ unsigned long igd_opregion_pgbase = 0; void pci_setup(void) { - uint32_t base, devfn, bar_reg, bar_data, bar_sz, cmd, mmio_total = 0; + uint8_t is_64bar, using_64bar, bar64_relocate = 0; + uint32_t devfn, bar_reg, cmd, bar_data, bar_data_upper; + uint64_t base, bar_sz, bar_sz_upper, mmio_total = 0; uint32_t vga_devfn = 256; uint16_t class, vendor_id, device_id;...
2018 Feb 28
0
[PATCH v2 2/6] PCI: Scan all functions when running over Jailhouse
From: Jan Kiszka <jan.kiszka at siemens.com> Per PCIe r4.0, sec 7.5.1.1.9, multi-function devices are required to have a function 0. Therefore, Linux scans for devices at function 0 (devfn 0/8/16/...) and only scans for other functions if function 0 has its Multi-Function Device bit set or ARI or SR-IOV indicate there are more functions. The Jailhouse hypervisor may pass individual functions of a multi-function device to a guest without passing function 0, which means a Linux guest...
2018 Jan 22
0
[PATCH 2/6] pci: Scan all functions when probing while running over Jailhouse
...; #include <asm/pci_x86.h> +#include <asm/jailhouse_para.h> /* * Discover remaining PCI buses in case there are peer host bridges. @@ -34,13 +35,14 @@ int __init pci_legacy_init(void) void pcibios_scan_specific_bus(int busn) { + int stride = jailhouse_paravirt() ? 1 : 8; int devfn; u32 l; if (pci_find_bus(0, busn)) return; - for (devfn = 0; devfn < 256; devfn += 8) { + for (devfn = 0; devfn < 256; devfn += stride) { if (!raw_pci_read(0, busn, devfn, PCI_VENDOR_ID, 2, &l) && l != 0x0000 && l != 0xffff) { DBG("Found devic...
2018 Mar 01
11
[PATCH v3 0/6] jailhouse: Enhance secondary Jailhouse guest support /wrt PCI
Basic x86 support [1] for running Linux as secondary Jailhouse [2] guest is currently pending in the tip tree. This builds on top and enhances the PCI support for x86 and also ARM guests (ARM[64] does not require platform patches and works already). Key elements of this series are: - detection of Jailhouse via device tree hypervisor node - function-level PCI scan if Jailhouse is detected -
2018 Mar 01
11
[PATCH v3 0/6] jailhouse: Enhance secondary Jailhouse guest support /wrt PCI
Basic x86 support [1] for running Linux as secondary Jailhouse [2] guest is currently pending in the tip tree. This builds on top and enhances the PCI support for x86 and also ARM guests (ARM[64] does not require platform patches and works already). Key elements of this series are: - detection of Jailhouse via device tree hypervisor node - function-level PCI scan if Jailhouse is detected -
2018 Feb 28
8
[PATCH v2 0/6] jailhouse: Enhance secondary Jailhouse guest support /wrt PCI
Basic x86 support [1] for running Linux as secondary Jailhouse [2] guest is currently pending in the tip tree. This builds on top and enhances the PCI support for x86 and also ARM guests (ARM[64] does not require platform patches and works already). Key elements of this series are: - detection of Jailhouse via device tree hypervisor node - function-level PCI scan if Jailhouse is detected -
2012 Jan 25
4
Fwd: BUG in linux+v3.2.1/drivers/xen/xen-pciback/pci_stub.c
First, maintainer''s addresses (Ryan Wilson <hap9@epoch.ncsc.mil>, Chris Bookholt <hap10@epoch.ncsc.mil>) are wrong (users unknown to remote mailsystem), so posting to you: PCI bus format strings are wrong. "%04x:%02x:%02x.%d" should be used instead of "%04x:%02x:%02x.%1x" (in many places of linux+v3.2.1/drivers/xen/xen-pciback/pci_stub.c) --
2011 May 13
0
continously schedule aer pcifront service
...2985.074862] pcieport 0000:00:07.0: [20] Unsupported Request (First) [ 2985.074869] pcieport 0000:00:07.0: TLP Header: 6000201d 0400003f 21f91a41 aecadb80 [ 2985.074886] pcieport 0000:00:07.0: broadcast error_detected message [ 2985.074893] pciback 0000:04:00.0: pciback_error_detected(bus:4,devfn:0) [ 2985.074902] pciback 0000:04:00.0: pciback: aer_op 6 dom 0 bus 0 devfn 0 [ 2985.145525] pciback 0000:04:00.1: pciback_error_detected(bus:4,devfn:1) [ 2985.145533] pciback 0000:04:00.1: pciback: aer_op 6 dom 0 bus 0 devfn 1 [ 2985.145777] pcieport 0000:00:07.0: broadcast slot_reset message [ 29...
2012 Feb 11
14
[PATCH v3 0/5] hvmloader: Make ROM dependencies optional
This patch set mainly allows the user to build a seabios or rombios only version of hvmloader. In addition, when building a seabios only hvmloader, Option ROMs like vgabios and etherboot are no longer required, and therefore can be disabled from the build. Dependency on the bcc compiler can also be avoided the same way. v2: Separate patches for separate issues Introduced config option to
2008 Sep 01
2
[PATCH 3/4 v2] PCI: support SR-IOV capability
...ops virtfn_slot_ops = { + .owner = THIS_MODULE, + .enable_slot = enable_virtfn, + .disable_slot = disable_virtfn, + .set_param = set_virtfn_param, + .get_param = get_virtfn_param +}; + +static DEFINE_MUTEX(iov_lock); + + +static inline void get_addr(struct pci_dev *dev, int id, u8 *busnr, u8 *devfn) +{ + u16 addr; + + addr = (dev->bus->number << 8) + dev->devfn + + dev->iov->offset + dev->iov->stride * id; + *busnr = addr >> 8; + *devfn = addr & 0xff; +} + +static inline struct pci_bus *find_bus(struct pci_dev *dev, int busnr) +{ + struct pci_bus *bu...
2008 Sep 01
2
[PATCH 3/4 v2] PCI: support SR-IOV capability
...ops virtfn_slot_ops = { + .owner = THIS_MODULE, + .enable_slot = enable_virtfn, + .disable_slot = disable_virtfn, + .set_param = set_virtfn_param, + .get_param = get_virtfn_param +}; + +static DEFINE_MUTEX(iov_lock); + + +static inline void get_addr(struct pci_dev *dev, int id, u8 *busnr, u8 *devfn) +{ + u16 addr; + + addr = (dev->bus->number << 8) + dev->devfn + + dev->iov->offset + dev->iov->stride * id; + *busnr = addr >> 8; + *devfn = addr & 0xff; +} + +static inline struct pci_bus *find_bus(struct pci_dev *dev, int busnr) +{ + struct pci_bus *bu...
2008 Sep 01
2
[PATCH 3/4 v2] PCI: support SR-IOV capability
...ops virtfn_slot_ops = { + .owner = THIS_MODULE, + .enable_slot = enable_virtfn, + .disable_slot = disable_virtfn, + .set_param = set_virtfn_param, + .get_param = get_virtfn_param +}; + +static DEFINE_MUTEX(iov_lock); + + +static inline void get_addr(struct pci_dev *dev, int id, u8 *busnr, u8 *devfn) +{ + u16 addr; + + addr = (dev->bus->number << 8) + dev->devfn + + dev->iov->offset + dev->iov->stride * id; + *busnr = addr >> 8; + *devfn = addr & 0xff; +} + +static inline struct pci_bus *find_bus(struct pci_dev *dev, int busnr) +{ + struct pci_bus *bu...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [3/4]
...uot;pci.h" + +#define VF_PARAM_LEN 128 + +#define notify_phyfn(pf, event, arg) ({ \ + pf->iov->notify ? pf->iov->notify(pf, event, arg) : 0; \ +}) + +static int iov_set_nr_virtfn(struct pci_dev *, int); + + +static inline void vfid_to_bdf(struct pci_dev *pf, int vfid, u8 *bus, u8 *devfn) +{ + u16 bdf; + + bdf = (pf->bus->number << 8) + pf->devfn + + pf->iov->offset + pf->iov->stride * vfid; + *bus = bdf >> 8; + *devfn = bdf & 0xff; +} + +static inline int bdf_to_vfid(struct pci_dev *pf, u8 bus, u8 devfn) +{ + u16 bdf; + int vfid; + + bdf...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [3/4]
...uot;pci.h" + +#define VF_PARAM_LEN 128 + +#define notify_phyfn(pf, event, arg) ({ \ + pf->iov->notify ? pf->iov->notify(pf, event, arg) : 0; \ +}) + +static int iov_set_nr_virtfn(struct pci_dev *, int); + + +static inline void vfid_to_bdf(struct pci_dev *pf, int vfid, u8 *bus, u8 *devfn) +{ + u16 bdf; + + bdf = (pf->bus->number << 8) + pf->devfn + + pf->iov->offset + pf->iov->stride * vfid; + *bus = bdf >> 8; + *devfn = bdf & 0xff; +} + +static inline int bdf_to_vfid(struct pci_dev *pf, u8 bus, u8 devfn) +{ + u16 bdf; + int vfid; + + bdf...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [3/4]
...uot;pci.h" + +#define VF_PARAM_LEN 128 + +#define notify_phyfn(pf, event, arg) ({ \ + pf->iov->notify ? pf->iov->notify(pf, event, arg) : 0; \ +}) + +static int iov_set_nr_virtfn(struct pci_dev *, int); + + +static inline void vfid_to_bdf(struct pci_dev *pf, int vfid, u8 *bus, u8 *devfn) +{ + u16 bdf; + + bdf = (pf->bus->number << 8) + pf->devfn + + pf->iov->offset + pf->iov->stride * vfid; + *bus = bdf >> 8; + *devfn = bdf & 0xff; +} + +static inline int bdf_to_vfid(struct pci_dev *pf, u8 bus, u8 devfn) +{ + u16 bdf; + int vfid; + + bdf...