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.

Reply via email to