2019-10-10 10:24:21

by Ralf Ramsauer

[permalink] [raw]
Subject: [PATCH v6 0/2] x86/jailhouse: improve probing of platform UARTs

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