"Calgary: Rio Grande 테이블을 EBDA에서 찾을 수 없습니다." <- 이것은 무엇을 의미합니까?

"Calgary: Rio Grande 테이블을 EBDA에서 찾을 수 없습니다." <- 이것은 무엇을 의미합니까?

시스템을 시작하면 다음 메시지가 나타납니다.

[Sat Oct 26 20:34:25 2019] Calgary: detecting Calgary via BIOS EBDA area
[Sat Oct 26 20:34:25 2019] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
  • "캘거리"란 무엇입니까?
  • "리오 그란데 테이블"이란 무엇입니까?
  • EBDA에 있어야 하는 이유는 무엇이며, 그렇다면 왜 내 커널에서는 이를 수행할 수 없습니까?
  • 이 실패의 결과는 무엇입니까?

저는 MSI Z170 PRO GAMING 마더보드의 i5-7600K CPU에서 Devuan 3(Beowulf)를 실행하고 있습니다.

답변1

것 같다캘거리가족이다아이오무s, 대부분의 IBM X 시리즈(예: X86_64) 블레이드 및 마더보드에 사용됨 - 2008년 기준(이봐). 이것리오 그란데 테이블운영 체제에 Calgary IOMMU를 찾을 수 있는 위치를 알려주는 확장 BIOS 데이터 영역의 정보 테이블이었습니다(@telcoM에게 감사드립니다).

OP인 당신은 그러한 기계를 사용하고 있지 않기 때문에 커널 컴파일 매개변수에서 해당 기계에 대한 검색을 비활성화하는 것을 고려할 수 있습니다. @jmullee가 알려준 것처럼 관련 Linux 커널 구성 매개변수는 다음과 같습니다.

CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y

y에서 로 변경할 수 있습니다 n.

답변2

재컴파일 시 커널 구성에서 이 옵션을 제거하면 연결할 USB 장치 검색과 부팅 시 메모리 맵이 비활성화됩니다.

따라서 부팅 시 다른 장치(USB 드라이브, 메모리 네트워크 스택이 있는 화면 등)에 연결된 일부 IBM 마더보드(예: 내 T500 노트북에 있는 마더보드)를 사용하는 경우 커널은 이를 매핑하지 않으므로 다음을 수행해야 합니다. 수동으로.

보안 문제는 USB에 불량 하드웨어를 설치하거나 USB를 통해 연결된 불량 네트워크를 설치한 경우에만 발생할 수 있습니다. 그렇지 않은 경우 커널 구성을 현재 기본값으로 두는 것은 해롭지 않습니다.

IBM Rio Grande 및 이에 상응하는 Windows 커널 구성 기능은 Windows, Linux 커널 기반 배포판에서 악의적인 행위자가 사용했을 가능성이 높습니다. 누가 알아?

답변3

사용:

  1. Intel Corporation C610/X99 시리즈 칩셋으로 구동되는 HP Z640 워크스테이션
  2. 더블인텔(R) 제온(R) CPU E5-2620 v3프로세서
  3. 커널을 사용하여 4.15.0-200-genericUbuntu 18.04.6 LTS를 실행합니다 . 커널 구성은 다음과 같습니다:
    $ grep CALGARY /boot/config-`uname -r`
    CONFIG_CALGARY_IOMMU=y
    CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
    

dmesg출력에서 다음을 확인하세요.

Dec 28 07:42:04 Haswell-Ubuntu kernel: [    0.000000] Calgary: detecting Calgary via BIOS EBDA area
Dec 28 07:42:04 Haswell-Ubuntu kernel: [    0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!

이 메시지는 다음에서 제공됩니다.PCI-calgary_64.c커널의 소스 파일. detect_calgary기능 구조의 관점 에서캘거리: BIOS EBDA 영역을 통해 캘거리 감지그리고캘거리: EBDA에서 Rio Grande 테이블을 찾을 수 없습니다 - 탈출하세요!메시지가 보고되었습니다앞으로이 코드는 공급업체 ID가 있는 Calgary IOMMU 장치의 PCI 버스를 검색합니다 PCI_VENDOR_ID_IBM.

따라서 우리는 이러한 메시지가 가짜이며 캘거리 IOMMU의 BIOS EBDA 영역을 보고하는 BIOS가 없는 PC에 나타나는 것으로 생각합니다. 소스 파일의 설명에 따르면 Calgary IOMMU는 IBM x3950 기반 시스템에만 사용되는 것으로 보입니다.

detect_calgary아마도 이 기능이 PCI 버스에서 Calgary IOMMU를 먼저 스캔한 다음 BIOS EBDA 영역을 확인하면 혼동이 덜할 것입니다.

그런데 내 PC에서 Intel IOMMU가 활성화되었을 때만 Calgary IOMMU 관련 메시지가 표시되었습니다. Intel IOMMU를 성공적으로 활성화한 후에도 dmesg는 여전히 Calgary IOMMU에 대한 메시지를 보고하지만 위 분석에 따르면 이러한 메시지는 가짜이므로 무시할 수 있습니다.

답변4

관련 커널 소스 구성 옵션은 다음과 같습니다.

CONFIG_CALGARY_IOMMU=y

CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y

관련 정보