devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Shannon Zhao <shannon.zhao-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Stefano Stabellini
	<stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org>
Cc: Shannon Zhao
	<zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
	ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	stefano.stabellini-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org,
	david.vrabel-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org,
	catalin.marinas-5wv7dgnIgG8@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org,
	julien.grall-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org,
	xen-devel-GuqFBffKawuEi8DpZVb4nw@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	peter.huangpeng-hv44wF8Li93QT0dZR+AlfA@public.gmane.org,
	Jan Beulich <JBeulich-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>,
	Ian Campbell
	<Ian.Campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH v2 16/16] ARM64: XEN: Initialize Xen specific UEFI runtime services
Date: Tue, 19 Jan 2016 21:31:58 +0800	[thread overview]
Message-ID: <569E3ACE.5080506@linaro.org> (raw)
In-Reply-To: <20160119130341.GI25024@leverpostej>



On 2016/1/19 21:03, Mark Rutland wrote:
> On Tue, Jan 19, 2016 at 12:03:59PM +0000, Stefano Stabellini wrote:
>> On Mon, 18 Jan 2016, Mark Rutland wrote:
>>> On Mon, Jan 18, 2016 at 05:45:24PM +0000, Stefano Stabellini wrote:
>>>> On Mon, 18 Jan 2016, Mark Rutland wrote:
>>>>> On Fri, Jan 15, 2016 at 02:55:29PM +0800, Shannon Zhao wrote:
>>>>>> +void __init xen_efi_runtime_setup(void)
>>>>>> +{
>>>>>> +	efi.get_time                 = xen_efi_get_time;
>>>>>> +	efi.set_time                 = xen_efi_set_time;
>>>>>> +	efi.get_wakeup_time          = xen_efi_get_wakeup_time;
>>>>>> +	efi.set_wakeup_time          = xen_efi_set_wakeup_time;
>>>>>> +	efi.get_variable             = xen_efi_get_variable;
>>>>>> +	efi.get_next_variable        = xen_efi_get_next_variable;
>>>>>> +	efi.set_variable             = xen_efi_set_variable;
>>>>>> +	efi.query_variable_info      = xen_efi_query_variable_info;
>>>>>> +	efi.update_capsule           = xen_efi_update_capsule;
>>>>>> +	efi.query_capsule_caps       = xen_efi_query_capsule_caps;
>>>>>> +	efi.get_next_high_mono_count = xen_efi_get_next_high_mono_count;
>>>>>> +	efi.reset_system             = NULL;
>>>>>> +}
>>>>>
>>>>> How do capsules work in the absence of an EFI system reset?
>>>>
>>>> Actually I don't think that capsules are available in Xen on ARM64 yet,
>>>> see "TODO - disabled until implemented on ARM" in
>>>> xen/common/efi/runtime.c.
>>>>
>>>> FYI system reset is available, but it is provided via a different
>>>> mechanism (HYPERVISOR_sched_op(xen_restart...)
>>>
>>> Will that trigger Xen to do the right thing to trigger capsule updates
>>> when implemented in Xen? Or do we need a xen_efi_reset_system?
>>
>> On ARM, to reboot the hardware, Xen calls the native PSCI system_reset
>> method. On x86, Xen calls efi_reset_system on EFI systems, and has
>> several fall backs if that doesn't work as expected (see
>> xen/arch/x86/shutdown.c:machine_restart).
>>
>> But on a second look it doesn't look like that the capsule hypercalls
>> are implemented correctly even on x86 (there is an "XXX fall through for
>> now" comment in the code). I guess they are not available on Xen at all
>> unfortunately.
>
> That is incredibly unfortunate. It effectively renders the firmware
> non-updateable when using Xen.
>
>>> Does that override PSCI?
>>
>> It does not, HYPERVISOR_sched_op(xen_restart,) is in addition to it. It
>> ends up calling the same function within Xen as PSCI system_reset.
>
> I meant within Dom0.
>
> Presumably Dom0 calls HYPERVISOR_sched_op(xen_restart,), and doesn't
> ever call PSCI SYSTEM_RESET?
>
I think executing reset in Dom0 will reset not only Dom0 but also the 
Xen hypervisor, right?

>>> In machine_restart we try efi_reboot first specifically to allow for
>>> capsule updates. Similarly drivers/firmware/efi/reboot.c registers
>>> efi_power_off late in order to override anything else, though that's
>>> best-effort at present.
>>
>> That's very interesting. I think that Xen on ARM should follow what
>> Linux does and what Xen already does on x86 and try efi_reset_system
>> first on efi systems.
>
> I would agree.
>
> Thanks,
> Mark.
>

-- 
Shannon

  reply	other threads:[~2016-01-19 13:31 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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
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
     [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 [this message]
     [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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=569E3ACE.5080506@linaro.org \
    --to=shannon.zhao-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=Ian.Campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
    --cc=JBeulich-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org \
    --cc=ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=david.vrabel-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=julien.grall-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=peter.huangpeng-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
    --cc=stefano.stabellini-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
    --cc=stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
    --cc=xen-devel-GuqFBffKawuEi8DpZVb4nw@public.gmane.org \
    --cc=zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).