Hi, this is the fourth revision of my UART cleanup patches.
These patches introduce a new directory 'inmates/lib/arm-common'. This can be used for common arm inmate code. Tested on a Jetson TK1 (ARM, 8250), HiKey LeMaker (ARM64, PL011) and QEMU-VM (PIO and VGA). (Tested with Claudios patches on a TX1 as well) I pushed everything to https://github.com/lfd/jailhouse/tree/uart-patches I rebased Claudios TX1 patches on top of this series: https://github.com/lfd/jailhouse/tree/tx1 since v3: - rebase to next - core: x86: remove 8-bit MMIO support from uart driver - don't respect register distance since v2: - rebase to next - s/JAILHOUSE_DBG_FLAG_MMIO_WIDTH/JAILHOUSE_DBG_FLAG_REG_DIST/ - respect register distance on arm since v1: - rebase to next - decouple hypervisor and inmate UART/debug output code - respect MMIO width on ARM and ARM64 - interpret the zero UART divider as 'don't initialise UART' in both: hypervisor and inmate code - use proper default values for debug output Ralf Ralf Ramsauer (19): core: x86: remove 8-bit MMIO support from uart driver core: Introduce struct jailhouse_debug_console core: dynamically choose the debug output driver core, inmates: Decouple debug output of hypervisor from inmates core: arm: Fold UART headers and source core: arm: Add pointer to debug_console in struct uart_chip core: add divider to jailhouse_debug_console arm: jetson tk1: use 7006300 as default debug console core: arm: consolidate uart drivers 8250 and tegra core: add clock register and gate nr to jailhouse_debug_console core: arm: use the uart_chip structure instead of functions core: always built-in all available debug output drivers inmates: reserve memory for inmate cmdlines as weak symbol inmates: arm: make uart drivers runtime selectable inmates: x86: make uart drivers runtime selectable ci: Update ci inmates: choose default UART driver according to mach settings inmates: x86: Allow PIO and MMIO debug output for inmates documentation: Add documentation for debug output Documentation/debug-output.md | 133 +++++++++++++++++++++ Documentation/vga-console.txt | 4 +- ci/jailhouse-config-amd-seattle.h | 1 - ci/jailhouse-config-banana-pi.h | 1 - ci/jailhouse-config-vexpress.h | 1 - configs/amd-seattle.c | 5 +- configs/bananapi.c | 8 +- configs/f2a88xm-hd3.c | 5 +- configs/foundation-v8.c | 5 +- configs/h87i.c | 5 +- configs/hikey.c | 5 +- configs/imb-a180.c | 5 +- configs/jetson-tk1.c | 10 +- configs/qemu-vm.c | 5 +- configs/vexpress.c | 5 +- driver/main.c | 24 +++- hypervisor/arch/arm-common/Kbuild | 4 +- hypervisor/arch/arm-common/dbg-write.c | 38 ++++-- hypervisor/arch/arm-common/include/asm/uart-8250.h | 48 -------- .../arch/arm-common/include/asm/uart-pl011.h | 73 ----------- hypervisor/arch/arm-common/include/asm/uart.h | 8 +- hypervisor/arch/arm-common/uart-8250.c | 50 +++++++- hypervisor/arch/arm-common/uart-pl011.c | 64 +++++++++- hypervisor/arch/arm/Kbuild | 1 - hypervisor/arch/arm/include/asm/uart-tegra.h | 40 ------- hypervisor/arch/arm/uart-tegra.c | 24 ---- hypervisor/arch/arm64/asm-defines.c | 2 +- hypervisor/arch/x86/dbg-write.c | 18 +-- hypervisor/arch/x86/include/asm/uart.h | 2 - hypervisor/arch/x86/include/asm/vga.h | 4 - hypervisor/arch/x86/uart.c | 43 ++----- hypervisor/arch/x86/vga.c | 5 +- hypervisor/include/jailhouse/cell-config.h | 27 ++++- hypervisor/include/jailhouse/header.h | 3 + hypervisor/include/jailhouse/printk.h | 2 +- hypervisor/paging.c | 15 ++- hypervisor/printk.c | 6 + inmates/demos/arm/gic-demo.c | 3 - inmates/demos/x86/32-bit-demo.c | 7 -- inmates/demos/x86/apic-demo.c | 20 ---- inmates/demos/x86/e1000-demo.c | 8 -- inmates/demos/x86/ioapic-demo.c | 8 -- inmates/demos/x86/ivshmem-demo.c | 2 - inmates/demos/x86/pci-demo.c | 8 -- inmates/demos/x86/smp-demo.c | 8 -- inmates/demos/x86/tiny-demo.c | 7 -- inmates/lib/arm-common/include/uart.h | 24 ++++ inmates/lib/arm/Makefile | 6 +- inmates/lib/arm/Makefile.lib | 1 + .../include/mach-sun7i/mach/{uart.h => debug.h} | 8 +- inmates/lib/arm/include/mach-tegra124/mach/debug.h | 21 ++++ inmates/lib/arm/include/mach-tegra124/mach/uart.h | 13 -- .../include/mach-vexpress/mach/{uart.h => debug.h} | 4 +- inmates/lib/arm/printk.c | 60 +++++++++- inmates/lib/arm/uart-8250.c | 51 ++++++-- inmates/lib/arm/uart-pl011.c | 66 ++++++++-- inmates/lib/arm/uart-tegra.c | 23 ---- inmates/lib/arm64/Makefile | 3 +- inmates/lib/arm64/Makefile.lib | 1 + .../mach/uart.h => mach-amd-seattle/mach/debug.h} | 4 +- .../uart.h => mach-foundation-v8/mach/debug.h} | 4 +- .../include/mach-hi6220/mach/{uart.h => debug.h} | 4 +- inmates/lib/cmdline.c | 3 +- inmates/lib/inmate_common.h | 3 +- inmates/lib/x86/printk.c | 73 +++++++++-- inmates/tools/arm/linux-loader.c | 3 - inmates/tools/arm64/linux-loader.c | 3 - tools/root-cell-config.c.tmpl | 4 +- 68 files changed, 693 insertions(+), 459 deletions(-) create mode 100644 Documentation/debug-output.md delete mode 100644 hypervisor/arch/arm-common/include/asm/uart-8250.h delete mode 100644 hypervisor/arch/arm-common/include/asm/uart-pl011.h delete mode 100644 hypervisor/arch/arm/include/asm/uart-tegra.h delete mode 100644 hypervisor/arch/arm/uart-tegra.c create mode 100644 inmates/lib/arm-common/include/uart.h rename inmates/lib/arm/include/mach-sun7i/mach/{uart.h => debug.h} (71%) create mode 100644 inmates/lib/arm/include/mach-tegra124/mach/debug.h delete mode 100644 inmates/lib/arm/include/mach-tegra124/mach/uart.h rename inmates/lib/arm/include/mach-vexpress/mach/{uart.h => debug.h} (84%) delete mode 100644 inmates/lib/arm/uart-tegra.c rename inmates/lib/arm64/include/{mach-foundation-v8/mach/uart.h => mach-amd-seattle/mach/debug.h} (84%) rename inmates/lib/arm64/include/{mach-amd-seattle/mach/uart.h => mach-foundation-v8/mach/debug.h} (84%) rename inmates/lib/arm64/include/mach-hi6220/mach/{uart.h => debug.h} (81%) -- 2.11.0.rc2 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
