devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/16] Add ACPI support for Xen Dom0 on ARM64
@ 2016-01-15  6:55 Shannon Zhao
  2016-01-15  6:55 ` [PATCH v2 01/16] Xen: ACPI: Hide UART used by Xen Shannon Zhao
                   ` (12 more replies)
  0 siblings, 13 replies; 72+ messages in thread
From: Shannon Zhao @ 2016-01-15  6:55 UTC (permalink / raw)
  To: linux-arm-kernel, ard.biesheuvel, stefano.stabellini,
	david.vrabel
  Cc: mark.rutland, devicetree, linux-efi, catalin.marinas, will.deacon,
	linux-kernel, xen-devel, julien.grall, shannon.zhao,
	peter.huangpeng

From: Shannon Zhao <shannon.zhao@linaro.org>

This patch set adds ACPI support for Xen Dom0 on ARM64. The relevant Xen
ACPI on ARM64 design document could be found from [1].

This patch set adds a new FDT node "uefi" under /hypervisor to pass UEFI
information. Introduce a bus notifier of AMBA and Platform bus to map
the new added device's MMIO space. Make Xen domain use
xlated_setup_gnttab_pages to setup grant table and a new hypercall to
get event-channel irq.

Regarding the initialization flow of Linux kernel, it needs to move
xen_early_init() before efi_init(). Then xen_early_init() will check
whether it runs on Xen through the /hypervisor node and efi_init() will
call a new function fdt_find_xen_uefi_params(), to parse those
xen,uefi-* parameters just like the existing efi_get_fdt_params().

And in arm64_enable_runtime_services() it will check whether it runs on
Xen and call another new function xen_efi_runtime_setup() to setup
runtime service instead of efi_native_runtime_setup(). The
xen_efi_runtime_setup() will assign the runtime function pointers with
the functions of driver/xen/efi.c.

And since we pass a /hypervisor node and a /chosen node to Dom0, it
needs to check whether the DTS only contains a /hypervisor node and a
/chosen node in acpi_boot_table_init().

Patches are tested on FVP base model. The corresponding Xen patches can
be fetched from [2].

Thanks,
Shannon

[1] http://lists.xen.org/archives/html/xen-devel/2015-11/msg00488.html
[2] http://git.linaro.org/people/shannon.zhao/xen.git  ACPI_XEN_ARM_V3


Changes since v1:
* Rebase on linux mainline and wallclock patch from Stefano
* Refactor AMBA and platform device MMIO map to one file
* Use EFI_PARAVIRT to check if it supports XEN EFI
* Refactor Xen EFI codes
* Address other comments

Shannon Zhao (16):
  Xen: ACPI: Hide UART used by Xen
  xen/grant-table: Move xlated_setup_gnttab_pages to common place
  Xen: xlate: Use page_to_xen_pfn instead of page_to_pfn
  arm/xen: Use xen_xlate_map_ballooned_pages to setup grant table
  xen: memory : Add new XENMAPSPACE type XENMAPSPACE_dev_mmio
  Xen: ARM: Add support for mapping platform device mmio
  Xen: ARM: Add support for mapping AMBA device mmio
  xen/hvm/params: Add a new delivery type for event-channel in
    HVM_PARAM_CALLBACK_IRQ
  arm/xen: Get event-channel irq through HVM_PARAM when booting with
    ACPI
  ARM: XEN: Move xen_early_init() before efi_init()
  ARM64: ACPI: Check if it runs on Xen to enable or disable ACPI
  ARM: Xen: Document UEFI support on Xen ARM virtual platforms
  ARM: XEN: Set EFI_PARAVIRT if Xen supports EFI
  Xen: EFI: Parse DT parameters for Xen specific UEFI
  XEN: EFI: Move x86 specific codes to architecture directory
  ARM64: XEN: Initialize Xen specific UEFI runtime services

 Documentation/devicetree/bindings/arm/xen.txt |  42 ++++++
 arch/arm/xen/enlighten.c                      | 121 +++++++++++++----
 arch/arm64/kernel/acpi.c                      |  12 +-
 arch/arm64/kernel/efi.c                       |   5 +
 arch/arm64/kernel/setup.c                     |   2 +-
 arch/arm64/xen/Makefile                       |   1 +
 arch/arm64/xen/efi.c                          |  36 +++++
 arch/x86/xen/efi.c                            | 112 ++++++++++++++++
 arch/x86/xen/grant-table.c                    |  57 +-------
 drivers/acpi/bus.c                            |  30 +++++
 drivers/firmware/efi/efi.c                    |  45 ++++++-
 drivers/xen/Kconfig                           |   2 +-
 drivers/xen/Makefile                          |   1 +
 drivers/xen/arm-device.c                      | 183 ++++++++++++++++++++++++++
 drivers/xen/efi.c                             | 174 +++++-------------------
 drivers/xen/xlate_mmu.c                       |  61 +++++++++
 include/xen/interface/hvm/params.h            |   5 +
 include/xen/interface/memory.h                |   1 +
 include/xen/xen-ops.h                         |  33 +++--
 19 files changed, 689 insertions(+), 234 deletions(-)
 create mode 100644 arch/arm64/xen/efi.c
 create mode 100644 drivers/xen/arm-device.c

