From patchwork Thu Sep 17 15:00: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: 11782697 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 37A9F618 for ; Thu, 17 Sep 2020 15:04:42 +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 CE50F2220A for ; Thu, 17 Sep 2020 15:04:41 +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="SH4PA2ee" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CE50F2220A 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]:42190 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvSi-0005Sy-RK for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:04:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54302) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvPP-0001WE-Ma for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:15 -0400 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]:39264) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPB-0000w0-Bs for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:12 -0400 Received: by mail-pl1-x641.google.com with SMTP id x18so1271340pll.6 for ; Thu, 17 Sep 2020 08:01: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/GKper9Hc1Rp3TxABDngRg3jAp3GhgbcS73g/TxHk=; b=SH4PA2eems2RayMMe7GUXt1fxTCXBXCqon3Pwh+gU0cMmhOcglQi4mEaaXa3jMCXIo Hy1CqHM2rsPhcDHEcucfhlQugBxX558gBxvLnUkLilsqyj7EFdrnxMlIospirwB1yDfs 6rUOV+O1ms8vy6o8T1cLxYbIjLmzod58Pi28c8bAuE4H0Q5dl5AUMJHLmPjupzBRrHac guNYbEYmQadnHCheKnh4FB2U1cD4e7/VCxYDODMLR4ve6ZMMcFX5jy+KgHY37xmY3fvF AWyBoAIaiXOT2k8RxfOfiwARh/CUseJGzrRDAwj0KUDvI0w76hRG5NwJRYMo7ewYoA2a AaKw== 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/GKper9Hc1Rp3TxABDngRg3jAp3GhgbcS73g/TxHk=; b=mbEdYKGPPGRsyRdCjvyuitE9rOle1gmda1sv9I2Mu2SxwhWmJ8Dpw+ML13S74JU3wy 7KGjfuO/7LN2xweMpf2dcpxs4kLxVlDLAxdssK7qpl1EBq/W2MzAR02oNX+9xiMk6iDN jrgRI4H53X9/IP99JSLTvyeg1/P9Qbnd5uS4vlYejh/8V3uiSY70rQJHkSHCFxAh4gWl rnR6eA9UQ4Y7kAh6YSw4tWxh7/dLGH7jf1S0gejZZ4d8JgyC186e9kqCu+vf0l4W+HNZ gwsokkZ8RY3jxPZKkZHcn+Ri5oFBNccU5567ApS2zWSKCTnJ1XhI0DTYqKwjN3oduUWe 1Guw== X-Gm-Message-State: AOAM531cYhhArT03Q7oFBRVByw2f6djaU/UfYDwDZTkyYr16bFo5QGuc IBljayAHRPBJrsLXJLaoFAY1LIa/m2N1n61l X-Google-Smtp-Source: ABdhPJzK8pvgoO/OBTkz/4+53LvFj0si4bKqw0JIqTZ+A+hiXSeqlDxJUIRfxQmoKA0IZXvCSy0TnA== X-Received: by 2002:a17:902:7083:b029:d2:4ca:281a with SMTP id z3-20020a1709027083b02900d204ca281amr837854plk.58.1600354858672; Thu, 17 Sep 2020 08:00:58 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.00.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:00:57 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 01/12] tests/acpi: mark addition of table DSDT.roothp for unit testing root pci hotplug Date: Thu, 17 Sep 2020 20:30:33 +0530 Message-Id: <20200917150044.23159-2-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-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 , "Michael S. Tsirkin" , jusual@redhat.com, Paolo Bonzini , Ani Sinha , Igor Mammedov 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 Reviewed-by: Igor Mammedov --- 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 Thu Sep 17 15:00: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: 11782699 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 0B70E6CA for ; Thu, 17 Sep 2020 15:07:31 +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 A133E206D4 for ; Thu, 17 Sep 2020 15:07:30 +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="OBBHaNel" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A133E206D4 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]:50454 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvVR-0000Zf-Kz for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:07:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54366) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvPR-0001a2-Hq for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:17 -0400 Received: from mail-pg1-x542.google.com ([2607:f8b0:4864:20::542]:43608) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPP-0000yR-9P for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:17 -0400 Received: by mail-pg1-x542.google.com with SMTP id t14so1504946pgl.10 for ; Thu, 17 Sep 2020 08:01:04 -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=YfALMwALzeYbzwckrxN8lzSGcpwno9FZ6SZJMeQ9frI=; b=OBBHaNelfEKD/8lxjJgpQ2ps/Em6ZSuoERFAOg9S7JutQ5BPwGaOzhXT22E/Mp/wA3 R13TjbfNTHIyUWx4u9tm2gY+BVS/q+KganXoISXNuFtAfNz6yBYAC/dwkEzw+0LDls8B ZXQiI9iKXIScTvz7TdGv7+vhcA0CZms3V0UoaoB3VGFzrCbYZMVhWMa2pRHdoqScSw/a ElfTBLTvy34Vc3t93xNV0IqxKOpvFDLVxEWegdDhBRXq99V4vaU6pVXXwYTNx2LFW0de XgZxovx8LTxo52xz0LnQKSjQCOfIB8fvIUIelrY3YN/ShggM4P8T0/gHaceQOvpMKCSr gnrg== 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=YfALMwALzeYbzwckrxN8lzSGcpwno9FZ6SZJMeQ9frI=; b=gqP2ajCHFLxmrqc5Hg0rL6r/Ky1GUPhSels+MArbMk5j8cSIjsdsKPAmy/znSazIu3 LjCLTBHty0hlJF20DMAame7emYXWLaOPf4QnuaKf9UjwBZ4jlQnpCth46ZVlbIg64Jff kMh1VhwhFeFgLXMF1y5YpyQvr9kYK7i09Mj9+YVoY/J6EG9DcG8nQI4GZpB3yN9DEhTY xhhK/26rcA6jct+7Cm0bZ2BOd5UuYFalBAl7o62MfXF2XhUobmQgc5F9hkCX+qbaC3CX yJKuNKpjM/B7jShqrm7qDqBc0n4WyIvLuE88vcalKU3BBGOKiXc1XR5mvRGmPxJvMCY6 3uEQ== X-Gm-Message-State: AOAM5328XdHzdPwovOj86i7SM/q9bQyNyiN8rXLzJ6PfI6nujuWtbxah k3GKc3MiHiWR24tTOwghCdiENXDrLLCBzDhA X-Google-Smtp-Source: ABdhPJx7QvPJTBPJGpbK9z7KteJYoOdmbjRHOmqF9Y2QBu7juOIbayE97RmjZU5v4W33Enkv0qrojg== X-Received: by 2002:a62:5586:0:b029:13e:d13d:a04f with SMTP id j128-20020a6255860000b029013ed13da04fmr27839833pfb.21.1600354862745; Thu, 17 Sep 2020 08:01:02 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.00.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:01 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 02/12] tests/acpi: add new unit test to test hotplug off/on feature on the root pci bus Date: Thu, 17 Sep 2020 20:30:34 +0530 Message-Id: <20200917150044.23159-3-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::542; envelope-from=ani@anisinha.ca; helo=mail-pg1-x542.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 , "Michael S. Tsirkin" , jusual@redhat.com, Paolo Bonzini , Ani Sinha , Igor Mammedov 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. Signed-off-by: Ani Sinha Reviewed-by: Igor Mammedov --- tests/qtest/bios-tables-test.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 504b810af5..ad157ef05d 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_no_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,8 @@ 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/pci-hotplug/no_root_hotplug", + test_acpi_piix4_no_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 Thu Sep 17 15:00: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: 11782701 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 B25686CA for ; Thu, 17 Sep 2020 15:08:17 +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 4EF3320708 for ; Thu, 17 Sep 2020 15:08:17 +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="jm8ZfNZQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4EF3320708 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]:54208 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvWC-0002Ad-Al for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:08:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54416) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvPU-0001ep-0c for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:20 -0400 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]:38468) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPP-0000zH-Jp for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:19 -0400 Received: by mail-pf1-x441.google.com with SMTP id l126so1378645pfd.5 for ; Thu, 17 Sep 2020 08:01:08 -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=f5ra6UODN1AUn8bh55WFoMqTw5asQpeyZp8NnbOMP2Y=; b=jm8ZfNZQzWhPidBa3kJFM0bSygx8SmWqx/B83e6zJFpPMI1umL0CIZm3peSGBzWiRm X3YjboYYyjoxB9urE4Wen2XLCPfjoCNOYOUHeq5t8Ke9t/tV48ra459jxW7FeySE6Cql Aza6VhR7UiVHYuV/X/Q3d+y9Kz3ZirkArIV46AC0KUzI/tlY6RAw0GEQyyZcN14UhzbP qlekPP0HMeyoH/i20uGZOWrCb/QOauanReOg6QNiosK61Xvse+zU0RpCLhrYyY/aS8UZ DVnytseD8Yli3uJsCv7jfs3nVsyCZ5oAZX3iSAAvkXwiDp1fR6uB1eQZk9zStZy2vd4u 1ytA== 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=f5ra6UODN1AUn8bh55WFoMqTw5asQpeyZp8NnbOMP2Y=; b=DqtCZg48j/HMZT53UrnxqUD3vEd2gbbrcKMhvNDY8Kk9Rpqjyx8l8GdBoeTxudzN0N c8LWYOHJyXK6FVla9/mXReAFHEUDO3mJUGTnoXA0I7+1cONYYPuhym4OheT+ED1JSj8X rgGDiQw+/FWpuxn7mAR4iR08K+y/2F6FIP8QQ3jaPZGaGy/BUfxYFkIU+roeAMAZX2ye PHJWvApTgsyAmko4mpV5akhqCvkdGKLTmSXaPd/KkhN+xHaK5Qz58rgW1TeOwrNVN0IU ijJdL+msVbShKjDbtZZotaBJouU/AxG6R2icMmVztxSaFLdAt4IOjIwEnuiR7P6U7CPU tZ4g== X-Gm-Message-State: AOAM533I1h0yh/n6QKQL7RkeR6hVCSb75/xpO2upoZTOed/3ZRHKLdN1 kAxCDJRtxop4AOe9KsFrOC54zS8SdfSqCE/b X-Google-Smtp-Source: ABdhPJz7aFodm1CPhE7LP9s9KD+M/wycC6chIqYyxRTUEHDJotO9khnUM1U80KkHe4sUtuQFWiHEEg== X-Received: by 2002:a63:6d0d:: with SMTP id i13mr23372333pgc.372.1600354866874; Thu, 17 Sep 2020 08:01:06 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.01.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:06 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 03/12] tests/acpi: add a new ACPI table in order to test root pci hotplug on/off Date: Thu, 17 Sep 2020 20:30:35 +0530 Message-Id: <20200917150044.23159-4-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::441; envelope-from=ani@anisinha.ca; helo=mail-pf1-x441.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: Laurent Vivier , Thomas Huth , "Michael S. Tsirkin" , jusual@redhat.com, Paolo Bonzini , Ani Sinha , Igor Mammedov 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 Thu Sep 17 15:00:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11782703 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 0F6D56CA for ; Thu, 17 Sep 2020 15:09:08 +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 B43C520708 for ; Thu, 17 Sep 2020 15:09:07 +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="P3dFdiby" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B43C520708 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]:58640 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvX0-00040j-LK for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:09:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54378) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvPS-0001cI-Fp for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:18 -0400 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]:44335) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPP-0000zQ-EL for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:17 -0400 Received: by mail-pl1-x641.google.com with SMTP id j7so1258260plk.11 for ; Thu, 17 Sep 2020 08:01:12 -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=WIzwySGHusyyqcxBP6wP/5K/w/rrBhlYTKtBQXK9Uy8=; b=P3dFdibyVXyQ4ZKwOW+e6o6AkASN67WG+tqCQTD7NBpVWSlu2xB3Jbu1nELQXme+ts QzM60iOmlbhD2Qc6qygJ95Zb+xHeEKe1JPHAWpT6pHTqi1lQQ7L3nh+2hNUcpGAfbIhZ khdKsoW6T9AqNTLRLkfL708GEjIjoaugw/KV/pK74ex0R/c4Tsn9CGmZ8JE1ZfUN9kbr ZARcciGVNR5ktaGgR0xNTeGtw7zEXDJrk1/xCn0EeyF+wJURveDjSa6aXUpKszDADytl uQD00y/ZesIBCwhAMyqmvr5wQubdBtXJc13+jEmKKeg8z7q2ElVT5Q7fOssL2Ir4kCXx y2SA== 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=WIzwySGHusyyqcxBP6wP/5K/w/rrBhlYTKtBQXK9Uy8=; b=jXpGtg2WEmwrogT7YNPkTh0PofPXDgtoTFGrg2uYnwazRqDWmpgjh307SpdWL85iiU FKihPrNAH4j8o6XLas2LyP8OgxzfbIqLT8nWMOTZ0IpfBeGxc0HazZi66uH1g+yMYxdr 2DiMQS2yBCCJMEtP7LWFZprtgdFNfUqMmhGkRfADv5CQ03tgUHs5OCE49Q0K6OgXygTX IVBnqXU8eoiQvzWPmB+0CXP8LcNS5u3xKZ2eJ7OBwHQFaP9mvajIHE6JQlXO+mRJkWqP ++7wDupYpypD2yObk5J0zU0DhsnKaj5kwlqkvO1XhpMxhJecuV+rH/LzsgotFbLsO+Dx cjRg== X-Gm-Message-State: AOAM532AsnPr7G0jaBfQfuRbCrLR61NQa/lv0XSjsGhRIIlE1CrSRoIX iZruwHU97Xahvf1Tcms3/uG0zXXkXfwsrXZN X-Google-Smtp-Source: ABdhPJx/Y5yMQiAkKXklavjR5qvGYdlgWxyMnN9qtT1mOQESJaYnZZrZpjyKq7hqVeVnKMzIDQISKg== X-Received: by 2002:a17:902:bb82:b029:d1:e5e7:bde6 with SMTP id m2-20020a170902bb82b02900d1e5e7bde6mr11658102pls.70.1600354870841; Thu, 17 Sep 2020 08:01:10 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.01.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:10 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 04/12] Fix a gap where acpi_pcihp_find_hotplug_bus() returns a non-hotpluggable bus Date: Thu, 17 Sep 2020 20:30:36 +0530 Message-Id: <20200917150044.23159-5-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-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 , "Michael S. Tsirkin" , jusual@redhat.com, Paolo Bonzini , Ani Sinha , Igor Mammedov 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(+) 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 Thu Sep 17 15:00:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11782705 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 C9D4814F6 for ; Thu, 17 Sep 2020 15:10:55 +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 62D2E2072E for ; Thu, 17 Sep 2020 15:10:55 +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="PbOC/y9W" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 62D2E2072E 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]:36240 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvYk-0006lG-B5 for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:10:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54472) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvPW-0001i6-CY for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:27 -0400 Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044]:51886) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPR-00010Z-Nw for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:21 -0400 Received: by mail-pj1-x1044.google.com with SMTP id a9so1430148pjg.1 for ; Thu, 17 Sep 2020 08:01:17 -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=ughGQhnpv0vI//S8mrXDQnorJKmr6CWqkbIT0eqOuAw=; b=PbOC/y9WV/NEGJ22+DSCW/3bSzeRHWJjjjiYEzBftJctfmq7db8Zgx5rBFjBzM3KC9 +NlUitMB8+rha9f6K07eU9gI+M0iWCp8uFlWhjzqdqpUkLnBe8AwqTIkvXwS0NW50eBz csAd5XQeK419LDm5/t1Z3kn8eQS/RUH65q391ibOm6pVor92pzskZ4hSmqBoFXM2GiMm xyGlNzmpchrY5Z1dG2fA3/mjJnuboOtjcIyx6yn3YXnZphR5/HclFkts7lxw+LW9J4tZ 5C1XzwA9nTaKH9cp5r2sQW+d80Gqn5INeaBGlI66QVwO90rxD89rgA0ge0aT4V1ro/xt azEA== 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=ughGQhnpv0vI//S8mrXDQnorJKmr6CWqkbIT0eqOuAw=; b=ZSSX3VqkbTclAfI10uV4J1vm0h2LpvgMA94g9nRNuTASNOHt5MoXuBemZL2sBKtdWl Ly3/h6ZxghvwjABfTS1VS/ysOisQtoF0LN/0aLY9kLbrJU0Ey9IRhw/Gjl11oPBpwzzE CW2iM93RCAXITj7D2b+hNwUVj9myWb5afKglS+DXBDe6N+i87pv/tAP6AmITwCcepMUz 2ngFsDhOWqTOrRtOQr6VFBTbBjMCxSUsmOOJfnbbNwGTrzxLgmNBtmu5R7uYe7mKZTgD 9K87MydwtZd1BSeX20/Xsi6zXdystSGTNvv/BftkVS8EkxCEMI3WzMzuPlCfBxguPbg8 Ghtg== X-Gm-Message-State: AOAM531yL/z17eU4tQPTSok7hqPAiL1H3n6kgl4NzPrjC7t6M195+E/q +KuZuQbhyPv16XcoCQ863hIFJbRqtFV4uoBz X-Google-Smtp-Source: ABdhPJx69rgc5ViBo/km+9y0X7nmM0qHRuFVW/rrshmyWwUJ2RQy2m6iNJfu4Qk5j0gqwoIaTJhbnQ== X-Received: by 2002:a17:90b:1111:: with SMTP id gi17mr9054857pjb.109.1600354875783; Thu, 17 Sep 2020 08:01:15 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.01.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:14 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 05/12] i440fx/acpi: do not add hotplug related amls for cold plugged bridges Date: Thu, 17 Sep 2020 20:30:37 +0530 Message-Id: <20200917150044.23159-6-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-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, Paolo Bonzini , Ani Sinha , Igor Mammedov , 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(). 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 ACPI code like _EJ0 etc for the pci slot where the bridge is cold plugged. In this fix, we identify a cold plugged bridge and for cold plugged bridges, we do not add the appropriate ACPI methods that are used by the OS to identify a hot-pluggable/unpluggable pci device. After this change, Windows does not detect the cold plugged pci bridge as ejectable. 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. Signed-off-by: Ani Sinha Suggested-by: Julia Suvorova Reviewed-by: Julia Suvorova Reviewed-by: Igor Mammedov --- 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 Thu Sep 17 15:00:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11782767 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 054286CA for ; Thu, 17 Sep 2020 15:14:25 +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 8F3CD20795 for ; Thu, 17 Sep 2020 15:14:24 +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="h0p+bUJf" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8F3CD20795 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]:49136 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvc7-0003jQ-Gm for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:14:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54508) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvPb-0001im-LN for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:28 -0400 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]:38990) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPX-00011h-Om for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:27 -0400 Received: by mail-pf1-x441.google.com with SMTP id n14so1373612pff.6 for ; Thu, 17 Sep 2020 08:01:23 -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=V/i6UARRudUJoRdXtPW9d7XXfNZPRvXdDsElEekj7OA=; b=h0p+bUJfNtR6WpKeqJsU6F8ojj3VcnSLGwuYow+H7L5t7jbDUefPU1kxTWuWrc35Gj /FdegjWtpjWN7jisAl4uUWrP/sMHUAoKkFC1zbp5VlNqaB5jOSXj+euYtb4ta3wy+rT7 zm0/ld67a7kPF6hqYnR8GoY2qn+YNwzztC0MLx6RQLsnV/RBUM7qj4f4HGIiF7TXQEor 7LNQLmz7pG7Y0Z9c9y8k/zqd7CCGmzAwxXhUVaTDObb7+GyKFIhtjJSZ9yHm1qMLQKGe ipbWOt5HUouwfdkQgLIoJP+e0s2miC45uxgNXEjZV9oBhaQcOarQyQig5eYXHzLZvVl1 x+Yw== 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=V/i6UARRudUJoRdXtPW9d7XXfNZPRvXdDsElEekj7OA=; b=ERBPKsglLLMzNear7rnp2lryRNPRuiYX3Zd3K2al6teiYl3pmEGAd5fpdeM3gPXVd3 1Zz4QMV9Z4Z3+E7tmSoT9cMC/Ut4jwikwzBEf+xO8ZeysEKq5nzVLh4CPTDT0BKTHJZI kvRfER8ANMgaqDF02mPb4qy5QctbYEwjP4ZhRNud+eZFbndU6ZGAMa3+NaT36p3Yqwhy LDSjDTsk571nV2m/2e+XExKcqGOTC1kUykqXl4p3Mabsx+svqmtO2KmU7mp0aeyCqasK hXaOPAgChnky1U0WxRI4cxhE8jacJLlSmEFszyT4dUfwWlUFSMlGfooSH3vw4a9TvPuP kWLQ== X-Gm-Message-State: AOAM531pknc+5t4uYXrz27LuriYfGiukS+Kenk2EnQn5QxG9bMM8TUOl 0Ucn64czbBe3yG7yCymsNDgO18suN6DcYiRA X-Google-Smtp-Source: ABdhPJyHRRbzPkGPGAjSR9na58vs0xyTjNass6PqhsR7iQhd/DxWRArJARejBvUZs6LnRp6jpRgTsg== X-Received: by 2002:a62:1902:0:b029:13e:d13d:a12e with SMTP id 2-20020a6219020000b029013ed13da12emr26935896pfz.22.1600354881894; Thu, 17 Sep 2020 08:01:21 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.01.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:19 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 06/12] tests/acpi: list added acpi table binary file for pci bridge hotplug test Date: Thu, 17 Sep 2020 20:30:38 +0530 Message-Id: <20200917150044.23159-7-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::441; envelope-from=ani@anisinha.ca; helo=mail-pf1-x441.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 , "Michael S. Tsirkin" , jusual@redhat.com, Paolo Bonzini , Ani Sinha , Igor Mammedov 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 Reviewed-by: Igor Mammedov --- 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 Thu Sep 17 15:00:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11782725 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 2E3C514F6 for ; Thu, 17 Sep 2020 15:11:32 +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 E4C3821D90 for ; Thu, 17 Sep 2020 15:11:31 +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="kFfT7mjZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E4C3821D90 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]:38858 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvZK-0007yG-NV for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:11:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54534) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvPp-0001jo-Kp for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:41 -0400 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]:34795) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPc-00012I-EP for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:41 -0400 Received: by mail-pj1-x1041.google.com with SMTP id s14so2946769pju.1 for ; Thu, 17 Sep 2020 08:01:27 -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=djDyPCHV2KQRcs6lHtT3AJbP4Jr32BITnAiU+WVBllU=; b=kFfT7mjZI/pJ+Un6j2BG051k8LgB+LCkCs+WtWYZpj779NFovHt3tGzTj5wpE1EeLB ofVo9376vLuvLB611dzWvT/OqlSkA56C3WPs8qLr/4xRiArx4OA5vkWOBHN4OtvD2/uJ BOaKfEt+8TN9tWEfsITnc0C0W4LOevoVYCL9EN4cnJBqUhY5a5i37AWkT0VbXinY7y9k /jMg5HwzDw50q5RsEMiBbpoNkiBnAcvefDk+1lvunGxqBj5UeLVMvGBZZTVTGk4mjKlo CHbwvxyjdV9bJ4Ap/Ek+HsUq2+3NDGnHFxkY9TDBZZOzaRhgpPPiI+z2IFPDWN4gv73A YL7g== 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=djDyPCHV2KQRcs6lHtT3AJbP4Jr32BITnAiU+WVBllU=; b=Vn1E4rYJBQ/QidZoJPQnaCeprmH3wRRQuSku/EAsZvu8u3vusjI8aK10jxsQWRIyhO 3r8GU6mtZgVe0mdIPFFPu0gf/FJrnz8KoBEOOL/MLHnincJk5EyjxKNz4DxQn0fGSFsq BhRbA0Gs+1lL9p3yuGKs0+j08pLasDy3Ye6fArhVkc8JArtxsKkzWTVqvCI4V/AMbD1P rfTl7HYiHMmw8vhL1hXBcZxT14ibrRdywCqsLoZ5ypHhgpi+DuQba54m501l27OgW7Je igCbkHy6lkOKGklCPFwum0S1rJYHGQOr2utoJVz9YWKME1vBAKqdUt2mmc5JRIu1cGXM N7Tw== X-Gm-Message-State: AOAM530BDCOYlPJKXysxp1nbjHdoR/ZpgHf1xItZFFG8cI4cLycyeCxb IU0GoUJWrmCc4pG52rPTPoBe+JsFetCqvn12 X-Google-Smtp-Source: ABdhPJzXXTFlkJJNnYjhWPcvCx/HTfSv/MU3cmtR2WWUqG62GRLj+IGVAvPKHHoPLzkpnV+LGNSfbw== X-Received: by 2002:a17:90a:9317:: with SMTP id p23mr8623166pjo.160.1600354886049; Thu, 17 Sep 2020 08:01:26 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.01.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:25 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 07/12] tests/acpi: unit test for 'acpi-pci-hotplug-with-bridge-support' bridge flag Date: Thu, 17 Sep 2020 20:30:39 +0530 Message-Id: <20200917150044.23159-8-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-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: Laurent Vivier , Thomas Huth , "Michael S. Tsirkin" , jusual@redhat.com, Paolo Bonzini , Ani Sinha , Igor Mammedov 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 on all pci bridges. Signed-off-by: Ani Sinha Reviewed-by: Igor Mammedov --- tests/qtest/bios-tables-test.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index ad157ef05d..c970556795 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -754,6 +754,20 @@ static void test_acpi_piix4_no_root_hotplug(void) free_test_data(&data); } +static void test_acpi_piix4_no_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; @@ -1160,6 +1174,8 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge); qtest_add_func("acpi/piix4/pci-hotplug/no_root_hotplug", test_acpi_piix4_no_root_hotplug); + qtest_add_func("acpi/piix4/pci-hotplug/no_bridge_hotplug", + test_acpi_piix4_no_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 Thu Sep 17 15:00:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11782715 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 EFEE114F6 for ; Thu, 17 Sep 2020 15:11: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 9859C21D43 for ; Thu, 17 Sep 2020 15:11: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="BQ9c0v8J" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9859C21D43 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]:37692 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvZ1-0007Ub-Hk for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:11:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvQ0-0001ww-V2 for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:52 -0400 Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]:35516) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPp-00012d-AL for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:52 -0400 Received: by mail-pf1-x444.google.com with SMTP id k8so1386757pfk.2 for ; Thu, 17 Sep 2020 08:01:32 -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=8UO/GYjibyd42pWRJZMv16xyZExg2wUM3qNyNdiWwPY=; b=BQ9c0v8JV49eY9++5kruNYpGJAeeD3Q0mhJE0VHnaS10nCb3SZ6nSIyuq3ktWn0BYE cm19VeiLGZNjyjttlTOglQGJR+g1EcDP9Woum4bnBJdgRmAnIfMH/63VRuZWgfJB8pMP LQYeV60o11EH4apWL47xcYPN6LfDzGT88syBcG/RIMCgcV8tDR7qMUe5+YGZ5jUIpnUZ X6a0u6uQqyzVNYXQonM6yawxqu9+Yc5fSMJ7YTtVggFTm0O+48wN/f7gSDlyVZrWprYV qbtoMBDGWx8RLmIhbroL+vflZeFFsqVmidnAz8tdAdYl3lshEOn7ddtAkRzCAmQSuGyY jOZg== 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=8UO/GYjibyd42pWRJZMv16xyZExg2wUM3qNyNdiWwPY=; b=DnMt3w5TWYTxE8tv4io/Omg/7rPkNV7s+ANu+OM2t1QcgOeIinOPOSgzEMXVdDeaE0 9CDbrGnFouddXYvHXt2553nWchfZHrPDm7L6hijrKIwe8paOYFL9zlBIs2hQLa001gEf lC5UDwPNNRb/4x9hb3MzqQQGEX9P9bfLROXAxUThjEbPGQTmgE2Y7+0nZZYfxaXuNajg p4iyKGxS+445LhpKlcI38wKBVHr+tu8/Thkh7hgqJztnxRhBTLgvmI/jp3pZtqOk72XG Co6Po9W2ovWoYCwy5Ku4J0ycfk+rkTcCCM/WMRxGscXIjX5nMf4zQbpB5Pzu1Ra3s9an Hfjg== X-Gm-Message-State: AOAM5303W3fPDy9m8cESjYfzMPnrdOcwIDANSrnrOf+RtsEYRERy27b/ kliIVLYon6jJbI2Z8lfFR3cclmH/MykKCT1J X-Google-Smtp-Source: ABdhPJy+wkwuKDeT1+NaxY+XTOjIaVvsWDng7VvOjHD2veejSq960TJ+jS+Qb+JUjdO5HGS0LczkYA== X-Received: by 2002:aa7:9f0a:0:b029:13e:d13d:a107 with SMTP id g10-20020aa79f0a0000b029013ed13da107mr27502368pfr.35.1600354890389; Thu, 17 Sep 2020 08:01:30 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.01.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:29 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 08/12] tests/acpi: add newly added acpi DSDT table blob for pci bridge hotplug flag Date: Thu, 17 Sep 2020 20:30:40 +0530 Message-Id: <20200917150044.23159-9-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-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: Laurent Vivier , Thomas Huth , "Michael S. Tsirkin" , jusual@redhat.com, Paolo Bonzini , Ani Sinha , Igor Mammedov 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 Thu Sep 17 15:00:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11782789 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 8A7FB6CA for ; Thu, 17 Sep 2020 15:18:16 +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 0BF6A22205 for ; Thu, 17 Sep 2020 15:18:15 +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="Uv2mj0YL" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0BF6A22205 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]:57728 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvfh-0007O4-QL for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:18:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54666) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvPv-0001q7-NY for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:47 -0400 Received: from mail-pg1-x544.google.com ([2607:f8b0:4864:20::544]:39359) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPp-00012o-AE for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:47 -0400 Received: by mail-pg1-x544.google.com with SMTP id d13so1515187pgl.6 for ; Thu, 17 Sep 2020 08:01:37 -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=Z7aNfB07N+MFsUa81RQnN73KV/KvOUxUEf7AXGwE9A4=; b=Uv2mj0YLdpPdqY05fsBpc5Yj81CkLoJlK56sdxv9QPUGBxOiTUBiGk9hUCrYclWSk/ bUO9j+91P6QhpBS4MG5GslBS2aDqzK7ZEuPzPLBiOBotc3dCCEwqVuldP+2Yu8I/npQj KpiVM90Qns7mp3as2EgcP72wP8oJj8JzFy7kjb0LozWDeoyBgke86pd6OXNYi6p1JJS5 GGUEKnxQktU/7Y0yc1L6Fjep+eAdjKNzdXvn5cdt/hU1WPe0/OPPsyB7nr5wF2YTKe9v GUXujNvJrJX7fHe+eAwZiCtyxMwlcivO500uRi53HdPfvT2TErGVCQwuCxBLntbCn9n8 Bj7A== 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=Z7aNfB07N+MFsUa81RQnN73KV/KvOUxUEf7AXGwE9A4=; b=jHVxvnlyurPsjBwF0Ekq3OgIkxirBI3TGLkKtj1Heka5jxJuuha5AaaA3/8FtSvG+8 CN4Rzr0Pqymqw9trvJSXHu9t7nZzGosokrNJ6z8opyvw5vVVGZh4isFljV10IZfnqLfT bWGk+vTT823UmBbJgcl8QN8KZfW7i6pdbay5QcxVKynAV3lSSsPXeEqNq25ZTOxWsOO9 iL6fJdAYqU4THz6rY6QpCqxkFGGgStctaXXT44DD+gBZ+f0p2N+zmCrX/PIXZgVcimJ2 G4dVV7abN95X6vpJTkgfyAOwlO0nLcPOlaa9SMtIv19H0b+MgNPXgTTvCmuBWiLBrjzh KwYA== X-Gm-Message-State: AOAM533kE+uIhnmWe/M5pxKfo47JCwg7HGDx1y21W+Q7Mug/ON4vuveL 94ojC3xlvQy6eNUjgbxRWBe33u4sIHeUNyia X-Google-Smtp-Source: ABdhPJykf3O0FrJ21ySjUd4VAXsyc48q0qBud/XDSkt360/UMo6kEYKNq3grDLS8XngJy/B+PCiD6w== X-Received: by 2002:aa7:8249:0:b029:142:2501:34db with SMTP id e9-20020aa782490000b0290142250134dbmr11833603pfn.52.1600354895955; Thu, 17 Sep 2020 08:01:35 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.01.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:35 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 09/12] piix4: don't reserve hw resources when hotplug is off globally Date: Thu, 17 Sep 2020 20:30:41 +0530 Message-Id: <20200917150044.23159-10-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::544; envelope-from=ani@anisinha.ca; helo=mail-pg1-x544.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" When acpi hotplug is turned off for both root pci bus as well as for pci bridges, we should not generate the related ACPI code 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 ACPI code for the PCNT method are only added when bsel is enabled for the corresponding pci bus or bridge hotplug is turned on. 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 will also need to commit the updated golden master DSDT table acpi binary blobs as well. Follwoing is the list of blobs which needs updating: tests/data/acpi/q35/DSDT tests/data/acpi/q35/DSDT.acpihmat tests/data/acpi/q35/DSDT.bridge tests/data/acpi/q35/DSDT.cphp tests/data/acpi/q35/DSDT.dimmpxm tests/data/acpi/q35/DSDT.ipmibt tests/data/acpi/q35/DSDT.memhp tests/data/acpi/q35/DSDT.mmio64 tests/data/acpi/q35/DSDT.numamem tests/data/acpi/q35/DSDT.tis These tables are updated in the following commit. Without the updated table blobs, the unit tests would fail with this patch. Signed-off-by: Ani Sinha --- hw/acpi/piix4.c | 6 ++++-- hw/i386/acpi-build.c | 25 ++++++++++++++++++------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c index e6163bb6ce..b70b1f98af 100644 --- a/hw/acpi/piix4.c +++ b/hw/acpi/piix4.c @@ -596,8 +596,10 @@ static void piix4_acpi_system_hot_add_init(MemoryRegion *parent, "acpi-gpe0", GPE_LEN); memory_region_add_subregion(parent, GPE_BASE, &s->io_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 Thu Sep 17 15:00:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11782757 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 072D514F6 for ; Thu, 17 Sep 2020 15:13:38 +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 AA17A22252 for ; Thu, 17 Sep 2020 15:13:37 +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="OzUDEI7G" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AA17A22252 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]:46240 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvbK-0002X4-Cq for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:13:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54796) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvQ3-00022h-US for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:55 -0400 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]:40544) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPv-00014k-Bz for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:55 -0400 Received: by mail-pl1-x643.google.com with SMTP id bd2so1268817plb.7 for ; Thu, 17 Sep 2020 08:01:45 -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=AWrCdAS9YrXdNthcKajxbUJ0zahd1eQ0Rfl6scNbHz8=; b=OzUDEI7Gv75rdIJnkoFyg5mBCyEAHMEWkKYn7kEMChWgSVfIhiiXTHNyjgh3MwFsoI +T8jP/soCEPNkBDyJqQ2Y2/h66uyyHAxtkosA3nwDdsMYyCFYzCtq9onwz74uAibSa/w 6kvH3W5L5lMhpLRya2fifiN+Mh+UT20UpaldAyp17a5SNaMItl0xX3vp/xpxPJ8NxVUw 1ZyEChVc4UTILiG9rkDrVwqw9mgzC0V7RL1CiBjdskymJZEVLY6dBsvC7RHHcIkq0H8i RrtPOzd8H3D7aqXHKPt8kVbJ+e8eoLQLPwRx4QhcA/C6/zXlgoevRwPdT1olYv3PQbuC 5ghg== 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=AWrCdAS9YrXdNthcKajxbUJ0zahd1eQ0Rfl6scNbHz8=; b=qmNU3Fp9896+6TVqavk3r1udqeqHx3NSoO5KWvVn0Nfrk8Bm+hIpq4yzqXyWMq5wZU tkuP5fdm85y1Gg9WFaaEbiY2f43y6p4PGq6i2Y2U1e7QqJ/HbBFkmrjgo/AQnfPMh/bw Jy1JzHv8EoLVHQ94B3IE21ZS2lk9d9MnMxdNS0TihDOW3l0TJadLDa59AUI2LF7w2shs T3GyAczy+7ztzRulk/cmhRqB229OQK5pGpkNtmoEFxVg7Md/f+IvoCidL8JTNDB5ObhX GegADuEiOAnMcDimqFomlXWhOJ4r9jiSWE2VSUkcywdoM8QgnmV7dENglTQhBwrDo6D2 p/Xg== X-Gm-Message-State: AOAM532Jl1yoWYN7tFHLA5qc8KF8QZEcyIp5qiu22EycNsJOfJ/EeP57 GcghFefheNtZh5x/W9K9d7MqNRFSfhXk94J1 X-Google-Smtp-Source: ABdhPJx9WFpAsWXfILgjpERpMFXAc8TfI3/QVPZlQy+82wp6fVeZ48rHnEuOPAej3tbIOHub4neltg== X-Received: by 2002:a17:902:9f84:b029:d1:cc21:9a49 with SMTP id g4-20020a1709029f84b02900d1cc219a49mr17442678plq.9.1600354903920; Thu, 17 Sep 2020 08:01:43 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.01.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:43 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 11/12] tests/acpi: unit test exercising global pci hotplug off for i440fx Date: Thu, 17 Sep 2020 20:30:43 +0530 Message-Id: <20200917150044.23159-12-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-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: Laurent Vivier , Thomas Huth , "Michael S. Tsirkin" , jusual@redhat.com, Paolo Bonzini , Ani Sinha , Igor Mammedov Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" This change adds a unit test to exercise 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. Signed-off-by: Ani Sinha Reviewed-by: Igor Mammedov --- tests/qtest/bios-tables-test-allowed-diff.h | 1 + tests/qtest/bios-tables-test.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) 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 c970556795..3f7f1a8107 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -768,6 +768,21 @@ static void test_acpi_piix4_no_bridge_hotplug(void) free_test_data(&data); } +static void test_acpi_piix4_no_acpi_pci_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; @@ -1176,6 +1191,8 @@ int main(int argc, char *argv[]) test_acpi_piix4_no_root_hotplug); qtest_add_func("acpi/piix4/pci-hotplug/no_bridge_hotplug", test_acpi_piix4_no_bridge_hotplug); + qtest_add_func("acpi/piix4/pci-hotplug/off", + test_acpi_piix4_no_acpi_pci_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 Thu Sep 17 15:00:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ani Sinha X-Patchwork-Id: 11782795 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 083C26CA for ; Thu, 17 Sep 2020 15:27: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 9913820872 for ; Thu, 17 Sep 2020 15:27:11 +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="CMnM4JRX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9913820872 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]:47628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIvoU-0000GU-F9 for patchwork-qemu-devel@patchwork.kernel.org; Thu, 17 Sep 2020 11:27:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54850) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIvQ7-00026X-53 for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:02:02 -0400 Received: from mail-pf1-x442.google.com ([2607:f8b0:4864:20::442]:40683) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kIvPy-00015E-76 for qemu-devel@nongnu.org; Thu, 17 Sep 2020 11:01:58 -0400 Received: by mail-pf1-x442.google.com with SMTP id x123so1375192pfc.7 for ; Thu, 17 Sep 2020 08:01:49 -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=PZ0t5l0h/1dEpMOLrSPH28d48Nu+Fe9SZlr/r+Ye7Vw=; b=CMnM4JRXQZ+2vB/xNT0x4WyLyNXWBpyJq2R5khvXiTHKbmKJwLbRxYCd6YC7RezK72 px1owRszb53WAsW85qPHfSYQctVJ7npa1C2vwqjCuSnSz1Gsxi2K6GOUU0RDMAJLNrDo IHXz+aysys0qTILUu1ch9OlJtb6HsCKNKzIPRyOVOoBJxNqIcOxnNTXRRRtktLR3J0gX VL0ggD1HcHgocFrHCZ/ikiwTJF4WN3nMNpGpcbQWrTw2KctNlM+D8cwSbNjpRZym6Bg7 rxYCxNvWd/Mf0ecmKuvj0k72zl4Qi7T/XIYRkLnbog80DhKxqVH0CQIYehan+Y5yyO8E gyAw== 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=PZ0t5l0h/1dEpMOLrSPH28d48Nu+Fe9SZlr/r+Ye7Vw=; b=diTolUEZ+0kQeKzSRwNYrJswszh0uHUEpkog2LAluHILiw254Cs9dEiiEd0lc1+sJT Qtdd8CMsacAXzLsKVTOCX8UlMCrCYjDkZ8DC51oTZLcuJWqXDQdKLAANR+SzJQ/Op48N rKcc3nstHdqBMlJUee80T3zElXU/k75Wulrg0ScCVZsy6wvjXUK+kUlv4lEJSkXwh2T/ OCnXzddIQH+j8woO/gEq09WmWr717MtLX9PXh2vOWNSWftYGb7eVmeUTjmHxtwwr8H+9 3F6vhm5b/lxdvr+1CbjXjr0y94BUpXRsNFej9q8/259sEIOc1m8mGvS7UcOH/XA4Nf5W HIyg== X-Gm-Message-State: AOAM533oZwlhiMqN0ySfHXuqp/v5BFJFObQQw2lVntBYY4obC9EVfnL3 MIPUE5oKbMdCLQp2bpSUykFy20dpcrak8UlK X-Google-Smtp-Source: ABdhPJx66lpWCYJXBvmjvol99FTnrZ0Y0KsHUJa/wu4MCtsWxc1PKvfU9fQmOlBNR9/zWTHb5lDbVw== X-Received: by 2002:a63:d04b:: with SMTP id s11mr22486685pgi.241.1600354907999; Thu, 17 Sep 2020 08:01:47 -0700 (PDT) Received: from localhost.localdomain ([115.96.151.231]) by smtp.googlemail.com with ESMTPSA id e10sm17674374pgb.45.2020.09.17.08.01.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 08:01:47 -0700 (PDT) From: Ani Sinha To: qemu-devel@nongnu.org Subject: [PATCH v8 12/12] tests/acpi: add DSDT.hpbrroot DSDT table blob to test global i440fx hotplug Date: Thu, 17 Sep 2020 20:30:44 +0530 Message-Id: <20200917150044.23159-13-ani@anisinha.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200917150044.23159-1-ani@anisinha.ca> References: <20200917150044.23159-1-ani@anisinha.ca> Received-SPF: none client-ip=2607:f8b0:4864:20::442; envelope-from=ani@anisinha.ca; helo=mail-pf1-x442.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 , "Michael S. Tsirkin" , jusual@redhat.com, Paolo Bonzini , Ani Sinha , Igor Mammedov 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: @@ -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 Acked-by: Igor Mammedov --- 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",