From patchwork Wed Sep 16 06:13:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11779079 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3C9DF159A for ; Wed, 16 Sep 2020 06:26:12 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 06BCF206DB for ; Wed, 16 Sep 2020 06:26:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="CEBULknC" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 06BCF206DB Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:46894 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQtP-0008MG-6R for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:26:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59316) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQha-0001SZ-7X for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:13:58 -0400 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]:36744) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQhW-0005hg-Tk for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:13:57 -0400 Received: by mail-pj1-x1041.google.com with SMTP id b17so999452pji.1 for ; Tue, 15 Sep 2020 23:13:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=HHdiOGLkXts4NNVu4SCMzFcJi56aYTGQpkW5PEoj6js=; b=CEBULknCTRQF7PfgSYBeZ8rGdbc9UpqyIMiSlrkOMB/y6ZVVFmB2nN0nL3rDSBhUe2 ghNfKqKVXMjmvJS8NcqzNuqunsMR0RkCb1ejC2b3fJ1Io/FkPY2lWJ29klH5o+SouE55 +APEOcNyqt6IZSSOLaiRfTc3IxKMUzknQi0meJ0i+LLc1ebcof1ujeyopyCcbj7kt2H4 KjFtvqnYdxcGOcQ8ztqojVPKmXRemEF8R7MSo/vjFT/aGW8pY1z6Q+dCnhbX3dLKYLJ3 Kd02L4mEVYLq0S+btu6fAi5r8RPBz9TeBvA4M6wW7YsxfQvEl6o6yDmJKMZmsulR3xOM jYBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=HHdiOGLkXts4NNVu4SCMzFcJi56aYTGQpkW5PEoj6js=; b=q7rPoEtEf65BXcONaohoj5HlaGB34loo+ZFiq9PUJeAlVoLAKjD2pjYafCdXG4nky6 aAHQsEOnjhmbvTGjhBrypszQ5sRnMg3kZ3i1eCLoGSC7Y6yPGQar3xAyicjAF50uOIsh D58FSJrnzlxpNsgGt9fZVWQV1TVWy+RxzqpzRUpaWrRXBSMjvrIqKjUp6TcM/HohKWU4 NfuE2Fj/H1WLcpT5+fZPcJrwj7pEpK8vEiKSza7s6P+UbcNizSRnTw44MEjc3oMC2Kmz rOKZNbUXBz4Kc7lAlUoxG7gRu2L7z6Hv0Xr6uv7tRP30z6of75zxHrRcsYZ/9Up1Ha7z iFcA== X-Gm-Message-State: AOAM5324ekuBrCAI1QsK0mUiBhg54/BHsI+lVlx/8FB2KsOQ9/Bjacqa 6YdWC8FkS5z2e4+eQlfJ3KuZNzDw+//6vnAP X-Google-Smtp-Source: ABdhPJzEZLj8HxdjUKRyrml4a0Mh+Yjva2nXP9Jfpi38ky6zXKAiBDzYdFYQumvUymmkGrDdZGDl0g== X-Received: by 2002:a17:902:a706:b029:d0:89f3:28c9 with SMTP id w6-20020a170902a706b02900d089f328c9mr22400984plq.5.1600236833243; Tue, 15 Sep 2020 23:13:53 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.13.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:13:52 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 01/11] tests/acpi: document addition of table DSDT.roothp for unit testing root pci hotplug on/off Date: Wed, 16 Sep 2020 11:43:25 +0530 Message-Id: <20200916061335.14045-2-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::1041; envelope-from=ani@anisinha.ca; helo=mail-pj1-x1041.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philipp?= =?utf-8?q?e_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" A new binary acpi table tests/data/acpi/pc/DSDT.roothp is added in order to unit test the feature flag that can disable/enable root pci bus hotplug on i440fx. This feature was added with the commit: 3d7e78aa7777f0 ("Introduce a new flag for i440fx to disable PCI hotplug on the root bus") This change documents the fact that this new file addition was made as a part of the unit test change. Signed-off-by: Ani Sinha --- tests/qtest/bios-tables-test-allowed-diff.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8b..ac864fc982 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/pc/DSDT.roothp", From patchwork Wed Sep 16 06:13:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11778981 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 03608112E for ; Wed, 16 Sep 2020 06:15:20 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AA709208E4 for ; Wed, 16 Sep 2020 06:15:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="fAntG7o1" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AA709208E4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:44812 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQis-0003hJ-JJ for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:15:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59346) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQhh-0001Ue-79 for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:06 -0400 Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044]:37441) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQhe-0005i7-MT for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:04 -0400 Received: by mail-pj1-x1044.google.com with SMTP id kk9so998756pjb.2 for ; Tue, 15 Sep 2020 23:14:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=C+pxfabqqEbpbP52/uopOa9jod19U4/Iicx9HACbYdw=; b=fAntG7o1g3COtUByQ0LR9YeLC8MhgHtgdt5jxciwQL/RX1jOWf/q/ihOBx66/KGfQt HfgCufq69dM/t4qRvth+NMIRjYA0uUsY2ijZUofevP9Cp17WdYE+qXSpgyoQDs6x01NU MX5qwn8PnbLFYIHjXcF2b9XsichpaXl2jbuXOgDONBok1fyxa+eEj4nexYU+UU3mTfoq PHwWVheC57aWcUI6yGW7UxVJyiXY9kPBig7seAe7MVGbOiGuTzpdIvpLFgr/8T6CFMbS 9yBIOmHrfXM92ytnyodzjuumYFyp1lviILQF9tvgZVYI3R+h7dK0NUSbQVIH20hNq8DT vDRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=C+pxfabqqEbpbP52/uopOa9jod19U4/Iicx9HACbYdw=; b=Iz+zL1EoQ7Q8rEI5eovgtU3aJf13Ku59Ns5dzo55dGLKSzgpyHQMoNfVR7tjHeYScC jZq9w6SjEs6OngFycVs895pQ3AVQB9a8uvhb2nIPykztvM/wSDGpEND9G98UelbHCFTl 6fVFWVJlltkVu+9cqhgshlBn9NpfStVQHmXhzdRfCogLrdMzRJRlEzx8ytyusdkB9/A0 bQ+imAP9CgW9ZXH9dYxh8EkxukpPqogh7b96hfh6MM6GHYw2P5Gxgg5KGdBVbrdGGkYr nU00M68OKKMnQfPVmNif2J7FNit2HtIoD6KVaajMOO70sAKkOGb+1XldipvbSY4XXqqi kBRA== X-Gm-Message-State: AOAM531whJoG3i/RGRi+qPEDLUt/wKEcLcYh9FIQljsa4KHXpWJMk5iT jzQiaDmmP5lTgG1yK0YnwjKXvgCTKOF6xuVj X-Google-Smtp-Source: ABdhPJxT+iKgo7g+CladthMAi/uBWj+hyVURu26boD2pshB0l2n1fc9ZXyN6L0EKHann4AhciWAOtw== X-Received: by 2002:a17:90b:374b:: with SMTP id ne11mr2405635pjb.21.1600236838856; Tue, 15 Sep 2020 23:13:58 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.13.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:13:57 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 02/11] tests/acpi: add a new unit test to test hotplug off/on feature on the root pci bus Date: Wed, 16 Sep 2020 11:43:26 +0530 Message-Id: <20200916061335.14045-3-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::1044; envelope-from=ani@anisinha.ca; helo=mail-pj1-x1044.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Ability to turn hotplug off on the pci root bus for i440fx was added in commit: 3d7e78aa7777f0 ("Introduce a new flag for i440fx to disable PCI hotplug on the root bus") This change adds a unit test in order to test this feature. This change has been tested against upstream qemu master branch tip. Signed-off-by: Ani Sinha --- tests/qtest/bios-tables-test.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 504b810af5..d8c7d57557 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -740,6 +740,20 @@ static void test_acpi_piix4_tcg_bridge(void) free_test_data(&data); } +static void test_acpi_piix4_root_hotplug(void) +{ + test_data data; + + memset(&data, 0, sizeof(data)); + data.machine = MACHINE_PC; + data.variant = ".roothp"; + data.required_struct_types = base_required_struct_types; + data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); + test_acpi_one("-global PIIX4_PM.acpi-root-pci-hotplug=off " + "-device pci-bridge,chassis_nr=1", &data); + free_test_data(&data); +} + static void test_acpi_q35_tcg(void) { test_data data; @@ -1144,6 +1158,7 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis); qtest_add_func("acpi/piix4", test_acpi_piix4_tcg); qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge); + qtest_add_func("acpi/piix4/hotplug", test_acpi_piix4_root_hotplug); qtest_add_func("acpi/q35", test_acpi_q35_tcg); qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge); qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64); From patchwork Wed Sep 16 06:13:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11778985 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F4118112E for ; Wed, 16 Sep 2020 06:16:47 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A57E82065E for ; Wed, 16 Sep 2020 06:16:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="iGoYFE+A" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A57E82065E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:48910 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQkI-0005Uz-Ni for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:16:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59414) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQhm-0001Zs-L9 for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:10 -0400 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]:37439) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQhi-0005kG-3p for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:10 -0400 Received: by mail-pj1-x1041.google.com with SMTP id kk9so998843pjb.2 for ; Tue, 15 Sep 2020 23:14:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=QIrKg06WOm42suw0WWNTsY7tcSv9RsvVFBeMyFGCXZc=; b=iGoYFE+ArchGJjZ/ZDMJ9+U3X1de1sv71iaRNiOzpvAqE3T4qc3LIYzvNcOjjYl/pk qoIs39QUSWqclckKZCFMXfyarm22bJMu3XAzBnnatwAGtw0c746Cdke26oAslPd9Ir6u Px95UZ/X7YZdAYXZCqZJ1+f4YUyTd3waUEIcsca7lYgQnMsiubuukj3jfnyHwt3pQLwh rixYC1ccU+pVhtSrLAFXneVa0fR31cGzNnzVkg0WF3yc+qe7JAE/q4I+CmP6nu+6G1kt wyS9uNmKuMYBgdrlfkSYoccEc8mW1H3EIAwAJ3etPt8mwPe1gDWHQdIFQiR18UfYnhsD 75DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=QIrKg06WOm42suw0WWNTsY7tcSv9RsvVFBeMyFGCXZc=; b=K/NNjzFmF8tjhXQcJ2cnfI6kl5Qd8BufSFocEkDcIFg1nVyL+LsWV3t1QbAXJpFJ8z Kp/j/PnDW+xIzwcIBEBUAvu5/h0Tv0VUb722eEZqmHLj2ffzs7YzUP9sophUpKQIyayA th7mo53bGpebzgkeYm+xlXwdASjMzhAOtiu0516pPPa511ogM+TL3NA9BijEMJLAR3H+ TWLN6tq2Az59egLE6Snaqqq0KvT4nLscqptoMAO/TV/gKcwv5ay2C3/yv/s8vG1t172R 0VnYGks9aGjeGmhqJAfIgAke2+xG/E18ah2Eu+tzmK/k4ev1avOR9GlZkVz/Ut8BHJNF G/4A== X-Gm-Message-State: AOAM533L8eyqdqvnHrt0u4zUrLy2L0aQ4ANLlgq9RP4F/jhnQEWO0t+k T/hDfGra3/kDOv2jDxPj8kHuSgJMvS81rJn2 X-Google-Smtp-Source: ABdhPJxo3JZOLh//hewO6xQBylEAe0auxR+rSTXCHckKiVk0pI9O+xO8uIjW4Aq7hszlLTCCscX/eQ== X-Received: by 2002:a17:902:fe8b:b029:d1:e5e7:be64 with SMTP id x11-20020a170902fe8bb02900d1e5e7be64mr4675101plm.62.1600236843803; Tue, 15 Sep 2020 23:14:03 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.13.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:14:02 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 03/11] tests/acpi: add a new ACPI table in order to test root pci hotplug on/off Date: Wed, 16 Sep 2020 11:43:27 +0530 Message-Id: <20200916061335.14045-4-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::1041; envelope-from=ani@anisinha.ca; helo=mail-pj1-x1041.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_FILL_THIS_FORM_SHORT=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philipp?= =?utf-8?q?e_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" A new binary ACPI table tests/data/acpi/pc/DSDT.roothp is added in order to unit test hotplug on/off capability on the root pci bus for i440fx. The diff between the table DSDT.bridge and DSDT.roothp is listed below: @@ -1,30 +1,30 @@ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20180105 (64-bit version) * Copyright (c) 2000 - 2018 Intel Corporation * * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/data/acpi/pc/DSDT.bridge, Fri Sep 11 22:51:04 2020 + * Disassembly of /tmp/aml-UGIHQ0, Fri Sep 11 22:51:04 2020 * * Original Table Header: * Signature "DSDT" - * Length 0x00001A89 (6793) + * Length 0x0000140A (5130) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x09 + * Checksum 0xE6 * OEM ID "BOCHS " * OEM Table ID "BXPCDSDT" * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001) { Scope (\) { OperationRegion (DBG, SystemIO, 0x0402, One) Field (DBG, ByteAcc, NoLock, Preserve) { DBGB, 8 } @@ -831,61 +831,60 @@ Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0510, // Range Minimum 0x0510, // Range Maximum 0x01, // Alignment 0x0C, // Length ) }) } } Scope (\_SB) { Scope (PCI0) { - Name (BSEL, Zero) Device (S00) { Name (_ADR, Zero) // _ADR: Address } Device (S10) { Name (_ADR, 0x00020000) // _ADR: Address Method (_S1D, 0, NotSerialized) // _S1D: S1 Device State { Return (Zero) } Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State { Return (Zero) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (Zero) } } Device (S18) { Name (_ADR, 0x00030000) // _ADR: Address - Name (BSEL, One) + Name (BSEL, Zero) Device (S00) { Name (_SUN, Zero) // _SUN: Slot User Number Name (_ADR, Zero) // _ADR: Address Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device { PCEJ (BSEL, _SUN) } } Device (S08) { Name (_SUN, One) // _SUN: Slot User Number Name (_ADR, 0x00010000) // _ADR: Address Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device { @@ -1345,456 +1344,30 @@ Notify (SE8, Arg1) } If ((Arg0 & 0x40000000)) { Notify (SF0, Arg1) } If ((Arg0 & 0x80000000)) { Notify (SF8, Arg1) } } Method (PCNT, 0, NotSerialized) { - BNUM = One + BNUM = Zero DVNT (PCIU, One) DVNT (PCID, 0x03) } } - Device (S20) - { - Name (_SUN, 0x04) // _SUN: Slot User Number - Name (_ADR, 0x00040000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S28) - { - Name (_SUN, 0x05) // _SUN: Slot User Number - Name (_ADR, 0x00050000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S30) - { - Name (_SUN, 0x06) // _SUN: Slot User Number - Name (_ADR, 0x00060000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S38) - { - Name (_SUN, 0x07) // _SUN: Slot User Number - Name (_ADR, 0x00070000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S40) - { - Name (_SUN, 0x08) // _SUN: Slot User Number - Name (_ADR, 0x00080000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S48) - { - Name (_SUN, 0x09) // _SUN: Slot User Number - Name (_ADR, 0x00090000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S50) - { - Name (_SUN, 0x0A) // _SUN: Slot User Number - Name (_ADR, 0x000A0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S58) - { - Name (_SUN, 0x0B) // _SUN: Slot User Number - Name (_ADR, 0x000B0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S60) - { - Name (_SUN, 0x0C) // _SUN: Slot User Number - Name (_ADR, 0x000C0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S68) - { - Name (_SUN, 0x0D) // _SUN: Slot User Number - Name (_ADR, 0x000D0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S70) - { - Name (_SUN, 0x0E) // _SUN: Slot User Number - Name (_ADR, 0x000E0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S78) - { - Name (_SUN, 0x0F) // _SUN: Slot User Number - Name (_ADR, 0x000F0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S80) - { - Name (_SUN, 0x10) // _SUN: Slot User Number - Name (_ADR, 0x00100000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S88) - { - Name (_SUN, 0x11) // _SUN: Slot User Number - Name (_ADR, 0x00110000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S90) - { - Name (_SUN, 0x12) // _SUN: Slot User Number - Name (_ADR, 0x00120000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S98) - { - Name (_SUN, 0x13) // _SUN: Slot User Number - Name (_ADR, 0x00130000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SA0) - { - Name (_SUN, 0x14) // _SUN: Slot User Number - Name (_ADR, 0x00140000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SA8) - { - Name (_SUN, 0x15) // _SUN: Slot User Number - Name (_ADR, 0x00150000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SB0) - { - Name (_SUN, 0x16) // _SUN: Slot User Number - Name (_ADR, 0x00160000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SB8) - { - Name (_SUN, 0x17) // _SUN: Slot User Number - Name (_ADR, 0x00170000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SC0) - { - Name (_SUN, 0x18) // _SUN: Slot User Number - Name (_ADR, 0x00180000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SC8) - { - Name (_SUN, 0x19) // _SUN: Slot User Number - Name (_ADR, 0x00190000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SD0) - { - Name (_SUN, 0x1A) // _SUN: Slot User Number - Name (_ADR, 0x001A0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SD8) - { - Name (_SUN, 0x1B) // _SUN: Slot User Number - Name (_ADR, 0x001B0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SE0) - { - Name (_SUN, 0x1C) // _SUN: Slot User Number - Name (_ADR, 0x001C0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SE8) - { - Name (_SUN, 0x1D) // _SUN: Slot User Number - Name (_ADR, 0x001D0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SF0) - { - Name (_SUN, 0x1E) // _SUN: Slot User Number - Name (_ADR, 0x001E0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SF8) - { - Name (_SUN, 0x1F) // _SUN: Slot User Number - Name (_ADR, 0x001F0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Method (DVNT, 2, NotSerialized) - { - If ((Arg0 & 0x10)) - { - Notify (S20, Arg1) - } - - If ((Arg0 & 0x20)) - { - Notify (S28, Arg1) - } - - If ((Arg0 & 0x40)) - { - Notify (S30, Arg1) - } - - If ((Arg0 & 0x80)) - { - Notify (S38, Arg1) - } - - If ((Arg0 & 0x0100)) - { - Notify (S40, Arg1) - } - - If ((Arg0 & 0x0200)) - { - Notify (S48, Arg1) - } - - If ((Arg0 & 0x0400)) - { - Notify (S50, Arg1) - } - - If ((Arg0 & 0x0800)) - { - Notify (S58, Arg1) - } - - If ((Arg0 & 0x1000)) - { - Notify (S60, Arg1) - } - - If ((Arg0 & 0x2000)) - { - Notify (S68, Arg1) - } - - If ((Arg0 & 0x4000)) - { - Notify (S70, Arg1) - } - - If ((Arg0 & 0x8000)) - { - Notify (S78, Arg1) - } - - If ((Arg0 & 0x00010000)) - { - Notify (S80, Arg1) - } - - If ((Arg0 & 0x00020000)) - { - Notify (S88, Arg1) - } - - If ((Arg0 & 0x00040000)) - { - Notify (S90, Arg1) - } - - If ((Arg0 & 0x00080000)) - { - Notify (S98, Arg1) - } - - If ((Arg0 & 0x00100000)) - { - Notify (SA0, Arg1) - } - - If ((Arg0 & 0x00200000)) - { - Notify (SA8, Arg1) - } - - If ((Arg0 & 0x00400000)) - { - Notify (SB0, Arg1) - } - - If ((Arg0 & 0x00800000)) - { - Notify (SB8, Arg1) - } - - If ((Arg0 & 0x01000000)) - { - Notify (SC0, Arg1) - } - - If ((Arg0 & 0x02000000)) - { - Notify (SC8, Arg1) - } - - If ((Arg0 & 0x04000000)) - { - Notify (SD0, Arg1) - } - - If ((Arg0 & 0x08000000)) - { - Notify (SD8, Arg1) - } - - If ((Arg0 & 0x10000000)) - { - Notify (SE0, Arg1) - } - - If ((Arg0 & 0x20000000)) - { - Notify (SE8, Arg1) - } - - If ((Arg0 & 0x40000000)) - { - Notify (SF0, Arg1) - } - - If ((Arg0 & 0x80000000)) - { - Notify (SF8, Arg1) - } - } - Method (PCNT, 0, NotSerialized) { - BNUM = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) ^S18.PCNT () } } } } Signed-off-by: Ani Sinha Acked-by: Igor Mammedov --- tests/data/acpi/pc/DSDT.roothp | Bin 0 -> 5130 bytes tests/qtest/bios-tables-test-allowed-diff.h | 1 - 2 files changed, 1 deletion(-) create mode 100644 tests/data/acpi/pc/DSDT.roothp diff --git a/tests/data/acpi/pc/DSDT.roothp b/tests/data/acpi/pc/DSDT.roothp new file mode 100644 index 0000000000000000000000000000000000000000..886a5e6952f6f034bdd80d44d43de5975a1a4b0f GIT binary patch literal 5130 zcmb7IQEwZ^5uPQF@^O!pj?&q3tT-lQyJ?cbCMj8Q&=-++6iG{@&OFL(aYFAXDJT^L z$iaz=C`wS80Tjn?f$E|UeP9eeTR)-w3Hb@>OMgI$#(D}nbH}AYish6#E;rFI)ppF3mjp?sik+#8Z8-!eB$l^fgbI6oYO#EbgY77cNR>&l98Qq#Yp78<5Ahk z8+DMKt%?C^RSqykxoj320>ltRX1iTB8&yaEeD{+AlKogEdG0~6W~9x!;iR<{$7IH=5j`laF>=C7(FEwqfSQJg*s**|Z8g#y5F}@e>~5H}N~m7kHn4$baNBT$Y_R zqnMiK8dbpPCxU|A$!(a8tVmA^){earuF8`o_G$Ffs4OqG{TOokW_9>Z4AHot6W%$E zo<>1lRQ-2u)*Je8LX<(KKD7rPFnJLeu2NY(Tc)Q9Ce*j#b^e1%z6X7*+|>atLu(<;~3cFqP zco#u&thkNZx&eFL8^^n>n>ucCX{fef@7v^1$|ERsyvrj)O<|yk4mCRLd0!mta22rT z;mIC=ci2RKPxcsidr#aZJZkn_`|*w2QHqwzmI|7g_4^qaA6a_j=&>YgbCvrztKIk^ zZ?|y2#Cu%PRx0=PdK>}uOlq1dUr#~YFO~y%N;)3HXQit=YhlhU8uv(TcQ!6ynplj% z-bmoyqn$0|Tv@40eD3RMh(}{sWgNc>eh)yK@i%pkf}rrUlw(vZ_=3i~?Q3Re4*(+c zx-ZW=R^4JxTR{}q2BbxW_wVQDb;d0sho8HVn`I4RC>wtu->ysD@_8zMJttG~=y@)LBiH0at8snPY9zuEow#1-g2jxz{Rw$_ zJTk5&=m+CUoPvqb*x8>I#l|7 zI#lQr0pB8SIC8)L&z}OzzkYoB&e=PGj$r+M|1Sa_XrWDi=~kvoI0eD2ENRxvOdh8o z=su($X*`6>xc#e^1io(o>U3#Q?v=&fyZZ!I~q zQxe0NalGuz$`W4m@Ct|09kNjH>Tk~`+wR<2`<=cP1aQAt-NItY5gKo=qYroy1_3D#KwoehNwR{Ym7h;=Runis6ND+8z&3Kgsu1@vMV zv>;e73FxIzs9>EJ(D^W^E?6%M=;ctTV0}$MUkig8g7u1kUI~Q?)&&7w2!j>{>+1sg zdMH$|UKP-*VbC?f`i6kM5egNo*97$1B&b%qYCNblB378M2Td4VNOg0QTjfPE{lv`HXK^01{~Pd>7+`3xlTv^=ztD{LVH8~M63 zw2?Dx1Opp+TN&EO9d74=jr_e!wwc40e+ZzA+fvAQ^r3ua#{=-l!VMO_EnUz qIEMB%$!OQE(aj2fBcUHEXrb|V-eQA+!J``fG=la&-l7$y;r{_Geabxm literal 0 HcmV?d00001 diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index ac864fc982..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/pc/DSDT.roothp", From patchwork Wed Sep 16 06:13:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11778991 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 20819112E for ; Wed, 16 Sep 2020 06:18:49 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C5CAD208E4 for ; Wed, 16 Sep 2020 06:18:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="CtAL8nJL" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C5CAD208E4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:53358 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQmF-0007Na-OX for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:18:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59436) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQhp-0001hW-Fi for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:13 -0400 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]:38372) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQhn-0005lC-FI for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:13 -0400 Received: by mail-pl1-x643.google.com with SMTP id c3so2624572plz.5 for ; Tue, 15 Sep 2020 23:14:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=tX9XLbRzvavvjyMGPc0edB0FeNbRKcsKHFO3wqmL2TY=; b=CtAL8nJLWNFsdH7iXEqobHGm3zrCOJZYbETTxmud7Rnuf/1hcBvSnjWiv9EL8V72pz mFDduJd/FDvru8WvMnSdm9dLMLjSouH6mbG/4EKjc9o4nta56Xh9pFgMizWpgXIiTrwO UawBrCxo3hgpVT9pc87WBjZ0HKr4eRfPDp5GEUZvo/BacJxgc5JmItSLXs6K/ugw4jHk M8QE5O2/ugT7oQCqjsCoues4c++gBfWuckSWF+S2SErxOCbjUKLfpEOpgmMWUCkNZY0W tUKFK1v/a3eZA5W1VKXLwihSvNM5RD0tIWtY5AixlilHPPw79qJecRQtIsfhoghcVbUf 1Png== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=tX9XLbRzvavvjyMGPc0edB0FeNbRKcsKHFO3wqmL2TY=; b=a0/dKNFJ4GMw82F4xfoahyvoM5z0aLmuy6MezIEgoEIv+bIm/XsSUAV0Bw5IPzS3kI /8ibfSD6C6nbmhPtA5o26oMDhZTBau8rAS0XcBt7aje459/kzX995xiPu3BOY8SsJMpm 3p507iURloyYDSZW9YH8WsbteT8wXOew2m6NG3QIuIMEYSoHgw/phPOa8+TEg+ixm2CV 3qeqGkJxZyck/Bmdu50lOXY0hIju67r7r9L2ysWca0cDJQ0YXFSPD9tnGVvkiHx5nmgC cwBC/1d2fDJyBRTqhZSP1PuPSh2BV81vNSCMRjlWIeBTIQf8diwuB4JAZ+4uHqwa/NL5 5NUw== X-Gm-Message-State: AOAM531xFuxZQdVh0ECzXrE0Z5w9nduVxVaH6Qu8lr8ggeRxzQHk7AOV gu97F7jqAYtlAbyQ4ZemJh7RYvZfAkTQSOfp X-Google-Smtp-Source: ABdhPJziqO7SF8PYcMidjTSWzmqJ2Byf0cFS5hDjHliajpEiCSIpuL4KXrHtJswzhGcf9ytZecwQeA== X-Received: by 2002:a17:902:8c8c:b029:d1:cc21:9056 with SMTP id t12-20020a1709028c8cb02900d1cc219056mr11302303plo.22.1600236848628; Tue, 15 Sep 2020 23:14:08 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.14.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:14:07 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 04/11] Fix a gap where acpi_pcihp_find_hotplug_bus() returns a non-hotpluggable bus Date: Wed, 16 Sep 2020 11:43:28 +0530 Message-Id: <20200916061335.14045-5-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::643; envelope-from=ani@anisinha.ca; helo=mail-pl1-x643.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philipp?= =?utf-8?q?e_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" When ACPI hotplug for the root bus is disabled, the bsel property for that bus is not set. Please see the following commit: 3d7e78aa7777f ("Introduce a new flag for i440fx to disable PCI hotplug on the root bus"). As a result, when acpi_pcihp_find_hotplug_bus() is called with bsel set to 0, it may return the root bus. This can cause devices attached to the root bus to get hot-unplugged if the user issues the following set of commmands: outl 0xae10 0 outl 0xae08 your_slot Thanks to Julia for pointing this out here: https://www.mail-archive.com/qemu-devel@nongnu.org/msg734548.html In this patch, we fix the issue in this function by checking if the bus which is returned by the function is actually hotpluggable. If not, we simply return NULL. This avoids the scenario where we were returning a non-hotpluggable bus. Signed-off-by: Ani Sinha Reviewed-by: Igor Mammedov --- hw/acpi/pcihp.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) change log: v1: initial patch v4: commit log updated as per suggestion. diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 39b1f74442..32ae8b2c0a 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -147,6 +147,21 @@ static PCIBus *acpi_pcihp_find_hotplug_bus(AcpiPciHpState *s, int bsel) if (!bsel && !find.bus) { find.bus = s->root; } + + /* + * Check if find.bus is actually hotpluggable. If bsel is set to + * NULL for example on the root bus in order to make it + * non-hotpluggable, find.bus will match the root bus when bsel + * is 0. See acpi_pcihp_test_hotplug_bus() above. Since the + * bus is not hotpluggable however, we should not select the bus. + * Instead, we should set find.bus to NULL in that case. In the check + * below, we generalize this case for all buses, not just the root bus. + * The callers of this function check for a null return value and + * handle them appropriately. + */ + if (find.bus && !qbus_is_hotpluggable(BUS(find.bus))) { + find.bus = NULL; + } return find.bus; } From patchwork Wed Sep 16 06:13:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11779025 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 003FF112E for ; Wed, 16 Sep 2020 06:21:43 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9E7C4206A4 for ; Wed, 16 Sep 2020 06:21:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="j4uNYF1L" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9E7C4206A4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:33712 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQp3-0002fJ-KA for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:21:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59476) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQhu-0001ul-Na for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:18 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]:43856) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQhr-0005lV-AQ for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:18 -0400 Received: by mail-pf1-x42b.google.com with SMTP id f18so3335930pfa.10 for ; Tue, 15 Sep 2020 23:14:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Q9e5WoPP1IxGkMk/UfsIYmbQR1ZYEM3M7sDwaoDUZm8=; b=j4uNYF1LKs7De9YVYy3TSc0dYYH7KLOD6hX2jOcuqePBg47UCEoSxuruXCf9pZxi7v 82eB/tJ4hDq+OOj9BDW8AQ+SZLWwLG6+z7aFGu9VzAXFbmy6USO2vkkmLUDP2dErDcdB bXSP4nKuy5xhZJnld+41cjzUDPXajp57LtO2KLRqIRcnIWZhL/J4dwNZm6VLzT7HXvRu h8D4PqO2Jn7z+BjWvlyLBlEsfGbqRWhwMcbnYShACOzE0vt3pGfBo6XBUNsNB7At7nbp /FgrXiqUS1HlTW3bgw1lx8pNAXlJ8QGBjcAOHDNDRpKOcTKOzwMG7t01YFreNyYFoHea Eiwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Q9e5WoPP1IxGkMk/UfsIYmbQR1ZYEM3M7sDwaoDUZm8=; b=An1VVnm/MBBbdbCbi2VLMBAlxCS71vF9n3voRlDM16PwKsVv4yV8pc+0k+XsVXVwZS WKF9k7sU4HU1qQfZnrkkTvG2DxdTGZn3s0uS4EBGKYDikl8Zw2tTzopz/oC0SpQJ22Me 4QLM47PDkwnmIa0trMMuKL9yVQ09H9tFI6igLNvvCcgD5xYln7Di6dy4sK+3E314AdYu K7FkUno4car8SK0wcU81VdfY9lSOGZgUxGVKVCx+7g55CwA9aQaqwvGdL9AnS4FSvJYY oAXcwK8rLDrmoGrWecy4YlTznPmYVoWd9Kza3loMTHYtBUZS2RXnqDE3Iw8bzHKOVpm1 kHBw== X-Gm-Message-State: AOAM533EMb57U3btq+5Z/+5QwHPmqtRgkPOvRxWLRg8SEmyvIdtfPlFE zaZSTYe5wN8eYr7xzJfa8okhM+U2MRwSIleT X-Google-Smtp-Source: ABdhPJwkNQvagdECH5/v3VzLffJt760XTVppSAaQcv7pJttCmfCcyJ0ERSSvaZkDx5Mp7mEyhCwd2A== X-Received: by 2002:a63:1c4e:: with SMTP id c14mr16848858pgm.98.1600236853419; Tue, 15 Sep 2020 23:14:13 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.14.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:14:12 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 05/11] i440fx/acpi: do not add hotplug related amls for cold plugged bridges Date: Wed, 16 Sep 2020 11:43:29 +0530 Message-Id: <20200916061335.14045-6-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::42b; envelope-from=ani@anisinha.ca; helo=mail-pf1-x42b.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philipp?= =?utf-8?q?e_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Cold plugged bridges are not hot unpluggable, even when their hotplug property (acpi-pci-hotplug-with-bridge-support) is turned off. Please see the function acpi_pcihp_pc_no_hotplug() (thanks Julia). However, with the current implementaton, windows would try to hot-unplug a pci bridge when it's hotplug switch is off. This is regardless of whether there are devices attached to the bridge. This is because we add amls like _EJ0 etc for the pci slot where the bridge is cold plugged. We have a demo video here: https://youtu.be/pME2sjyQweo In this fix, we identify a cold plugged bridge and for cold plugged bridges, we do not add the appropriate amls and acpi methods that are used by the OS to identify a hot-pluggable/unpluggable pci device. After this change, Windows does not show an option to eject the PCI bridge. A demo video is here: https://youtu.be/kbgej5B9Hgs As a result of the patch, the following are the changes to the DSDT ACPI table: @@ -858,38 +858,33 @@ Return (Zero) } Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State { Return (Zero) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (Zero) } } Device (S18) { - Name (_SUN, 0x03) // _SUN: Slot User Number Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } } Device (S20) { Name (_SUN, 0x04) // _SUN: Slot User Number Name (_ADR, 0x00040000) // _ADR: Address Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device { PCEJ (BSEL, _SUN) } } Device (S28) { Name (_SUN, 0x05) // _SUN: Slot User Number Name (_ADR, 0x00050000) // _ADR: Address @@ -1148,37 +1143,32 @@ PCEJ (BSEL, _SUN) } } Device (SF8) { Name (_SUN, 0x1F) // _SUN: Slot User Number Name (_ADR, 0x001F0000) // _ADR: Address Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device { PCEJ (BSEL, _SUN) } } Method (DVNT, 2, NotSerialized) { - If ((Arg0 & 0x08)) - { - Notify (S18, Arg1) - } - If ((Arg0 & 0x10)) { Notify (S20, Arg1) } If ((Arg0 & 0x20)) { Notify (S28, Arg1) } If ((Arg0 & 0x40)) { Notify (S30, Arg1) } If ((Arg0 & 0x80)) While at it, I have also updated a stale comment. This change is tested with a Windows 2012R2 guest image and Windows 2019 server guest image running on Ubuntu 18.04 host. This change is based off of upstream qemu master branch tag v5.1.0. Signed-off-by: Ani Sinha --- hw/i386/acpi-build.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 7a5a8b3521..e079b686f5 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -359,6 +359,7 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus, int slot = PCI_SLOT(i); bool hotplug_enabled_dev; bool bridge_in_acpi; + bool cold_plugged_bridge; if (!pdev) { if (bsel) { /* add hotplug slots for non present devices */ @@ -380,15 +381,14 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus, pc = PCI_DEVICE_GET_CLASS(pdev); dc = DEVICE_GET_CLASS(pdev); - /* When hotplug for bridges is enabled, bridges are - * described in ACPI separately (see build_pci_bus_end). - * In this case they aren't themselves hot-pluggable. + /* + * Cold plugged bridges aren't themselves hot-pluggable. * Hotplugged bridges *are* hot-pluggable. */ - bridge_in_acpi = pc->is_bridge && pcihp_bridge_en && - !DEVICE(pdev)->hotplugged; + cold_plugged_bridge = pc->is_bridge && !DEVICE(pdev)->hotplugged; + bridge_in_acpi = cold_plugged_bridge && pcihp_bridge_en; - hotplug_enabled_dev = bsel && dc->hotpluggable && !bridge_in_acpi; + hotplug_enabled_dev = bsel && dc->hotpluggable && !cold_plugged_bridge; if (pc->class_id == PCI_CLASS_BRIDGE_ISA) { continue; From patchwork Wed Sep 16 06:13:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11779003 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 12DD8112E for ; Wed, 16 Sep 2020 06:20:06 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C67372065E for ; Wed, 16 Sep 2020 06:20:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="o3qwXZHl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C67372065E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:57598 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQnU-0000jK-Jp for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:20:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59510) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQhx-00022Q-Iz for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:21 -0400 Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]:43709) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQhv-0005mU-Q1 for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:21 -0400 Received: by mail-pf1-x444.google.com with SMTP id f18so3336017pfa.10 for ; Tue, 15 Sep 2020 23:14:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fmZ0zShxvpsHgpLnoq8aruXTkYTNo4xgCabQ1KXMZUo=; b=o3qwXZHlstNr1lKXanIrCPjDnUDYaRnRTolEGqaDHNDtDLQBdXb1pa1dKHGV3HntjW /sOcDC3JM4cEaqKyUqMGf2vpovwyUKg5CMT8EtRUN9b0mgRVLjhB1Pe55qwG6GoPK8H7 XBoyQbGC04k+rnOlH8QjCJM09pewt1lGRictVL9mCvlu0tCsRxLB8pG8gUhmcEBO9PNR DEjn3qWSsvP9d+WSIHbI/TWyKUTUmzYBJjCfTZJpaOa1KzAkkFO9NejloIBe+EqUKj/r bN4kK56nXDPTVdx9ClKzzC8V5mQFonfZ4sTcyE99T8NYyiOkKx4SJmCaCpoYRQE+QS+H 1pXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=fmZ0zShxvpsHgpLnoq8aruXTkYTNo4xgCabQ1KXMZUo=; b=INB85eDtAj65ihyfFBDH0n+5a7s2uzD1JERSxwsunRY+/nNkOWUUAOniFRLJ6Y0mBP J087rEh+/fjI3L3yi+IFfIWSDpFPG/yBofDGrDNCgG3HqyOGr7snOa0pxpe1/IK6NVf7 7tkSAIYXhGCZSgc4O/yO7mRkJwqIsipYDULeNOymQiBfTAhju3KfSWHabnavDqeCOHjH oWagGqGnLnWhGdPIGCe/w1b8WcNwUmOz24Py9MbZCdUYNuWgKxN6rw1dS8WqOmBkr2g5 CD4AoCQ0diZY12f8n2Cqq1+0gVPVcZjGz0UktSczbi5RJZol8eJVi2e8UUtppvjXBWsm KJrA== X-Gm-Message-State: AOAM532a/ALJT9Gwwr2PCRj4tIbsF+9fZjOrFZCHe5Ju2mzjv4nAqnHQ bA0tsZMiI3iKpqsrCYXMJHRLdgHmfuYEFcl1 X-Google-Smtp-Source: ABdhPJyFq0CWY8fBpUHXvxc5uTl0gVpG6Vz4UtCQKPyFIMolv7N1XFNor56Me1jD5C9UedCF8JRlCw== X-Received: by 2002:a63:4a19:: with SMTP id x25mr16774931pga.56.1600236858247; Tue, 15 Sep 2020 23:14:18 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.14.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:14:17 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 06/11] tests/acpi: list added acpi table binary file for pci bridge hotplug test Date: Wed, 16 Sep 2020 11:43:30 +0530 Message-Id: <20200916061335.14045-7-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::444; envelope-from=ani@anisinha.ca; helo=mail-pf1-x444.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philipp?= =?utf-8?q?e_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" The file 'tests/data/acpi/pc/DSDT.hpbridge' is a newly added acpi table file for testing the pci bridge option 'acpi-pci-hotplug-with-bridge-support' under i440fx. This change documents this fact. Signed-off-by: Ani Sinha --- tests/qtest/bios-tables-test-allowed-diff.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8b..96a9237355 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/pc/DSDT.hpbridge", From patchwork Wed Sep 16 06:13:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11779067 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 06638112E for ; Wed, 16 Sep 2020 06:24:21 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ABE372067C for ; Wed, 16 Sep 2020 06:24:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="cy9Yx850" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ABE372067C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:42160 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQra-0006En-IS for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:24:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59552) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQi3-0002H1-28 for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:27 -0400 Received: from mail-pg1-x541.google.com ([2607:f8b0:4864:20::541]:44891) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQi1-0005nW-6G for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:26 -0400 Received: by mail-pg1-x541.google.com with SMTP id 7so3277340pgm.11 for ; Tue, 15 Sep 2020 23:14:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=1HJAcNNwPJS7p1FkxDsM+O9s3xr3SqwAfIoNSM2l/6c=; b=cy9Yx850Esuk6FqkO2YoK97gz3jAnNK5OwBTSZJt9CU3Q98taTCvBFBiaYeGSVv2C7 JboXojTqvbohMxIThjQT+85mEb0klfV23rdPWgv/rAOd1GaGMg72gXcwnoVufMyq9K6L qmDrrmOQk9DKSBSOAAAKZ/Q8ahwtT4WplAHhl9PWVbH6vhz0wU04x1XY0T29TMonU3St sp/FnBO/ytLibiA3dHLK9cUJOkgrXVNT/Az1lS0dyR9h9HKlJysLNcdKVqonHnpxxcD3 fjKr1V2cu+KLAMgFtLKr9T7RGyyGXCQkWi/rBfvLxpeVVyqNY+WY1rP3g9kPJ4qZAmpG OtBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=1HJAcNNwPJS7p1FkxDsM+O9s3xr3SqwAfIoNSM2l/6c=; b=hs9HI3Icbh1RxioDtzlVL+baXcoLOp9wwAtHHrR6dfgMmhOJM3heurqfMLX/Lt/1q6 ynlW1aS5Q7C4+eCeQTQnnX3LExZGhUt0j3CkSmkgVgPFhRYEobC+6NF4LcLy21d/+Bf1 fonFCRhep8Z+TUuYbef06qKTbLyO36cKDdhKJOJZkzcUTblJfjUIE9C1wlZ6Zk/B4uKt RFtZywxIdRTJIRCW4A/YMd/A2ihORvH/jZ5bM0W3ptoib8TKOHT1EbGwV5sChRbj8NHI rkzL//eItTf9PHfv8AZtU3uWkQ6bMF/BorkUWfMrIaZ1CjGN4/gaOS/54zYuGVQwCyc1 8BbA== X-Gm-Message-State: AOAM532LmjU5hSgbqBaFnN821Q/C68GX3unE7tQLfqryY/ej7YVanNwH sTMHdWH8r34RAc/nlBGirPR0dCAKd+VY1GCp X-Google-Smtp-Source: ABdhPJy4bRObR/pJQ1T2VP6hP5fPrSjiX7CQKNZOYUozR5EIDrL+Pf5iNwL0228upQYYLrkPNDkcuw== X-Received: by 2002:a65:4984:: with SMTP id r4mr16836797pgs.261.1600236863509; Tue, 15 Sep 2020 23:14:23 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.14.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:14:22 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 07/11] tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag Date: Wed, 16 Sep 2020 11:43:31 +0530 Message-Id: <20200916061335.14045-8-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::541; envelope-from=ani@anisinha.ca; helo=mail-pg1-x541.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" This change adds a new unit test for the global flag 'acpi-pci-hotplug-with-bridge-support' which is available for cold plugged pci bridges in i440fx. The flag can be used to turn off acpi based hotplug support for all pci bridges. Signed-off-by: Ani Sinha --- tests/qtest/bios-tables-test.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index d8c7d57557..7632cfe1be 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -754,6 +754,20 @@ static void test_acpi_piix4_root_hotplug(void) free_test_data(&data); } +static void test_acpi_piix4_bridge_hotplug(void) +{ + test_data data; + + memset(&data, 0, sizeof(data)); + data.machine = MACHINE_PC; + data.variant = ".hpbridge"; + data.required_struct_types = base_required_struct_types; + data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); + test_acpi_one("-global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off " + "-device pci-bridge,chassis_nr=1", &data); + free_test_data(&data); +} + static void test_acpi_q35_tcg(void) { test_data data; @@ -1159,6 +1173,7 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/piix4", test_acpi_piix4_tcg); qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge); qtest_add_func("acpi/piix4/hotplug", test_acpi_piix4_root_hotplug); + qtest_add_func("acpi/piix4/brhotplug", test_acpi_piix4_bridge_hotplug); qtest_add_func("acpi/q35", test_acpi_q35_tcg); qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge); qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64); From patchwork Wed Sep 16 06:13:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11779083 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CCB91618 for ; Wed, 16 Sep 2020 06:27:04 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 74278206A4 for ; Wed, 16 Sep 2020 06:27:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="12L1Y0Tl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 74278206A4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:49050 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQuF-0000pQ-FI for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:27:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQi9-0002XT-8v for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:33 -0400 Received: from mail-pj1-x1043.google.com ([2607:f8b0:4864:20::1043]:38323) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQi6-0005nw-7g for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:32 -0400 Received: by mail-pj1-x1043.google.com with SMTP id u3so994271pjr.3 for ; Tue, 15 Sep 2020 23:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ARrqKiw0ZI71X/nMn8SUrP42xKqFqGltw1z766gv2gQ=; b=12L1Y0Tl3SLjKNYPGT3G9NLqIuCsvYdGfr5MT2wnVjgHQ+s1REQ89sT+EKrb/3Sjzc P4LtZ3GtXjI/t7VA4VsN/YSpc136mScDY6/egTM2SVRzKCQ15L2M1TlZeq8PSaTXLUse ZsZzREbic+0rcnWEh4uiAGHoqsSX+peaKiitlrItnnMa5qRvY8H5YFFnP8j2aGBfdhkD 0X73wWYft9uSKwqWSdDaImz1NP0gDlKCy4XCouHFnwfIYUzUjGgWzjSbWjHzeVopc66+ soGlG6LIcudX8E/gyABHOTmmJ4VR+QQWZ1S4919BrxntSkbjWGBnnWsCo/lHB8xxrZOo o1Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ARrqKiw0ZI71X/nMn8SUrP42xKqFqGltw1z766gv2gQ=; b=dZ6MRp+LsucXF2JyVaGpiWFQdlPebiHLHzQ4VhrMU0oRzKugXfutTJs9a/DWgu61lA GhoRuiE4FhTj3+dhUjU0tYS29eQR/tErbF24f2bjYmzXR/fm4qIcmE4+oU/YPEfjdhBL lonkr0dIkW56qkBd24LeCIPaM0euMd9Y5fpgXg3dwoCylkzAbuYAwLJZmavL7E2sSJfb C5u40g20vlNM6Nu9mALtDpfd2c2H3C44pHGxfmRchymVkonbM//lDigNbqCDLo1WsNyo TqBMemaZEwteG1zxF3sttvfR2EGN3tjyB11iRDCi2Qecdg9QfANP8RZojFLaJesNi4y/ mcRw== X-Gm-Message-State: AOAM533sAatZ4gn+Qa4J7+nahkrIdUow3lwO5ugEAwp9083yfEj4Jdr1 /mzH4DwTLMMHgXXVhlBL1IGwlNQsCVZoAP/s X-Google-Smtp-Source: ABdhPJz4wt2LpDp6RB5a53NboArCY2Y6yyJe90a38U0ejT0hP5HlqUmehyojLz8BHWwnzBoWfiXEYg== X-Received: by 2002:a17:90a:bd8b:: with SMTP id z11mr2700085pjr.2.1600236868285; Tue, 15 Sep 2020 23:14:28 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.14.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:14:27 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 08/11] tests/acpi: add newly added acpi DSDT table blob for pci bridge hotplug flag Date: Wed, 16 Sep 2020 11:43:32 +0530 Message-Id: <20200916061335.14045-9-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::1043; envelope-from=ani@anisinha.ca; helo=mail-pj1-x1043.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philipp?= =?utf-8?q?e_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" This patch adds a binary blob corresponding to the DSDT acpi table. It is used to unit test the flag 'acpi-pci-hotplug-with-bridge-support' used with pci bridges. This change also clears the file tests/qtest/bios-tables-test-allowed-diff.h so that future changes which affect the table can be caught. The following is the diff between files tests/data/acpi/pc/DSDT.bridge and tests/data/acpi/pc/DSDT.hpbridge after disassembly : @@ -1,30 +1,30 @@ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20180105 (64-bit version) * Copyright (c) 2000 - 2018 Intel Corporation * * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/data/acpi/pc/DSDT.bridge, Fri Sep 11 23:21:34 2020 + * Disassembly of /tmp/aml-7UURQ0, Fri Sep 11 23:21:34 2020 * * Original Table Header: * Signature "DSDT" - * Length 0x00001A89 (6793) + * Length 0x0000131F (4895) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x09 + * Checksum 0xF9 * OEM ID "BOCHS " * OEM Table ID "BXPCDSDT" * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001) { Scope (\) { OperationRegion (DBG, SystemIO, 0x0402, One) Field (DBG, ByteAcc, NoLock, Preserve) { DBGB, 8 } @@ -859,522 +859,32 @@ } Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State { Return (Zero) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (Zero) } } Device (S18) { Name (_ADR, 0x00030000) // _ADR: Address - Name (BSEL, One) - Device (S00) - { - Name (_SUN, Zero) // _SUN: Slot User Number - Name (_ADR, Zero) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S08) - { - Name (_SUN, One) // _SUN: Slot User Number - Name (_ADR, 0x00010000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S10) - { - Name (_SUN, 0x02) // _SUN: Slot User Number - Name (_ADR, 0x00020000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S18) - { - Name (_SUN, 0x03) // _SUN: Slot User Number - Name (_ADR, 0x00030000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S20) - { - Name (_SUN, 0x04) // _SUN: Slot User Number - Name (_ADR, 0x00040000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S28) - { - Name (_SUN, 0x05) // _SUN: Slot User Number - Name (_ADR, 0x00050000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S30) - { - Name (_SUN, 0x06) // _SUN: Slot User Number - Name (_ADR, 0x00060000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S38) - { - Name (_SUN, 0x07) // _SUN: Slot User Number - Name (_ADR, 0x00070000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S40) - { - Name (_SUN, 0x08) // _SUN: Slot User Number - Name (_ADR, 0x00080000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S48) - { - Name (_SUN, 0x09) // _SUN: Slot User Number - Name (_ADR, 0x00090000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S50) - { - Name (_SUN, 0x0A) // _SUN: Slot User Number - Name (_ADR, 0x000A0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S58) - { - Name (_SUN, 0x0B) // _SUN: Slot User Number - Name (_ADR, 0x000B0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S60) - { - Name (_SUN, 0x0C) // _SUN: Slot User Number - Name (_ADR, 0x000C0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S68) - { - Name (_SUN, 0x0D) // _SUN: Slot User Number - Name (_ADR, 0x000D0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S70) - { - Name (_SUN, 0x0E) // _SUN: Slot User Number - Name (_ADR, 0x000E0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S78) - { - Name (_SUN, 0x0F) // _SUN: Slot User Number - Name (_ADR, 0x000F0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S80) - { - Name (_SUN, 0x10) // _SUN: Slot User Number - Name (_ADR, 0x00100000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S88) - { - Name (_SUN, 0x11) // _SUN: Slot User Number - Name (_ADR, 0x00110000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S90) - { - Name (_SUN, 0x12) // _SUN: Slot User Number - Name (_ADR, 0x00120000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S98) - { - Name (_SUN, 0x13) // _SUN: Slot User Number - Name (_ADR, 0x00130000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SA0) - { - Name (_SUN, 0x14) // _SUN: Slot User Number - Name (_ADR, 0x00140000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SA8) - { - Name (_SUN, 0x15) // _SUN: Slot User Number - Name (_ADR, 0x00150000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SB0) - { - Name (_SUN, 0x16) // _SUN: Slot User Number - Name (_ADR, 0x00160000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SB8) - { - Name (_SUN, 0x17) // _SUN: Slot User Number - Name (_ADR, 0x00170000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SC0) - { - Name (_SUN, 0x18) // _SUN: Slot User Number - Name (_ADR, 0x00180000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SC8) - { - Name (_SUN, 0x19) // _SUN: Slot User Number - Name (_ADR, 0x00190000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SD0) - { - Name (_SUN, 0x1A) // _SUN: Slot User Number - Name (_ADR, 0x001A0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SD8) - { - Name (_SUN, 0x1B) // _SUN: Slot User Number - Name (_ADR, 0x001B0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SE0) - { - Name (_SUN, 0x1C) // _SUN: Slot User Number - Name (_ADR, 0x001C0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SE8) - { - Name (_SUN, 0x1D) // _SUN: Slot User Number - Name (_ADR, 0x001D0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SF0) - { - Name (_SUN, 0x1E) // _SUN: Slot User Number - Name (_ADR, 0x001E0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SF8) - { - Name (_SUN, 0x1F) // _SUN: Slot User Number - Name (_ADR, 0x001F0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Method (DVNT, 2, NotSerialized) - { - If ((Arg0 & One)) - { - Notify (S00, Arg1) - } - - If ((Arg0 & 0x02)) - { - Notify (S08, Arg1) - } - - If ((Arg0 & 0x04)) - { - Notify (S10, Arg1) - } - - If ((Arg0 & 0x08)) - { - Notify (S18, Arg1) - } - - If ((Arg0 & 0x10)) - { - Notify (S20, Arg1) - } - - If ((Arg0 & 0x20)) - { - Notify (S28, Arg1) - } - - If ((Arg0 & 0x40)) - { - Notify (S30, Arg1) - } - - If ((Arg0 & 0x80)) - { - Notify (S38, Arg1) - } - - If ((Arg0 & 0x0100)) - { - Notify (S40, Arg1) - } - - If ((Arg0 & 0x0200)) - { - Notify (S48, Arg1) - } - - If ((Arg0 & 0x0400)) - { - Notify (S50, Arg1) - } - - If ((Arg0 & 0x0800)) - { - Notify (S58, Arg1) - } - - If ((Arg0 & 0x1000)) - { - Notify (S60, Arg1) - } - - If ((Arg0 & 0x2000)) - { - Notify (S68, Arg1) - } - - If ((Arg0 & 0x4000)) - { - Notify (S70, Arg1) - } - - If ((Arg0 & 0x8000)) - { - Notify (S78, Arg1) - } - - If ((Arg0 & 0x00010000)) - { - Notify (S80, Arg1) - } - - If ((Arg0 & 0x00020000)) - { - Notify (S88, Arg1) - } - - If ((Arg0 & 0x00040000)) - { - Notify (S90, Arg1) - } - - If ((Arg0 & 0x00080000)) - { - Notify (S98, Arg1) - } - - If ((Arg0 & 0x00100000)) - { - Notify (SA0, Arg1) - } - - If ((Arg0 & 0x00200000)) - { - Notify (SA8, Arg1) - } - - If ((Arg0 & 0x00400000)) - { - Notify (SB0, Arg1) - } - - If ((Arg0 & 0x00800000)) - { - Notify (SB8, Arg1) - } - - If ((Arg0 & 0x01000000)) - { - Notify (SC0, Arg1) - } - - If ((Arg0 & 0x02000000)) - { - Notify (SC8, Arg1) - } - - If ((Arg0 & 0x04000000)) - { - Notify (SD0, Arg1) - } - - If ((Arg0 & 0x08000000)) - { - Notify (SD8, Arg1) - } - - If ((Arg0 & 0x10000000)) - { - Notify (SE0, Arg1) - } - - If ((Arg0 & 0x20000000)) - { - Notify (SE8, Arg1) - } - - If ((Arg0 & 0x40000000)) - { - Notify (SF0, Arg1) - } - - If ((Arg0 & 0x80000000)) - { - Notify (SF8, Arg1) - } - } - - Method (PCNT, 0, NotSerialized) - { - BNUM = One - DVNT (PCIU, One) - DVNT (PCID, 0x03) - } } Device (S20) { Name (_SUN, 0x04) // _SUN: Slot User Number Name (_ADR, 0x00040000) // _ADR: Address Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device { PCEJ (BSEL, _SUN) } } Device (S28) { Name (_SUN, 0x05) // _SUN: Slot User Number Name (_ADR, 0x00050000) // _ADR: Address @@ -1779,22 +1289,21 @@ If ((Arg0 & 0x40000000)) { Notify (SF0, Arg1) } If ((Arg0 & 0x80000000)) { Notify (SF8, Arg1) } } Method (PCNT, 0, NotSerialized) { BNUM = Zero DVNT (PCIU, One) DVNT (PCID, 0x03) - ^S18.PCNT () } } } } Signed-off-by: Ani Sinha Acked-by: Igor Mammedov --- tests/data/acpi/pc/DSDT.hpbridge | Bin 0 -> 4895 bytes tests/qtest/bios-tables-test-allowed-diff.h | 1 - 2 files changed, 1 deletion(-) create mode 100644 tests/data/acpi/pc/DSDT.hpbridge diff --git a/tests/data/acpi/pc/DSDT.hpbridge b/tests/data/acpi/pc/DSDT.hpbridge new file mode 100644 index 0000000000000000000000000000000000000000..b0751398541bdf88ce405be9742aeba0b375dbc3 GIT binary patch literal 4895 zcmb7IQE%Hu5}p+)hgwNCWixSVw~gQ=SF}AelAO9J?!^)*ONuR-5#`(+Xn>UM;^d-5 ziL?Rg8pSCp;HG&ibUEC^J*a`6t!ol_>-v{sAB*?@AR!!$ zH|n4`I~4=esuEy|O4%$n1c)Js%yzqMHmZ;S_~Dm0$o3=M+b;Td5SEJ&9q)NDeZ< z5vad=hoYfy?aorg$~%6n=$>IH=Ix9g;Vzfe+Ttxq010JxZf_P01P3Wf7(GTM++5|C zOUwlq7%Q;@IKc0f2zs+SH>%q^qfv7UFO5=obOlsG<&_OXAI;w-oH+`9nO`ljpQN88 zkW1`^^g;r*vJP*_K5=$q%gl>;-Y_cjX%%>sZ}SY}r#!-M;@>=9<^%o_|C!HmMR7Ka zVrr3VQ~~3k2nu#5w`Df6B0V`+JN8nzDo>W!=hEkrqO7$27;^e{bu=c5Xk5@KW6q>A z36vGpA9J(b&_@#zA7<)Pd*A_6R)FCum6h{lYMZ*%U~zcP6|4>tbX>ljG(L>9-L{H% zv5J-F9BU^|f?miJ@1mhltJYau4Gbjch1yOvZL`9bz6sh*Q!n0)*w;xK47?T@y(4xA zG~9lJ)O}EESbYUY-Q-j;n!z2j-T-et(sn&)J}bnYHhJ6oqRAt$=N&(2?g5uzzo&Nh z5fsCU+p29EaL~Ka-Dka2x5?#^+Jb}ck|QaPpj3CCM@E{$P$P{rIvjXk9_?`zu;$_M z0f2YhM1PMD7l5C2dt-)m69r?Phm$zI)z(&3bX%o zPd|D1VE=(%=V z8$yPGtm{<+Tg^OyB;6`*r4ec58)+@!RB9E)15#r0Z}0kD3S$Z4OXhX6lF4K<6hUwl zMzxgQ*!Xj#$Ga^!(KDIMp;n&39+r>U*LQEp;*6mjDR$~alWKJ4f!kZ^P8ukBkI%XG z8y75Fn|)WSMk%A;=7>#FA;VODtvst+dQAySgSpT0@vh4-bPpy;afW*(`9ebeO5k)& z!g2DMcOf!Fd(8cAQ|^^7Qu*sSor+5rxe$(A(-W=6^lht=2upP8dR+(>GxiRrtG&nN(NeoA8N~3 zz9qBh6f-$oApg2UrA(`;Zp&oyH}i0g6x6eXM5-5PK1+<`Bp!SK|M_|mAh6S+G8oXI zLZ1lu7IDK-27~W^2`vBm`N`YoV*(w)27|$01w7C~o4)B*rpq`5!L2N5*33*Ery%G) zq#tWL!8Iu!?Se zhB4#&ZD(GQ@uG)UIF#Nc3k9$K;e4{~&N~}_)Hi|v?iH&$SS&e0b2NlL@ZMD7NWSZ4)v zHWVsY@dg;gIu{1LBUn`dRYReIH6@^_FzEY&bzVT{L!p8df0G5VE`&kzf)xurfNG&o z!FpLhFNZ-3g7u1kUI~Q?)O{aPc^OB}cG$JYrputQ%+ zlW=D!tfPQUD6q6iAWQPN701)}#KKN8lp-XJY%)sN4~8~{q>+uB;jSLq$lKb;M(%KL z4sGP`J+jRmx3Hn&@o-|{9uqPi5GbG9@t8QVaJL9M-Vjhex2q&$-3xo#m(T6%Bx3~& zd)t@K?S95si^7hl#EGSk*(qzRs*#=YHpc9fIo8L>o+f$BzK$}k^vK>O8SUCNx_{t* S66ohVtr{L;J8bx3aOwYF+mJl~ literal 0 HcmV?d00001 diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index 96a9237355..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/pc/DSDT.hpbridge", From patchwork Wed Sep 16 06:13:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11779099 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BB00F112E for ; Wed, 16 Sep 2020 06:29:09 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 459AE206A4 for ; Wed, 16 Sep 2020 06:29:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="fBzTR+1B" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 459AE206A4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:53848 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQwG-0002tB-Bi for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:29:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59612) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQiD-0002i9-9e for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:37 -0400 Received: from mail-pg1-x541.google.com ([2607:f8b0:4864:20::541]:39022) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQiA-0005oN-QU for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:36 -0400 Received: by mail-pg1-x541.google.com with SMTP id d13so3302931pgl.6 for ; Tue, 15 Sep 2020 23:14:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=se8T+071gdWV22zxTucjzERCYJKE6sbneEJhaf7pkzc=; b=fBzTR+1BfP7nuxsDUUNJ2DD/GI1ln17QughDYioacCJEJ9xIygWXMSuXWnTNPpcFd6 AYKg3sK4VwX31AAMlzK4MVkgSphqh7Tr0KkEOO6iMqJYmVrZTJuL/x0LT7YCvS8MJoYf PUkCBepyXsaOte2LaJPEv2wnCPwGZnBrwLoyjXIdWX8WMYdv+o1feR8l0gNoKKNoOpir LcuXq4xHO+TuhUg1RT7ybWSmGENLU/CKwXFrUN252i4gZGOXkjTEyUPbZ9aaG20Dg9gh Iee651Vgj35jg3NOk1m6YoICS9TSSVWm8pg165F4ZtYTXasi8ckwnHp2yyI2OZQUtjw6 UFDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=se8T+071gdWV22zxTucjzERCYJKE6sbneEJhaf7pkzc=; b=cUlN2n1VKzhvYQ+hleuWv2vDezu7i1TbPiE6Zu2kxaEtiQ12LAzH3KEYmf9iqboxjW YTSDlbR2yP9MA1gkUAu4P2jcLRF8NhC13FKVFZt6MIeN75SqKKG1VbynIUD30kffcuY/ Z3Gj/Rw9+c1zeKGOJxcSFsCadanxth4E5/F3z+jdoOARcdlQkzvvD1x3Ex2DeDFOgOBH 47FhKPonCbFo5mTC6iBzu/Fw3PAlIU1R4qxEnT8Czond+KDw4k1bNkbUKg6WXIiiUe7x X4VyH0NfvNz203hBbq4PM4RZZKdAYXtLiZDciNeZa0AJ9aVZsXEen9HfiHpH6qLrZmI1 RYHw== X-Gm-Message-State: AOAM530l4k4yWF1g0S88/zf0dzijTSYKr6V2LEovYE5pc1ccH+d/BdYL l2/cVJujcBahaGJky5n3ABzCAUqJTvOjjhGx X-Google-Smtp-Source: ABdhPJwED3NVepHLKHcgVRIeQb7bArDh6nQVztIbh9zsf5QQZSuxfrmrDk5e7MHKGZqP88s+XB3xNA== X-Received: by 2002:a63:5b0c:: with SMTP id p12mr16892573pgb.102.1600236873025; Tue, 15 Sep 2020 23:14:33 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.14.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:14:32 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 09/11] piix4: don't reserve hw resources when hotplug is off globally Date: Wed, 16 Sep 2020 11:43:33 +0530 Message-Id: <20200916061335.14045-10-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::541; envelope-from=ani@anisinha.ca; helo=mail-pg1-x541.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philipp?= =?utf-8?q?e_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" When acpi hotplug is turned off for both root pci bus as well as for pci bridges, we should not generate the related amls for DSDT table or initialize related hw ports or reserve hw resources. This change makes sure all those operations are turned off in the case acpi pci hotplug is off globally. In this change, we also make sure AMLs for the PCNT method are only added when bsel is enabled for the corresponding pci bus or bridge hotplug is turned on. As a result, when the hotplug for both the root pci device and bridge are disabled, this AML in the DSDT acpi table is turned off. As q35 machines do not use bsel for it's pci buses at this point in time, this change affects DSDT acpi table for q35 machines as well. Therefore, we also commit the updated golden master DSDT table acpi binary blobs as well. Following is a typical diff between the q35 acpi DSDT table blobs: @@ -1,30 +1,30 @@ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20180105 (64-bit version) * Copyright (c) 2000 - 2018 Intel Corporation * * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/data/acpi/q35/DSDT, Tue Sep 15 18:52:47 2020 + * Disassembly of /tmp/aml-3O0DR0, Tue Sep 15 18:52:47 2020 * * Original Table Header: * Signature "DSDT" - * Length 0x00001DFE (7678) + * Length 0x00001DF6 (7670) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0xAC + * Checksum 0x17 * OEM ID "BOCHS " * OEM Table ID "BXPCDSDT" * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001) { Scope (\) { OperationRegion (DBG, SystemIO, 0x0402, One) Field (DBG, ByteAcc, NoLock, Preserve) { DBGB, 8 } @@ -3113,24 +3113,20 @@ Name (_ADR, 0x00010000) // _ADR: Address Method (_S1D, 0, NotSerialized) // _S1D: S1 Device State { Return (Zero) } Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State { Return (Zero) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (Zero) } } - - Method (PCNT, 0, NotSerialized) - { - } } } } Signed-off-by: Ani Sinha --- hw/acpi/piix4.c | 6 ++++-- hw/i386/acpi-build.c | 25 ++++++++++++++++++------- tests/data/acpi/q35/DSDT | Bin 7678 -> 7670 bytes tests/data/acpi/q35/DSDT.acpihmat | Bin 9002 -> 8994 bytes tests/data/acpi/q35/DSDT.bridge | Bin 7695 -> 7688 bytes tests/data/acpi/q35/DSDT.cphp | Bin 8141 -> 8133 bytes tests/data/acpi/q35/DSDT.dimmpxm | Bin 9331 -> 9323 bytes tests/data/acpi/q35/DSDT.ipmibt | Bin 7753 -> 7745 bytes tests/data/acpi/q35/DSDT.memhp | Bin 9037 -> 9029 bytes tests/data/acpi/q35/DSDT.mmio64 | Bin 8808 -> 8801 bytes tests/data/acpi/q35/DSDT.numamem | Bin 7684 -> 7676 bytes tests/data/acpi/q35/DSDT.tis | Bin 8283 -> 8276 bytes 12 files changed, 22 insertions(+), 9 deletions(-) diff --git a/tests/data/acpi/q35/DSDT b/tests/data/acpi/q35/DSDT index bba8884073a27427b88ac0d733c9c87330a59366..4fad91b72e279b744b0528fd687c862d3a3d5cfa 100644 GIT binary patch delta 33 pcmexo{mq)oCDEHUxHPVoYElb9FB)33dtLkYiwAT)&ZPnJlLVYfOBwQ@nt~9^r>33dtLmt$aH^xnv|OqSE1H6}jTDPF*R@=jTQb`iD!XTJ~z0NaZSF#rGn diff --git a/tests/data/acpi/q35/DSDT.cphp b/tests/data/acpi/q35/DSDT.cphp index 57d859cef9fa16a8f125c4b338611c8472699f38..8d2395e3cb4383b30e3840caed0d09ccad0c7323 100644 GIT binary patch delta 33 ocmX?Wf7G7KCDY0kO^r)&Kwi delta 42 xcmX?Vf7YJMCDvmYDcpr+5K3mdPFRw(KHo0nUCQ3;+bB3f%wz diff --git a/tests/data/acpi/q35/DSDT.dimmpxm b/tests/data/acpi/q35/DSDT.dimmpxm index 9d5bd5744e2ba2e0f6126c3aba0bb36af865e499..df7422051c6feadeaa3b6733ad7efa67c339b49d 100644 GIT binary patch delta 33 ocmezD@!EsSCD)i9vcGQi_CDc=Kufz delta 42 xcmX@=cGiu{CD^ diff --git a/tests/data/acpi/q35/DSDT.mmio64 b/tests/data/acpi/q35/DSDT.mmio64 index efd3f1188f2b55da1514212d4be081a61c2a96e9..d8dd702b69cc24a6b58b8eaa79ea02439a2a7dd9 100644 GIT binary patch delta 33 ocmaFi^3a9LCD)i>_Ld&VC^b00^lI82|tP diff --git a/tests/data/acpi/q35/DSDT.numamem b/tests/data/acpi/q35/DSDT.numamem index 1978b55f1255402bf9bade0b91150b5cb49789a4..f36d22063a6eed4fb107ffd0e10477a2d6d7a983 100644 GIT binary patch delta 33 pcmZp%`D4xH66_N4N0xzs@!&?THL{#;EHUxHPVoYElMl$+0sy+k3XK2& delta 42 xcmexk-D1P#66_MfBFDhM7`l;bjVzZROH6#QQ@ns1%jEsCw(KHo0nUCQ3;^@W3X}i< diff --git a/tests/data/acpi/q35/DSDT.tis b/tests/data/acpi/q35/DSDT.tis index 638de3872673d17b1958497d0e62c83653de1602..203030a61a92c204bb93c43fe79e546471ae2985 100644 GIT binary patch delta 38 ucmccZaK(YkCDUZRU~-WC8&31`DbH delta 45 zcmccOaNB{)CDio_gpe); - acpi_pcihp_init(OBJECT(s), &s->acpi_pci_hotplug, bus, parent, - s->use_acpi_hotplug_bridge); + if (s->use_acpi_hotplug_bridge || s->use_acpi_root_pci_hotplug) { + acpi_pcihp_init(OBJECT(s), &s->acpi_pci_hotplug, bus, parent, + s->use_acpi_hotplug_bridge); + } s->cpu_hotplug_legacy = true; object_property_add_bool(OBJECT(s), "cpu-hotplug-legacy", diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index e079b686f5..e41bb0992b 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -95,6 +95,7 @@ typedef struct AcpiPmInfo { bool s3_disabled; bool s4_disabled; bool pcihp_bridge_en; + bool pcihp_root_en; uint8_t s4_val; AcpiFadtData fadt; uint16_t cpu_hp_io_base; @@ -245,6 +246,9 @@ static void acpi_get_pm_info(MachineState *machine, AcpiPmInfo *pm) pm->pcihp_bridge_en = object_property_get_bool(obj, "acpi-pci-hotplug-with-bridge-support", NULL); + pm->pcihp_root_en = + object_property_get_bool(obj, "acpi-root-pci-hotplug", + NULL); } static void acpi_get_misc_info(AcpiMiscInfo *info) @@ -450,10 +454,12 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus, } /* Append PCNT method to notify about events on local and child buses. - * Add unconditionally for root since DSDT expects it. + * Add this method for root bus only when hotplug is enabled since DSDT + * expects it. */ - method = aml_method("PCNT", 0, AML_NOTSERIALIZED); - + if (bsel || pcihp_bridge_en) { + method = aml_method("PCNT", 0, AML_NOTSERIALIZED); + } /* If bus supports hotplug select it and notify about local events */ if (bsel) { uint64_t bsel_val = qnum_get_uint(qobject_to(QNum, bsel)); @@ -479,7 +485,10 @@ static void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus, aml_append(method, aml_name("^S%.02X.PCNT", devfn)); } } - aml_append(parent_scope, method); + + if (bsel || pcihp_bridge_en) { + aml_append(parent_scope, method); + } qobject_unref(bsel); } @@ -1504,7 +1513,9 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, build_hpet_aml(dsdt); build_piix4_isa_bridge(dsdt); build_isa_devices_aml(dsdt); - build_piix4_pci_hotplug(dsdt); + if (pm->pcihp_bridge_en || pm->pcihp_root_en) { + build_piix4_pci_hotplug(dsdt); + } build_piix4_pci0_int(dsdt); } else { sb_scope = aml_scope("_SB"); @@ -1546,7 +1557,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, { aml_append(scope, aml_name_decl("_HID", aml_string("ACPI0006"))); - if (misc->is_piix4) { + if (misc->is_piix4 && (pm->pcihp_bridge_en || pm->pcihp_root_en)) { method = aml_method("_E01", 0, AML_NOTSERIALIZED); aml_append(method, aml_acquire(aml_name("\\_SB.PCI0.BLCK"), 0xFFFF)); @@ -1698,7 +1709,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, crs_range_set_free(&crs_range_set); /* reserve PCIHP resources */ - if (pm->pcihp_io_len) { + if (pm->pcihp_io_len && (pm->pcihp_bridge_en || pm->pcihp_root_en)) { dev = aml_device("PHPR"); aml_append(dev, aml_name_decl("_HID", aml_string("PNP0A06"))); aml_append(dev, From patchwork Wed Sep 16 06:13:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11779113 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8A83F59D for ; Wed, 16 Sep 2020 06:32:01 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 35672206A5 for ; Wed, 16 Sep 2020 06:32:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="znBDVvFX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 35672206A5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:60476 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIQz2-0005pq-A3 for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:32:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59642) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQiH-0002uc-Vv for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:42 -0400 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]:45027) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQiF-0005or-Vq for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:41 -0400 Received: by mail-pl1-x641.google.com with SMTP id j7so2620769plk.11 for ; Tue, 15 Sep 2020 23:14:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=0NuRMwOOuw4+A7XjAHXyfmzMXY8Mc8JPenZyhrOCMCk=; b=znBDVvFX1vhd+b+B6ErP7EipwCIKyT76EpIvW1JvKM1UaWudnLcZ7KIToZhiOnf034 4hyY5U56q49o+jiPR1pWG0tyeNPK7rQmSuy/VUO5CH9ug6soqai3uqtnWurHckbsIU6P WhzDEuh1ZSkKNWt//fj3ayHlPXnKq2VKXZsYWTen20q6n4PP/8WU8imVbA9IsSsWpVs2 pE9yCdeNAkr6DKOiNavIzHuOqXH9fvBEn7sb93OjBgggHaOtva8wzgB+DhySaRulyur+ 3dZVsTjYfw7UiV7gE+iggvL83eP8fVhUruEaTgq524/zksOVrKasCKoW2Tsiut/G6kdl j79Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=0NuRMwOOuw4+A7XjAHXyfmzMXY8Mc8JPenZyhrOCMCk=; b=bQ/XFBZgKuRn6gRtNkp9Ky3p/OJDga54/gAVb2KOmFHnPHN2UoUXnYTSmNS12CXG2b ObYYF2VNJ3FiZA37xhkEdkHla38CqfQXSSEeqaT58JFbbBO6jVOi+V2QGoOKE4UVHy+4 joph4/QfzGYpn2aFVUMc1UfrJXJF6R2GmovxpKtYErjlf0mH4hPwFOoLtcXnDgeBnnFb Z05y+QDKZga0Lstin1dWR30fwace1Wt7tJfu1vZlaTDbbyxqeSQxJHOy0ZawjCBonOWT GEVUBYMTjPkzzBHyy8HDK2pHY8J01SzIetjKvDIEHO/232ji8qo6wWuUDkAlZkPYhnYx 9qGg== X-Gm-Message-State: AOAM530sQvN1Zfjxc2JJtHVFJZ1qmQSlF2nYz9oTjz7QDWMU1/6zy3H1 tj+m/nxyPci+MumusqMIcGjLVI3o8CWRAqpP X-Google-Smtp-Source: ABdhPJwZoBc988EOUNmW4S+5OeJ7DvqeKo71K/bxVwN333cxQ4HqWZzrnp4vPDjH9GrdRGS9dDVXQQ== X-Received: by 2002:a17:90a:a591:: with SMTP id b17mr2655872pjq.159.1600236878334; Tue, 15 Sep 2020 23:14:38 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.14.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:14:37 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 10/11] tests/acpi: unit test exercizing hotplug off for pci root bus & bridge in i440fx Date: Wed, 16 Sep 2020 11:43:34 +0530 Message-Id: <20200916061335.14045-11-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::641; envelope-from=ani@anisinha.ca; helo=mail-pl1-x641.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" This change adds a unit test to exercize the case when hotplug is disabled both for pci root bus and the pci bridges by passing the following two switches to qemu: -global PIIX4_PM.acpi-root-pci-hotplug=off -global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off bios-tables-test-allowed-diff.h documents the fact that a new DSDT acpi gold master binary blob we need to be added to test this. We will do the actual addition in the next patch in the series. The following link contains the disassembly of the DSDT table after passing the above two switches to qemu: https://pastebin.ubuntu.com/p/WvpYYjpPN8/ Signed-off-by: Ani Sinha --- tests/qtest/bios-tables-test-allowed-diff.h | 1 + tests/qtest/bios-tables-test.c | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8b..dea61d94f1 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/pc/DSDT.hpbrroot", diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 7632cfe1be..4c834474ad 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -768,6 +768,21 @@ static void test_acpi_piix4_bridge_hotplug(void) free_test_data(&data); } +static void test_acpi_piix4_bridge_root_hotplug(void) +{ + test_data data; + + memset(&data, 0, sizeof(data)); + data.machine = MACHINE_PC; + data.variant = ".hpbrroot"; + data.required_struct_types = base_required_struct_types; + data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types); + test_acpi_one("-global PIIX4_PM.acpi-root-pci-hotplug=off " + "-global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off " + "-device pci-bridge,chassis_nr=1", &data); + free_test_data(&data); +} + static void test_acpi_q35_tcg(void) { test_data data; @@ -1172,8 +1187,10 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis); qtest_add_func("acpi/piix4", test_acpi_piix4_tcg); qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge); - qtest_add_func("acpi/piix4/hotplug", test_acpi_piix4_root_hotplug); + qtest_add_func("acpi/piix4/roothotplug", test_acpi_piix4_root_hotplug); qtest_add_func("acpi/piix4/brhotplug", test_acpi_piix4_bridge_hotplug); + qtest_add_func("acpi/piix4/disablehp", + test_acpi_piix4_bridge_root_hotplug); qtest_add_func("acpi/q35", test_acpi_q35_tcg); qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge); qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64); From patchwork Wed Sep 16 06:13:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11779119 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E8320112E for ; Wed, 16 Sep 2020 06:34:57 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 61D89206A5 for ; Wed, 16 Sep 2020 06:34:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=anisinha-ca.20150623.gappssmtp.com header.i=@anisinha-ca.20150623.gappssmtp.com header.b="sUoLENw7" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 61D89206A5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=anisinha.ca Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:37272 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIR1s-00080p-FS for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Sep 2020 02:34:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59666) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIQiO-0003BC-HA for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:48 -0400 Received: from mail-pj1-x1042.google.com ([2607:f8b0:4864:20::1042]:51753) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIQiL-0005qR-Aj for qemu-devel@nongnu.org; Wed, 16 Sep 2020 02:14:48 -0400 Received: by mail-pj1-x1042.google.com with SMTP id a9so1030252pjg.1 for ; Tue, 15 Sep 2020 23:14:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anisinha-ca.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=2K7YzbPOI2cZu8KYO7aeUNJyl2uDaZGDWCyXSRcQjY8=; b=sUoLENw7Cyind/QRVha0XzmyFmPnqiMU4Xu85D8xpF90+J++WcTa8hl/YCAmhrFC+5 M/VrbkoqFlM1FwNxQGOMm56XqlrqYfA9AbQz83lLm/LKVNYW2So2dTAz745ASFQkShQN 2qowJfmzrtEQG0nYJ+QdxQpYDA6m2j6Cz/zrvCP1Za1aMigBCjAqdQFq5ttlalACkdfc kTjFncpSP+nkzDly2q1cPgteHMXPFYxt/yjzc/JSCTmnh7U/BVKUOQ8cKfS9zMjZQreG 5pvWp2igRqlN0wA0x3qrqoMIROew4zJkOl8dQqwHcYAEjQLFEEN25dM+QYq+2qBs/919 RKaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=2K7YzbPOI2cZu8KYO7aeUNJyl2uDaZGDWCyXSRcQjY8=; b=SSn6IcmJHQnpnvUcDPFudc78BAgROAHFim/+3yyKwxCCh476QCSEDtBDpLAx1lGtEX RvoEjaP/LAqm0L7tIBO7nrhX7H+DIFNNzF8j/mPLj5BdFXBmG2KfBteOtKYMX0UBrPdS 5T+HHfJk81rs2hMus74rjUUYWWSsJW0j8fp01OSgzVZBAJegJduu2SU9FixVRAsjIrfE AfUZtzcODAv1vxHq2cENcGTN5IjdYcFoc/+P3edwtvTrMnmj/RksnkQdhKYvamFgI5R4 XYuqANcBGsqem98eP5cWNMZd3r5OBLF2YNYq4LLg+NQRrn+h9BvoMDJAWXF9CyfhTRhC q74g== X-Gm-Message-State: AOAM533m0E9f8dkw6n3KlxsFzkXB+l+zgsxhDV+NsUjozIlGGGl5nlSY YsMG30ujagpoDfL35oLj1aSI2bf2CH1y3fbp X-Google-Smtp-Source: ABdhPJzYpqTFhNLHYPixxwKJPS1jWVOKJWnyKBlCDcK4/mS7DM/qdSrSxSYnoeuIa/UlC+IJ0Vba4Q== X-Received: by 2002:a17:90a:8a04:: with SMTP id w4mr2596212pjn.72.1600236883239; Tue, 15 Sep 2020 23:14:43 -0700 (PDT) Received: from localhost.localdomain ([203.163.234.244]) by smtp.googlemail.com with ESMTPSA id c20sm583164pfc.209.2020.09.15.23.14.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 23:14:42 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v4 11/11] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug Date: Wed, 16 Sep 2020 11:43:35 +0530 Message-Id: <20200916061335.14045-12-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916061335.14045-1-ani@anisinha.ca> References: <20200916061335.14045-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::1042; envelope-from=ani@anisinha.ca; helo=mail-pj1-x1042.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , jusual@redhat.com, =?utf-8?q?Philipp?= =?utf-8?q?e_Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Paolo Bonzini , Ani Sinha , Igor Mammedov , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" This change adds a new DSDT golden master table blob to test disabling hotplug on both pci root bus and pci bridges. Also reverts the change in file bios-tables-test-allowed-diff.h to make sure its now empty so that future modifications to acpi tables can be caught. The following is the disassembled diff between DSDT.hpbridge and DSDT.hpbrroot: --- /tmp/asl-LA19Q0.dsl 2020-09-16 09:45:56.636426771 +0530 +++ /tmp/asl-RBV9Q0.dsl 2020-09-16 09:45:56.632426769 +0530 @@ -1,30 +1,30 @@ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20180105 (64-bit version) * Copyright (c) 2000 - 2018 Intel Corporation * * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/data/acpi/pc/DSDT.hpbridge, Wed Sep 16 09:45:56 2020 + * Disassembly of /tmp/aml-ECV9Q0, Wed Sep 16 09:45:56 2020 * * Original Table Header: * Signature "DSDT" - * Length 0x0000131F (4895) + * Length 0x00000B89 (2953) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0xF9 + * Checksum 0xA2 * OEM ID "BOCHS " * OEM Table ID "BXPCDSDT" * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT", 0x00000001) { Scope (\) { OperationRegion (DBG, SystemIO, 0x0402, One) Field (DBG, ByteAcc, NoLock, Preserve) { DBGB, 8 } @@ -234,64 +234,32 @@ { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) } } - Scope (_SB.PCI0) - { - OperationRegion (PCST, SystemIO, 0xAE00, 0x08) - Field (PCST, DWordAcc, NoLock, WriteAsZeros) - { - PCIU, 32, - PCID, 32 - } - - OperationRegion (SEJ, SystemIO, 0xAE08, 0x04) - Field (SEJ, DWordAcc, NoLock, WriteAsZeros) - { - B0EJ, 32 - } - - OperationRegion (BNMR, SystemIO, 0xAE10, 0x04) - Field (BNMR, DWordAcc, NoLock, WriteAsZeros) - { - BNUM, 32 - } - - Mutex (BLCK, 0x00) - Method (PCEJ, 2, NotSerialized) - { - Acquire (BLCK, 0xFFFF) - BNUM = Arg0 - B0EJ = (One << Arg1) - Release (BLCK) - Return (Zero) - } - } - Scope (_SB) { Scope (PCI0) { Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { Local0 = Package (0x80){} Local1 = Zero While ((Local1 < 0x80)) { Local2 = (Local1 >> 0x02) Local3 = ((Local1 + Local2) & 0x03) If ((Local3 == Zero)) { Local4 = Package (0x04) { @@ -690,38 +658,32 @@ Method (_OST, 3, Serialized) // _OST: OSPM Status Indication { COST (Zero, Arg0, Arg1, Arg2) } } } } Method (\_GPE._E02, 0, NotSerialized) // _Exx: Edge-Triggered GPE { \_SB.CPUS.CSCN () } Scope (_GPE) { Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID - Method (_E01, 0, NotSerialized) // _Exx: Edge-Triggered GPE - { - Acquire (\_SB.PCI0.BLCK, 0xFFFF) - \_SB.PCI0.PCNT () - Release (\_SB.PCI0.BLCK) - } } Scope (\_SB.PCI0) { Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum @@ -766,48 +728,32 @@ }) Device (GPE0) { Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID Name (_UID, "GPE0 resources") // _UID: Unique ID Name (_STA, 0x0B) // _STA: Status Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0xAFE0, // Range Minimum 0xAFE0, // Range Maximum 0x01, // Alignment 0x04, // Length ) }) } - - Device (PHPR) - { - Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID - Name (_UID, "PCI Hotplug resources") // _UID: Unique ID - Name (_STA, 0x0B) // _STA: Status - Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings - { - IO (Decode16, - 0xAE00, // Range Minimum - 0xAE00, // Range Maximum - 0x01, // Alignment - 0x14, // Length - ) - }) - } } Scope (\) { Name (_S3, Package (0x04) // _S3_: S3 System State { One, One, Zero, Zero }) Name (_S4, Package (0x04) // _S4_: S4 System State { 0x02, 0x02, Zero, @@ -831,479 +777,48 @@ Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0510, // Range Minimum 0x0510, // Range Maximum 0x01, // Alignment 0x0C, // Length ) }) } } Scope (\_SB) { Scope (PCI0) { - Name (BSEL, Zero) Device (S00) { Name (_ADR, Zero) // _ADR: Address } Device (S10) { Name (_ADR, 0x00020000) // _ADR: Address Method (_S1D, 0, NotSerialized) // _S1D: S1 Device State { Return (Zero) } Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State { Return (Zero) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (Zero) } } Device (S18) { Name (_ADR, 0x00030000) // _ADR: Address } - - Device (S20) - { - Name (_SUN, 0x04) // _SUN: Slot User Number - Name (_ADR, 0x00040000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S28) - { - Name (_SUN, 0x05) // _SUN: Slot User Number - Name (_ADR, 0x00050000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S30) - { - Name (_SUN, 0x06) // _SUN: Slot User Number - Name (_ADR, 0x00060000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S38) - { - Name (_SUN, 0x07) // _SUN: Slot User Number - Name (_ADR, 0x00070000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S40) - { - Name (_SUN, 0x08) // _SUN: Slot User Number - Name (_ADR, 0x00080000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S48) - { - Name (_SUN, 0x09) // _SUN: Slot User Number - Name (_ADR, 0x00090000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S50) - { - Name (_SUN, 0x0A) // _SUN: Slot User Number - Name (_ADR, 0x000A0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S58) - { - Name (_SUN, 0x0B) // _SUN: Slot User Number - Name (_ADR, 0x000B0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S60) - { - Name (_SUN, 0x0C) // _SUN: Slot User Number - Name (_ADR, 0x000C0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S68) - { - Name (_SUN, 0x0D) // _SUN: Slot User Number - Name (_ADR, 0x000D0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S70) - { - Name (_SUN, 0x0E) // _SUN: Slot User Number - Name (_ADR, 0x000E0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S78) - { - Name (_SUN, 0x0F) // _SUN: Slot User Number - Name (_ADR, 0x000F0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S80) - { - Name (_SUN, 0x10) // _SUN: Slot User Number - Name (_ADR, 0x00100000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S88) - { - Name (_SUN, 0x11) // _SUN: Slot User Number - Name (_ADR, 0x00110000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S90) - { - Name (_SUN, 0x12) // _SUN: Slot User Number - Name (_ADR, 0x00120000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (S98) - { - Name (_SUN, 0x13) // _SUN: Slot User Number - Name (_ADR, 0x00130000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SA0) - { - Name (_SUN, 0x14) // _SUN: Slot User Number - Name (_ADR, 0x00140000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SA8) - { - Name (_SUN, 0x15) // _SUN: Slot User Number - Name (_ADR, 0x00150000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SB0) - { - Name (_SUN, 0x16) // _SUN: Slot User Number - Name (_ADR, 0x00160000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SB8) - { - Name (_SUN, 0x17) // _SUN: Slot User Number - Name (_ADR, 0x00170000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SC0) - { - Name (_SUN, 0x18) // _SUN: Slot User Number - Name (_ADR, 0x00180000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SC8) - { - Name (_SUN, 0x19) // _SUN: Slot User Number - Name (_ADR, 0x00190000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SD0) - { - Name (_SUN, 0x1A) // _SUN: Slot User Number - Name (_ADR, 0x001A0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SD8) - { - Name (_SUN, 0x1B) // _SUN: Slot User Number - Name (_ADR, 0x001B0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SE0) - { - Name (_SUN, 0x1C) // _SUN: Slot User Number - Name (_ADR, 0x001C0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SE8) - { - Name (_SUN, 0x1D) // _SUN: Slot User Number - Name (_ADR, 0x001D0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SF0) - { - Name (_SUN, 0x1E) // _SUN: Slot User Number - Name (_ADR, 0x001E0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Device (SF8) - { - Name (_SUN, 0x1F) // _SUN: Slot User Number - Name (_ADR, 0x001F0000) // _ADR: Address - Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device - { - PCEJ (BSEL, _SUN) - } - } - - Method (DVNT, 2, NotSerialized) - { - If ((Arg0 & 0x10)) - { - Notify (S20, Arg1) - } - - If ((Arg0 & 0x20)) - { - Notify (S28, Arg1) - } - - If ((Arg0 & 0x40)) - { - Notify (S30, Arg1) - } - - If ((Arg0 & 0x80)) - { - Notify (S38, Arg1) - } - - If ((Arg0 & 0x0100)) - { - Notify (S40, Arg1) - } - - If ((Arg0 & 0x0200)) - { - Notify (S48, Arg1) - } - - If ((Arg0 & 0x0400)) - { - Notify (S50, Arg1) - } - - If ((Arg0 & 0x0800)) - { - Notify (S58, Arg1) - } - - If ((Arg0 & 0x1000)) - { - Notify (S60, Arg1) - } - - If ((Arg0 & 0x2000)) - { - Notify (S68, Arg1) - } - - If ((Arg0 & 0x4000)) - { - Notify (S70, Arg1) - } - - If ((Arg0 & 0x8000)) - { - Notify (S78, Arg1) - } - - If ((Arg0 & 0x00010000)) - { - Notify (S80, Arg1) - } - - If ((Arg0 & 0x00020000)) - { - Notify (S88, Arg1) - } - - If ((Arg0 & 0x00040000)) - { - Notify (S90, Arg1) - } - - If ((Arg0 & 0x00080000)) - { - Notify (S98, Arg1) - } - - If ((Arg0 & 0x00100000)) - { - Notify (SA0, Arg1) - } - - If ((Arg0 & 0x00200000)) - { - Notify (SA8, Arg1) - } - - If ((Arg0 & 0x00400000)) - { - Notify (SB0, Arg1) - } - - If ((Arg0 & 0x00800000)) - { - Notify (SB8, Arg1) - } - - If ((Arg0 & 0x01000000)) - { - Notify (SC0, Arg1) - } - - If ((Arg0 & 0x02000000)) - { - Notify (SC8, Arg1) - } - - If ((Arg0 & 0x04000000)) - { - Notify (SD0, Arg1) - } - - If ((Arg0 & 0x08000000)) - { - Notify (SD8, Arg1) - } - - If ((Arg0 & 0x10000000)) - { - Notify (SE0, Arg1) - } - - If ((Arg0 & 0x20000000)) - { - Notify (SE8, Arg1) - } - - If ((Arg0 & 0x40000000)) - { - Notify (SF0, Arg1) - } - - If ((Arg0 & 0x80000000)) - { - Notify (SF8, Arg1) - } - } - - Method (PCNT, 0, NotSerialized) - { - BNUM = Zero - DVNT (PCIU, One) - DVNT (PCID, 0x03) - } } } } Signed-off-by: Ani Sinha --- tests/data/acpi/pc/DSDT.hpbrroot | Bin 0 -> 2953 bytes tests/qtest/bios-tables-test-allowed-diff.h | 1 - 2 files changed, 1 deletion(-) create mode 100644 tests/data/acpi/pc/DSDT.hpbrroot diff --git a/tests/data/acpi/pc/DSDT.hpbrroot b/tests/data/acpi/pc/DSDT.hpbrroot new file mode 100644 index 0000000000000000000000000000000000000000..14518bb843059a0db1d216543f632d5a00c1a695 GIT binary patch literal 2953 zcmb7GUvJY^6hAk1igTSbPV23RzC;B!4JL3BhLH9`Vy8*gBz5DIZE__$ZO{Tj!U8Js zM`&q~pzww=rakN-RC(`5*ggUufqez0L7&LZv71oRR02zJ?mhS1^ZT7Y_xc!?QGY4} zu$|npUbK?ApG@6A83Oj`Cu?;XT@R*MXEa*FDZ@pe#66&apf5re4w{r&uzg*;ibUoUBm;$yqHKpj4zl zCodJve0`|IP>Gi9cG0X?APVs6y$qtgrOPd|>J$7mcxfP0{Pb&l8&UAuFl zWMv(nE5b9RVqVbn5O=w#ROikMLq*cEI~SI61}Xa2d{s zzTwnj*~|{(yl9kWk_zxJU*;O)yFA2C<8Ow~^8vrX-|{$@BxljcC+4_H6>#tg;l%Ew z%Vs?_bWaR&$3CK~@K}M}748a>w9xiBr1j;>XipfmF`*Oo>lu^)!>d%axr z=qcR|REl7t%he?Vn!Quq4c1F^8(bWTEoi=sjb>R?N_01PXe7z)ON5a`ho<-N-a1zR zOAWT00N#TJ;%zq>c+G9M0h^7!Yj2%8FA!U*7OEp=)>bqLUnzQ}>6MYx+0u$tXT8V+ z-fm%;M*3V`05$ZQ zKc91~n#G>A0v34wY9*5IqvyuZG5ep4o;rY@^3hYs?;v_gos6EcI~DR>A4BJ%&wx)K zfKU7I=`r~95%B4Kcw-zMFNII`K63y*$za(#6y?t}@ z*2dM_U^Cq;FYTY@80Q5ByRgfmc(q|sVZF<+%cJ(zNt$FKshjyK(@Ry0>9xugrssdq z7>K%FF(i9yhLi-|%9oRy}=Xj&g&!J6XBwGNkUoxKWI7uOJ?B$j=0ZYg`?J z&%8s-P}^hf%O$Z_JZ#F(=VVh{IBW~m(bi-~D-nI!sz;A_?ZVs_=;6g9VC}CH1Mkum&sHdP3$BNYqr|>a>G?$m9&Pu3cB>v3v_= z-pOleOpxDYP$^SZ6_r-}bG={G+C@+b@u1*?9*a7I%bfqY9fJ_IE%*%Rg^kBvbT7&z zl(VQnqIbBw7ah%G`1Jz#_sJYUuuflw!GOLD^n}1)8FmNKVDQ)bVCC<(&(40>6Uazy zFc|zgR1c)krhn>abP*j1I+~bSHMJ}{5?mo9KX7*hEruL)JpSGBdiV7%6R`>SW(~Jk z8E0lnWQc>~3(kxrVq=3X3(mfy6#`Vg{}3R%b8hiReKCmPO1`p+SxS>Oc54Swl&}(} z8%imL*Zf}NayV!TWlPh7rV!mYW2N>d7|Rf-XeVVr-yfuhgA5JqPTWde3O1sy0RICI C_`Dwg literal 0 HcmV?d00001 diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dea61d94f1..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/pc/DSDT.hpbrroot",