Skip to content

Conversation

@slp
Copy link
Collaborator

@slp slp commented Nov 28, 2025

This PR contains some small fixes that enable booting BSD systems on aarch64. Enables booting FreeBSD with an EDK2 firmware and smolBSD with a direct kernel boot.

Apply the same hypervisor-specific correction we do for other devices.

Signed-off-by: Sergio Lopez <slp@redhat.com>
slp added 2 commits November 28, 2025 18:29
On aarch64, some guests use the chosen/stdout-path entry to find out
the console they should use during boot. If we have a legacy serial
console configure, let's create such entry to enable those guests to
boot with a console.

Linux guests will still switch to a virtio-console if it becomes
available at some point during boot, so there isn't a risk we override
that decision.

Signed-off-by: Sergio Lopez <slp@redhat.com>
We were missing registering the IrqChip on legacy serial devices,
which meant they couldn't trigger IRQs. This issue went under the
radar because only a few guests rely on them (so far, only NetBSD).

Let's fix it here.

Signed-off-by: Sergio Lopez <slp@redhat.com>
@nohajc
Copy link
Contributor

nohajc commented Nov 29, 2025

It does boot fine, so that part's fixed. However, I still have the issue that ^C will terminate the whole VM. Also, ^D worked with your previous branch, now it's just literally echoed to the console and nothing happens. Maybe something to do with terminal raw mode? Arrows for navigation don't work either.

@slp
Copy link
Collaborator Author

slp commented Nov 29, 2025

It does boot fine, so that part's fixed. However, I still have the issue that ^C will terminate the whole VM. Also, ^D worked with your previous branch, now it's just literally echoed to the console and nothing happens. Maybe something to do with terminal raw mode? Arrows for navigation don't work either.

Yes, that's because we aren't setting the raw mode for the serial device. I was planning on fixing it in a different PR, but I guess we might fix it here and now as well.

@nohajc
Copy link
Contributor

nohajc commented Nov 29, 2025

Either way works for me. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants