2010-05-07 11 views
11

'बिल्ली/proc/bus/pci/devices' के पहले कुछ फ़ील्ड समझ में आ रहे हैं।/proc/bus/pci/devices की सामग्री की व्याख्या कैसे करें?

फील्ड 1 - BusDevFunc
फील्ड 2 - विक्रेता आईडी + उपकरण आईडी
फील्ड 3 - इंटरप्ट लाइन
फील्ड 4 - बार 0
और बार रजिस्टरों के बाकी (0 - 5) उसके बाद।

बार पंजीयक मुद्रित होने के बाद, अन्य फ़ील्ड क्या हैं? विशेष रूप से, पीसीआई कॉन्फ़िगरेशन स्पेस रजिस्ट्रार (ऑफ़सेट) मुद्रित किए जाते हैं?

+0

सर्वरफॉल्ट –

+0

पर यह पूछें मैंने http://serverfault.com/questions/139670/how-to-interpret-the-contents-of-proc-bus-pci-devices क्या इसे बंद किया जाना चाहिए? – vivekian2

+0

आपको अपना दोगुना प्रश्न पूरी तरह से serverfault.com से हटा देना चाहिए; इसके बाद सर्वरफॉल्ट पर स्थानांतरित होने के लिए यहां इस प्रश्न को ध्वजांकित करने के लिए स्वतंत्र महसूस करें। (एक प्रोत्साहन के रूप में, मैंने आपको वहां गिरा दिया। - जब आप सर्वरफॉल्ट पर अपना क्यू/ए हटाते हैं, तो आप प्रतिष्ठा प्राप्त करते हैं।) –

उत्तर

15

यह कर्नेल में इसी कोड है:

static int show_device(struct seq_file *m, void *v) 
{ 
    const struct pci_dev *dev = v; 
    const struct pci_driver *drv; 
    int i; 

    if (dev == NULL) 
     return 0; 

    drv = pci_dev_driver(dev); 
    seq_printf(m, "%02x%02x\t%04x%04x\t%x", 
      dev->bus->number, 
      dev->devfn, 
      dev->vendor, 
      dev->device, 
      dev->irq); 
    /* Here should be 7 and not PCI_NUM_RESOURCES as we need to preserve compatibility */ 
    for (i=0; i<7; i++) { 
     resource_size_t start, end; 
     pci_resource_to_user(dev, i, &dev->resource[i], &start, &end); 
     seq_printf(m, "\t%16llx", 
      (unsigned long long)(start | 
      (dev->resource[i].flags & PCI_REGION_FLAG_MASK))); 
    } 
    for (i=0; i<7; i++) { 
     resource_size_t start, end; 
     pci_resource_to_user(dev, i, &dev->resource[i], &start, &end); 
     seq_printf(m, "\t%16llx", 
      dev->resource[i].start < dev->resource[i].end ? 
      (unsigned long long)(end - start) + 1 : 0); 
    } 
    seq_putc(m, '\t'); 
    if (drv) 
     seq_printf(m, "%s", drv->name); 
    seq_putc(m, '\n'); 
    return 0; 
} 

आईआरक्यू के बाद, यह शुरुआत पहले 6 संसाधन क्षेत्रों के झंडे के साथ संयुक्त पते, उन संसाधन क्षेत्रों की लंबाई के बाद प्रतीत होता है , उसके बाद डिवाइस का दावा करने वाले ड्राइवर के नाम के बाद।

संबंधित मुद्दे