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.

Reply via email to