Questions tagged [pci-bus]

Peripheral Component Interconnect, PCI bus is the most used bus in computers during the late 1990's and early 2000's

It was introduced by Intel in 1992, revised in 1993 to version 2.0, and later revised in 1995 to PCI 2.1 and is as an expansion to the ISA bus.

PCI follows the PnP specification and therefore does not require any type of jumpers or dip switches.

Read more

78 questions
2
votes
2 answers

Understanding PCI address mapping

I'm studying PC architecture and feel that I'm not getting the fundamentals of PCI addresses. We have three address spaces in PCI: memory, in-out ports and configuration. I know that CPU can distinguish between memory and ports using different…
fresheed
  • 103
  • 1
  • 7
2
votes
1 answer

How do cdev and its associated file operation work?

Actually working on a PCI driver. I have two PCIe cards with same device ID and vendor ID. So to make a difference, I assign these two cards with two different MINOR numbers. //request for device numbers error = alloc_chrdev_region(&devt, 0,…
Cong Li
  • 369
  • 2
  • 5
  • 13
2
votes
4 answers

pci device info access in linux from userspace

I want to access the pci device tree information from user space programatically. Like the root complex and the devices connected to it. How can I do it please let me know. Regards, Pradeep
Pradeep Jagadeesh
  • 85
  • 1
  • 2
  • 10
2
votes
1 answer

about access to pci configuration space, the macro PCI_CONF1_ADDRESS confuse me

I am learning the linux kernel code,about the part of pci, and I read the file /arch/x86/pci/Direct.c, some code confuse me: /* * Functions for accessing PCI base (first 256 bytes) and extended * (4096 bytes per PCI function) configuration space…
Jak.Ding
  • 71
  • 2
  • 7
2
votes
1 answer

Address assignment on a 64 bit linux host to a 64 bit pcie card

I am using a 64 bit PCI express card on a 64 bit linux host, problem is that it's bars are 64 bit but always get an address that lies in 32 bit address range i.e. higher 32 bit of BAR is always zero. How can I enforce it to use real 64 bit addresses…
flying-high
  • 219
  • 2
  • 7
1
vote
1 answer

How to access pci device from another device

I'm creating new PCI device in qemu that is part DMA and part NVMe controller. And I need to get the physical address of the NVMe device, from within my new device to use dma_memory_read(...) Is there a function to get new device address? Is there…
Dor marcus
  • 41
  • 5
1
vote
1 answer

How to determine if a string is a valid PCI address?

PCI addresses adhere to the BDF notation What would be a good way to determine if a string contains a valid PCI address? Any programming language would do.
omer
  • 1,242
  • 4
  • 18
  • 45
1
vote
1 answer

PCI configuration space registers - write values

I am developing a network driver (RTL8139) for a selfmade operating system and have problems in writing values to the PCI configuration space registers. I want to change the value of the interrupt line (offset 0x3c) to get another IRQ number and…
Fabian
  • 403
  • 5
  • 13
1
vote
1 answer

find and enable a PCIe device connected after Linux is booted

We are developing an embedded system connected to a Linux PC host over PCIe. Right now, in the implementation and debug phase, I often need to power off and power on the device or try different boards. This causes a problem with the Linux (Ubuntu…
guraaf
  • 163
  • 4
  • 12
1
vote
1 answer

Uboot function pci_hose_read_config_word() define?

Currently i am study uboot pci init process There has a function call pci_hose_read_config_word() in pci bus scan. Here is Source Code But i search all sourcecode in uboot, why i can not find the function implement? Thanks
JasonChiuCC
  • 111
  • 1
  • 6
1
vote
1 answer

Linux Kernel 4.7 (Arch ARM64) does not create "resource0" file in /sys/bus/pci/devices/*/ for PCI BAR0

I am working on a project where I need to access a FPGA memory through PCI BAR0 from userspace. What I used to do in older kernels is open the file named resource0 which is located in /sys/bus/pci/devices/my_device/ and then use the mmap() function…
1
vote
2 answers

Determine Physical Location of a PCI Adapter

We have a Windows application that can use multiple PCI adapters. These adapters all have external physical connections to other hardware or cables. Our software is configured to know what the physical connection on each card is connected to. …
Tom Hennen
  • 4,746
  • 7
  • 34
  • 45
1
vote
1 answer

How to configure PCI-to-PCI bridge device in VxWorks?

I'm working with board support package (BSP) in VxWorks that uses pciAutoConfig() to configure the PCI bus. When I add an Ethernet controller card to the bus the pci display routines do not show the card. Using a bus analyzer I discovered that the…
Steve Roe
  • 322
  • 3
  • 9
1
vote
2 answers

PCIe and flow control credits

Is it usually a software, i.e. device driver, responsibility to set up FC credits on PCIe bus? Where could I get familiar with relevant linux API?
Mark
  • 6,052
  • 8
  • 61
  • 129
1
vote
1 answer

PCIe Interrupt number

I am trying to write a Kernel Module that I can use to service PCIe MSI interrupts. Right now I am having trouble trying to configure my interrupts and am trying to follow along with "Linux Device Drivers Ed. 3" The book states: "The driver doesn't…
whh4000
  • 905
  • 1
  • 12
  • 30