QEMU超过4个串口

Modified on: Sat, 30 Jun 2018 07:28:30 +0800

我有5个不同的串行设备连接到debian伸展计算机上的物理串行端口,内部应该转发到QEMU机器。 qemu里面是QNX 6.5.0系统,所以我不确定我是否可以使用virtio-seral驱动程序或类似的解决方案。

4个串口的Linux标准限制解决了:

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

所以我现在唯一的问题是QEMU最大串口= 4。

这可以通过重新编译qemu来解决,还有其他一些解决方案吗?

作者:,MetNP

最佳答案

重新编译似乎适用于所有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

3)通过运行解决qnx-guest限制:devc-ser8250 5f8,4 4f8,3 5e8,4 4e8,3

备注:

  • sudo apt-get install libpixman-1-dev是唯一缺少的依赖
  • 初始make花了~10min
  • io地址和irqs随机选择并尝试了哪些工作(没有真正的原因知识,一些io / irq组合工作,一些没有)
作者:,MetNP

相关问答

添加新评论