Qemu

QEMU 4個以上的串口

  • January 29, 2019

我有 5 個不同的串列設備連接到 debian 拉伸電腦上的物理串列埠,內部應該轉發到 QEMU 機器。qemu 內部是 QNX 6.5.0 系統,所以我不確定是否可以使用 virtio-seral 驅動程序或類似的解決方案。

4 個串口的 Linux 標準限制通過以下方式解決:

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

所以我現在唯一的問題是 QEMU 最大串列埠 = 4。

這可以通過重新編譯qemu來解決嗎,還有其他解決方案嗎?

重新編譯似乎適用於所有 8 個埠。

  1. linux-host 限制通過以下方式解決:/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
  1. qnx-guest 限制通過執行解決:devc-ser8250 5f8,4 4f8,3 5e8,4 4e8,3

筆記:

  • sudo apt-get install libpixman-1-dev是唯一缺少的依賴項
  • 初始make時間約為 10 分鐘
  • io 地址和 irqs 隨機選擇並嘗試了哪些工作(對原因沒有真正的了解,一些 io/irq 組合有效,有些無效)

引用自:https://unix.stackexchange.com/questions/415461