QEMU 4개 이상의 직렬 포트

QEMU 4개 이상의 직렬 포트

Debian Striking 시스템의 물리적 직렬 포트에 연결되어 있고 내부적으로 QEMU 시스템으로 전달되는 5개의 서로 다른 직렬 장치가 있습니다. 내부적으로 qemu는 QNX 6.5.0 시스템이므로 virtio-seral 드라이버나 유사한 솔루션을 사용할 수 있는지 잘 모르겠습니다.

4개의 직렬 포트에 대한 Linux 표준 제한은 다음 방법으로 해결됩니다.

/etc/default/grub: 8250.nr_uarts=8

이제 내가 가진 유일한 문제는 QEMU 최대 직렬 포트 = 4입니다.

qemu를 다시 컴파일하면 이 문제가 해결될 수 있나요? 다른 해결책이 있나요?

답변1

재컴파일은 8개 포트 모두에서 작동하는 것 같습니다.

1) Linux 호스트 제한은 다음과 같은 방법으로 해결됩니다./etc/default/grub: 8250.nr_uarts=8 ... update grub

2) qemu 제한은 다음과 같이 해결됩니다.

git clone git://git.qemu-project.org/qemu.git; cd qemu
include/sysemu/sysemu.h: changing MAX_SERIAL_PORTS 4->8
hw/char/serial-isa.c: adding 4 values to each of 2 arrays:
isa_serial_io [MAX_SERIAL_PORTS] = {0x3f8, 0x2f8, 0x3e8, 0x2e8, 0x5f8, 0x4f8, 0x5e8, 0x4e8}
isa_serial_irq[MAX_SERIAL_PORTS] = {4,3,4,3,4,3,4,3}
...
./configure --target-list=x86_64-softmmu
make; sudo make install

3) qnx-guest 제한은 다음을 실행하여 해결됩니다.devc-ser8250 5f8,4 4f8,3 5e8,4 4e8,3

노트:

  • sudo apt-get install libpixman-1-dev유일하게 누락된 종속성입니다
  • 초기 make시간은 약 10분 정도입니다.
  • 무작위로 io 주소와 irq를 선택하고 어느 것이 작동하는지 시도했습니다. (실제로 이유를 이해하지 못했습니다. 일부 io/irq 조합은 작동했지만 일부는 작동하지 않았습니다.)

관련 정보