2012-12-28 5 views
2

나는 내가 틀렸다면을 염두에두고 몇 가지 가정이 저를 수정하시기 바랍니다 있습니다 : 게스트 전송할 수 있기 때문에,KVM - 패스 스루 장치와 DMA

  1. 진짜 IOMMU없이 DMA 전송은 보안 위험이 될 것이다 호스트 메모리의 쓰레기.
  2. 실제 IOMMU가없는 게스트 메모리와 패스 스루 장치 간의 유효한 DMA 전송은 불가능합니다. 3 포인트 관련

    • :
    • 호스트-O를 몇 가지 질문을 지금 통과 장치

관련된 DMA 관련 일을 인식하지 방법이 있나요 통과 장치가있는 DMA 전송에 대한 정보를 얻으려면 어떻게해야합니까?

  • DMA 리매핑을 사용하지 않는 경우 KVM이 이에 대해 불만을 제기합니까?
  • 게스트에 대한 DMA 관련 항목을 통과 장치로 거부 할 수 있습니까?
  • 답변

    2

    일부 조사를하면서이 오래된 질문을 가로 질렀고 관심있는 사람에게 대답을 게시 할 것이라고 생각했습니다.

    정보 1. IOMMU가 없으면 전혀 패스 스루를 할 수 없습니다. I/O 장치는 커널 공간에 있습니다. 게스트 커널은 커널 공간에서 실행되고 있다고 생각하는 사용자 프로세스입니다. 질문에 관해서는

    : 에뮬레이트 된 장치와

    에뮬레이터 코드를 가로 채서 DMA 설정의 모든 그들이 유효 확인 할 수 있습니다. PCI 패스 스루를 사용하면 레지스터 읽기 및 쓰기가 직접 장치 또는 SR-IOV 용 장치의 VF로 진행되므로 KVM 또는 게스트 외부의 다른 코드가 유효성을 검사하거나 오류를 제공하거나 불만을 제기 할 기회가 없습니다.