PCI 특징은 무엇입니까?


10

Linux 커널에 대해 읽을 때 PCI 쿼크에 대해 많이 들었지만 PCI 쿼크를 설명하거나 정의하는 웹 사이트는 없습니다. PCI 단점은 무엇입니까?


1
단점은 직관적이지 않은 비 일관성입니다. 기술적 인 용어가 아닙니다. 우리는 아마도 그들이 말하는 것을 자세히 설명하기 위해 당신이 말하는 텍스트를 볼 필요가있을 것입니다. 드라이버가 일상적인 문제를 해결하는 데 사용할 수있는 일상적인 파일 을 제공 하지만 몇 년 동안 문제가 발생했습니다. 그러나 궁극적으로 일반 영어 용어와 같은 의미로 사용되는 비공식 용어입니다.
Bratchley

1
정말로 궁금하다면, 해당 파일은 각 루틴의 기능을 잘 설명하고 있습니다.
Bratchley

답변:


14

"Quirks"는 예상 작동과 호환되지 않는 것으로 간주되는 장치의 속성입니다.

예를 들면 다음과 같습니다 quirks.c.

/* The Mellanox Tavor device gives false positive parity errors
 * Mark this device with a broken_parity_status, to allow
 * PCI scanning code to "skip" this now blacklisted device.
 */
static void quirk_mellanox_tavor(struct pci_dev *dev)
{
        dev->broken_parity_status = 1;  /* This device gives false positives */
}

장치가 잘못된 오류를보고 할 때 이것은 "질투"입니다. 이 장치가 작동 할 때, 쿼크는 커널의 다른 부분을 다르게 행동하게하는 특정 속성을 설정합니다 (아마도 가짜 오류를 무시하거나 알려진 문제를 해결함으로써).

리눅스 커널의 모든 단점이 이렇지는 않다. 영향을받는 기능을 비활성화하는 대신 일부 기능은 다음과 같이 해결하려고합니다.

/*
 * Some CS5536 BIOSes (for example, the Soekris NET5501 board w/ comBIOS
 * ver. 1.33  20070103) don't set the correct ISA PCI region header info.
 * BAR0 should be 8 bytes; instead, it may be set to something like 8k
 * (which conflicts w/ BAR1's memory range).
 */
static void quirk_cs5536_vsa(struct pci_dev *dev)
{
        if (pci_resource_len(dev, 0) != 8) {
                struct resource *res = &dev->resource[0];
                res->end = res->start + 8 - 1;
                dev_info(&dev->dev, "CS5536 ISA bridge bug detected "
                                "(incorrect header); workaround applied.\n");
        }
}

@Chris Down-장치에 PCI 문제가 있음을 어떻게 알 수 있습니까? PCI quirk workarounds커널에서 비활성화 하면 어떻게됩니까?
Martin Vegter

그것은 당신이 가진 장치에 전적으로 달려 있습니다. 장치에 따라 커널 로그에 쿼크 해결 방법이 적용되었다는 메시지가 있거나 (두 번째 예와 같이) 없을 수도 있습니다. 확실한 확실한 방법은 quirks.c공급 업체 및 / 또는 장치 를 찾는 것 입니다. 단점을 비활성화하면 해결 방법이 얼마나 심각한 지에 따라 다양한 효과가있을 수 있습니다. 눈에 띄는 부작용이 없거나 장치가 제대로 작동하지 않을 수 있습니다.
ruscur

예를 들어, 비디오 카드 드라이버가 비디오 카드 BIOS를 읽을 수없고 결국이를 올바르게 구성 할 수없는 경우와 같은 "어떻게 일어날"예가 있습니다. 데 CONFIG_PCI_QUIRKS문제 커널 수정에 다시.
PF4Public

무슨 일이 일어날지는 기발한 것입니다. 기계가 멈추거나 충돌 할 때 아무 일도 일어나지 않을 수 있습니다. 기술적으로 일부 구성 요소에서 연기가 나올 수 있습니다. 각 항목은 다른 브랜드 또는 모델 문제와 관련이있는 것으로 간주되지 않는 고유 한 문제입니다.
old_timer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.