小编Cir*_*lli的帖子

arm / aarch64 上的 QEMU -M virt 是否可以有多个串行 TTY,例如 PL011 ttyAMA0 和 ttyAMA1?

我正在玩 TTY,对于qemu-system-x86_64 -M pc,每当我通过该-serial选项时,它都会创建一个新的 TTY,我可以从 Linux 向它附加一个类似ttyS0和 的序列号。ttyS1

然而,对于 ARM,我无法通过第一个ttyAMA0. 如果我添加-serial,它不会显示info qtree,并且内核启动消息只能找到一条:

9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 54, base_baud = 0) is a PL011 rev1
Run Code Online (Sandbox Code Playgroud)

是否可能,如果不可能,是否有特定的设计原因?

我使用的是 QEMU v3.0.0。从来源来看,这似乎不可能:https://github.com/qemu/qemu/blob/v3.0.0/hw/arm/virt.c#L138,因为内存映射中只有一个 UART:

[VIRT_GIC_REDIST] =         { 0x080A0000, 0x00F60000 },
[VIRT_UART] =               { 0x09000000, 0x00001000 },
[VIRT_RTC] =                { 0x09010000, 0x00001000 },
Run Code Online (Sandbox Code Playgroud)

我这样做是因为我想看看从不同的串行连接是否会使 KGDB 工作。在 x86_64 上我可以连接到ttyS0,但我认为值得在 ARM 上尝试一下。另请参阅:/sf/ask/1540323151/#44197715

arm qemu linux-kernel

3
推荐指数
1
解决办法
4789
查看次数

标签 统计

arm ×1

linux-kernel ×1

qemu ×1