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
next prev parent 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).