Hi, this is the next 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). A git tree is available at https://github.com/lfd/jailhouse/tree/uart-patches 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 (22): core: arm: uart: rename 8250-dw to 8250 core: Move uart-8250 to arm-common core: x86: move UART and VGA debug output parts to separate files 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 point 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: 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 documentation: Add documentation for Debug Output core: arm: uart: Respect MMIO access width inmates: arm: Add routines for 8 bit MMIO access inmates: arm: respect MMIO access width Documentation/debug-output.md | 136 +++++++++++++++ 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 | 6 +- configs/bananapi.c | 9 +- configs/f2a88xm-hd3.c | 6 +- configs/foundation-v8.c | 6 +- configs/h87i.c | 6 +- configs/hikey.c | 6 +- configs/imb-a180.c | 6 +- configs/jetson-tk1.c | 11 +- configs/qemu-vm.c | 6 +- configs/vexpress.c | 6 +- driver/main.c | 24 ++- hypervisor/arch/arm-common/Kbuild | 3 +- hypervisor/arch/arm-common/dbg-write.c | 53 +++++- .../arch/arm-common/include/asm/uart-pl011.h | 73 -------- hypervisor/arch/arm-common/include/asm/uart.h | 7 +- hypervisor/arch/arm-common/uart-8250.c | 64 +++++++ hypervisor/arch/arm-common/uart-pl011.c | 63 ++++++- hypervisor/arch/arm/Kbuild | 2 - hypervisor/arch/arm/include/asm/uart-tegra.h | 40 ----- hypervisor/arch/arm/uart-8250-dw.c | 24 --- hypervisor/arch/arm/uart-tegra.c | 24 --- hypervisor/arch/arm64/asm-defines.c | 2 +- hypervisor/arch/x86/Kbuild | 1 + hypervisor/arch/x86/dbg-write.c | 194 ++------------------- hypervisor/arch/x86/include/asm/uart.h | 14 ++ .../arch/x86/include/asm/vga.h | 7 +- hypervisor/arch/x86/uart.c | 111 ++++++++++++ hypervisor/arch/x86/vga.c | 86 +++++++++ hypervisor/include/jailhouse/cell-config.h | 31 +++- hypervisor/include/jailhouse/header.h | 3 + hypervisor/include/jailhouse/printk.h | 2 +- hypervisor/paging.c | 15 +- hypervisor/printk.c | 6 + inmates/demos/arm/uart-demo.c | 3 + inmates/demos/x86/32-bit-demo.c | 7 - inmates/demos/x86/apic-demo.c | 17 -- 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 | 27 +++ inmates/lib/arm/Makefile | 6 +- inmates/lib/arm/Makefile.lib | 1 + inmates/lib/arm/include/inmate.h | 10 ++ .../include/mach-sun7i/mach/{uart.h => debug.h} | 8 +- inmates/lib/arm/include/mach-tegra124/mach/debug.h | 21 +++ .../include/mach-vexpress/mach/{uart.h => debug.h} | 4 +- inmates/lib/arm/printk.c | 82 ++++++++- inmates/lib/arm/uart-8250-dw.c | 25 --- .../uart-8250-dw.h => inmates/lib/arm/uart-8250.c | 31 ++-- inmates/lib/arm/uart-pl011.c | 67 ++++++- inmates/lib/arm/uart-tegra.c | 23 --- inmates/lib/arm64/Makefile | 2 +- inmates/lib/arm64/Makefile.lib | 1 + inmates/lib/arm64/include/inmate.h | 10 ++ .../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/inmate_common.h | 1 - inmates/lib/x86/printk.c | 31 +++- tools/root-cell-config.c.tmpl | 4 +- 68 files changed, 938 insertions(+), 556 deletions(-) create mode 100644 Documentation/debug-output.md delete mode 100644 hypervisor/arch/arm-common/include/asm/uart-pl011.h create mode 100644 hypervisor/arch/arm-common/uart-8250.c delete mode 100644 hypervisor/arch/arm/include/asm/uart-tegra.h delete mode 100644 hypervisor/arch/arm/uart-8250-dw.c delete mode 100644 hypervisor/arch/arm/uart-tegra.c create mode 100644 hypervisor/arch/x86/include/asm/uart.h rename inmates/lib/arm/include/mach-tegra124/mach/uart.h => hypervisor/arch/x86/include/asm/vga.h (58%) create mode 100644 hypervisor/arch/x86/uart.c create mode 100644 hypervisor/arch/x86/vga.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 rename inmates/lib/arm/include/mach-vexpress/mach/{uart.h => debug.h} (84%) delete mode 100644 inmates/lib/arm/uart-8250-dw.c rename hypervisor/arch/arm/include/asm/uart-8250-dw.h => inmates/lib/arm/uart-8250.c (51%) 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.10.2 -- 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.
