Sponsored Content
Operating Systems Solaris Accessing Solaris PCI Config Space extended properties Post 302623157 by vijayrajen on Friday 13th of April 2012 08:20:23 AM
Old 04-13-2012
Accessing Solaris PCI Config Space extended properties

Hi all,

Am working on an enhancement to access Solaris PCI Config Space. I got basic pci config space properties like vendor-id using di_node system calls. But i am not able to access the extended configuration space. Can you please suggest an approach to access the pci extended configuration space. I understood that accesing the pci extended config space via ( CFC/CF8 ) registers are not recomended
 

10 More Discussions You Might Find Interesting

1. Solaris

Does x86 solaris 9 support PCI RealTek Lan Card

Hi, i have a RealTek Lan Card on my machine. Does Solaris 9 supports this lan card . Thank You, Shafi (3 Replies)
Discussion started by: sol8admin
3 Replies

2. IP Networking

Accessing Solaris 8 over WAN

We can access our solaris 8 from our LAN . However when we try to access the same over our WAN , it is not able to ping the server . /etc/hosts has entries for our DNS server. Another thing all WAN clients are Windows 2000 workstations . Here is the output netstat -nr Routing Table: IPv4... (7 Replies)
Discussion started by: Hitesh Shah
7 Replies

3. Solaris

extended process list on Solaris?

Hello All, I am quite new to Solaris. Can someone tell me what's the equivalent of HP-UX ps -efx on Solaris? It basically displays the whole command, instead of te first 80 characters of the command. I need that to differentiate among multiple Weblogic processes where all the specifics... (1 Reply)
Discussion started by: usfrog
1 Replies

4. Red Hat

can not reboot : PCI: Unable to handle 64-bit address space for

Hello, every one, I tried to install redhat linux enterprise server version 4 (ES4) on the my system with the following configuration Pentium core 2 duo 2.66 E 6750 Intel DG33FB motherboard 160Gb Segate hard disk (SATA) 1024 mb (1GB) DDR2 TRAN RAM Lg DVD/Cd WR BUT AM GETTING... (0 Replies)
Discussion started by: moinkhan31
0 Replies

5. Hardware

accessing zte zxv10 w300 modem for config

Hi all, I need to configure the zte zxv10 w300 modem, but can't access to it control panel. Seems to hide or mask it IP address. Someone knows howto access or setup a new configuration ? a hard reset maybe ? then looking in a default IP address ? how is this ? Thanks in advance VicK (0 Replies)
Discussion started by: VicK
0 Replies

6. Shell Programming and Scripting

PERL on windows accessing variables from a config file

Folks, I'm a perl moron, so please speak very slowly. : ) I'm modifying a build script that starts up an apache server. Now there is a .config file that hardcodes an old webserver path like this c:\oldWebserver. Now I don't want that hardcoded value, rather wish to use an... (3 Replies)
Discussion started by: MarkoRocko
3 Replies

7. Solaris

Solaris 10 won't boot up "Cannot load drivers for /pci@400.....

This is the error message that I am getting on a Solaris 10 sparc server scsi: no major number cannot load drivers for /pci@400..... Can't load the root filesystem Type 'go' to resume {0} ok Is there a way for me to correct this issue. It looks like I am missing a scsi driver to boot up... (5 Replies)
Discussion started by: trinityforce
5 Replies

8. Solaris

Accessing Solaris Server

Dear all, We have a Solaris Server at other location. Can we access the Server from remote ....Any software is needed for this ....pl help. Rgds Rj (7 Replies)
Discussion started by: jegaraman
7 Replies

9. Red Hat

Is it possible to extend a extended partition raw space in harddisk thru rhel 6

hi all, As going thru LVM concepts in rhel 6, got hit with a question about "how to use the raw partition of an harddisk which extended volume is taken a bit" please find the attached diagram... is it possible to use this raw space with previously created extended partition without data... (13 Replies)
Discussion started by: redhatlbug
13 Replies

10. UNIX for Beginners Questions & Answers

Accessing the user space of one OS from within another.

Recently, I setup a dual boot on this PC. I can currently jump from Ubuntu 12.04 and 16.04. What I would like to be able to do is access the home directory of my 16.04 OS from within the 12.04, is that possible? I can mount the partition of the hard drive where 16.04 lives from within 12.04 but it... (4 Replies)
Discussion started by: Circuits
4 Replies
pci(4)																	    pci(4)