-- 
2.0.4

^ permalink raw reply	[flat|nested] 72+ messages in thread

end of thread, other threads:[~2016-01-22 10:57 UTC | newest]

Thread overview: 72+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-15  6:55 [PATCH v2 00/16] Add ACPI support for Xen Dom0 on ARM64 Shannon Zhao
2016-01-15  6:55 ` [PATCH v2 01/16] Xen: ACPI: Hide UART used by Xen Shannon Zhao
     [not found]   ` <1452840929-19612-2-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-15 15:39     ` Stefano Stabellini
2016-01-18 10:32     ` Mark Rutland
2016-01-18 11:38       ` Stefano Stabellini
2016-01-15  6:55 ` [PATCH v2 02/16] xen/grant-table: Move xlated_setup_gnttab_pages to common place Shannon Zhao
2016-01-15 15:53   ` [Xen-devel] " Stefano Stabellini
2016-01-15  6:55 ` [PATCH v2 03/16] Xen: xlate: Use page_to_xen_pfn instead of page_to_pfn Shannon Zhao
     [not found]   ` <1452840929-19612-4-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-15 17:08     ` [Xen-devel] " Stefano Stabellini
     [not found]       ` <alpine.DEB.2.02.1601151558010.16178-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-18  5:08         ` Shannon Zhao
     [not found]           ` <569C7363.80106-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-19 14:59             ` Stefano Stabellini
     [not found]               ` <alpine.DEB.2.02.1601191456370.9400-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-19 15:10                 ` Shannon Zhao
     [not found] ` <1452840929-19612-1-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-15  6:55   ` [PATCH v2 04/16] arm/xen: Use xen_xlate_map_ballooned_pages to setup grant table Shannon Zhao
     [not found]     ` <1452840929-19612-5-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-15 17:21       ` Stefano Stabellini
2016-01-15  6:55   ` [PATCH v2 13/16] ARM: XEN: Set EFI_PARAVIRT if Xen supports EFI Shannon Zhao
     [not found]     ` <1452840929-19612-14-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-18 10:57       ` Mark Rutland
2016-01-15  6:55   ` [PATCH v2 15/16] XEN: EFI: Move x86 specific codes to architecture directory Shannon Zhao
2016-01-15  6:55   ` [PATCH v2 16/16] ARM64: XEN: Initialize Xen specific UEFI runtime services Shannon Zhao
     [not found]     ` <1452840929-19612-17-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-18 11:08       ` Mark Rutland
2016-01-18 17:45         ` Stefano Stabellini
     [not found]           ` <alpine.DEB.2.02.1601181736090.9400-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-18 18:27             ` Mark Rutland
2016-01-19 12:03               ` Stefano Stabellini
     [not found]                 ` <alpine.DEB.2.02.1601191143590.9400-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-19 13:03                   ` Mark Rutland
2016-01-19 13:31                     ` Shannon Zhao
     [not found]                       ` <569E3ACE.5080506-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-01-19 14:20                         ` Stefano Stabellini
2016-01-18 17:03       ` [Xen-devel] " Stefano Stabellini
     [not found]         ` <alpine.DEB.2.02.1601181634070.9400-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-19 13:12           ` Shannon Zhao
     [not found]             ` <569E3654.90100-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-01-19 14:24               ` Stefano Stabellini
2016-01-22  3:58         ` Shannon Zhao
     [not found]           ` <56A1A8D5.1020500-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-22 10:57             ` Stefano Stabellini
