qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-arm] [PATCH 1/1] ARM: ACPI: fix the AML ID format for CPU devi


From: Shannon Zhao
Subject: Re: [Qemu-arm] [PATCH 1/1] ARM: ACPI: fix the AML ID format for CPU devices
Date: Mon, 5 Sep 2016 09:40:04 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.4.0


On 2016/9/3 5:46, Wei Huang wrote:
> Current QEMU will stall guest VM booting under ACPI mode when vcpu count
> is >= 12. Analyzing the booting log, it turns out that DSDT table can't
> be loaded correctly due to "Invalid character(s) in name (0x62303043),
> repaired: [C00*]". This is because existing QEMU uses a lower case AML
> ID for CPU devices (e.g. C000, C001, ..., C00a, C00b). The ACPI code
> inside guest VM detects this lower case character as an invalid character
> (see acpi_ut_valid_acpi_char() in drivers/acpi/acpica/utstring.c file)
> and converts it to "*". This causes duplicated IDs (i.e. "C00a" ==>"C00*"
> and "C00b" ==> "C00*"). So ACPI refuses to load the table.
> 
> This patch fixes the problem by changing the format with a upper case
> character. It matches the CPU ID formats used in other parts of QEMU
> code.
> 
> Reported-by: Eric Auger <address@hidden>
> Signed-off-by: Wei Huang <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 28fc59c..295ec86 100644
> --- a/hw/arm/virt-acpi-build.c
> +++ b/hw/arm/virt-acpi-build.c
> @@ -53,7 +53,7 @@ static void acpi_dsdt_add_cpus(Aml *scope, int smp_cpus)
>      uint16_t i;
>  
>      for (i = 0; i < smp_cpus; i++) {
> -        Aml *dev = aml_device("C%03x", i);
> +        Aml *dev = aml_device("C%.03X", i);
>          aml_append(dev, aml_name_decl("_HID", aml_string("ACPI0007")));
>          aml_append(dev, aml_name_decl("_UID", aml_int(i)));
>          aml_append(scope, dev);
> 
Reviewed-by: Shannon Zhao <address@hidden>

Thanks,
-- 
Shannon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]