[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] virt-acpi-build: add always-on property for tim
From: |
Shannon Zhao |
Subject: |
Re: [Qemu-devel] [PATCH] virt-acpi-build: add always-on property for timer |
Date: |
Fri, 22 Jan 2016 09:28:07 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
On 2016/1/21 20:54, Andrew Jones wrote:
> This patch is the ACPI equivalent of "hw/arm/virt: Add always-on
> property to the virt board timer". The timer is always on, and
> thus setting this informs Linux that it may switch off the periodic
> timer. Switching off the periodic timer substantially reduces the
> number of interrupts the host needs to inject.
>
> Testing note: AArch64 guests (the only ones currently booting with
> ACPI) do not actually need this patch to determine it can turn the
> periodic timer off. I therefore used a hacked guest kernel to ensure
> this patch works as the equivalent DT patch does.
>
Reviewed-by: Shannon Zhao <address@hidden>
> Signed-off-by: Andrew Jones <address@hidden>
> ---
> hw/arm/virt-acpi-build.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> index 87fbe7c97d99b..f6e538f3d02ea 100644
> --- a/hw/arm/virt-acpi-build.c
> +++ b/hw/arm/virt-acpi-build.c
> @@ -443,7 +443,7 @@ build_gtdt(GArray *table_data, GArray *linker)
> gtdt->secure_el1_flags = ACPI_EDGE_SENSITIVE;
>
> gtdt->non_secure_el1_interrupt = ARCH_TIMER_NS_EL1_IRQ + 16;
> - gtdt->non_secure_el1_flags = ACPI_EDGE_SENSITIVE;
> + gtdt->non_secure_el1_flags = ACPI_EDGE_SENSITIVE | ACPI_GTDT_ALWAYS_ON;
>
> gtdt->virtual_timer_interrupt = ARCH_TIMER_VIRT_IRQ + 16;
> gtdt->virtual_timer_flags = ACPI_EDGE_SENSITIVE;
>
--
Shannon