QNX OS(BSP 7.0 x86_64)를 구축 중이며 작동하는 이미지가 있습니다. qemu 에뮬레이트 환경에서 실행하고 있습니다.
Qemu 가상 머신은 Windows 호스트에서 실행되며 다음과 같이 호출됩니다.
./qemu-system-x86_64.exe -m 1G -smp 4
-hda QNX.img
-realtime mlock=off -vga std -sdl
-nic tap,id=mynet0,ifname=tap0,model=e1000,script=no,downscript=no
시작한 후 다음을 실행합니다.
export GRAPHICS_ROOT=/usr/lib/graphics/intel-drm
export LD_LIBRARY_PATH=$(getconf _CS_LIBPATH):$GRAPHICS_ROOT
유효한 환경 변수를 사용하여 intel-drm을 시작합니다. 로그가 생성되지 않아 정상적으로 작동하는 것 같습니다.
pidin | grep drm-intel
430102 1 _64/sbin/drm-intel 10r SIGWAITINFO
430102 2 _64/sbin/drm-intel 10r CONDVAR (0x8452bb0)
430102 3 _64/sbin/drm-intel 10r CONDVAR (0x824cefc)
430102 4 _64/sbin/drm-intel 10r RECEIVE 1
430102 5 _64/sbin/drm-intel 10r RECEIVE 1
430102 6 _64/sbin/drm-intel 10r RECEIVE 1
462873 1 _64/sbin/drm-intel 10r SIGWAITINFO
462873 2 _64/sbin/drm-intel 10r CONDVAR (0x8452bb0)
462873 3 _64/sbin/drm-intel 10r CONDVAR (0x824cefc)
462873 4 _64/sbin/drm-intel 10r RECEIVE 1
462873 5 _64/sbin/drm-intel 10r RECEIVE 1
462873 6 _64/sbin/drm-intel 10r RECEIVE 1
drm-probe-displays를 시작하려고 할 때 문제가 발생합니다. 실행 직후 충돌이 발생하고 intel-drm이 충돌하게 됩니다.
Process 577558 (drm-intel) terminated SIGSEGV code=1 fltno=11 ip=000000000809057f(/x86_64/sbin/drm-intel@main+0x000000000003181f) mapaddr=000000000004857f. ref=0000000000000028
Please run drm server first!
# Jun 16 10:07:54.049 dumper.4 slog 0 run fault pid 577558 tid 4 signal 11 code 1 ip 0x809057f x86_64/sbin/drm-intel
Jun 16 10:07:54.050 dumper.4 slog 0 pid 577558 core file created at /tmp/drm-intel.core
현재로서는 충돌에 대한 추가 정보가 없습니다. pci-tool을 확인하면 장치 공급업체 ID/장치 ID가 Intel에만 해당되지 않는 것을 알 수 있습니다.
기기에서 발생한 버그일 수 있나요?
그렇다면 qemu에서 Intel 그래픽을 에뮬레이트하는 방법을 아는 사람이 있습니까?
B000:D02:F00 @ idx 4 vid/did: 1234/1111 Technical Corp, <장치 ID - 알 수 없음> 클래스/하위 클래스/등록: 03/00/00 PC 호환 VGA 디스플레이 컨트롤러
근본 원인이 무엇인지에 대한 단서가 있습니까?