From patchwork Thu Dec 7 21:46:19 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corey Minyard X-Patchwork-Id: 10101161 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4604B60329 for ; Thu, 7 Dec 2017 21:55:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 37341204FE for ; Thu, 7 Dec 2017 21:55:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2BEF7223A1; Thu, 7 Dec 2017 21:55:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9C00F204FE for ; Thu, 7 Dec 2017 21:55:37 +0000 (UTC) Received: from localhost ([::1]:34546 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eN48m-0005pa-OL for patchwork-qemu-devel@patchwork.kernel.org; Thu, 07 Dec 2017 16:55:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51472) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eN405-000466-UV for qemu-devel@nongnu.org; Thu, 07 Dec 2017 16:46:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eN404-0006Vh-In for qemu-devel@nongnu.org; Thu, 07 Dec 2017 16:46:37 -0500 Received: from mail-pf0-x241.google.com ([2607:f8b0:400e:c00::241]:44437) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eN404-0006U1-AO for qemu-devel@nongnu.org; Thu, 07 Dec 2017 16:46:36 -0500 Received: by mail-pf0-x241.google.com with SMTP id m26so5668997pfj.11 for ; Thu, 07 Dec 2017 13:46:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=4T+FJAb63jD5LKjLngI1pzi9a7AFohSKn8NfMwnkyEU=; b=fbRib1tBicj+ngpbhAXc05Ruj5Sies2qQQthJ4zNJFQbcBlyCkSXl8Di1CD8Ka8xmK R8sLMaRNLPS9bjTR3ikzcoo/t0VrTeg6NJ/bhqA6PEOsLPe8LqglIr3jnYJlx0ymIf7o 8BRzXR7WJv2aeBFrxVVP/BQlRACvjKqLoWd6/eq5jMDpoV6+u3XhHZby9udUqR0VkFvy D8oHcKSkU4yqsmQ3q4Xemn3tsE9XAvaGTDNzHWe4NG4qchtcA/lCtXUlsgW6UKQZTKuJ Vv1fM2BJZy1yE+Zit650edBh/RbUQMqb5wAr4mn22yWlUoovJD3kuL2XJVNq33bakmrH Dzjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=4T+FJAb63jD5LKjLngI1pzi9a7AFohSKn8NfMwnkyEU=; b=fillmGmvXjdq7uaWrbwICs1X9whbd4/7zwi71t2weRKYUnvk+AoebcSCDg+WNBl4H5 /bICsma6L8jilR5q82jsKgOle4j1/uphjo0cBYlRP4DS54JI0006a5VyJurMCzaG6zU6 M99ZFGidH553zgbAVYzHWLWlf9/gkF3IkO1imYuQfeFLF3Mag9REaS7WVwXrUnH0v6Ak PwbCj606OzO7JJ9CulAQjxJMVLh4ThUiyq4Hs5L27drfUKzWSmgediYGpXyMGe+2LseU DP71uuk6QvczrZzK75NCaIUfHLF5oZ/snVSUln2lkhSpVBYPqWZrQ4osg71Hl2gZs5BF 3+Sw== X-Gm-Message-State: AJaThX6I2o+NO2f5fC1txFjg2lD7RbWV4FGUieHChTqB2755ZNN9xP5I QQudpCWmf3ojwxR3QHqaHGldZI0= X-Google-Smtp-Source: AGs4zMbh4CHWL2sugdLkHmOC7Vt32Amqx9fO8uZsIrpSAESqSDnD+2E0TFrbLzxP2pzMM+91i/XWyA== X-Received: by 10.99.100.67 with SMTP id y64mr26639996pgb.19.1512683195209; Thu, 07 Dec 2017 13:46:35 -0800 (PST) Received: from serve.minyard.net (serve.minyard.net. [2001:470:b8f6:1b::1]) by smtp.gmail.com with ESMTPSA id k2sm9780688pff.150.2017.12.07.13.46.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Dec 2017 13:46:30 -0800 (PST) Received: from t430.minyard.net (t430m.minyard.net [192.168.27.3]) by serve.minyard.net (Postfix) with ESMTPA id F3BC7FAA; Thu, 7 Dec 2017 15:46:25 -0600 (CST) Received: by t430.minyard.net (Postfix, from userid 1000) id 872EE30236B; Thu, 7 Dec 2017 15:46:23 -0600 (CST) From: minyard@acm.org To: qemu-devel@nongnu.org Date: Thu, 7 Dec 2017 15:46:19 -0600 Message-Id: <1512683181-8420-13-git-send-email-minyard@acm.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512683181-8420-1-git-send-email-minyard@acm.org> References: <1512683181-8420-1-git-send-email-minyard@acm.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::241 Subject: [Qemu-devel] [PATCH 12/14] ipmi: Fix SSIF ACPI handling to use the right CRS X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Corey Minyard Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Corey Minyard Signed-off-by: Corey Minyard --- hw/acpi/ipmi-stub.c | 2 +- hw/acpi/ipmi.c | 13 +++++++------ hw/i386/acpi-build.c | 2 +- include/hw/acpi/ipmi.h | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/hw/acpi/ipmi-stub.c b/hw/acpi/ipmi-stub.c index 98b6dce..6c71d6c 100644 --- a/hw/acpi/ipmi-stub.c +++ b/hw/acpi/ipmi-stub.c @@ -9,6 +9,6 @@ #include "hw/acpi/ipmi.h" -void build_acpi_ipmi_devices(Aml *table, BusState *bus) +void build_acpi_ipmi_devices(Aml *table, BusState *bus, const char *resource) { } diff --git a/hw/acpi/ipmi.c b/hw/acpi/ipmi.c index 651e2e9..96e48eb 100644 --- a/hw/acpi/ipmi.c +++ b/hw/acpi/ipmi.c @@ -13,7 +13,7 @@ #include "hw/acpi/acpi.h" #include "hw/acpi/ipmi.h" -static Aml *aml_ipmi_crs(IPMIFwInfo *info) +static Aml *aml_ipmi_crs(IPMIFwInfo *info, const char *resource) { Aml *crs = aml_resource_template(); @@ -48,7 +48,8 @@ static Aml *aml_ipmi_crs(IPMIFwInfo *info) info->register_spacing, info->register_length)); break; case IPMI_MEMSPACE_SMBUS: - aml_append(crs, aml_return(aml_int(info->base_address))); + aml_append(crs, aml_i2c_serial_bus_device(info->base_address, + resource)); break; default: abort(); @@ -61,7 +62,7 @@ static Aml *aml_ipmi_crs(IPMIFwInfo *info) return crs; } -static Aml *aml_ipmi_device(IPMIFwInfo *info) +static Aml *aml_ipmi_device(IPMIFwInfo *info, const char *resource) { Aml *dev; uint16_t version = ((info->ipmi_spec_major_revision << 8) @@ -74,14 +75,14 @@ static Aml *aml_ipmi_device(IPMIFwInfo *info) aml_append(dev, aml_name_decl("_STR", aml_string("ipmi_%s", info->interface_name))); aml_append(dev, aml_name_decl("_UID", aml_int(info->uuid))); - aml_append(dev, aml_name_decl("_CRS", aml_ipmi_crs(info))); + aml_append(dev, aml_name_decl("_CRS", aml_ipmi_crs(info, resource))); aml_append(dev, aml_name_decl("_IFT", aml_int(info->interface_type))); aml_append(dev, aml_name_decl("_SRV", aml_int(version))); return dev; } -void build_acpi_ipmi_devices(Aml *scope, BusState *bus) +void build_acpi_ipmi_devices(Aml *scope, BusState *bus, const char *resource) { BusChild *kid; @@ -101,6 +102,6 @@ void build_acpi_ipmi_devices(Aml *scope, BusState *bus) iic = IPMI_INTERFACE_GET_CLASS(obj); memset(&info, 0, sizeof(info)); iic->get_fwinfo(ii, &info); - aml_append(scope, aml_ipmi_device(&info)); + aml_append(scope, aml_ipmi_device(&info, resource)); } } diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 73519ab..84d82bc 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1340,7 +1340,7 @@ static void build_isa_devices_aml(Aml *table) } else if (!obj) { error_report("No ISA bus, unable to define IPMI ACPI data"); } else { - build_acpi_ipmi_devices(scope, BUS(obj)); + build_acpi_ipmi_devices(scope, BUS(obj), "\\_SB.PCI0.ISA"); } aml_append(table, scope); diff --git a/include/hw/acpi/ipmi.h b/include/hw/acpi/ipmi.h index ab2bb29..d68bc85 100644 --- a/include/hw/acpi/ipmi.h +++ b/include/hw/acpi/ipmi.h @@ -17,6 +17,6 @@ * bus matches the given bus. The resource is the ACPI resource that * contains the IPMI device, this is required for the I2C CRS. */ -void build_acpi_ipmi_devices(Aml *table, BusState *bus); +void build_acpi_ipmi_devices(Aml *table, BusState *bus, const char *resource); #endif /* HW_ACPI_IPMI_H */