From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a05:6512:3aa:0:0:0:0 with SMTP id v10csp504738lfp; Wed, 29 Jan 2020 04:25:24 -0800 (PST) X-Google-Smtp-Source: APXvYqwuVHrjZ1XAo0fEXSomeovQpltW81Ql885Ggo5fB02FhXM0S7yVtVX9THQJ2E3MN5gUlEBV X-Received: by 2002:aed:2783:: with SMTP id a3mr11563800qtd.284.1580300724151; Wed, 29 Jan 2020 04:25:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580300724; cv=none; d=google.com; s=arc-20160816; b=CWKIxafnJ8fJeC+j46tfml36GM/WVYDu6SWlEYzgp4s/hcw/7XZ+rbgnCx5FxEBeq0 ljr4hjCaGMFGut2PuykpXPz5csePhy/ahI2TzmISTqhhELTUfmsyTyz+RBG8hgrlB3V1 92tZv2vbyXDy7ouJVetCMU0uoPSu+ihkpXRUpTDxlvctzPj+Rbv0ozCgZYqyynTAUcCF zS6QP/9vK1U9f8x5dQnCTamOKftKa2K9sXveMhkTlof0CGXqNs5fUE3GMR/3wlrXRlGY EEaQf4pmBfSYMj0mzbn2vqzSgPvF5izNqQ7XVAo1QTElRXDmFeGuhCoXaSQNHmWFPw20 BmhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:content-language:accept-language :in-reply-to:references:message-id:date:thread-index:thread-topic :subject:to:from; bh=xHjK/h8MwdGiZTiO87i9nz0mSp7iZrkbOv2EaBajlAA=; b=w2RJ+8eo9yhkboQfeuSkwjtYAGghjOxh2RuK6DkLGfE9rmOzycl1Fg2CBvw8gSyBI1 MOr6SVxVAw1ZDACdGsenzZHw9xD44ZtDehnEA85S+ZxR5b4ZzPzJn4g4yBpk+jqvzGsS 3gxcLk5ne92x7mYZ/F6s/lzIjfHS5ITCdnBgv4zmVBHTJWWYV9xI9Lqljx+fNZ/ZQxRq BaKC7z6XAJCDYBYm3iHFc2rvgIh5K3FcR3huQyYINeQiW+ZYNUQiM5i0/lAVo25hfXsJ FaQ7Ajg8KgU1w9eUDEO3AtsBEYWZIF4r4PptmcdITjubxwiq+dxJ5WDvH3iwRjSfh74D PXoQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org" Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id x3si1017534qto.240.2020.01.29.04.25.23 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 29 Jan 2020 04:25:24 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org" Received: from localhost ([::1]:45604 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwmPL-0005YL-DI for alex.bennee@linaro.org; Wed, 29 Jan 2020 07:25:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58537) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwmNU-0002Pl-Eu for qemu-arm@nongnu.org; Wed, 29 Jan 2020 07:23:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iwmNS-0003Qb-RU for qemu-arm@nongnu.org; Wed, 29 Jan 2020 07:23:28 -0500 Received: from lhrrgout.huawei.com ([185.176.76.210]:2069 helo=huawei.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iwmNS-0003MZ-KV; Wed, 29 Jan 2020 07:23:26 -0500 Received: from LHREML712-CAH.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 37468B91853492B7E997; Wed, 29 Jan 2020 12:23:23 +0000 (GMT) Received: from lhreml706-chm.china.huawei.com (10.201.108.55) by LHREML712-CAH.china.huawei.com (10.201.108.35) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 29 Jan 2020 12:23:23 +0000 Received: from lhreml703-chm.china.huawei.com (10.201.108.52) by lhreml706-chm.china.huawei.com (10.201.108.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Wed, 29 Jan 2020 12:23:22 +0000 Received: from lhreml703-chm.china.huawei.com ([10.201.68.198]) by lhreml703-chm.china.huawei.com ([10.201.68.198]) with mapi id 15.01.1713.004; Wed, 29 Jan 2020 12:23:22 +0000 From: Salil Mehta To: Salil Mehta , "qemu-devel@nongnu.org" , "qemu-arm@nongnu.org" Subject: RE: [Question] Regarding presence of duplicate ACPI CPU entries at two nodes \\_SB.CXXX and \\_SB.CPUS.CXXX of namespace Thread-Topic: [Question] Regarding presence of duplicate ACPI CPU entries at two nodes \\_SB.CXXX and \\_SB.CPUS.CXXX of namespace Thread-Index: AQHV1p7lAR0wNvQnjUiflhxrwArEnA== Date: Wed, 29 Jan 2020 12:23:22 +0000 Message-ID: References: <590fb35353de473d9c689caead95c659@huawei.com> In-Reply-To: <590fb35353de473d9c689caead95c659@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.202.227.103] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-CFilter-Loop: Reflected X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 185.176.76.210 X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "peter.maydell@linaro.org" , "drjones@redhat.com" , "sameo@linux.intel.com" , "mst@redhat.com" , Linuxarm , "eric.auger@redhat.com" , Igor Mammedov , pbonzini , "lersek@redhat.com" Errors-To: qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org Sender: "Qemu-arm" X-TUID: nLuWj8bj0Tgc Please ignore this! > From: Linuxarm [mailto:linuxarm-bounces@huawei.com] On Behalf Of Salil Me= hta > Sent: Wednesday, January 29, 2020 11:51 AM > To: qemu-devel@nongnu.org; qemu-arm@nongnu.org > Cc: peter.maydell@linaro.org; drjones@redhat.com; sameo@linux.intel.com; > mst@redhat.com; Linuxarm ; eric.auger@redhat.com; > pbonzini ; Igor Mammedov ; > lersek@redhat.com > Subject: [Question] Regarding presence of duplicate ACPI CPU entries at t= wo nodes > \\_SB.CXXX and \\_SB.CPUS.CXXX of namespace >=20 > Hello, >=20 > Observation: > If we launch Linux Guest VM using QEMU(running on any type host. I am usi= ng x86) > with > CPU based on any ARM64 architecture then I could see QEMU populating ACPI= nodes > related to same CPU at 2 places of the ACPI namespace: > 1. \\_SB.CXXX > 2. \\_SB.CPUS.CXXX >=20 > Above results in Guest VM showing duplicate CPU entries in the sysfs for = the > same CPUS. > I could make out the entries under \\_SB.CPUS.XXX are part of the contain= er. >=20 > estuary:/$ ls -al /sys/bus/acpi/devices/ >=20 > Observation 1: (belongs to \\_SB.C00X) > ACPI0007:00 -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0007:00 > ACPI0007:01 -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0007:01 > ACPI0007:02 -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0007:02 > ACPI0007:03 -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0007:03 > ACPI0007:04 -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0007:04 > ACPI0007:05 -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0007:05 >=20 > Observation 2: (belongs to \\_SB.CPUS.C00X and under container ACPI0010:0= 0 part > of \\_SB.CPUS) > ACPI0007:06 > -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0010:00/ACPI0007:06 > ACPI0007:07 > -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0010:00/ACPI0007:07 > ACPI0007:08 > -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0010:00/ACPI0007:08 > ACPI0007:09 > -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0010:00/ACPI0007:09 > ACPI0007:0a > -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0010:00/ACPI0007:0a > ACPI0007:0b > -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0010:00/ACPI0007:0b > ACPI0010:00 -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0010:00 >=20 >=20 > estuary:/$ cat /sys/bus/acpi/devices/ACPI0010\:00/path > \_SB_.CPUS >=20 > estuary:/$ cat /sys/bus/acpi/devices/ACPI0007\:00/uid > 0 > estuary:/$ cat /sys/bus/acpi/devices/ACPI0007\:00/path > \_SB_.C000 >=20 > estuary:/$ cat /sys/bus/acpi/devices/ACPI0007\:06/uid > 0 > estuary:/$ cat /sys/bus/acpi/devices/ACPI0007\:06/path > \_SB_.CPUS.C000 >=20 >=20 >=20 > QEMU Code Excerpt: > I could trace with in QEMU AML code, the CPUS are being appended at 2 pla= ces: >=20 >=20 > Code 1. File: hw/arm/virt-acpi-build.c (Cause of Observation 1 i.e. \\_SB= .CXXX ) >=20 > static void acpi_dsdt_add_cpus(Aml *scope, int smp_cpus) > { > uint16_t i; >=20 > for (i =3D 0; i < smp_cpus; i++) { --->{should be possible cpus anywa= ys} > Aml *dev =3D 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); > } > } >=20 >=20 > Code 2. File: hw/acpi/cpu.c (Cause of Observation 2 i.e. \\_SB.CPUS.CXXX) >=20 > void build_cpus_aml(..) > { > [...] > cpus_dev =3D aml_device("\\_SB.CPUS"); > { > [...] > /* build Processor object for each processor */ > for (i =3D 0; i < arch_ids->len; i++) { > Aml *dev; > Aml *uid =3D aml_int(i); > GArray *madt_buf =3D g_array_new(0, 1, 1); > int arch_id =3D arch_ids->cpus[i].arch_id; >=20 > if (opts.acpi_1_compatible && arch_id < 255) { > dev =3D aml_processor(i, 0, 0, CPU_NAME_FMT, i); > } else { > dev =3D aml_device(CPU_NAME_FMT, i); > aml_append(dev, aml_name_decl("_HID", > aml_string("ACPI0007"))); > aml_append(dev, aml_name_decl("_UID", uid)); > } > [...] > } > [...] > } >=20 >=20 >=20 > Questions: > Q1. I could not understand the purpose of keeping acpi_dsdt_add_cpus() af= ter > the code 2. > was introduced as part of the below change and which is already addi= ng CPUS > related > AML to \\_SB.CPUS namespace? >=20 > acpi: cpuhp: add CPU devices AML with _STA method > commit 5e1b5d93887b52eede156f846b6c4c5c8bbcfcdb >=20 > Q2. Do we really require CPUs being added by acpi_dsdt_add_cpus() in \\_S= B.CXXX > Namespace OR is it a stray code left? >=20 >=20 >=20 > Please help to correct if there is a gap in my understanding here and ple= ase > forgive me if I have terribly missed out something very basic here. >=20 > Many thanks! >=20 > Best Regards > Salil >=20