NAME
pci, pcie - configuration files for PCI and PCI Express device drivers The Peripheral Component Interconnect (PCI) bus is a little endian bus. PCI Express (PCIe) and PCI-X are successors to PCI. All three types of devices share the same configuration parameters. What is specified here for PCI devices applies to PCI-X 1.0 devices as well. All three types of devices are self-identifying, which means that these devices provide configuration parameters to the system that allow the system to identify the device and its driver. The configuration parameters are represented in the form of name-value pairs that can be retrieved using the DDI property interfaces. See ddi_prop_lookup(9F) for details. The bus properties of PCI devices or logical bus properties of PCIe devices are derived from PCI configuration space, or supplied by the Fcode PROM, if it exists. Therefore, driver configuration files are not necessary for these devices. On some occasions, drivers for PCI and PCIe devices can use driver configuration files to provide driver private properties through the global property mechanism. See driver.conf(4) for further details. Driver configuration files can also be used to augment or override prop- erties for a specific instance of a driver. All bus drivers of PCI and PCIe devices recognize the following properties: reg An arbitrary length array where each element of the array consists of a 5-tuple of 32-bit values. Each array element describes a logi- cally contiguous mappable resource on the PCI bus or PCIe device tree. The first three values in the 5-tuple describe the PCI address of the mappable resource. The first tuple contains the following infor- mation: Bits 0 - 7 8-bit register number Bits 8 - 10 3-bit function number Bits 11 - 15 5-bit device number Bits 16 - 23 8-bit bus number Bits 24 - 25 2-bit address space type identifier Bits 31 - 28 Register number extended bits 8:11 for extended config space. Zero for conventional configuration space. The address space type identifier can be interpreted as follows: 0x0 configuration space 0x1 I/O space 0x2 32-bit memory space address 0x3 64-bit memory space address The bus number is a unique identifying number assigned to each PCI bus or PCIe logical bus within its domain. The device number is a unique identifying number assigned to each device on a PCI bus or PCIe logical bus. Note that a device number is unique only within the set of device numbers for a particular bus or logical bus. Each PCI or PCIe device can have one to eight logically independent functions, each with its own independent set of configuration reg- isters. Each function on a device is assigned a function number. For a device with only one function, the function number must be 0. The register number fields select a particular register within the set of configuration registers corresponding to the selected func- tion. When the address space type identifier indicates configuration space, non-zero register number extended bits select registers in extended configuration space. The second and third values in the reg property 5-tuple specify the 64-bit address of the mappable resource within the PCI or PCIe address domain. The second 32-bit tuple corresponds to the high order four bytes of the 64-bit address. The third 32-bit tuple corre- sponds to the low order bytes. The fourth and fifth 32-bit values in the 5-tuple reg property specify the size of the mappable resource. The size is a 64-bit value, where the fourth tuple corresponds to the high order bytes of the 64-bit size and the fifth corresponds to the low order. The driver can refer to the elements of this array by index, and construct kernel mappings to these addresses using ddi_regs_map_set- up(9F). The index into the array is passed as the rnumber argument of ddi_regs_map_setup(9F). At a high-level interrupt context, you can use the ddi_get* and ddi_put* family of functions to access I/O and memory space. However, access to configuration space is not allowed when running at a high-interrupt level. interrupts This property consists of a single-integer element array. Valid interrupt property values are 1, 2, 3, and 4. This value is derived directly from the contents of the device's configuration-interrupt-pin register. A driver should use an index value of 0 when registering its interrupt handler with the DDI interrupt interfaces. All PCI and PCIe devices support the reg property. The device number and function number as derived from the reg property are used to con- struct the address part of the device name under /devices. Only devices that generate interrupts support an interrupts property. Occasionally it might be necessary to override or augment the configuration information supplied by a PCI or PCIe device. This change can be achieved by writing a driver configuration file that describes a prototype device node specification containing the additional proper- ties required. For the system to merge the prototype node specification into an actual device node, certain conditions must be met. o First, the name property must be identical. The value of the name property needs to match the binding name of the device. The binding name is the name chosen by the system to bind a driver to a device and is either an alias associated with the driver or the hardware node name of the device. o Second, the parent property must identify the PCI bus or PCIe logical bus. o Third, the unit-address property must identify the card. The format of the unit-address property is: DD[,F] where DD is the device number and F is the function number. If the function number is 0, only DD is specified. Example 1: Sample Configuration File An example configuration file called ACME,scsi-hba.conf for a PCI driver called ACME,scsi-hba follows: # # Copyright (c) 1995, ACME SCSI Host Bus Adaptor # ident "@(#)ACME,scsi-hba.conf 1.1 96/02/04" name="ACME,scsi-hba" parent="/pci@1,0/pci@1f,4000" unit-address="3" scsi-initiator-id=6; hba-advanced-mode="on"; hba-dma-speed=10; In this example, a property scsi-initiator-id specifies the SCSI bus initiator id that the adapter should use, for just one particular instance of adapter installed in the machine. The name property identifies the driver and the parent property to identify the particular bus the card is plugged into. This example uses the parent's full path name to identify the bus. The unit-address property identifies the card itself, with device number of 3 and function number of 0. Two global driver properties are also created: hba-advanced-mode (which has the string value on) and hba-dma-speed (which has the value 10 M bit/s). These properties apply to all device nodes of the ACME,scsi-hba. Configuration files for PCIe devices are similar. Shown below is an example configuration file called ACME,pcie-widget.conf for a PCIe driver called ACME,pcie-widget. # # Copyright (c) 2005, ACME PCIe Widget Adapter # ident "@(#)ACME,pcie-widget.conf 1.1 05/11/14" name="ACME,pcie-widget" parent="/pci@780" unit-address="2,1" debug-mode=12; In this example, we provide a property debug-mode for a particular PCIe device. As before, the logical bus is identified by the pathname of the parent of the device. The device has a device number of 2, and a function number of 1. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Architecture |SPARC, | +-----------------------------+-----------------------------+ driver.conf(4), attributes(5), ddi_intr_add_handler(9F), ddi_prop_lookup(9F), ddi_regs_map_setup(9F) IEEE 1275 PCI Bus Binding http://playground.sun.com/1275/bindings/pci/pci-express.txt PCIe devices support an extended configuration space unavailable to PCI devices. While PCIe devices can be operated using a PCI device driver, operating them using a PCIe device driver can make use of the extended properties and features made available only in the extended configuration space. 13 May 2005 pci(4)
All times are GMT -4. The time now is 04:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy