Displaying 3 results from an estimated 3 matches for "pci_mmcfg_read".
Did you mean:
pci_cfg_read
2005 Aug 31
0
[PATCH] Re: SMP dom0 with 8 cpus of i386
...void pci_exp_set_dev_base(int bus, int devfn)
{
u32 dev_base = pci_mmcfg_base_addr | (bus << 20) | (devfn << 12);
if (dev_base != mmcfg_last_accessed_device) {
mmcfg_last_accessed_device = dev_base;
set_fixmap_nocache(FIX_PCIE_MCFG, dev_base);
}
}
static int pci_mmcfg_read(unsigned int seg, unsigned int bus,
unsigned int devfn, int reg, int len, u32 *value)
{
unsigned long flags;
if (!value || (bus > 255) || (devfn > 255) || (reg > 4095))
return -EINVAL;
spin_lock_irqsave(&pci_config_lock, flags);
pci_exp_set_dev_...
2005 Sep 01
0
RE: [PATCH] Re: SMP dom0 with 8 cpus of i386
...evfn) {
> u32 dev_base = pci_mmcfg_base_addr | (bus << 20) | (devfn << 12);
> if (dev_base != mmcfg_last_accessed_device) {
> mmcfg_last_accessed_device = dev_base;
> set_fixmap_nocache(FIX_PCIE_MCFG, dev_base);
> }
> }
>
> static int pci_mmcfg_read(unsigned int seg, unsigned int bus,
> unsigned int devfn, int reg, int len, u32 *value) {
> unsigned long flags;
>
> if (!value || (bus > 255) || (devfn > 255) || (reg > 4095))
> return -EINVAL;
>
> spin_lock_irqsave(&pci_config_...
2008 Dec 08
4
[PATCH][VTD] pci mmcfg patch for x86-64 - version 2
Fixes made in version 2:
1) Use PML4[257] for ioremap of PCI mmcfg. As full 16-bit segment support would require 44-bits. Since each slot only has 39-bits, we support 2048 PCI segments for now. This can be easily expanded if deemed necessary in the future.
2) Integrated PCI mmcfg access with existing PCI config interface for x86_64. Use MMCFG interface if offset is greater than 256.