At the moment we have a real mix of accessors used for PL011 registers across early printk and runtime driver resulting in a) not spec compliant behavior and b) inconsistency. This series: - switches to use the 8/16-bit accessors in normal case, - adds support to use 32-bit only accessors.
The behavior is now the same as in Linux. The last patch adding support for SBSA UART in dt boot was added to make the merge process easier. Also, arm,sbsa-uart property is usually present next to arm,pl011 which would casue the pl011 driver to believe it is driving PL011 and not SBSA, therefore resulting in accessing the registers that shall not be touched (as oppose to just failing). Discussion: https://lore.kernel.org/xen-devel/b31a9f06-1ad8-b882-2fb0-84a84a1ac...@xen.org/T/# Michal Orzel (4): xen/arm: debug-pl011: Use correct accessors xen/arm: debug-pl011: Add support for 32-bit only MMIO xen/arm: pl011: Use correct accessors xen/arm: pl011: Add SBSA UART device-tree support docs/misc/arm/early-printk.txt | 3 ++ xen/arch/arm/Kconfig.debug | 7 ++++ xen/arch/arm/arm32/debug-pl011.inc | 12 +++--- xen/arch/arm/arm64/debug-pl011.inc | 12 +++--- xen/arch/arm/include/asm/pl011-uart.h | 19 +++++++++ xen/drivers/char/pl011.c | 57 ++++++++++++++++++++++++--- 6 files changed, 92 insertions(+), 18 deletions(-) -- 2.25.1