search for: pci_vendor_id

Displaying 20 results from an estimated 39 matches for "pci_vendor_id".

2018 Feb 28
1
[PATCH v2 2/6] PCI: Scan all functions when running over Jailhouse
...> + 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 device at %02x:%02x [%04x]\n", busn, devfn, l); Shouldn't that take the situation into account where the MFD bit is set on a regular devfn, i.e. (devfn % 8) == 0? In that case you'd scan...
2013 Jan 15
14
[PATCH] VTD/Intremap: Disable Intremap on Chipset 5500/5520/X58 due to errata
...* Fixed in stepping C-2. */ +void __init tylersburg_intremap_quirk(void) +{ + uint32_t bus, device; + uint8_t rev; + + for ( bus = 0; bus < 0x100; bus++ ) + { + /* Match on System Management Registers on Device 20 Function 0 */ + device = pci_conf_read32(0, bus, 20, 0, PCI_VENDOR_ID); + rev = pci_conf_read8(0, bus, 20, 0, PCI_REVISION_ID); + + if ( rev == 0x13 && device == 0x342e8086 ) + { + dprintk(XENLOG_INFO VTDPREFIX, + "Disabling Interrupt Remapping due to Intel 5500/5520/X58 Chipset errata #47, #53\n");...
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
2019 Oct 17
0
[PATCH V3 1/7] mdev: class id support
...:57, Parav Pandit wrote: >> +static struct mdev_class_id id_table[] = { > static const > >> + { MDEV_ID_VFIO }, > I guess you don't need extra braces for each entry. > Since this enum represents MDEV class id, it better to name it as MDEV_CLASS_ID_VFIO. > (Similar to PCI_VENDOR_ID, PCI_DEVICE_ID).. > Gcc start to complain like: warning: missing braces around initializer [-Wmissing-braces] ?static const struct mdev_class_id id_table[] = { ??????????????????????????????????????????????? ^ ? MDEV_ID_VFIO, 0, ? {?????????? } { ?}; ?} So I will keep this part untouche...
2008 Oct 16
1
syslinux compile fails: undefined symbol `obj_kpxeprefix'
...pkgs/syslinux/syslinux-3.72/gpxe/src' ld -m elf_i386 -N --no-check-sections -T arch/i386/scripts/i386.lds -u obj_kpxeprefix --defsym check_obj_kpxeprefix=obj_kpxeprefix -u obj_undionly --defsym check_obj_undionly=obj_undionly -u obj_config --defsym check_obj_config=obj_config --defsym pci_vendor_id=0 --defsym pci_device_id=0 bin/blib.a -o bin/undionly.kpxe.tmp \ -Map bin/undionly.kpxe.tmp.map arch/i386/scripts/i386.lds:1: undefined symbol `obj_kpxeprefix' referenced in expression make[2]: *** [bin/undionly.kpxe.tmp] Error 1 Can anyone tell me where this symbol comes fr...
2011 Nov 27
5
[PATCH] qemu-xen: Intel GPU passthrough, fix OpRegion mapping.
The OpRegion shouldn''t be mapped 1:1 because the address in the host can''t be used in the guest directly. This patch traps read and write access to the opregion of the Intel GPU config space (offset 0xfc). To work correctly this patch needs a change in hvmloader. HVMloader will allocate 2 pages for the OpRegion and write this address on the config space of the Intel GPU. Qemu
2018 Jan 22
0
[PATCH 2/6] pci: Scan all functions when probing while running over Jailhouse
...id) 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 device at %02x:%02x [%04x]\n", busn, devfn, l); diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 14e0ea1ff38b..60ad14c8245f 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -17,6 +1...
2018 Feb 28
0
[PATCH v2 2/6] PCI: Scan all functions when running over Jailhouse
...id) 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 device at %02x:%02x [%04x]\n", busn, devfn, l); diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index ef5377438a1e..ce728251ae36 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -16,6 +1...
2018 Mar 01
0
[PATCH v3 2/6] PCI: Scan all functions when running over Jailhouse
...id) 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 device at %02x:%02x [%04x]\n", busn, devfn, l); diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index ef5377438a1e..da22d6d216f8 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -16,6 +1...
2018 Mar 04
0
[PATCH v4 2/7] PCI: Scan all functions when running over Jailhouse
...id) 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 device at %02x:%02x [%04x]\n", busn, devfn, l); diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index ef5377438a1e..3c365dc996e7 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -16,6 +1...
2018 Mar 07
0
[PATCH v5 2/7] PCI: Scan all functions when running over Jailhouse
...id) 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 device at %02x:%02x [%04x]\n", busn, devfn, l); diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index ef5377438a1e..3c365dc996e7 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -16,6 +1...
2009 Jun 21
0
[PATCHv6 04/12] qemu/pci: check constant registers on load
...ci_update_mappings(s); if (version_id >= 2) @@ -237,6 +243,18 @@ int pci_assign_devaddr(const char *addr, int *domp, int *busp, unsigned *slotp) return pci_parse_devaddr(devaddr, domp, busp, slotp); } +static void pci_init_cmask(PCIDevice *dev) +{ + pci_set_word(dev->cmask + PCI_VENDOR_ID, 0xffff); + pci_set_word(dev->cmask + PCI_DEVICE_ID, 0xffff); + dev->cmask[PCI_STATUS] = PCI_STATUS_CAP_LIST; + dev->cmask[PCI_REVISION_ID] = 0xff; + dev->cmask[PCI_CLASS_PROG] = 0xff; + pci_set_word(dev->cmask + PCI_CLASS_DEVICE, 0xffff); + dev->cmask[PCI_HEADER...
2009 Jun 21
0
[PATCHv6 04/12] qemu/pci: check constant registers on load
...ci_update_mappings(s); if (version_id >= 2) @@ -237,6 +243,18 @@ int pci_assign_devaddr(const char *addr, int *domp, int *busp, unsigned *slotp) return pci_parse_devaddr(devaddr, domp, busp, slotp); } +static void pci_init_cmask(PCIDevice *dev) +{ + pci_set_word(dev->cmask + PCI_VENDOR_ID, 0xffff); + pci_set_word(dev->cmask + PCI_DEVICE_ID, 0xffff); + dev->cmask[PCI_STATUS] = PCI_STATUS_CAP_LIST; + dev->cmask[PCI_REVISION_ID] = 0xff; + dev->cmask[PCI_CLASS_PROG] = 0xff; + pci_set_word(dev->cmask + PCI_CLASS_DEVICE, 0xffff); + dev->cmask[PCI_HEADER...
2008 Sep 27
0
[PATCH 8/9] qemu: enable HMV guest SR-IOV support
...tbl *cfg_entry, uint32_t *value, uint32_t valid_mask); @@ -151,6 +158,28 @@ static int pt_msixctrl_reg_write(struct pt_dev *ptdev, /* Header Type0 reg static infomation table */ static struct pt_reg_info_tbl pt_emu_reg_header0_tbl[] = { + /* Vendor ID reg */ + { + .offset = PCI_VENDOR_ID, + .size = 2, + .init_val = 0x0000, + .ro_mask = 0xFFFF, + .emu_mask = 0xFFFF, + .init = pt_vendor_reg_init, + .u.w.read = pt_word_reg_read, + .u.w.write = pt_word_reg_write, + }, + /* Device ID reg */ + { + .off...
2013 Mar 19
7
[PATCH 0/3] IOMMU errata treatment adjustments
1: IOMMU: properly check whether interrupt remapping is enabled 2: AMD IOMMU: only disable when certain IVRS consistency checks fail 3: VT-d: deal with 5500/5520/X58 errata Patch 1 and 2 are version 2 of a previously submitted, then withdrawn patch following up after XSA-36. Patch 3 is version 3 of a patch previously sent by Malcolm and Andrew. Signed-off-by: Jan Beulich
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 -
2015 Jan 21
2
[pciutils patch] add virtio vendor capability support
...44 --- a/ls-caps.c +++ b/ls-caps.c @@ -1315,7 +1315,14 @@ show_caps(struct device *d, int where) cap_ht(d, where, cap); break; case PCI_CAP_ID_VNDR: - printf("Vendor Specific Information: Len=%02x <?>\n", BITS(cap, 0, 8)); + switch (get_conf_word(d, PCI_VENDOR_ID)) { + case 0x1af4: /* Red Hat, devices 0x1000 -> 0x107f are virtio */ + show_vendor_caps_virtio(d, where, cap); + break; + default: + printf("Vendor Specific Information: Len=%02x <?>\n", BITS(cap, 0, 8)); + break; + } break; case PCI_CAP_ID_DB...
2015 Jan 21
2
[pciutils patch] add virtio vendor capability support
...44 --- a/ls-caps.c +++ b/ls-caps.c @@ -1315,7 +1315,14 @@ show_caps(struct device *d, int where) cap_ht(d, where, cap); break; case PCI_CAP_ID_VNDR: - printf("Vendor Specific Information: Len=%02x <?>\n", BITS(cap, 0, 8)); + switch (get_conf_word(d, PCI_VENDOR_ID)) { + case 0x1af4: /* Red Hat, devices 0x1000 -> 0x107f are virtio */ + show_vendor_caps_virtio(d, where, cap); + break; + default: + printf("Vendor Specific Information: Len=%02x <?>\n", BITS(cap, 0, 8)); + break; + } break; case PCI_CAP_ID_DB...
2015 Jan 21
2
[pciutils patch v2] add virtio vendor capability support
...4), + get_conf_long(d, where + 8), + get_conf_long(d, where + 12)); + + if (type != 2 || length < 20) + return; + + printf("\t\tmultiplier=%08x\n", + get_conf_long(d, where+16)); +} + +void +show_vendor_caps(struct device *d, int where, int cap) +{ + switch (get_conf_word(d, PCI_VENDOR_ID)) + { + case 0x1af4: /* Red Hat */ + if (get_conf_word(d, PCI_DEVICE_ID) >= 0x1000 && + get_conf_word(d, PCI_DEVICE_ID) <= 0x107f) + show_vendor_caps_virtio(d, where, cap); + break; + default: + printf("Vendor Specific Information: Len=%02x <?>\n&q...
2015 Jan 21
2
[pciutils patch v2] add virtio vendor capability support
...4), + get_conf_long(d, where + 8), + get_conf_long(d, where + 12)); + + if (type != 2 || length < 20) + return; + + printf("\t\tmultiplier=%08x\n", + get_conf_long(d, where+16)); +} + +void +show_vendor_caps(struct device *d, int where, int cap) +{ + switch (get_conf_word(d, PCI_VENDOR_ID)) + { + case 0x1af4: /* Red Hat */ + if (get_conf_word(d, PCI_DEVICE_ID) >= 0x1000 && + get_conf_word(d, PCI_DEVICE_ID) <= 0x107f) + show_vendor_caps_virtio(d, where, cap); + break; + default: + printf("Vendor Specific Information: Len=%02x <?>\n&q...