Hi,
probing of platform UARTs is a problem for x86 Jailhouse non-root
cells: Linux doesn't know which UARTs belong to the cell and will probe
for all platform UARTs. This crashes the guest if access isn't
permitted. Current workarounds (tuning via 8250.nr_uarts) are hacky and
limited.
Jailhouse now comes with flags inside setup_data that indicate
availability of UARTs, so simply use it.
Ralf
since v5:
- Link: https://lore.kernel.org/r/[email protected]
alt: https://www.mail-archive.com/[email protected]/msg07568.html
- Address Borislav's comments:
- Improve commit messages
- 1/2: Use min_t instead of min
- 2/2: Add __init attribute to jailhouse_serial_workaround
- 2/2: Remove __initdata from setup_data, as it it is used by
jailhouse_serial_fixup(), which can not become __init. It is
passed over to serial8250_set_isa_configurator and can be used
after bootup.
since v4:
- Link: https://lore.kernel.org/r/[email protected]
alt: https://www.mail-archive.com/[email protected]/msg07483.html
- rebase and test on latest master and resolve conflicts
- Add linux-kernel ML
since v3:
- Link: https://lore.kernel.org/r/[email protected]
alt: https://www.mail-archive.com/[email protected]/msg07365.html
- Address Thomas' comments (and it really looks nicer)
- Address Jan's comment on patch 1 and add his Reviewed-by tag
since v2:
- Link: https://lore.kernel.org/r/[email protected]
alt: https://www.mail-archive.com/[email protected]/msg07334.html
- avoid imbalances of early_memremap and early_memunmap
since v1:
- Link: https://lore.kernel.org/r/[email protected]
- alt: https://www.mail-archive.com/[email protected]/msg07283.html
- setup data version check wasn't really prepared for extensions of
the structure. Add a patch that improves the checks.
Ralf Ramsauer (2):
x86/jailhouse: improve setup data version comparison
x86/jailhouse: Only enable platform UARTs if available
arch/x86/include/uapi/asm/bootparam.h | 25 +++--
arch/x86/kernel/jailhouse.c | 136 ++++++++++++++++++++------
2 files changed, 120 insertions(+), 41 deletions(-)
--
2.23.0