2016-01-15  6:55 ` [PATCH v2 05/16] xen: memory : Add new XENMAPSPACE type XENMAPSPACE_dev_mmio Shannon Zhao
2016-01-15  6:55 ` [PATCH v2 06/16] Xen: ARM: Add support for mapping platform device mmio Shannon Zhao
     [not found]   ` <1452840929-19612-7-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-15 17:39     ` [Xen-devel] " Stefano Stabellini
2016-01-15  6:55 ` [PATCH v2 07/16] Xen: ARM: Add support for mapping AMBA " Shannon Zhao
     [not found]   ` <1452840929-19612-8-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-18 11:58     ` [Xen-devel] " Stefano Stabellini
2016-01-15  6:55 ` [PATCH v2 08/16] xen/hvm/params: Add a new delivery type for event-channel in HVM_PARAM_CALLBACK_IRQ Shannon Zhao
     [not found]   ` <1452840929-19612-9-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-18 12:38     ` [Xen-devel] " Stefano Stabellini
     [not found]       ` <alpine.DEB.2.02.1601181205110.16178-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-18 12:42         ` Andrew Cooper
2016-01-18 12:46           ` Stefano Stabellini
     [not found]             ` <alpine.DEB.2.02.1601181244300.16178-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-18 12:52               ` Andrew Cooper
     [not found]                 ` <569CE00C.5050406-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2016-01-20  6:33                   ` Shannon Zhao
2016-01-20  8:39                     ` Andrew Cooper
     [not found]                       ` <569F47C8.9080005-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2016-01-20  8:45                         ` [Xen-devel] " Shannon Zhao
2016-01-15  6:55 ` [PATCH v2 09/16] arm/xen: Get event-channel irq through HVM_PARAM when booting with ACPI Shannon Zhao
     [not found]   ` <1452840929-19612-10-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-18 14:38     ` [Xen-devel] " Stefano Stabellini
     [not found]       ` <alpine.DEB.2.02.1601181351400.16178-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-19  8:21         ` Shannon Zhao
2016-01-15  6:55 ` [PATCH v2 10/16] ARM: XEN: Move xen_early_init() before efi_init() Shannon Zhao
     [not found]   ` <1452840929-19612-11-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-18 14:59     ` [Xen-devel] " Stefano Stabellini
     [not found]       ` <alpine.DEB.2.02.1601181445210.16178-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-19  8:36         ` Shannon Zhao
     [not found]           ` <569DF590.6030105-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-19 12:14             ` Stefano Stabellini
2016-01-15  6:55 ` [PATCH v2 11/16] ARM64: ACPI: Check if it runs on Xen to enable or disable ACPI Shannon Zhao
     [not found]   ` <1452840929-19612-12-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-18 10:41     ` Mark Rutland
2016-01-18 15:07       ` Stefano Stabellini
     [not found]         ` <alpine.DEB.2.02.1601181505200.16178-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-19  8:41           ` Shannon Zhao
2016-01-15  6:55 ` [PATCH v2 12/16] ARM: Xen: Document UEFI support on Xen ARM virtual platforms Shannon Zhao
     [not found]   ` <1452840929-19612-13-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-17  3:43     ` Rob Herring
2016-01-18 10:51     ` Mark Rutland
2016-01-18 17:34       ` Stefano Stabellini
     [not found]         ` <alpine.DEB.2.02.1601181710270.9400-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-19 10:25           ` Shannon Zhao
2016-01-19 10:47             ` Mark Rutland
2016-01-19 12:23               ` Stefano Stabellini
2016-01-19 13:13                 ` Mark Rutland
2016-01-19 13:18                   ` Ard Biesheuvel
2016-01-19 13:43                   ` Shannon Zhao
     [not found]                     ` <569E3D9F.6050808-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-01-19 14:11                       ` Stefano Stabellini
2016-01-21 11:50                       ` Mark Rutland
2016-01-15  6:55 ` [PATCH v2 14/16] Xen: EFI: Parse DT parameters for Xen specific UEFI Shannon Zhao
     [not found]   ` <1452840929-19612-15-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-01-18 11:03     ` Mark Rutland
2016-01-18 15:41     ` [Xen-devel] " Stefano Stabellini
     [not found]       ` <alpine.DEB.2.02.1601181533010.16178-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2016-01-19 13:19         ` Shannon Zhao
     [not found]           ` <569E37C9.6040700-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-01-19 13:43             ` Mark Rutland
2016-01-19 13:46               ` Shannon Zhao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).