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の組み合わせは機能しましたが、一部は機能しませんでした。)

おすすめ記事