PVE 커널 6.2.16-13 버전부터 패치가 기본 적용되어 더이상  아래의 방법으로 작업할 필요가 없습니다.
grub 설정 파일에서 intel_iommu=on 대신 intel_iommu=on,relax_rmrr 로 설정하고 update-grub를 해주면 됩니다.


HP 마이크로서버 GEN8에 Proxmox를 설치하고 PCIe 카드를 패스스루 하려고 하면 다음과 같은 오류가 발생한다.
vfio-pci 0000:01:00.1: Device is ineligible for IOMMU domain attach due to platform RMRR requirement. Contact your platform vendor.

ESXi에서는 아무 문제없이 패스스루가 작동하는데 Proxmox에서만 저런 오류가 표시되면서 작동되지 않길래 좀 찾아봤더니 특정 벤더 기기 + 리눅스 커널 3.17버전↑ 조합에서 RMRR로 인해 문제가 발생한다고 한다.
ESXi는 RMRR을 무시하기에 아무 문제 없이 사용가능한 것이었다.

HP 서버의 경우에 System Configuration utility를 사용해서 RMRR 제한을 풀 수 있다고 하길래 해보았는데 마이크로서버에서는 아무 문제없이 flag 설정은 할 수 있었지만 flag를 설정하던 말던 똑같이 RMRR 경고 메세지가 표시되며 패스스루가 작동되지 않았다.

결국 Github 링크를 참고해 RMRR 제한을 우회한 커스텀 커널을 빌드 후 설치함으로써 문제를 해결할 수 있었다.
링크에서 patch 파일을 제공하지만 이미 구버전의 patch이기에 그대로 쓰면 작동하지 않고 수정할 곳이 몇군데 되지 않기에 그냥 수동으로 커널 코드를 수정하는 식으로 커널을 빌드하였다.
add-relaxable-rmrr.patch의 내용처럼 코드를 추가하고 기존 코드를 수정하면 커널 수정은 끝이다. 추가로 수정된 커널과 정식 커널을 구분하기 위해서 Makefile에서 EXTRAVERSION=-${KREL}-pve-relaxablermrr 와 같이 구분하기 쉽도록 이름을 수정해주면 된다.

수정된 커널 적용 후에  아무 문제 없이 PCI 패스스루가 작동한다.