lkml.org 
[lkml]   [2016]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 12/17] ARM64: ACPI: Check if it runs on Xen to enable or disable ACPI
    Date
    From: Shannon Zhao <shannon.zhao@linaro.org>

    When it's a Xen domain0 booting with ACPI, it will supply a /chosen and
    a /hypervisor node in DT. So check if it needs to enable ACPI.

    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    ---
    CC: Hanjun Guo <hanjun.guo@linaro.org>
    ---
    arch/arm64/kernel/acpi.c | 12 ++++++++----
    1 file changed, 8 insertions(+), 4 deletions(-)

    diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
    index d1ce8e2..4e92be0 100644
    --- a/arch/arm64/kernel/acpi.c
    +++ b/arch/arm64/kernel/acpi.c
    @@ -67,10 +67,13 @@ static int __init dt_scan_depth1_nodes(unsigned long node,
    {
    /*
    * Return 1 as soon as we encounter a node at depth 1 that is
    - * not the /chosen node.
    + * not the /chosen node, or /hypervisor node when running on Xen.
    */
    - if (depth == 1 && (strcmp(uname, "chosen") != 0))
    - return 1;
    + if (depth == 1 && (strcmp(uname, "chosen") != 0)) {
    + if (!xen_initial_domain() || (strcmp(uname, "hypervisor") != 0))
    + return 1;
    + }
    +
    return 0;
    }

    @@ -184,7 +187,8 @@ void __init acpi_boot_table_init(void)
    /*
    * Enable ACPI instead of device tree unless
    * - ACPI has been disabled explicitly (acpi=off), or
    - * - the device tree is not empty (it has more than just a /chosen node)
    + * - the device tree is not empty (it has more than just a /chosen node,
    + * and a /hypervisor node when running on Xen)
    * and ACPI has not been force enabled (acpi=force)
    */
    if (param_acpi_off ||
    --
    2.0.4

    \
     
     \ /
      Last update: 2016-01-23 05:01    [W:4.107 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site