From patchwork Sat Feb 26 06:30:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liav Albani X-Patchwork-Id: 1598060 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Q8ExgdlI; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) 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 bilbo.ozlabs.org (Postfix) with ESMTPS id 4K5Gyp4fRWz9sG0 for ; Sat, 26 Feb 2022 17:32:17 +1100 (AEDT) Received: from localhost ([::1]:52696 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nNqcp-00024m-4W for incoming@patchwork.ozlabs.org; Sat, 26 Feb 2022 01:32:15 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33538) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nNqbm-000246-PE for qemu-devel@nongnu.org; Sat, 26 Feb 2022 01:31:10 -0500 Received: from [2a00:1450:4864:20::435] (port=39633 helo=mail-wr1-x435.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nNqbj-0006Sp-TZ for qemu-devel@nongnu.org; Sat, 26 Feb 2022 01:31:10 -0500 Received: by mail-wr1-x435.google.com with SMTP id s13so7461583wrb.6 for ; Fri, 25 Feb 2022 22:31:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=q+4euos2X2sE9Kn//yFjNOTsm9gej+U7wgc1A9eCeFA=; b=Q8ExgdlIxdQ7LeBFkgx+h4/UGen8kOezHThSfVgvHqKCx2c4o4dF8nRRPaU266eiTs gKcyXcaLbDYD23n1eAANzfGSJdoStKDAvYN8nMAuhd6Yj+CKYo06MsK8hbZ85FulhaZP sPuqORxAvhZS5VruqYHU9Ko/SlH3K1MJJYoFPPQa1mgFnWKlLHfs7UenEk2lYNUwmsxC J2dD+2P93joG4NUC14zNhUMXeSK+5ZYf9psod6+9DqruVnB86mFrhNBN/Tr3OT3Jxdvs 5FHnkRhMsULmCOzeegzXPslkJC8Q/Av6tYEKVLZ73+roF9eetuYo0UnxVzTJQXqkUjnU uWiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=q+4euos2X2sE9Kn//yFjNOTsm9gej+U7wgc1A9eCeFA=; b=K2VzjUoML1VQsMOFA/9UB4eOnp2OWiy7zFBoPuyCQunA09gX4VpNvWkYSjU8caWodO spIO04OEAu3THn64c9sCj+ED1sOwCsvj8s1ZlOa8EKdwvCVGLmAgcTxcq2u0ycXJDL1/ +TCJMdhxz/trzt9h0VQtvrVaFWLaybLDNk2ZSRfo+w6QE65/tv5Y+gZ8uruempGML3E5 RcUPdtqLhLrjVmyTEv0Kqk0/rYUGm4qc/3veVY93NxuW0mmYm0/SoODE21NEvDdf/qOH HQtI8ue+T/jczNVGM0Yw61fBFlpTmHaoojK0ZjOt/KFxUG+fr9ioXxZ7zZ3TwJ65lTFD omRg== X-Gm-Message-State: AOAM532EPzJpjLOtUiK6MePkvQnR7mbVaZGzZhR7/LutCZ1xYdvcUJQq nSa2qIKpO890rplHlN9hT8OBJgAmpzk= X-Google-Smtp-Source: ABdhPJyfWy9mzXPOyvCf9uDQsI4iFCmPYbh8A3p4YFc+FwW4PfMyM0lIG9cj2ApgR8v1WaXI4smFwQ== X-Received: by 2002:a5d:4a08:0:b0:1ed:b997:46d8 with SMTP id m8-20020a5d4a08000000b001edb99746d8mr8406958wrq.440.1645857065892; Fri, 25 Feb 2022 22:31:05 -0800 (PST) Received: from liavpc.localdomain ([2a10:800b:ea29:1:266:a58e:9f87:7014]) by smtp.gmail.com with ESMTPSA id q7-20020adfcd87000000b001e8a4f58a8csm3933407wrj.66.2022.02.25.22.31.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Feb 2022 22:31:05 -0800 (PST) From: Liav Albani To: qemu-devel@nongnu.org Subject: [PATCH v3 1/4] hw/isa: add function to check for existence of device by its type Date: Sat, 26 Feb 2022 08:30:16 +0200 Message-Id: <20220226063019.1112654-2-liavalb@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220226063019.1112654-1-liavalb@gmail.com> References: <20220226063019.1112654-1-liavalb@gmail.com> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::435 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=liavalb@gmail.com; helo=mail-wr1-x435.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ani@anisinha.ca, imammedo@redhat.com, Liav Albani , mst@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This function enumerates all attached ISA devices in the machine, and tries to compare a given device type name to the enumerated devices. For example, this can help other code to determine if a i8042 controller exists in the machine. Signed-off-by: Liav Albani --- hw/isa/isa-bus.c | 23 +++++++++++++++++++++++ include/hw/isa/isa.h | 1 + 2 files changed, 24 insertions(+) diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c index 6c31398dda..663aa36d29 100644 --- a/hw/isa/isa-bus.c +++ b/hw/isa/isa-bus.c @@ -222,6 +222,29 @@ void isa_build_aml(ISABus *bus, Aml *scope) } } +bool isa_check_device_existence(const char *typename) +{ + /* + * If there's no ISA bus, we know for sure that the checked ISA device type + * doesn't exist in the machine. + */ + if (isabus == NULL) { + return false; + } + + BusChild *kid; + ISADevice *dev; + + QTAILQ_FOREACH(kid, &isabus->parent_obj.children, sibling) { + dev = ISA_DEVICE(kid->child); + const char *object_type = object_get_typename(OBJECT(dev)); + if (object_type && strcmp(object_type, typename) == 0) { + return true; + } + } + return false; +} + static void isabus_dev_print(Monitor *mon, DeviceState *dev, int indent) { ISADevice *d = ISA_DEVICE(dev); diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h index d4417b34b6..65f0c7e28c 100644 --- a/include/hw/isa/isa.h +++ b/include/hw/isa/isa.h @@ -99,6 +99,7 @@ IsaDma *isa_get_dma(ISABus *bus, int nchan); MemoryRegion *isa_address_space(ISADevice *dev); MemoryRegion *isa_address_space_io(ISADevice *dev); ISADevice *isa_new(const char *name); +bool isa_check_device_existence(const char *typename); ISADevice *isa_try_new(const char *name); bool isa_realize_and_unref(ISADevice *dev, ISABus *bus, Error **errp); ISADevice *isa_create_simple(ISABus *bus, const char *name); From patchwork Sat Feb 26 06:30:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liav Albani X-Patchwork-Id: 1598062 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=JLyv6Vtc; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) 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 bilbo.ozlabs.org (Postfix) with ESMTPS id 4K5Gyq1yf2z9sG5 for ; Sat, 26 Feb 2022 17:32:18 +1100 (AEDT) Received: from localhost ([::1]:52754 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nNqcq-00027X-Lg for incoming@patchwork.ozlabs.org; Sat, 26 Feb 2022 01:32:16 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33556) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nNqbo-00025R-Q5 for qemu-devel@nongnu.org; Sat, 26 Feb 2022 01:31:14 -0500 Received: from [2a00:1450:4864:20::431] (port=42935 helo=mail-wr1-x431.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nNqbm-0006T3-77 for qemu-devel@nongnu.org; Sat, 26 Feb 2022 01:31:12 -0500 Received: by mail-wr1-x431.google.com with SMTP id d17so7432141wrc.9 for ; Fri, 25 Feb 2022 22:31:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KnYql3OH7CHGuzhamKtAe9R5fsZj0EkHsVE9D5HsbSY=; b=JLyv6Vtc2ezlwgkOy+t+gzGOc/C7uYfeyqhvZKNUwFKZxNtNW+u7A3o0LM5HXj49ew qexLYX1D7MkHGEwdlbWHC3FSFArcMuWIUhiqrmPOtk4tt7W2ylgdVptRn+Rsw9DbgA6I lAcDZtWNiGrNyU2+3pTsEtS1Wr/g7ZJL2giYAbfCUoUYsWRbBJHeRKazhW+FxAP2F9Bn B89UwZ2sReTRns09aDosIXgJxeH0OvmbDP/l6MCa8BLs4g1QJbPSUWWlJpJRAQbp+VAA 0zipTklbkJlIABxPNJcy0x25KWKZZEmUTOxQtmbE28PdZdBcs1/apFIkDV7joeyul3dH 6Gsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KnYql3OH7CHGuzhamKtAe9R5fsZj0EkHsVE9D5HsbSY=; b=0MeDykUAPBg3/MjtOuqcmht4Nb95Sf2WEmi+h2fEDwoy6V0Z1v2f4s09WUubjR8XR5 uaM6+HB/6psOCHhtOZCaQKsDEjAYEe8BIUTPn5OoAw3gPF4j2ohmm5MsD5ul9xbMTW7t 4HOz/TIL0ketgSTsVfvFWk5ERMbmM1wubfWcZ2+FYHSHVQKocGbZKZLh8Y8xl/SLAgI/ 1dmKNZl1ZxApKbNQYUkm8vt7qg5XPrWHed9yvhA67/0xvRrHyytKvfz7cEYmASlT3hE1 RXrNtmXrj8tj1aZH8jONnOFbdxg/nfbkWrk+7B2tlh7ZnYZtbMFglmfSjHONJi/GPeNo 2dGw== X-Gm-Message-State: AOAM533oRql8UKVwMryPEgD2Q2kN6We79+GLRo1U/r9PmFtWRduBWQVf ayDC9PIjIeYiJKN0RugacToOisrPgKQ= X-Google-Smtp-Source: ABdhPJxz3NPSydGgquyn7Q1y/Fl/BjbJiakyXY+6CtzPbONWWxS6N+FeOpRUM02cdugZtwRzQ7zXDg== X-Received: by 2002:adf:cd8f:0:b0:1ed:af02:2295 with SMTP id q15-20020adfcd8f000000b001edaf022295mr8423625wrj.226.1645857068640; Fri, 25 Feb 2022 22:31:08 -0800 (PST) Received: from liavpc.localdomain ([2a10:800b:ea29:1:266:a58e:9f87:7014]) by smtp.gmail.com with ESMTPSA id q7-20020adfcd87000000b001e8a4f58a8csm3933407wrj.66.2022.02.25.22.31.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Feb 2022 22:31:08 -0800 (PST) From: Liav Albani To: qemu-devel@nongnu.org Subject: [PATCH v3 2/4] tests/acpi: i386: allow FACP acpi table changes Date: Sat, 26 Feb 2022 08:30:17 +0200 Message-Id: <20220226063019.1112654-3-liavalb@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220226063019.1112654-1-liavalb@gmail.com> References: <20220226063019.1112654-1-liavalb@gmail.com> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::431 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=liavalb@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ani@anisinha.ca, imammedo@redhat.com, Liav Albani , mst@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The FACP table is going to be changed for x86/q35 machines. To be sure the following changes are not breaking any QEMU test this change follows step 2 from the bios-tables-test.c guide on changes that affect ACPI tables. Signed-off-by: Liav Albani Acked-by: Ani Sinha --- tests/qtest/bios-tables-test-allowed-diff.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8b..7570e39369 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,5 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/q35/FACP", +"tests/data/acpi/q35/FACP.nosmm", +"tests/data/acpi/q35/FACP.slic", +"tests/data/acpi/q35/FACP.xapic", From patchwork Sat Feb 26 06:30:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liav Albani X-Patchwork-Id: 1598064 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Pbpagctm; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) 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 bilbo.ozlabs.org (Postfix) with ESMTPS id 4K5H193t5Bz9sFx for ; Sat, 26 Feb 2022 17:34:21 +1100 (AEDT) Received: from localhost ([::1]:59762 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nNqep-0006nn-EP for incoming@patchwork.ozlabs.org; Sat, 26 Feb 2022 01:34:19 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33600) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nNqbx-0002BJ-39 for qemu-devel@nongnu.org; Sat, 26 Feb 2022 01:31:21 -0500 Received: from [2a00:1450:4864:20::32c] (port=56083 helo=mail-wm1-x32c.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nNqbv-0006Ue-6O for qemu-devel@nongnu.org; Sat, 26 Feb 2022 01:31:20 -0500 Received: by mail-wm1-x32c.google.com with SMTP id i19so2797994wmq.5 for ; Fri, 25 Feb 2022 22:31:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OhBScJ7oS02GIZgMJmKU7cpeN/cjdltc2pNchdXhFDY=; b=PbpagctmIuZ00FfZta87Ej20YurKVOK2KAfXP87kEUHhVpr2gV6NoOO2ond6KgLGQe fSuGG0c7g24arcjqKq56Mvlljre4XCzy0FTm1Lzf7lAWDzOfTXjVSi7tMyVKl23V1B/L EPyWbT/5g5XyTNm4RH6TMkdwAS5xc0mNlNmNg2GfmaK1gjCyG9t2A8z3q7WnZOTlWL38 yRjmOI48U3E23bHJjV+1ZvhqNKSmtPtyXay1lDlQqUakAFEwMTziPZB8Byq39/9+L+ui BLEMXksTOVW6EcUHbrNgBfocDFgMoexr9dsx4q1yQd2E64tkN1Yxv8i7WtMf1IH51EFL xw5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OhBScJ7oS02GIZgMJmKU7cpeN/cjdltc2pNchdXhFDY=; b=zHeZdm2/pUmXYetDgDAu/mtuvTsn7OqPBjlLquDjKBkLGxvX1X1fpPHGhz0rHi7NFk tDXMReS/CNYLX6OxKXTR9QsGtQJ+O233OuiVtkSrqbXTtRAYB06J/Hjn82KMPi9V6Pl4 a3w3KYLLky/maQY2nTIra1y/DOhwBZ1dIywj0whoXYr9FN+B87bQJJBjxg3oiPcFjIFI p8AINWJ9q0J9NoWdXFkf067Kvz6qi4vedCCO6pxtNYWAS0zUVeZ4U8nFQkNJsSZtaxbd RdTtMD4vy6dYW9Q2S7wG+PRTOZWbOV+xHmiL8t+tAr1mJxE3+4uJWPGr/W8VqARFI8/W XEeQ== X-Gm-Message-State: AOAM53273qS6xQKn2IMZIz5Oa8vhuTCnwi0Vuvx+jaqT/YAKNPklXF7A +dD2AWR21BKQuKja2EnAoKZkhljCgFw= X-Google-Smtp-Source: ABdhPJxa7p7+JSR73rj+fHAD2RxpzKpk85UomKytjjIQ1/RWvJi5zlH8ZnA9gKnnnPBy+7hgk+QZEQ== X-Received: by 2002:a7b:c341:0:b0:37b:c619:c9f4 with SMTP id l1-20020a7bc341000000b0037bc619c9f4mr5627766wmj.38.1645857072880; Fri, 25 Feb 2022 22:31:12 -0800 (PST) Received: from liavpc.localdomain ([2a10:800b:ea29:1:266:a58e:9f87:7014]) by smtp.gmail.com with ESMTPSA id q7-20020adfcd87000000b001e8a4f58a8csm3933407wrj.66.2022.02.25.22.31.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Feb 2022 22:31:12 -0800 (PST) From: Liav Albani To: qemu-devel@nongnu.org Subject: [PATCH v3 3/4] hw/acpi: add indication for i8042 in IA-PC boot flags of the FADT table Date: Sat, 26 Feb 2022 08:30:18 +0200 Message-Id: <20220226063019.1112654-4-liavalb@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220226063019.1112654-1-liavalb@gmail.com> References: <20220226063019.1112654-1-liavalb@gmail.com> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::32c (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=liavalb@gmail.com; helo=mail-wm1-x32c.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ani@anisinha.ca, imammedo@redhat.com, Liav Albani , mst@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This can allow the guest OS to determine more easily if i8042 controller is present in the system or not, so it doesn't need to do probing of the controller, but just initialize it immediately, before enumerating the ACPI AML namespace. Signed-off-by: Liav Albani --- hw/acpi/aml-build.c | 7 ++++++- hw/i386/acpi-build.c | 8 ++++++++ hw/i386/acpi-microvm.c | 9 +++++++++ include/hw/acpi/acpi-defs.h | 1 + 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index 8966e16320..ef5f4cad87 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -2152,7 +2152,12 @@ void build_fadt(GArray *tbl, BIOSLinker *linker, const AcpiFadtData *f, build_append_int_noprefix(tbl, 0, 1); /* DAY_ALRM */ build_append_int_noprefix(tbl, 0, 1); /* MON_ALRM */ build_append_int_noprefix(tbl, f->rtc_century, 1); /* CENTURY */ - build_append_int_noprefix(tbl, 0, 2); /* IAPC_BOOT_ARCH */ + /* IAPC_BOOT_ARCH */ + if (f->rev == 1) { + build_append_int_noprefix(tbl, 0, 2); + } else { + build_append_int_noprefix(tbl, f->iapc_boot_arch, 2); + } build_append_int_noprefix(tbl, 0, 1); /* Reserved */ build_append_int_noprefix(tbl, f->flags, 4); /* Flags */ diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index ebd47aa26f..65dbc1ec36 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -192,6 +192,14 @@ static void init_common_fadt_data(MachineState *ms, Object *o, .address = object_property_get_uint(o, ACPI_PM_PROP_GPE0_BLK, NULL) }, }; + /* + * second bit of 16 but IAPC_BOOT_ARCH indicates presence of 8042 or + * equivalent micro controller. See table 5-10 of APCI spec version 2.0 + * (the earliest acpi revision that supports this). + */ + + fadt.iapc_boot_arch = isa_check_device_existence("i8042") ? 0x0002 : 0x0000; + *data = fadt; } diff --git a/hw/i386/acpi-microvm.c b/hw/i386/acpi-microvm.c index 68ca7e7fc2..e5f89164be 100644 --- a/hw/i386/acpi-microvm.c +++ b/hw/i386/acpi-microvm.c @@ -189,6 +189,15 @@ static void acpi_build_microvm(AcpiBuildTables *tables, .reset_val = ACPI_GED_RESET_VALUE, }; + /* + * second bit of 16 but IAPC_BOOT_ARCH indicates presence of 8042 or + * equivalent micro controller. See table 5-10 of APCI spec version 2.0 + * (the earliest acpi revision that supports this). + */ + + pmfadt.iapc_boot_arch = isa_check_device_existence("i8042") ? 0x0002 + : 0x0000; + table_offsets = g_array_new(false, true /* clear */, sizeof(uint32_t)); bios_linker_loader_alloc(tables->linker, diff --git a/include/hw/acpi/acpi-defs.h b/include/hw/acpi/acpi-defs.h index c97e8633ad..2b42e4192b 100644 --- a/include/hw/acpi/acpi-defs.h +++ b/include/hw/acpi/acpi-defs.h @@ -77,6 +77,7 @@ typedef struct AcpiFadtData { uint16_t plvl2_lat; /* P_LVL2_LAT */ uint16_t plvl3_lat; /* P_LVL3_LAT */ uint16_t arm_boot_arch; /* ARM_BOOT_ARCH */ + uint16_t iapc_boot_arch; /* IAPC_BOOT_ARCH */ uint8_t minor_ver; /* FADT Minor Version */ /* From patchwork Sat Feb 26 06:30:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liav Albani X-Patchwork-Id: 1598063 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=UnIsuC6u; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) 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 bilbo.ozlabs.org (Postfix) with ESMTPS id 4K5H175f6Gz9sFx for ; Sat, 26 Feb 2022 17:34:19 +1100 (AEDT) Received: from localhost ([::1]:59442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nNqen-0006bL-Kr for incoming@patchwork.ozlabs.org; Sat, 26 Feb 2022 01:34:17 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33602) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nNqbx-0002BO-Mm for qemu-devel@nongnu.org; Sat, 26 Feb 2022 01:31:21 -0500 Received: from [2a00:1450:4864:20::436] (port=40475 helo=mail-wr1-x436.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nNqbu-0006bO-Fa for qemu-devel@nongnu.org; Sat, 26 Feb 2022 01:31:20 -0500 Received: by mail-wr1-x436.google.com with SMTP id n14so7443084wrq.7 for ; Fri, 25 Feb 2022 22:31:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hxfE5h3bb/WP60r0i6D76woopRIFuaqNsVGweGdXlfc=; b=UnIsuC6uDqPLzb9eG1kr5oBepfqH9l0k8bfcVKfSdditU7A/xqSiTMSnWmZFWN3H4S x+515gnPbQIB3J1Q17/bgY8a3PNBSojHLthcUs/0JIw3LeWK2GhvbRq6cwhKilFXnGfA ZvDNsOPZpT+k3ENBG5SVHiMw4PuypPRa4UyHvETxPcAFu9uSs7MMfP6OKmlOl+Ry7RTb RCL5uvUSW8qZkOnyTJRhLjiy0Et7VnIwgAabw1xsFhi/LjKji5QDVU/UgGrHqclTaMve 696hKQ0WaIEcZXUaByQXbKh3lUbgjUhmLcI+DTUOkdFrBRia4WZwg1PU+CU0nqjELOCj xMlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hxfE5h3bb/WP60r0i6D76woopRIFuaqNsVGweGdXlfc=; b=RdTtwLljisXH9+FyA8Z5OmvgzMgVYS3UyL1Pnys9Je365cPZpOOg6DBhPcLW4I6ebS Iopfn7x1wmC+vcPOSBMNUnlkh0CI7PhQAm8eIcJvzyDFLp57WI34bsBq99Mf0digdznp BBM5tJp5AdNbNyP8CY/Kox20SZwm2i+CKgMN+SrFMO7c5m25Pb6U9XQcDB+5uhIU/qjG Z0rVKxp3Az1x2e/V5p44k/jQN4tm9R3C2B95NIOfNryjZCILHBEtJmvfMJmnSJFEqpWc vGnz+5Chak9JJ/YjxjJskUbefY1PuQEGBNkz/ePRib+h0jtwjdBA487QaL3Un8xkWrat +9qQ== X-Gm-Message-State: AOAM531YGYEqqua8w6Hz+hkpNeSMF8eiZSS0vv7q3ihC3mSfRcgvGyWE hS696Pefz+EMexpME++7tchTh24r0S4= X-Google-Smtp-Source: ABdhPJzPqPkm9EUmM7QIzITzaOrAqn/FxVeoMHooEqgH7LqBYFYjhW5mta/WSx0Rcg8wYZAFEk4Rgg== X-Received: by 2002:a05:6000:246:b0:1ef:588c:b68f with SMTP id m6-20020a056000024600b001ef588cb68fmr6120863wrz.576.1645857076895; Fri, 25 Feb 2022 22:31:16 -0800 (PST) Received: from liavpc.localdomain ([2a10:800b:ea29:1:266:a58e:9f87:7014]) by smtp.gmail.com with ESMTPSA id q7-20020adfcd87000000b001e8a4f58a8csm3933407wrj.66.2022.02.25.22.31.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Feb 2022 22:31:16 -0800 (PST) From: Liav Albani To: qemu-devel@nongnu.org Subject: [PATCH v3 4/4] tests/acpi: i386: update FACP table differences Date: Sat, 26 Feb 2022 08:30:19 +0200 Message-Id: <20220226063019.1112654-5-liavalb@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220226063019.1112654-1-liavalb@gmail.com> References: <20220226063019.1112654-1-liavalb@gmail.com> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::436 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=liavalb@gmail.com; helo=mail-wr1-x436.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ani@anisinha.ca, imammedo@redhat.com, Liav Albani , mst@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" After changing the IAPC boot flags register to indicate support of i8042 in the machine chipset to help the guest OS to determine its existence "faster", we need to have the updated FACP ACPI binary images in tree. @@ -1,32 +1,32 @@ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20211217 (64-bit version) * Copyright (c) 2000 - 2021 Intel Corporation * - * Disassembly of tests/data/acpi/q35/FACP, Wed Feb 23 22:37:39 2022 + * Disassembly of /tmp/aml-BBFBI1, Wed Feb 23 22:37:39 2022 * * ACPI Data Table [FACP] * * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue (in hex) */ [000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)] [004h 0004 4] Table Length : 000000F4 [008h 0008 1] Revision : 03 -[009h 0009 1] Checksum : B9 +[009h 0009 1] Checksum : B7 [00Ah 0010 6] Oem ID : "BOCHS " [010h 0016 8] Oem Table ID : "BXPC " [018h 0024 4] Oem Revision : 00000001 [01Ch 0028 4] Asl Compiler ID : "BXPC" [020h 0032 4] Asl Compiler Revision : 00000001 [024h 0036 4] FACS Address : 00000000 [028h 0040 4] DSDT Address : 00000000 [02Ch 0044 1] Model : 01 [02Dh 0045 1] PM Profile : 00 [Unspecified] [02Eh 0046 2] SCI Interrupt : 0009 [030h 0048 4] SMI Command Port : 000000B2 [034h 0052 1] ACPI Enable Value : 02 [035h 0053 1] ACPI Disable Value : 03 [036h 0054 1] S4BIOS Command : 00 [037h 0055 1] P-State Control : 00 @@ -42,35 +42,35 @@ [059h 0089 1] PM1 Control Block Length : 02 [05Ah 0090 1] PM2 Control Block Length : 00 [05Bh 0091 1] PM Timer Block Length : 04 [05Ch 0092 1] GPE0 Block Length : 10 [05Dh 0093 1] GPE1 Block Length : 00 [05Eh 0094 1] GPE1 Base Offset : 00 [05Fh 0095 1] _CST Support : 00 [060h 0096 2] C2 Latency : 0FFF [062h 0098 2] C3 Latency : 0FFF [064h 0100 2] CPU Cache Size : 0000 [066h 0102 2] Cache Flush Stride : 0000 [068h 0104 1] Duty Cycle Offset : 00 [069h 0105 1] Duty Cycle Width : 00 [06Ah 0106 1] RTC Day Alarm Index : 00 [06Bh 0107 1] RTC Month Alarm Index : 00 [06Ch 0108 1] RTC Century Index : 32 -[06Dh 0109 2] Boot Flags (decoded below) : 0000 +[06Dh 0109 2] Boot Flags (decoded below) : 0002 Legacy Devices Supported (V2) : 0 - 8042 Present on ports 60/64 (V2) : 0 + 8042 Present on ports 60/64 (V2) : 1 VGA Not Present (V4) : 0 MSI Not Supported (V4) : 0 PCIe ASPM Not Supported (V4) : 0 CMOS RTC Not Present (V5) : 0 [06Fh 0111 1] Reserved : 00 [070h 0112 4] Flags (decoded below) : 000084A5 WBINVD instruction is operational (V1) : 1 WBINVD flushes all caches (V1) : 0 All CPUs support C1 (V1) : 1 C2 works on MP system (V1) : 0 Control Method Power Button (V1) : 0 Control Method Sleep Button (V1) : 1 RTC wake not in fixed reg space (V1) : 0 RTC can wake system from S4 (V1) : 1 32-bit PM Timer (V1) : 0 Docking Supported (V1) : 0 @@ -148,32 +148,32 @@ [0DCh 0220 1] Space ID : 01 [SystemIO] [0DDh 0221 1] Bit Width : 80 [0DEh 0222 1] Bit Offset : 00 [0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy] [0E0h 0224 8] Address : 0000000000000620 [0E8h 0232 12] GPE1 Block : [Generic Address Structure] [0E8h 0232 1] Space ID : 00 [SystemMemory] [0E9h 0233 1] Bit Width : 00 [0EAh 0234 1] Bit Offset : 00 [0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy] [0ECh 0236 8] Address : 0000000000000000 Raw Table Data: Length 244 (0xF4) - 0000: 46 41 43 50 F4 00 00 00 03 B9 42 4F 43 48 53 20 // FACP......BOCHS + 0000: 46 41 43 50 F4 00 00 00 03 B7 42 4F 43 48 53 20 // FACP......BOCHS 0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43 // BXPC ....BXPC 0020: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 09 00 // ................ 0030: B2 00 00 00 02 03 00 00 00 06 00 00 00 00 00 00 // ................ 0040: 04 06 00 00 00 00 00 00 00 00 00 00 08 06 00 00 // ................ 0050: 20 06 00 00 00 00 00 00 04 02 00 04 10 00 00 00 // ............... - 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 00 00 00 // ............2... + 0060: FF 0F FF 0F 00 00 00 00 00 00 00 00 32 02 00 00 // ............2... 0070: A5 84 00 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................ 0080: 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 0090: 00 00 00 00 01 20 00 00 00 06 00 00 00 00 00 00 // ..... .......... 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 // ................ 00B0: 04 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................ 00D0: 01 20 00 00 08 06 00 00 00 00 00 00 01 80 00 00 // . .............. 00E0: 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ............... 00F0: 00 00 00 00 // .... ** Signed-off-by: Liav Albani Acked-by: Ani Sinha --- tests/data/acpi/q35/FACP | Bin 244 -> 244 bytes tests/data/acpi/q35/FACP.nosmm | Bin 244 -> 244 bytes tests/data/acpi/q35/FACP.slic | Bin 244 -> 244 bytes tests/data/acpi/q35/FACP.xapic | Bin 244 -> 244 bytes tests/qtest/bios-tables-test-allowed-diff.h | 4 ---- 5 files changed, 4 deletions(-) diff --git a/tests/data/acpi/q35/FACP b/tests/data/acpi/q35/FACP index f6a864cc863c7763f6c09d3814ad184a658fa0a0..a8f6a8961109d01059aceef9f1869cde09a2f10c 100644 GIT binary patch delta 23 ecmeyu_=S