mbox series

[v5,0/7] jailhouse: Enhance secondary Jailhouse guest support /wrt PCI

Message ID cover.1520408357.git.jan.kiszka@siemens.com
Headers show
Series jailhouse: Enhance secondary Jailhouse guest support /wrt PCI | expand

Message

Jan Kiszka March 7, 2018, 7:39 a.m. UTC
Basic x86 support [1] for running Linux as secondary Jailhouse [2] guest
is currently pending in the tip tree. This builds on top and enhances
the PCI support for x86 and also ARM guests (ARM[64] does not require
platform patches and works already).

Key elements of this series are:
 - detection of Jailhouse via device tree hypervisor node
 - function-level PCI scan if Jailhouse is detected
 - MMCONFIG support for x86 guests

As most changes affect x86, I would suggest to route the series also via
tip after the necessary acks are collected.

Changes in v5:
 - fix build breakage of patch 6 on i386

Changes in v4:
 - slit up Kconfig changes
 - respect pcibios_last_bus during mmconfig setup
 - cosmetic changes requested by Andy

Changes in v3:
 - avoided duplicate scans of PCI functions under Jailhouse
 - reformated PCI_MMCONFIG condition and rephrase related commit log

Changes in v2:
 - adjusted commit log and include ordering in patch 2
 - rebased over Linus master

Jan

[1] https://lkml.org/lkml/2017/11/27/125
[2] http://jailhouse-project.org

CC: Benedikt Spranger <b.spranger@linutronix.de>
CC: Juergen Gross <jgross@suse.com>
CC: Mark Rutland <mark.rutland@arm.com>
CC: Otavio Pontes <otavio.pontes@intel.com>
CC: Rob Herring <robh+dt@kernel.org>

Jan Kiszka (6):
  jailhouse: Provide detection for non-x86 systems
  PCI: Scan all functions when running over Jailhouse
  x86: Align x86_64 PCI_MMCONFIG with 32-bit variant
  x86: Consolidate PCI_MMCONFIG configs
  x86/jailhouse: Allow to use PCI_MMCONFIG without ACPI
  MAINTAINERS: Add entry for Jailhouse

Otavio Pontes (1):
  x86/jailhouse: Enable PCI mmconfig access in inmates

 Documentation/devicetree/bindings/jailhouse.txt |  8 ++++++++
 MAINTAINERS                                     |  7 +++++++
 arch/x86/Kconfig                                | 12 +++++++-----
 arch/x86/include/asm/jailhouse_para.h           |  2 +-
 arch/x86/include/asm/pci_x86.h                  |  2 ++
 arch/x86/kernel/Makefile                        |  2 +-
 arch/x86/kernel/cpu/amd.c                       |  2 +-
 arch/x86/kernel/jailhouse.c                     |  8 ++++++++
 arch/x86/pci/legacy.c                           |  4 +++-
 arch/x86/pci/mmconfig-shared.c                  |  4 ++--
 drivers/pci/probe.c                             | 22 +++++++++++++++++++---
 include/linux/hypervisor.h                      | 17 +++++++++++++++--
 12 files changed, 74 insertions(+), 16 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/jailhouse.txt

Comments

Bjorn Helgaas March 19, 2018, 7:48 p.m. UTC | #1
On Wed, Mar 07, 2018 at 08:39:11AM +0100, Jan Kiszka wrote:
> Basic x86 support [1] for running Linux as secondary Jailhouse [2] guest
> is currently pending in the tip tree. This builds on top and enhances
> the PCI support for x86 and also ARM guests (ARM[64] does not require
> platform patches and works already).
> ...

Hi Jan,

What tree do you plan to merge this through?  I was sort of assuming
x86, since the main point of jailhouse is not PCI, but I do notice
most of the changes here are PCI-related, so thought I should make
sure you're not waiting on me.

> Jan Kiszka (6):
>   jailhouse: Provide detection for non-x86 systems
>   PCI: Scan all functions when running over Jailhouse
>   x86: Align x86_64 PCI_MMCONFIG with 32-bit variant
>   x86: Consolidate PCI_MMCONFIG configs
>   x86/jailhouse: Allow to use PCI_MMCONFIG without ACPI
>   MAINTAINERS: Add entry for Jailhouse
> 
> Otavio Pontes (1):
>   x86/jailhouse: Enable PCI mmconfig access in inmates
> 
>  Documentation/devicetree/bindings/jailhouse.txt |  8 ++++++++
>  MAINTAINERS                                     |  7 +++++++
>  arch/x86/Kconfig                                | 12 +++++++-----
>  arch/x86/include/asm/jailhouse_para.h           |  2 +-
>  arch/x86/include/asm/pci_x86.h                  |  2 ++
>  arch/x86/kernel/Makefile                        |  2 +-
>  arch/x86/kernel/cpu/amd.c                       |  2 +-
>  arch/x86/kernel/jailhouse.c                     |  8 ++++++++
>  arch/x86/pci/legacy.c                           |  4 +++-
>  arch/x86/pci/mmconfig-shared.c                  |  4 ++--
>  drivers/pci/probe.c                             | 22 +++++++++++++++++++---
>  include/linux/hypervisor.h                      | 17 +++++++++++++++--
>  12 files changed, 74 insertions(+), 16 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/jailhouse.txt
> 
> -- 
> 2.13.6
>
Thomas Gleixner March 19, 2018, 7:50 p.m. UTC | #2
Bjorn,

On Mon, 19 Mar 2018, Bjorn Helgaas wrote:

> On Wed, Mar 07, 2018 at 08:39:11AM +0100, Jan Kiszka wrote:
> > Basic x86 support [1] for running Linux as secondary Jailhouse [2] guest
> > is currently pending in the tip tree. This builds on top and enhances
> > the PCI support for x86 and also ARM guests (ARM[64] does not require
> > platform patches and works already).
> > ...
> 
> Hi Jan,
> 
> What tree do you plan to merge this through?  I was sort of assuming
> x86, since the main point of jailhouse is not PCI, but I do notice
> most of the changes here are PCI-related, so thought I should make
> sure you're not waiting on me.

I picked it up already. It's sitting in tip x86/platform

Thanks,

	tglx