Qemu - Перенаправить ввод с хоста на гостевой UART для голого металлического ядра. - PullRequest
0 голосов
/ 17 апреля 2020

Я пишу ядро ​​с нуля в Rust для 64-битных устройств ARM. В целях тестирования я использую Qemu virt machine.

В настоящее время я могу записывать символы из гостевой консоли на хост через UART. Теперь я хотел бы сделать наоборот, то есть отправлять символы с хост-консоли на гостевой порт UART. Есть ли способ сделать это? Должен ли я добавить некоторые аргументы в Qemu?

Я запускаю Qemu virt machine со следующими аргументами:

qemu-system-aarch64 -M virt -cpu cortex-a57 -nographic -serial pty -S -kernel target/aarch64-unknown-none/debug/cortex-a57

Это дает мне новый pty, который я могу присоединить с помощью screen /dev/pts/mypty. Затем я запускаю программу, нажав c в консоли Qemu. Я хотел бы использовать тот же pty (или новый?) Для записи данных гостю.

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Просто прочитайте тот же TTY, что и Qemu перенаправляет весь ввод в одно и то же место.

0 голосов
/ 21 апреля 2020

QEMU всегда перенаправляет и вход, и выход для гостевого UART в одно и то же место; это верно для всех «-serial stdio», «-nographi c» (что подразумевает «-serial mon: stdio») и «-serial pty». Так что вам не нужно делать ничего лишнего. Если ввод UART не работает, проблема, вероятно, связана с ошибкой в ​​вашем гостевом коде.

...