From nobody Thu Nov 14 07:01:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946173; cv=none; d=zohomail.com; s=zohoarc; b=KPGSmRGnRb8425a6+hvMygqqhDu8Wls0PtevgsOwdgMiHTMpXKgr4zKKhFQwCUloned9rQ3r6p1sDpZka2T+JPH2PtPDyGcLnEG5lAET2PV9ZaauJqL5r+3FJqrZbFUvPPogaDSl9qLvq23BC4xoWDcycI69a2BX60FE3FrCQSw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946173; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=M7CkfeTkkLz7+ZUpKzfJZ9NMY5Cg7S1z+LPXlC7Yofg=; b=VQaKCpnV1qi6r05aenDagE6L4DsGUoDibJrZWZLqmVA/Pi1HZe19LK/8kls2ExvZhiVSraouTZvKHYtK7UqFD2Erl8bN8hvrzr60XwCm+pzQoyOsioAOd2wY+j/bjIrnms4o+v8gZtyJHOdgIFV1OEkbuo0pSIzGeSBICLxEwqQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946173537866.7787261994016; Mon, 26 Feb 2024 03:16:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYwK-0000XL-KY; Mon, 26 Feb 2024 06:14:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYwI-0000Wj-V3 for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:30 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYwH-0008Qr-Bq for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:30 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-412a4094197so6697175e9.2 for ; Mon, 26 Feb 2024 03:14:26 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id bv15-20020a0560001f0f00b0033d47c6073esm8012835wrb.12.2024.02.26.03.14.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:14:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946065; x=1709550865; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=M7CkfeTkkLz7+ZUpKzfJZ9NMY5Cg7S1z+LPXlC7Yofg=; b=iqj5IHUlr9xa9BsC4VDFMsZSvqhzpedeCzNMbMW4iCyDL22+TkO5/IQ/RbLxORMwg/ CkpBbwzijpv8OcE4iD76kqfl83W+gETc1Q+omFqPbA+bKo+ISR2tvNABTzW+CsCRTvjd yHrOSuLAQi4fjWrireXB+e+YlPhe5kzrOjup1QFGG1FV2Olsf7wcSIHzxEz8OGdoQ7S6 tQhroPjwC1pnpFKzL3yleo4PeGHRWlt+mIEaPuJ/uZNUawDjhPi5J00yjT4POifXnsRH 0xMsyWOGTZrzkoMn7NhFfLi53KpuFij/S/ALk8NMukaFpJn1i3BcP/tRF3nIfMMtuKBw z7iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946065; x=1709550865; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=M7CkfeTkkLz7+ZUpKzfJZ9NMY5Cg7S1z+LPXlC7Yofg=; b=keX/MUsovHtx3K6lSs6iqmwFcj5iTg0q3lnehYhyrGnf644Ry06Ih37gThWxRCz0N5 OnmPVpQF6/+RJkHNAa68u+JXIqY3tFLnrOg1Dsk4yH9JwdifzDChQNTRJrgYIRfxuubY QEW5A+safMHrPKXJTnpn71Fy1vP+XBrEjC6xgYgQ+Yfvi6+8Pssl7xFCDfmerJiEkS9o KumsmIL7CN82EWM/Qrq3u9gRZct16OpyyhtXrwIxbI4rrAMW0Cakcci7uALHNXLVAZEH TPxbdAxzYYpsWPMrCV4rB9n8+MxB1H9+WQFOQifV7CBVGe0Xi5czEDcfnEBWAQd+2pRz R/GA== X-Gm-Message-State: AOJu0Yy97iihB9595OlQM/x+hpH7YK7GFUT7Io4hnCjPJZLrlgZl+gix i97GSAY/4bM5KxS0DSqCrFr3pcJwLBEAaPgypsJPLepyj+UOX7HUnjDUrguLaUiTNOm58uazwsW K X-Google-Smtp-Source: AGHT+IGIwat4w4kN/7uF1cOqvUYNGNwOvsyPqqrh2qdU6LfwRwvpObPpmICKQtgirbCVvbcuTe4rdw== X-Received: by 2002:a5d:468d:0:b0:33d:14a7:c4b with SMTP id u13-20020a5d468d000000b0033d14a70c4bmr4358586wrq.40.1708946065528; Mon, 26 Feb 2024 03:14:25 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 01/15] MAINTAINERS: Add 'ICH9 South Bridge' section Date: Mon, 26 Feb 2024 12:14:00 +0100 Message-ID: <20240226111416.39217-2-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946175760100006 Extract 'ICH9 South Bridge' from the 'PC' section. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 992799171f..e3f14c28a8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1816,12 +1816,7 @@ F: include/hw/pci-host/i440fx.h F: include/hw/pci-host/q35.h F: include/hw/pci-host/pam.h F: hw/isa/piix.c -F: hw/isa/lpc_ich9.c -F: hw/i2c/smbus_ich9.c F: hw/acpi/piix4.c -F: hw/acpi/ich9*.c -F: include/hw/acpi/ich9*.h -F: include/hw/southbridge/ich9.h F: include/hw/southbridge/piix.h F: hw/isa/apm.c F: include/hw/isa/apm.h @@ -2614,6 +2609,16 @@ F: hw/display/edid* F: include/hw/display/edid.h F: qemu-edid.c =20 +ICH9 South Bridge (82801i) +M: Michael S. Tsirkin +M: Marcel Apfelbaum +S: Supported +F: hw/acpi/ich9*.c +F: hw/i2c/smbus_ich9.c +F: hw/isa/lpc_ich9.c +F: include/hw/acpi/ich9*.h +F: include/hw/southbridge/ich9.h + PIIX4 South Bridge (i82371AB) M: Herv=C3=A9 Poussineau M: Philippe Mathieu-Daud=C3=A9 --=20 2.41.0 From nobody Thu Nov 14 07:01:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946173; cv=none; d=zohomail.com; s=zohoarc; b=IChz6VxAajuxWeWjoGZVl2FenV3qmDCNJYxYDx53u88jW3/imvWc45RNIAYc99jXQIPOZmT0JrynMukIfW8JWzd6/lv8VevY+I3vXxKkMA2ta6ePe57k+9Bg5yoCbASqm24qZyzDPcNiMCdV+0aosXTZ312uL0hQd7+N73XUijc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946173; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=t/Fkfjcs9G3hXZQ2TEH/vNoM6jNLvzBhoSDBD5uo4Kk=; b=fiPFnb9B/foXZ3KW1WDHxOhrruQ3bb+I8G8/x1vJeUEVrfFw00/HECsk4PZJjpOgvTGCK2RmSKjCQY9blpJuN5K3+DEH0p2r5V6RjxZt5BCt0M/GiObbdNVTpdAmltzBk3GH4cTTs+2K2z/URWKOZ6cx6KdHuNRCMwPlEqF6RfA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946173598765.8403761517546; Mon, 26 Feb 2024 03:16:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYwP-0000Z3-DT; Mon, 26 Feb 2024 06:14:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYwN-0000YE-V0 for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:35 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYwL-0008RJ-UW for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:35 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-412a7b68809so2833045e9.0 for ; Mon, 26 Feb 2024 03:14:33 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id e25-20020a05600c219900b004128c73beffsm11638564wme.34.2024.02.26.03.14.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:14:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946072; x=1709550872; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t/Fkfjcs9G3hXZQ2TEH/vNoM6jNLvzBhoSDBD5uo4Kk=; b=L+/E72lbE36HRYDZ716YqG53D/dDcfpPwdG0mP1NSLOpBJSBtTBoWi4GYvGFDc98VH BKT9a+hIOGWxvLC4JUj1qaarIF1huVZVoz29CYs+QLeoGyp+MIW+HShA2nBS4e4JEbuz e4ydxWtk9cPVKv/9H+2fwxTmN7O23IcOY1o5rwkLC+uwVZyqusJlVvtP0l4uNBLjggj/ dQDihewvDFJZvdgb8MB/kRfdoQj8ctjNmIn5jsXiE7wbrIXjSgw86qwIjtEMsPNUogMW m7M2Jk/66p2Xmh+COkFw/AS0trip4lr9xtwD/Cks4L5robNpUXXHxA8n/EedoZKipd9a RN9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946072; x=1709550872; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t/Fkfjcs9G3hXZQ2TEH/vNoM6jNLvzBhoSDBD5uo4Kk=; b=v9I8ezgfZ7hLoRFBncz3+LfJyWX14bonSDxNkvDdHg+kA+sYzyl6u8NEhRj2+Rw1Y7 y57J2N8/l7t8yCfHeF7bMY3hUI+Bs9Oe7AllSpqbFnxGOCfKRrOHnZKbLlg2QBmFDTrP EvTT6bjubhLnbn5FEV5Ug+m+oLw97ejgoXf6heVdCZ68+rK0NW459V/odXHoICAHn0Em HvnZP11tWZTegaAgIgvGFZyJLTmrI7fuSjdv1Okqz1VaB9y5G39Q7wexy8HenF6NwQGh kc9aHOxjCDEUAlHk/VeiwqR9EPT9U6sVmPmy42Z+NVc9oKfcqDuqPVQvTqEqUpthZyQi ymkA== X-Gm-Message-State: AOJu0YzMRgcMVa5gqPKEGZf4Xn2cTwUXfxIhP8bfUYGIfBGIWNU5iyCQ VUO84OiUL8hB0RRKamsjLi6LHFd2KTHknLq+QOOOPUfSqvSWQiOhwdwJC4kJU5OVOXdvGsAH1ZM D X-Google-Smtp-Source: AGHT+IHP5Q8sS+F9kh0R4zB3EkKL/sIsggBdSvD7ilGLTi6JTskd+qYlvCOtweIZ323QHzCgbo/WYw== X-Received: by 2002:a05:600c:5493:b0:412:f24:560a with SMTP id iv19-20020a05600c549300b004120f24560amr5140259wmb.11.1708946071905; Mon, 26 Feb 2024 03:14:31 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 02/15] hw/i386/q35: Add local 'lpc_obj' variable Date: Mon, 26 Feb 2024 12:14:01 +0100 Message-ID: <20240226111416.39217-3-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946175756100005 Instead of casting OBJECT(lpc) multiple times, do it once in the new 'lpc_obj' variable. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/i386/pc_q35.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 45a4102e75..dcad6000d9 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -124,6 +124,7 @@ static void pc_q35_init(MachineState *machine) X86MachineState *x86ms =3D X86_MACHINE(machine); Object *phb; PCIDevice *lpc; + Object *lpc_obj; DeviceState *lpc_dev; MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *system_io =3D get_system_io(); @@ -223,6 +224,7 @@ static void pc_q35_init(MachineState *machine) /* create ISA bus */ lpc =3D pci_new_multifunction(PCI_DEVFN(ICH9_LPC_DEV, ICH9_LPC_FUNC), TYPE_ICH9_LPC_DEVICE); + lpc_obj =3D OBJECT(lpc); lpc_dev =3D DEVICE(lpc); qdev_prop_set_bit(lpc_dev, "smm-enabled", x86_machine_is_smm_enabled(x86ms)); @@ -231,7 +233,7 @@ static void pc_q35_init(MachineState *machine) } pci_realize_and_unref(lpc, pcms->pcibus, &error_fatal); =20 - x86ms->rtc =3D ISA_DEVICE(object_resolve_path_component(OBJECT(lpc), "= rtc")); + x86ms->rtc =3D ISA_DEVICE(object_resolve_path_component(lpc_obj, "rtc"= )); =20 object_property_add_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_PROP, TYPE_HOTPLUG_HANDLER, @@ -239,13 +241,13 @@ static void pc_q35_init(MachineState *machine) object_property_allow_set_link, OBJ_PROP_LINK_STRONG); object_property_set_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_PROP, - OBJECT(lpc), &error_abort); + lpc_obj, &error_abort); =20 - acpi_pcihp =3D object_property_get_bool(OBJECT(lpc), + acpi_pcihp =3D object_property_get_bool(lpc_obj, ACPI_PM_PROP_ACPI_PCIHP_BRIDGE, NULL); =20 - keep_pci_slot_hpc =3D object_property_get_bool(OBJECT(lpc), + keep_pci_slot_hpc =3D object_property_get_bool(lpc_obj, "x-keep-pci-slot-hpc", NULL); =20 @@ -255,7 +257,7 @@ static void pc_q35_init(MachineState *machine) "true", true); } =20 - isa_bus =3D ISA_BUS(qdev_get_child_bus(lpc_dev, "isa.0")); + isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(lpc_obj), "isa.0")); =20 if (x86ms->pic =3D=3D ON_OFF_AUTO_ON || x86ms->pic =3D=3D ON_OFF_AUTO_= AUTO) { pc_i8259_create(isa_bus, gsi_state->i8259_irq); --=20 2.41.0 From nobody Thu Nov 14 07:01:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946238; cv=none; d=zohomail.com; s=zohoarc; b=O12wGeu0uCzpTGeclCJgT+7zZbh7Ew4b3jkpepff8D+bZ8cYIfnRzI7fmgb4fC/YSO5vCNwpY2C8RZuIeKAlEjYFyrbL1KOhvHKAc4ZI7/94Se2E0GT27SkYyz2/6RAtaIvIn/zLLVFTSWUzjFuLM0d3HrNwd5dScxskCKo+rYE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946238; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7QBqOyXgT7orA7qPi5TfakjR96hU4MOD2t1dujux2Zs=; b=ECg8m5o/mTGg5qxw8F0k3pgNzQrIYwxJklL3iqXekFxSKQ0hCbs74L9P8wYhPb9OM25D051MTO/sGwEwOR1Qq2hK6leTRpjBgl9R0PTYDE2iTzbqILG/ZFPNVaPCIUqNzVpP7jtkYaJwpnTvmPVaP+gz1UBW9dIja4pVckVlgC4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946238699617.2288240250456; Mon, 26 Feb 2024 03:17:18 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYwX-0000cl-4u; Mon, 26 Feb 2024 06:14:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYwU-0000aa-O4 for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:42 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYwS-0008Rk-4G for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:42 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-412a4055897so7474215e9.3 for ; Mon, 26 Feb 2024 03:14:39 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id 9-20020a05600c020900b004104bc8d841sm11534200wmi.13.2024.02.26.03.14.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:14:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946078; x=1709550878; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7QBqOyXgT7orA7qPi5TfakjR96hU4MOD2t1dujux2Zs=; b=H0ThD5ylskWje9aLan9+WVqTHLInbCs8lyyvkbnzJ3jWfyr+1WogGiFmhSINnO5WM3 KKloHYofNPb9qluCMG7mtNOxiZaN/DqI4rTSi3ysJ34kfm3KnwWJhIVvNSE/vN2t+uc+ 0Sz9vZOpZPrGV3oIv1FagFgQpbvOM/rPs4/RIB9RbK8mC8GxtFi9n6SukjYa2W7c3I9F ryN7zx8ECZCwRZzjzuzx2D5ObNiVs2cjpvdaUrYNIg/zCAJJi5hlF5t+JUS4J/CGTbTU hQqxdpZdHfl6vzyafJFpmXOvAgUvcSozi8SL4Pg5HIuF5Xuj+coYsfN8YWh9Dy19lU/L iV9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946078; x=1709550878; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7QBqOyXgT7orA7qPi5TfakjR96hU4MOD2t1dujux2Zs=; b=Ih2EfiQKBpZvA5IO3gmGauZG4YEQSaYvUg70DYJvD/F2KiF41M65UHWNvvIfJdu99F ijlOcpWFtwJ9bhtMvIpiIeL6iRt/NfJbuQ5Oz3abKY8G5/yxvgk3I5yP+qYUUqY2iFwD OjGh6Wi5Q2OQDRRBI8GrLJ1p+O6NT97XMx1xwcaYNWXOTZAY4GRP7OfEaT+S4Nc7ck/c x6z8qxsnzqWQ2z1wLYjdwhFdARGNSiCPoRdda2giv+C1UZQoHn3yGIq8DgjFgftM7YBJ z3qiQyFpw9wWKyRt3o5YjN+YYEKBn2JiXhdjcu6Epy8jJIji7rb6mkFXV50lsIVPQoC5 Yy6g== X-Gm-Message-State: AOJu0Yxddr/oqynfAknNM9+td487vDtctwtkFq7Y1xbJmhN86KVqjjyN I+dOFgRSIwij5x33UojqTG9XIFbvzNAvsAEPDHbss2ZoXEwF5BSc8lBZKLykVJnmRTvMwf3v5az 1 X-Google-Smtp-Source: AGHT+IHwuvebxgZaX3nPwlCy9vfi9tPjsJPtUQYGi5V/cqQf9DvYjIwJwpP61R+qjgYpWztCNyKgIw== X-Received: by 2002:a05:600c:2e04:b0:410:a039:ed5d with SMTP id o4-20020a05600c2e0400b00410a039ed5dmr5953078wmf.33.1708946078313; Mon, 26 Feb 2024 03:14:38 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 03/15] hw/acpi/ich9: Restrict definitions from 'hw/southbridge/ich9.h' Date: Mon, 26 Feb 2024 12:14:02 +0100 Message-ID: <20240226111416.39217-4-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946239920100001 Restrict ACPI definitions from "hw/southbridge/ich9.h" to the ACPI files where they are used. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/acpi/ich9.h | 15 +++++++++++++++ include/hw/southbridge/ich9.h | 18 ------------------ hw/acpi/ich9.c | 4 ++++ 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h index 215de3c91f..3587a35c9f 100644 --- a/include/hw/acpi/ich9.h +++ b/include/hw/acpi/ich9.h @@ -91,4 +91,19 @@ void ich9_pm_device_unplug_cb(HotplugHandler *hotplug_de= v, DeviceState *dev, bool ich9_pm_is_hotpluggable_bus(HotplugHandler *hotplug_dev, BusState *bu= s); =20 void ich9_pm_ospm_status(AcpiDeviceIf *adev, ACPIOSTInfoList ***list); + +#define ICH9_PMIO_PM1_STS 0x00 +#define ICH9_PMIO_PM1_EN 0x02 +#define ICH9_PMIO_PM1_CNT 0x04 +#define ICH9_PMIO_PM1_TMR 0x08 +#define ICH9_PMIO_GPE0_STS 0x20 +#define ICH9_PMIO_GPE0_EN 0x28 +#define ICH9_PMIO_GPE0_LEN 16 +#define ICH9_PMIO_SMI_EN 0x30 +#define ICH9_PMIO_SMI_EN_APMC_EN (1 << 5) +#define ICH9_PMIO_SMI_EN_TCO_EN (1 << 13) +#define ICH9_PMIO_SMI_STS 0x34 +#define ICH9_PMIO_TCO_RLD 0x60 +#define ICH9_PMIO_TCO_LEN 32 + #endif /* HW_ACPI_ICH9_H */ diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index fd01649d04..1ac4238f7e 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -183,24 +183,6 @@ struct ICH9LPCState { /* D31:F0 power management I/O registers offset from the address ICH9_LPC_PMBASE */ =20 -/* ICH9 LPC PM I/O registers are 128 ports and 128-aligned */ -#define ICH9_PMIO_SIZE 128 -#define ICH9_PMIO_MASK (ICH9_PMIO_SIZE - 1) - -#define ICH9_PMIO_PM1_STS 0x00 -#define ICH9_PMIO_PM1_EN 0x02 -#define ICH9_PMIO_PM1_CNT 0x04 -#define ICH9_PMIO_PM1_TMR 0x08 -#define ICH9_PMIO_GPE0_STS 0x20 -#define ICH9_PMIO_GPE0_EN 0x28 -#define ICH9_PMIO_GPE0_LEN 16 -#define ICH9_PMIO_SMI_EN 0x30 -#define ICH9_PMIO_SMI_EN_APMC_EN (1 << 5) -#define ICH9_PMIO_SMI_EN_TCO_EN (1 << 13) -#define ICH9_PMIO_SMI_STS 0x34 -#define ICH9_PMIO_TCO_RLD 0x60 -#define ICH9_PMIO_TCO_LEN 32 - /* FADT ACPI_ENABLE/ACPI_DISABLE */ #define ICH9_APM_ACPI_ENABLE 0x2 #define ICH9_APM_ACPI_DISABLE 0x3 diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 6205de6046..4c75d1b56b 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -49,6 +49,10 @@ do { printf("%s "fmt, __func__, ## __VA_ARGS__); } while= (0) #define ICH9_DEBUG(fmt, ...) do { } while (0) #endif =20 +/* ICH9 LPC PM I/O registers are 128 ports and 128-aligned */ +#define ICH9_PMIO_SIZE 128 +#define ICH9_PMIO_MASK (ICH9_PMIO_SIZE - 1) + static void ich9_pm_update_sci_fn(ACPIREGS *regs) { ICH9LPCPMRegs *pm =3D container_of(regs, ICH9LPCPMRegs, acpi_regs); --=20 2.41.0 From nobody Thu Nov 14 07:01:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946146; cv=none; d=zohomail.com; s=zohoarc; b=SGwbqvdnO+ZzeIbTdraRtBUoaNw34/T4QefGbZT4IZ2XrWNZe3MC+z+YEwy9xBp2liRsTTxaFULC0Rfu7/Ja7+8Kcs4nRfIIhNub+Eq70ZqVxO8rZlP19ep2at/ktj7J0ovMNcrwVZI8u2/4obvr0sL/K0JB9CieWjV+pmSvKZA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946146; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+8DBH+8DhWLlCRMzjMefALJRNboH1BCtR+qCvzO7EXA=; b=DDf+S9nu2KhzOrLNnyqMVpL8+DF0fn+shfkxSyaKBZAM/AYbz3hlsx/XEGE10tLEkti74XQZ4WVtZTM5ISJtezg+0UZpIbtC5+i9XowK0UeJKPBeBh6QhnL3iuf4DuIYK4KE8x/M/j2/cKiFBx0rJ7y+nDnr7XU8YvQa7NAgieA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 170894614625920.193142351625852; Mon, 26 Feb 2024 03:15:46 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYwc-0000nj-89; Mon, 26 Feb 2024 06:14:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYwa-0000lf-Nj for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:48 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYwY-0008SM-40 for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:47 -0500 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-33d6f26ff33so2085705f8f.0 for ; Mon, 26 Feb 2024 03:14:45 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id h4-20020a5d4304000000b0033d6c928a95sm7952487wrq.63.2024.02.26.03.14.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:14:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946084; x=1709550884; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+8DBH+8DhWLlCRMzjMefALJRNboH1BCtR+qCvzO7EXA=; b=Z1TeUqV6L/njzuUPaG2kzLhsMlJr0flB/NcQ0pVcH0tmLDd4RY5YhINtkjdjYiVV0L 8F9ptNQ3WYZLzDDvj1eJ7a7l7tGchJYQbZl6i05EUyjQGFICOCJEfY/+W6U5IuwnLl7p gtHGCnZjYoxp9efkDDaOIE7vZjnsy/bULwIyVUTSSw/bKU9za5PydFS6k35DVR2Ej2VI IqqtjmPwNuVi2P7P4zCvQebND3WCiyemPuD1qyjS6zl7sZ+13ncmRLjGVmA+4SMcg7nz /uFSyzSGnrQiIL/nWzhCUTMsf+j0RSXPDI1IrTT0ei2MH03mX5n46vON2R/049485Nd1 kBXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946084; x=1709550884; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+8DBH+8DhWLlCRMzjMefALJRNboH1BCtR+qCvzO7EXA=; b=wD9LeAHFFbZ+j6EgB8qW/vf/imhK1RQ4+0Vf8CkZcWa7EH3myqHdeTZctV8Ljp1u0i A/Kr0ZqLspi0HmNyZNk067vUR1lmAkZIQv7jWVxuYTBV/SjJZDypCgEEfhOhPXmV8r1x cPwN5+dikKI7CMEGlPqzXr8vkvPi8wS+ppJCMD9sLumk9dSKkvoEzAaK/XKrdeNUkG7I Dq0PbBAVCYl4nDR4MnqQBTGLHMPMtI3t1ZbKZOKpUej7qTAcR6IeJdux1//p4YCTAkbz iAEBrxjQ+/orPMMfyv3BEkhlSYkGY/wXnsP7zvHoZEUEX4UwpuBwzrRWzqkY3dfcyhu7 mnCQ== X-Gm-Message-State: AOJu0Yw2uPLhqciuEK4UOQPYkBw1NHOkoeq3MH9NE58c9nJda6AIzpO3 G1Zu8h9+1q+kkYmLm51T0fOIp54pl1dFoyRazQoZfJu0Mn+Amuks2fG2D8Wg4CqgpzUEJTu/aoj W X-Google-Smtp-Source: AGHT+IG7JJl8wNoNWb9pNXKSUsv0CRdKLx+B/jTOFAeiusWHqhrQYyS0Kcy19XRze027PQXuD6PVjA== X-Received: by 2002:a5d:4a88:0:b0:33d:4fca:a47f with SMTP id o8-20020a5d4a88000000b0033d4fcaa47fmr5347798wrq.18.1708946084399; Mon, 26 Feb 2024 03:14:44 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 04/15] hw/acpi/ich9_tco: Include 'ich9' in names Date: Mon, 26 Feb 2024 12:14:03 +0100 Message-ID: <20240226111416.39217-5-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946147644100001 Make it explicit the following are ICH9 specific: acpi_pm_tco_init() -> ich9_acpi_pm_tco_init() vmstate_tco_io_sts -> vmstate_ich9_sm_tco. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/acpi/ich9_tco.h | 5 ++--- hw/acpi/ich9.c | 4 ++-- hw/acpi/ich9_tco.c | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/include/hw/acpi/ich9_tco.h b/include/hw/acpi/ich9_tco.h index 2562a7cf39..1c99781a79 100644 --- a/include/hw/acpi/ich9_tco.h +++ b/include/hw/acpi/ich9_tco.h @@ -75,9 +75,8 @@ typedef struct TCOIORegs { MemoryRegion io; } TCOIORegs; =20 -/* tco.c */ -void acpi_pm_tco_init(TCOIORegs *tr, MemoryRegion *parent); +void ich9_acpi_pm_tco_init(TCOIORegs *tr, MemoryRegion *parent); =20 -extern const VMStateDescription vmstate_tco_io_sts; +extern const VMStateDescription vmstate_ich9_sm_tco; =20 #endif /* HW_ACPI_TCO_H */ diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 4c75d1b56b..daf93361eb 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -186,7 +186,7 @@ static const VMStateDescription vmstate_tco_io_state = =3D { .minimum_version_id =3D 1, .needed =3D vmstate_test_use_tco, .fields =3D (const VMStateField[]) { - VMSTATE_STRUCT(tco_regs, ICH9LPCPMRegs, 1, vmstate_tco_io_sts, + VMSTATE_STRUCT(tco_regs, ICH9LPCPMRegs, 1, vmstate_ich9_sm_tco, TCOIORegs), VMSTATE_END_OF_LIST() } @@ -317,7 +317,7 @@ void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm= , qemu_irq sci_irq) memory_region_add_subregion(&pm->io, ICH9_PMIO_SMI_EN, &pm->io_smi); =20 if (pm->enable_tco) { - acpi_pm_tco_init(&pm->tco_regs, &pm->io); + ich9_acpi_pm_tco_init(&pm->tco_regs, &pm->io); } =20 if (pm->acpi_pci_hotplug.use_acpi_hotplug_bridge) { diff --git a/hw/acpi/ich9_tco.c b/hw/acpi/ich9_tco.c index 81606219f7..dd4aff82e0 100644 --- a/hw/acpi/ich9_tco.c +++ b/hw/acpi/ich9_tco.c @@ -224,7 +224,7 @@ static const MemoryRegionOps tco_io_ops =3D { .endianness =3D DEVICE_LITTLE_ENDIAN, }; =20 -void acpi_pm_tco_init(TCOIORegs *tr, MemoryRegion *parent) +void ich9_acpi_pm_tco_init(TCOIORegs *tr, MemoryRegion *parent) { *tr =3D (TCOIORegs) { .tco =3D { @@ -250,7 +250,7 @@ void acpi_pm_tco_init(TCOIORegs *tr, MemoryRegion *pare= nt) memory_region_add_subregion(parent, ICH9_PMIO_TCO_RLD, &tr->io); } =20 -const VMStateDescription vmstate_tco_io_sts =3D { +const VMStateDescription vmstate_ich9_sm_tco =3D { .name =3D "tco io device status", .version_id =3D 1, .minimum_version_id =3D 1, --=20 2.41.0 From nobody Thu Nov 14 07:01:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946103; cv=none; d=zohomail.com; s=zohoarc; b=WRXW2AGywmHE+sWyMHE1YWeHG0NePQtJyuVl6vP3JJZHRczwLWD8jcA/AtlHVEKGtvhZZ7uwOx8Ove5lBC4VBJY+R5oGGKIiZ63FVLnUZ5J6O3PKBfwmvF2iwYPpMBzD4/ZlDpjwu36yMXBi9UHJCYrIgZ7JL6hIdUrwM8V+Lng= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946103; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=teclhIdRp9DBtUYfsv1Nj0vfraIqiRBxDKPN1DGCTw4=; b=no3v29S1yNkqBukDNgk09xbWjWYZ29MQBcHuW8TOHry+m4g85J2WXkEn4/EF5xbrnMffCOJ+iExbkMVMKcJ3B6ppo/1fGbBPmSUsGw00nL8tEufpDcGdlstHyxPMXsvUUFT/+mrCmyTPTai09ohG0WxwslbEsMYEsFsguJeYXDI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946103203503.5136335687124; Mon, 26 Feb 2024 03:15:03 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYwh-00014X-Us; Mon, 26 Feb 2024 06:14:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYwg-00010o-37 for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:54 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYwe-0008Sr-Ig for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:14:53 -0500 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-412a882bd4eso1781865e9.1 for ; Mon, 26 Feb 2024 03:14:52 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id z9-20020a05600c114900b004128fa77216sm11619502wmz.1.2024.02.26.03.14.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:14:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946090; x=1709550890; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=teclhIdRp9DBtUYfsv1Nj0vfraIqiRBxDKPN1DGCTw4=; b=cLlyIZzyIwzRA8+E+YhA565O3kTpK4rTG7rsM6QpkCw7PZ4T/BhnxDdcqtEljjNp7z 5nWKqg/28lh9qjXIs7657b9LRIVCL88cuboP6PiV8SAFUrImG3Gl2VpXiYtaCoVrNRhr usi4hFXuKy7JUkTRhPv/C35sk0XTJjZdu1CGfCTpgV1T83EZNa5EoXG0YeIGDbtlgmb6 O4hTn2lwN+3BRKSTNTFzUrnoOB/Ayv7/UcWjcmwM05geqgrOFq80JQi9d8Nhulc58DJQ Se1ZobVstz6JqyO+1FvQyCWUjvoTbC3dXMi5/4lb5K0iMwrRWUzhy/dNTX/4yZBXN2y6 wWmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946090; x=1709550890; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=teclhIdRp9DBtUYfsv1Nj0vfraIqiRBxDKPN1DGCTw4=; b=uLsG0SBGk4ow15eGWyQrit9HFhtFiEd/RpYJZSiuFZKt6MBRzb81H3OOhiDPzbAy3q WOK4jW1w8mwkB3J6VTR/4nIh2SYCjZ6g3SXbkSoq89U/AXBm+QtxSMRl4duNyZNtntBA GCPeTlkdrT2WWGKYD1w5EUeYUdxONldWKdbqchfRcifhRkAQZcPOj1IYxlFATFU0UjB7 rhzL2SyG9pyyAYb+Jkv9JGpS4P2+I3dzEVMEAR530z7LgH41YjqgWHtYKKQ1HfD9FzH8 iVWjWsRJRkS8/doI5PYyoY/fqpcPXi/gQ6Y9oEUmgj4FdSa5gakzBiv98BbR93j78eXN myAg== X-Gm-Message-State: AOJu0YyUx2ocZaLpTxBl5B28zMYWHAmPMh0i1tTBC9gKf1QL8qEk6WXH 9Cq3UPKSyvCizvn1A5HBBtoXKwG8kYSVW/hjaQCJLBE13DsOm6E3gIMr4XGnD7X8zyzx+yn4T3F + X-Google-Smtp-Source: AGHT+IEb8lmEgruTmqOdHDSINt4LCZH94mpBFNVUdcpjkGjXh2rFYin8Flm/Xj4osK87Z9UcAkYCMg== X-Received: by 2002:a05:600c:190b:b0:412:a266:c296 with SMTP id j11-20020a05600c190b00b00412a266c296mr3234019wmq.33.1708946090548; Mon, 26 Feb 2024 03:14:50 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 05/15] hw/acpi/ich9_tco: Restrict ich9_generate_smi() declaration Date: Mon, 26 Feb 2024 12:14:04 +0100 Message-ID: <20240226111416.39217-6-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946103691100001 Only files including "hw/acpi/ich9_tco.h" require the ich9_generate_smi() declaration. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/acpi/ich9_tco.h | 1 + include/hw/southbridge/ich9.h | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/include/hw/acpi/ich9_tco.h b/include/hw/acpi/ich9_tco.h index 1c99781a79..68ee64942f 100644 --- a/include/hw/acpi/ich9_tco.h +++ b/include/hw/acpi/ich9_tco.h @@ -76,6 +76,7 @@ typedef struct TCOIORegs { } TCOIORegs; =20 void ich9_acpi_pm_tco_init(TCOIORegs *tr, MemoryRegion *parent); +void ich9_generate_smi(void); =20 extern const VMStateDescription vmstate_ich9_sm_tco; =20 diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index 1ac4238f7e..bee522a4cf 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -11,8 +11,6 @@ #include "qemu/notify.h" #include "qom/object.h" =20 -void ich9_generate_smi(void); - #define ICH9_CC_SIZE (16 * 1024) /* 16KB. Chipset configuration registers = */ =20 #define TYPE_ICH9_LPC_DEVICE "ICH9-LPC" --=20 2.41.0 From nobody Thu Nov 14 07:01:24 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946216; cv=none; d=zohomail.com; s=zohoarc; b=SttU/eeq7b5bTz+ew2h9AgeaznTxLmKTEUeL72vcGvdVCwKJ/oc4+ZqE2yM4LR4za6OQgmdBxMuVmpEvIfhExl+fdizYdFPwv/l9D6K/YEx2JVTlNtXSsJqcpmbMWva1K0w3GJiHFJQ/FwycpvQVZ9PD8BRQjBa2OKedCns4lMs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946216; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TigdV5o9U2RQOXS96IAt9eTEOL4XXPfJaJK2cWAa5tc=; b=j7PurB0YxNb5oHzZw3HIBBAnp8ZnHUlmlO0ckXxPV8Ya6XVW0t8ZzxX8dW0zSSMxoHYA17J/aHwxEXcbSTBY9YTYJZmPaUdulDuUdUedBX56oyHMU2hfRPo+2Jy8eSJ0byAu9/tDE9FyPRdrySMpNn9grCbEFSLA3GwvY5+t/v8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946216610574.4257091320609; Mon, 26 Feb 2024 03:16:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYwq-0001I8-Pi; Mon, 26 Feb 2024 06:15:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYwp-0001Gx-Cj for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:03 -0500 Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYwk-0008Td-Ua for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:03 -0500 Received: by mail-lf1-x133.google.com with SMTP id 2adb3069b0e04-512fb30dbc9so882386e87.2 for ; Mon, 26 Feb 2024 03:14:58 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id p15-20020a05600c468f00b004128f41a13fsm8040564wmo.38.2024.02.26.03.14.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:14:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946097; x=1709550897; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TigdV5o9U2RQOXS96IAt9eTEOL4XXPfJaJK2cWAa5tc=; b=JiYzeFN6IcMsr85i2AppNruUhCx4XRyZMaBkz3K9CPgtKXQRZ59fXQasRc1C16caxw zucdTF5BF2D3wyyZNmXyW0RpC3uJwzkSkcRM1rD6RW6dP/OmEEviWAXaCyHqy4LgX1CY 14WU7nVrWoPl/BuN9f4IB9yKBR6YyuMWXF+wpUGFz1WAAV4F+wMi2xHWp+ZgfMOgR/1X UKm0uQ61Gclxvl05t5c2hAtSH49Q/imEbvJbZoT7Kw9YzdfQD2egllcaCK0i6BqUUEHD zchRHRf63ZWIOxskoUAW2TNctOqQ84uthbQNcsJm5Qcj6Ffpo+jB9XZ/GxEpRjN1V+vE Afuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946097; x=1709550897; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TigdV5o9U2RQOXS96IAt9eTEOL4XXPfJaJK2cWAa5tc=; b=dudK9NN8evMOwO8eD8vmRudWg2hk5oeC5ttdT7ReWuei4yrFjkTZ3ltL0OEYfKje7b VrOKwcLoQCrpWt5lQ+qCxcBTjdmYonz88mU2/O/XPJ0sOso9kkPTAS5feV+Nf65GVDvr 33+Hdhsseqddwa9/S7etrRf31Nf68D/gyc2oNiB+oiP70X7dpGX0wFpd0LPE73Lsy4We v2dYIYWpke9ZRbnL8SPPUiGCMFN+3kZCS1ms8jyHMEc9sJPvW3sWyxdkXgt1o4FB/5lA SP7EdS6qLMtD31xamFzzCy6DzWN/Y91hSAZjVEaGbQT5Hjsdkox8F6s/LDQCV/u8YzUc OKTw== X-Gm-Message-State: AOJu0YxlisNt45y2Zk6A7VMnN1D1zg+l8p2tPKNoR7eetHPVzip1VwsU iUIpv4qXF0avGvc0Mqj59OxMhd5tvaIphZz50Txp3K9Ponnmnv3LyHNiz3Gfx2Ddl4lAfp5IsW2 f X-Google-Smtp-Source: AGHT+IEBnqjD6zs6CrSNLxvyWNO0CgoOrS55AUsQ8EO8yOauMI9sYEzf6JTjtpvvGuTnorfBRkNDSw== X-Received: by 2002:a05:6512:1599:b0:512:e594:885f with SMTP id bp25-20020a056512159900b00512e594885fmr4691679lfb.55.1708946096682; Mon, 26 Feb 2024 03:14:56 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 06/15] hw/ide: Rename ich.c -> ich9_ahci.c Date: Mon, 26 Feb 2024 12:14:05 +0100 Message-ID: <20240226111416.39217-7-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::133; envelope-from=philmd@linaro.org; helo=mail-lf1-x133.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946217833100003 Most ICH9-related files use the 'ich9_' prefix. Mention 'AHCI' in the file name. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/ide/{ich.c =3D> ich9_ahci.c} | 0 hw/ide/meson.build | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename hw/ide/{ich.c =3D> ich9_ahci.c} (100%) diff --git a/hw/ide/ich.c b/hw/ide/ich9_ahci.c similarity index 100% rename from hw/ide/ich.c rename to hw/ide/ich9_ahci.c diff --git a/hw/ide/meson.build b/hw/ide/meson.build index d09705cac0..2a7cd8405d 100644 --- a/hw/ide/meson.build +++ b/hw/ide/meson.build @@ -1,5 +1,5 @@ system_ss.add(when: 'CONFIG_AHCI', if_true: files('ahci.c')) -system_ss.add(when: 'CONFIG_AHCI_ICH9', if_true: files('ich.c')) +system_ss.add(when: 'CONFIG_AHCI_ICH9', if_true: files('ich9_ahci.c')) system_ss.add(when: 'CONFIG_ALLWINNER_A10', if_true: files('ahci-allwinner= .c')) system_ss.add(when: 'CONFIG_IDE_BUS', if_true: files('ide-bus.c')) system_ss.add(when: 'CONFIG_IDE_CF', if_true: files('cf.c')) --=20 2.41.0 From nobody Thu Nov 14 07:01:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946216; cv=none; d=zohomail.com; s=zohoarc; b=epVcOBicUjtLnpgnXEAFT12EIsg5qIwdxUq88tzdHVnlArHZWqFQOGUeUUnAcuyaXxfaOZL00TdYcSO685T+/iTbMFSVEuVIfqV/EWFadp91h7CuuHkOrq/kQoS+z8ngCDvkzQ3AB7ZkipO04i3PgXtulEEjwxPJYQ0tSb4+Xgs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946216; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Fb+zhvtDUVjaJy9yx0kEmbmNVaKip+nPoa65mQ3CZ74=; b=eld3vGyl3w9G18AQDoYLEOyRCJiREfOiISJ4hIAsA0bmGrJigIF6MtAWSiNGv5NnqqRNR4GGEa0qXXG6ZLR4MknPTDLwFTbLf39Y4ZX55BFhI/tqKc56Qn0ra+r3nhQWUnSxu6eSjZoI1qDHARTMc/O2qJoAZPLaxg0B3kMs6AA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946216603929.921743089054; Mon, 26 Feb 2024 03:16:56 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYwv-0001KZ-DD; Mon, 26 Feb 2024 06:15:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYwt-0001JW-DR for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:07 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYwr-0008Ub-NU for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:07 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-412a7db191cso2598315e9.2 for ; Mon, 26 Feb 2024 03:15:05 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id jt2-20020a05600c568200b0041290cd9483sm11662999wmb.28.2024.02.26.03.15.01 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:15:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946102; x=1709550902; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Fb+zhvtDUVjaJy9yx0kEmbmNVaKip+nPoa65mQ3CZ74=; b=uoqg85DiZImRGOAPktifg2IFh0qV3VTt4mpJI3RHD+f6eCuRp8BsdERFusBSMdbHpP IExa/kFdqtVXJqztaGqKqpOSsS+Rpoprsrxbm0c701w2ZzLxJf7XwfC0f4T18FVfmgmJ Dy7uwv6YCz470xVWo3fNroEfeUWPjb4gndCGP1SKK/nARNcYXxL3+iCVJ8Vjuc4ZiU6L hsOJ9OOUuqXQQVm5iOp0j1QBYno6hgJv4i+F7w8tHbyFZqWnjZTHABlU/DfFUJ28Mv4v K8Gu7U8CZQ9FByZc/92pAa99gmBd+q4uMEMiOy5vZ7W0iM1dRqf22NnqDIPOfU0LOZ57 61DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946102; x=1709550902; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Fb+zhvtDUVjaJy9yx0kEmbmNVaKip+nPoa65mQ3CZ74=; b=SSanEflFUZZn0Z4xcIuUhjCY2LrBmB43h0tjyEi+5OaMsKe9uDHlUA1yY9H9NYKoKn uNHOfoMq7DV28oxYryu9GzGZhJQD5dIVrE671SXAR4zIkjscCLqHdC2fCpX1+0LiAUip e2qLShSu60fk/rWNTvEqg7maB5IrV7hezH0GGn8lOthVWOiurerip++07oIElw7rv0ut IpOR31NqCN9av1B/fEEP6zbC9PYIgwGmOagQTFubJ753MQwibvweq999j0Xo76ZBQkfs I0Ks9bYXCJeZeldJiqcIfmTtYhahnuVLXWGLmkFkVenBGq71ErOLS9nG1BQUT1V1KmCD PwxQ== X-Gm-Message-State: AOJu0YwRJ3s7MJZSRzlpoUGAPwMrCz28l+kU7tvREtC0S+N5hro7mc4J VylvHw3nwHuncQZA8+v7quN0/h844u/7G1I+yqsqWXY35LdUw1bn6zxQj3CpVNjPcTYbiUmAMKI N X-Google-Smtp-Source: AGHT+IF7LFATZZfT8Ux9BwLg+G2Xx0VOnfvsyPF9ZuppNqOBu19kJ5ZBrRwpKtPEEShmP9TAywEu3w== X-Received: by 2002:a05:600c:4f0d:b0:412:9d49:64a3 with SMTP id l13-20020a05600c4f0d00b004129d4964a3mr3410725wmq.24.1708946102740; Mon, 26 Feb 2024 03:15:02 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 07/15] hw/i2c/smbus: Extract QOM ICH9 definitions to 'ich9_smbus.h' Date: Mon, 26 Feb 2024 12:14:06 +0100 Message-ID: <20240226111416.39217-8-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946217850100004 Expose TYPE_ICH9_SMB_DEVICE to the new "hw/i2c/ich9_smbus.h" header. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 1 + include/hw/i2c/ich9_smbus.h | 25 +++++++++++++++++++++++++ hw/i2c/{smbus_ich9.c =3D> ich9_smbus.c} | 15 ++------------- hw/i2c/meson.build | 2 +- 4 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 include/hw/i2c/ich9_smbus.h rename hw/i2c/{smbus_ich9.c =3D> ich9_smbus.c} (95%) diff --git a/MAINTAINERS b/MAINTAINERS index e3f14c28a8..0849283287 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2617,6 +2617,7 @@ F: hw/acpi/ich9*.c F: hw/i2c/smbus_ich9.c F: hw/isa/lpc_ich9.c F: include/hw/acpi/ich9*.h +F: include/hw/i2c/ich9_smbus.h F: include/hw/southbridge/ich9.h =20 PIIX4 South Bridge (i82371AB) diff --git a/include/hw/i2c/ich9_smbus.h b/include/hw/i2c/ich9_smbus.h new file mode 100644 index 0000000000..d6f46ba89c --- /dev/null +++ b/include/hw/i2c/ich9_smbus.h @@ -0,0 +1,25 @@ +/* + * QEMU ICH9 SMBus emulation + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#ifndef HW_I2C_ICH9_SMBUS_H +#define HW_I2C_ICH9_SMBUS_H + +#include "qom/object.h" +#include "hw/pci/pci_device.h" +#include "hw/i2c/pm_smbus.h" + +#define TYPE_ICH9_SMB_DEVICE "ICH9-SMB" + +OBJECT_DECLARE_SIMPLE_TYPE(ICH9SMBState, ICH9_SMB_DEVICE) + +struct ICH9SMBState { + PCIDevice dev; + + bool irq_enabled; + + PMSMBus smb; +}; + +#endif diff --git a/hw/i2c/smbus_ich9.c b/hw/i2c/ich9_smbus.c similarity index 95% rename from hw/i2c/smbus_ich9.c rename to hw/i2c/ich9_smbus.c index 208f263ac5..35f526d71c 100644 --- a/hw/i2c/smbus_ich9.c +++ b/hw/i2c/ich9_smbus.c @@ -1,5 +1,5 @@ /* - * ACPI implementation + * QEMU ICH9 SMBus emulation * * Copyright (c) 2006 Fabrice Bellard * Copyright (c) 2009 Isaku Yamahata @@ -22,8 +22,7 @@ =20 #include "qemu/osdep.h" #include "qemu/range.h" -#include "hw/i2c/pm_smbus.h" -#include "hw/pci/pci.h" +#include "hw/i2c/ich9_smbus.h" #include "migration/vmstate.h" #include "qemu/module.h" =20 @@ -31,16 +30,6 @@ #include "qom/object.h" #include "hw/acpi/acpi_aml_interface.h" =20 -OBJECT_DECLARE_SIMPLE_TYPE(ICH9SMBState, ICH9_SMB_DEVICE) - -struct ICH9SMBState { - PCIDevice dev; - - bool irq_enabled; - - PMSMBus smb; -}; - static bool ich9_vmstate_need_smbus(void *opaque, int version_id) { return pm_smbus_vmstate_needed(); diff --git a/hw/i2c/meson.build b/hw/i2c/meson.build index b58bc167db..f1a122c5ec 100644 --- a/hw/i2c/meson.build +++ b/hw/i2c/meson.build @@ -2,7 +2,7 @@ i2c_ss =3D ss.source_set() i2c_ss.add(when: 'CONFIG_I2C', if_true: files('core.c')) i2c_ss.add(when: 'CONFIG_SMBUS', if_true: files('smbus_slave.c', 'smbus_ma= ster.c')) i2c_ss.add(when: 'CONFIG_ACPI_SMBUS', if_true: files('pm_smbus.c')) -i2c_ss.add(when: 'CONFIG_ACPI_ICH9', if_true: files('smbus_ich9.c')) +i2c_ss.add(when: 'CONFIG_ACPI_ICH9', if_true: files('ich9_smbus.c')) i2c_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_i2c.c')) i2c_ss.add(when: 'CONFIG_BITBANG_I2C', if_true: files('bitbang_i2c.c')) i2c_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_i2c.c')) --=20 2.41.0 From nobody Thu Nov 14 07:01:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946271; cv=none; d=zohomail.com; s=zohoarc; b=QPiep/RRTHV+QsCRxO7PSZ2z2O5ChsWmAyXtpiFOkqlktLpXDj4sPRviA8BSZdN0HW6oIfV49wTIUbnuSuwlWZa5Z5CeeS4aG/gClVDegtJbxgHiCAUgSAItNkj01LLgcR2q51fzLkoCGhZ23os5clJ8fQN3V5VQEgQTQjkOTPw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946271; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ArWa+e/moduzCYJ6asYa3Uf0/sMyr8zgG8KP2jihEtc=; b=huIHxxElYjKXtGZHw9McgQDqC8H59xKQyGa4qRXhxKfA7hHVUZ1H+sgE0Y5W7U+/Qcf6BfHkVzZ5OrveGjEsUaDwiT6UJexThmxyXfCP+RLZq9pzyken4/tnkOHjssM6Xwa8an/4moayQALLrGCgCOugYbfke2+QkFHagJ9XYFQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946271758759.0056711374252; Mon, 26 Feb 2024 03:17:51 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYxM-0001tz-3T; Mon, 26 Feb 2024 06:15:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYx2-0001Mj-ST for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:23 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYww-0000GF-Ud for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:16 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-33aeb088324so1849745f8f.2 for ; Mon, 26 Feb 2024 03:15:10 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id w10-20020adff9ca000000b0033d1b760125sm8012280wrr.92.2024.02.26.03.15.07 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:15:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946109; x=1709550909; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ArWa+e/moduzCYJ6asYa3Uf0/sMyr8zgG8KP2jihEtc=; b=EjkLiFbetxJX6y2wu0MdFFcFH9fPbbNxiepN5grHESCD3CY1UMefhRJALxoMsGVwaV s+LPaE+6VQrPMXyZV/fqYuesPWG82bdiOeRI9pxpMwDdvtmoKu+RiKqP0bYRbN9X5Dso 3aIa7vMeIjMO6r3OLQTw8ZvmBSMZQXjWbdcMBZ4f7LFAsanJlW8OChxtvuCCo97Y5K34 Pk7t9bNKywy3QNF9Vx5szIZiU6WyO5oKxYHq0UrJZqDsx041bprFAvgP4Yb21/rXtSpv AGe2scecz++iyKb7TIuaOxEJtEEXQxWm7kRXDNUf93Pr2ZqSbE5Khe5PklI2lmvJdrNf is4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946109; x=1709550909; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ArWa+e/moduzCYJ6asYa3Uf0/sMyr8zgG8KP2jihEtc=; b=BQqT4Hc7DEBV/EkF2TXyRBohK3Bn2HsUEKAs/OgCKqKXj73Vd4V2sTZrqYWdMkg8QE 7jrYAKrdKWDYOuctLN8sVPvm+MX/pj66i0ykAR7574C25FluSid+NhZldiqQToOapcFD p1ZwY61G4OcsagyT4WUnsudQ9gR7XSFOGv3HruXrGHfQDbxiLehnFK/5Ml1/duagzM83 qsuHHBZ5SuGlUsVHn01MuWBJPhIVJP98HDkAw+REBeavYQkOBnj8dBcFXjzPpPc85tlA IX9ifTDkOJbQvG04lOcA24KWQBRuhqv63kocZAVz+sXb1+6sav5bOw0tAUOGByLkkQBT HRfA== X-Gm-Message-State: AOJu0YzWCst/HXbPydf0PzUyDWeGyccSDX2QPBJkQsOUrIk39BZdsZ6E W/e4Y6yW40GoKb2AV9Nxb/dXYq7Hb1zgqrVJ43biLyJcRdI9WWohD4/jqnfBMzMVrtwkmiveQZQ z X-Google-Smtp-Source: AGHT+IHYM/Q+UNz/TDrLeMKLELVbpOEQ/xRXzjjkILjXIeEtn7uHovsVkJmEJzq0hmD0RJ3hva8LDA== X-Received: by 2002:adf:e909:0:b0:33d:26dd:8c4f with SMTP id f9-20020adfe909000000b0033d26dd8c4fmr4461691wrm.23.1708946109026; Mon, 26 Feb 2024 03:15:09 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 08/15] hw/pci-bridge: Extract QOM ICH definitions to 'ich9_dmi.h' Date: Mon, 26 Feb 2024 12:14:07 +0100 Message-ID: <20240226111416.39217-9-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_TEMPERROR=0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946272029100001 Expose TYPE_ICH_DMI_PCI_BRIDGE to the new "hw/pci-bridge/ich9_dmi.h" header. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 1 + include/hw/pci-bridge/ich9_dmi.h | 20 ++++++++++++++++++++ include/hw/southbridge/ich9.h | 2 -- hw/pci-bridge/{i82801b11.c =3D> ich9_dmi.c} | 11 ++++------- hw/pci-bridge/meson.build | 2 +- 5 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 include/hw/pci-bridge/ich9_dmi.h rename hw/pci-bridge/{i82801b11.c =3D> ich9_dmi.c} (95%) diff --git a/MAINTAINERS b/MAINTAINERS index 0849283287..52282c680e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2618,6 +2618,7 @@ F: hw/i2c/smbus_ich9.c F: hw/isa/lpc_ich9.c F: include/hw/acpi/ich9*.h F: include/hw/i2c/ich9_smbus.h +F: include/hw/pci-bridge/ich9_dmi.h F: include/hw/southbridge/ich9.h =20 PIIX4 South Bridge (i82371AB) diff --git a/include/hw/pci-bridge/ich9_dmi.h b/include/hw/pci-bridge/ich9_= dmi.h new file mode 100644 index 0000000000..7cf5d9d9b2 --- /dev/null +++ b/include/hw/pci-bridge/ich9_dmi.h @@ -0,0 +1,20 @@ +/* + * QEMU ICH4 i82801b11 dmi-to-pci Bridge Emulation + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef HW_PCI_BRIDGE_ICH9_DMI_H +#define HW_PCI_BRIDGE_ICH9_DMI_H + +#include "qom/object.h" +#include "hw/pci/pci_bridge.h" + +#define TYPE_ICH_DMI_PCI_BRIDGE "i82801b11-bridge" +OBJECT_DECLARE_SIMPLE_TYPE(I82801b11Bridge, ICH_DMI_PCI_BRIDGE) + +struct I82801b11Bridge { + PCIBridge parent_obj; +}; + +#endif diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index bee522a4cf..b2abf483e0 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -114,8 +114,6 @@ struct ICH9LPCState { =20 #define ICH9_D2P_SECONDARY_DEFAULT (256 - 8) =20 -#define ICH9_D2P_A2_REVISION 0x92 - /* D31:F0 LPC Processor Interface */ #define ICH9_RST_CNT_IOPORT 0xCF9 =20 diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/ich9_dmi.c similarity index 95% rename from hw/pci-bridge/i82801b11.c rename to hw/pci-bridge/ich9_dmi.c index c140919cbc..927e48bf2e 100644 --- a/hw/pci-bridge/i82801b11.c +++ b/hw/pci-bridge/ich9_dmi.c @@ -45,7 +45,7 @@ #include "hw/pci/pci_bridge.h" #include "migration/vmstate.h" #include "qemu/module.h" -#include "hw/southbridge/ich9.h" +#include "hw/pci-bridge/ich9_dmi.h" =20 /*************************************************************************= ****/ /* ICH9 DMI-to-PCI bridge */ @@ -53,11 +53,8 @@ #define I82801ba_SSVID_SVID 0 #define I82801ba_SSVID_SSID 0 =20 -typedef struct I82801b11Bridge { - /*< private >*/ - PCIBridge parent_obj; - /*< public >*/ -} I82801b11Bridge; + +#define ICH9_D2P_A2_REVISION 0x92 =20 static void i82801b11_bridge_realize(PCIDevice *d, Error **errp) { @@ -103,7 +100,7 @@ static void i82801b11_bridge_class_init(ObjectClass *kl= ass, void *data) } =20 static const TypeInfo i82801b11_bridge_info =3D { - .name =3D "i82801b11-bridge", + .name =3D TYPE_ICH_DMI_PCI_BRIDGE, .parent =3D TYPE_PCI_BRIDGE, .instance_size =3D sizeof(I82801b11Bridge), .class_init =3D i82801b11_bridge_class_init, diff --git a/hw/pci-bridge/meson.build b/hw/pci-bridge/meson.build index f2a60434dd..d746487193 100644 --- a/hw/pci-bridge/meson.build +++ b/hw/pci-bridge/meson.build @@ -1,6 +1,6 @@ pci_ss =3D ss.source_set() pci_ss.add(files('pci_bridge_dev.c')) -pci_ss.add(when: 'CONFIG_I82801B11', if_true: files('i82801b11.c')) +pci_ss.add(when: 'CONFIG_I82801B11', if_true: files('ich9_dmi.c')) pci_ss.add(when: 'CONFIG_IOH3420', if_true: files('ioh3420.c')) pci_ss.add(when: 'CONFIG_PCIE_PORT', if_true: files('pcie_root_port.c', 'g= en_pcie_root_port.c')) pci_ss.add(when: 'CONFIG_PCIE_PCI_BRIDGE', if_true: files('pcie_pci_bridge= .c')) --=20 2.41.0 From nobody Thu Nov 14 07:01:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946277; cv=none; d=zohomail.com; s=zohoarc; b=fQuhCAoLq0kY95Q/T9C8ACKG/gzyuILmjHXExgP+4XZGNatcicYXJqL6NBuNadRDTUPQzNR5JstXBfZbrInFXHVb92NjpRGvzAAz9tyZrULr+ww2B5DRMnuQ6hKhNa2RrNUwQGdD8yPt1oUCmdzJXL9W6vyz/CsCzbsfqxJkCh8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946277; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=AOAgdiTLrHitfNCm+AG8p3RfvQWogq//ul3+PzccJzg=; b=bod4D8jyiplGNrTPoMpt7hKURW00TNfhWsNJH4Pi/PGCYW3F3G2AFq8gohAoQb5fe+77lwgubZ3AukWkH6iIa/kW/8XsqNLsNzHQJibl9QOQ3VTuTmLM1LkR3WAA4W2AfQ3qRyz8h34F/yGAdLw2tmdl6OlalVlOUlSP7o/tPB4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946277231530.5238214575153; Mon, 26 Feb 2024 03:17:57 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYxN-00023j-1e; Mon, 26 Feb 2024 06:15:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYx5-0001Ov-7F for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:25 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYx3-0000IK-CG for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:18 -0500 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-412a5ed5a25so3216165e9.0 for ; Mon, 26 Feb 2024 03:15:16 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id u16-20020a5d6ad0000000b0033b6e26f0f9sm7928127wrw.42.2024.02.26.03.15.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:15:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946115; x=1709550915; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AOAgdiTLrHitfNCm+AG8p3RfvQWogq//ul3+PzccJzg=; b=k3p17Dp6Tno6Y5i0U18wc8IZMuflH6pF7JZ185xbiAjvHmGmCGtK2Qjnsxghe4Kt3m BJ5m6+o9xfvEewYLoRSTPBPrHObAnMra/gOnZEt7ThU5bYAyw/w7CR+zrWtIQVQVhoP6 i0YNlXxb3XVcc79zc2LC7EhURXbsTpGINLjRIeVVitPbBH18IyJwD+vlRqes/TvH8TPT BJWly7aZw94frmhj9sgib8hQYE9dXypW3jYe0U2IL1JE2Nf4QCpWOanrKPAPC3QHZE+T Q42gR9D3gzsYRYVVVo41V8nNh3GewRO90/VVwp4UuofGVzjMwEJK7HHZFk6DKP2e0bfC f0mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946115; x=1709550915; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AOAgdiTLrHitfNCm+AG8p3RfvQWogq//ul3+PzccJzg=; b=w/UGqiqa9iJDD7UfuJ++NEoz5FLTpQVDNjFb4yLE+UbV5y83FujPkOZ+hB3vdMJAZp k/Mr524b8L3Dc7vLnVSVB/urTXeFrwTue1fE6kxD7i3Bt0dlIZe5UA0v0B5kgaGaX9YK ZH/me1ZSI7mzfGAf/MbOd0JVNMhBKsbEEjcdrInLRHnDjNwQWXPFe/rAlihfBjKVpqas LHEwPdnsy9CRRC07aedq9/6jb29Fmn3cZGRj3jCSCgsRP/zPPtlWBrn7dM34rTMozgdL 1kpleemFnq1Ys0ILoj5TCbYpHTpCUChy+HQSzuGcA9oQ96qZYJTA3EKlkRYylaQ8S81s p3Xg== X-Gm-Message-State: AOJu0YzsWDUw1hSIo82WGiG1JJKoWb9U8iv+JIEJ8jLCa3LZVh/gf5EL VV9xlDz2W5mtZBQzoD35HlLZhjwn5MQSadWFHJZmtv7vwDRJZmPQO4x10xrNyXRracr0NJczpbE C X-Google-Smtp-Source: AGHT+IFGGyZ8M0LB5lryrip/wWQ/od4AVBvJPxOp2mEf4kZe+Kqq0idqMI32gDGdRm7DU0zoR7m6tA== X-Received: by 2002:a05:600c:190c:b0:412:a215:e635 with SMTP id j12-20020a05600c190c00b00412a215e635mr2246078wmq.3.1708946115099; Mon, 26 Feb 2024 03:15:15 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 09/15] hw/southbridge/ich9: Introduce TYPE_ICH9_SOUTHBRIDGE stub Date: Mon, 26 Feb 2024 12:14:08 +0100 Message-ID: <20240226111416.39217-10-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946278091100001 Start the TYPE_ICH9_SOUTHBRIDGE stub, a kind of QOM container which will contain all the ICH9 parts. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 1 + include/hw/southbridge/ich9.h | 3 ++ hw/i386/pc_q35.c | 7 ++++ hw/southbridge/ich9.c | 61 +++++++++++++++++++++++++++++++++++ hw/Kconfig | 1 + hw/i386/Kconfig | 1 + hw/meson.build | 1 + hw/southbridge/Kconfig | 5 +++ hw/southbridge/meson.build | 3 ++ 9 files changed, 83 insertions(+) create mode 100644 hw/southbridge/ich9.c create mode 100644 hw/southbridge/Kconfig create mode 100644 hw/southbridge/meson.build diff --git a/MAINTAINERS b/MAINTAINERS index 52282c680e..4576339053 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2616,6 +2616,7 @@ S: Supported F: hw/acpi/ich9*.c F: hw/i2c/smbus_ich9.c F: hw/isa/lpc_ich9.c +F: hw/southbridge/ich9.c F: include/hw/acpi/ich9*.h F: include/hw/i2c/ich9_smbus.h F: include/hw/pci-bridge/ich9_dmi.h diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index b2abf483e0..162ae3baa1 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -11,6 +11,9 @@ #include "qemu/notify.h" #include "qom/object.h" =20 +#define TYPE_ICH9_SOUTHBRIDGE "ICH9-southbridge" +OBJECT_DECLARE_SIMPLE_TYPE(ICH9State, ICH9_SOUTHBRIDGE) + #define ICH9_CC_SIZE (16 * 1024) /* 16KB. Chipset configuration registers = */ =20 #define TYPE_ICH9_LPC_DEVICE "ICH9-LPC" diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index dcad6000d9..8c8a2f65b8 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -123,6 +123,7 @@ static void pc_q35_init(MachineState *machine) PCMachineClass *pcmc =3D PC_MACHINE_GET_CLASS(pcms); X86MachineState *x86ms =3D X86_MACHINE(machine); Object *phb; + DeviceState *ich9; PCIDevice *lpc; Object *lpc_obj; DeviceState *lpc_dev; @@ -221,6 +222,12 @@ static void pc_q35_init(MachineState *machine) /* irq lines */ gsi_state =3D pc_gsi_create(&x86ms->gsi, true); =20 + ich9 =3D qdev_new(TYPE_ICH9_SOUTHBRIDGE); + object_property_add_child(OBJECT(machine), "ich9", OBJECT(ich9)); + object_property_set_link(OBJECT(ich9), "mch-pcie-bus", + OBJECT(pcms->pcibus), &error_abort); + qdev_realize_and_unref(ich9, NULL, &error_fatal); + /* create ISA bus */ lpc =3D pci_new_multifunction(PCI_DEVFN(ICH9_LPC_DEV, ICH9_LPC_FUNC), TYPE_ICH9_LPC_DEVICE); diff --git a/hw/southbridge/ich9.c b/hw/southbridge/ich9.c new file mode 100644 index 0000000000..f3a9b932ab --- /dev/null +++ b/hw/southbridge/ich9.c @@ -0,0 +1,61 @@ +/* + * QEMU Intel ICH9 south bridge emulation + * + * SPDX-FileCopyrightText: 2024 Linaro Ltd + * SPDX-FileContributor: Philippe Mathieu-Daud=C3=A9 + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "hw/qdev-properties.h" +#include "hw/southbridge/ich9.h" +#include "hw/pci/pci.h" + +struct ICH9State { + DeviceState parent_obj; + + PCIBus *pci_bus; +}; + +static Property ich9_props[] =3D { + DEFINE_PROP_LINK("mch-pcie-bus", ICH9State, pci_bus, + TYPE_PCIE_BUS, PCIBus *), + DEFINE_PROP_END_OF_LIST(), +}; + +static void ich9_init(Object *obj) +{ +} + +static void ich9_realize(DeviceState *dev, Error **errp) +{ + ICH9State *s =3D ICH9_SOUTHBRIDGE(dev); + + if (!s->pci_bus) { + error_setg(errp, "'pcie-bus' property must be set"); + return; + } +} + +static void ich9_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + + dc->realize =3D ich9_realize; + device_class_set_props(dc, ich9_props); + set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); +} + +static const TypeInfo ich9_types[] =3D { + { + .name =3D TYPE_ICH9_SOUTHBRIDGE, + .parent =3D TYPE_DEVICE, + .instance_size =3D sizeof(ICH9State), + .instance_init =3D ich9_init, + .class_init =3D ich9_class_init, + } +}; + +DEFINE_TYPES(ich9_types) diff --git a/hw/Kconfig b/hw/Kconfig index 2c00936c28..6584f2f72a 100644 --- a/hw/Kconfig +++ b/hw/Kconfig @@ -36,6 +36,7 @@ source scsi/Kconfig source sd/Kconfig source sensor/Kconfig source smbios/Kconfig +source southbridge/Kconfig source ssi/Kconfig source timer/Kconfig source tpm/Kconfig diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index a1846be6f7..d21638f4f9 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -99,6 +99,7 @@ config Q35 select PC_PCI select PC_ACPI select PCI_EXPRESS_Q35 + select ICH9 select LPC_ICH9 select AHCI_ICH9 select DIMM diff --git a/hw/meson.build b/hw/meson.build index 463d702683..7f9ae8659a 100644 --- a/hw/meson.build +++ b/hw/meson.build @@ -33,6 +33,7 @@ subdir('rtc') subdir('scsi') subdir('sd') subdir('sensor') +subdir('southbridge') subdir('smbios') subdir('ssi') subdir('timer') diff --git a/hw/southbridge/Kconfig b/hw/southbridge/Kconfig new file mode 100644 index 0000000000..852b7f346f --- /dev/null +++ b/hw/southbridge/Kconfig @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +config ICH9 + bool + depends on PCI_EXPRESS diff --git a/hw/southbridge/meson.build b/hw/southbridge/meson.build new file mode 100644 index 0000000000..70c1fa3cb2 --- /dev/null +++ b/hw/southbridge/meson.build @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +system_ss.add(when: 'CONFIG_ICH9', if_true: files('ich9.c')) --=20 2.41.0 From nobody Thu Nov 14 07:01:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946266; cv=none; d=zohomail.com; s=zohoarc; b=Ea2lYjjoGg8SDsvw6w442BfKPrbeVsZijAW224pHA/B3Y/0IajUlizc9oAp8NJPa9Bh7REytulKRVxa2hrt54su3RqEbYxz4Lv91d++TLALaMllWLCskYJxHg3gmRitmpqVNs1fh52DG/PfMBzLYHQC0vmAKwkZnSZ/Axft3hDE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946266; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lZ1MjFFP7CBRD+d2PVUAbb1TpM05+DB5Hf5IgGpJXgc=; b=faiyJJPI7S15Tc8kP6MZ89x+5hgjt1lQG6EpzZbi6NW5+MhNJIiy4gpMbKG5USSHD+MlWNsVwUAvo96Nxd5j1R/cqwZBfwBSjyK8ounDo2hsYki+jQVFORwf3xkj7u3S/60UBah3Pn6jXXZRzm6ARLaOcfCWsgckU5V4P/2nsSg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946266930849.4526222417405; Mon, 26 Feb 2024 03:17:46 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYxM-0001ui-3R; Mon, 26 Feb 2024 06:15:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYxC-0001cd-Un for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:29 -0500 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYxA-0000Iu-Nt for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:26 -0500 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-33d6cc6d2fcso1885957f8f.2 for ; Mon, 26 Feb 2024 03:15:22 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id z6-20020a5d4d06000000b0033d873f08d4sm7910526wrt.98.2024.02.26.03.15.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:15:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946121; x=1709550921; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lZ1MjFFP7CBRD+d2PVUAbb1TpM05+DB5Hf5IgGpJXgc=; b=ny6WxQK4rC/cP4TcHMA6eWsTI0awq7r9g4y1Yd2sJ/nmdqcjHdcAlaog3l/DUl65vH n8oG1tpyATPb5BdHfJgigXPO8ca7jgldi39wJzw3SAdr5n0sRdyE6hLJSJ/aWHib+Muc lBBEHdXz+D37uLVDsExxgqEB4H34WIA3Ivu7F0wtqNEvgcZxhPCYvM93oK4DQ3AjJXBs hwELeVI18ec9gQ9GiiLsMppZqTrB9HPLqSekclfZk+PFBU5ShMMit4u27Sph2I1mzevB ldsjYH38oVXR/WzGst7s9PBq9VwlRuo2vq/V++NtE0zC+l1DXA6UZDpuqlyhiNGuIgnP 2jqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946121; x=1709550921; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lZ1MjFFP7CBRD+d2PVUAbb1TpM05+DB5Hf5IgGpJXgc=; b=hGatApEVlU0id34jO52otGftPUAHdSAizDWXA3h4WfzyRfBcc4GNCIACLV0gm62WYd 9ZROJyrN1de/EzQeUrtbl+JyG5PWJ2EbSCJhBn1tS1tR6JnIjbIMm9JvP2JGD0po7mfZ NDUKA1jb3DMqs4QlzikrwFSwKQAMQcnb0heeJOI8qbXdVTl1oshftZom4EZDeSFkuLJQ HA1cd2zgSmwkoNUkFAOPeDb+4mujzopDbT/WvyP4dJFTETt4P0sfZ4ixby1Y0s64dR30 QLwcErawgca0yzDbZMjrr1MIBivezNd7E4D2BDFUx+PL0TByHF8M14wxzDYyTCJCoPm7 /1XQ== X-Gm-Message-State: AOJu0Yw9eD2fgRR4uRwAOi8Kn/ePvrMe4QxfW4Nux7h2EdH65pRxDd1/ Z1nmsAIlb3Lykx828/yIOpSdBOGPg58gjJ1v778L7Z2QXbZV+lzekW4oYxf8ncKMWKjSELokbZ2 / X-Google-Smtp-Source: AGHT+IGBUo6IReaoZYzxpKHUBizzuBkpfnFXuJo123VZgtOx349yXLpAdeCmGbB4DIXzyQ+qYmrUeA== X-Received: by 2002:adf:db07:0:b0:33d:82ae:67f8 with SMTP id s7-20020adfdb07000000b0033d82ae67f8mr4697015wri.50.1708946121143; Mon, 26 Feb 2024 03:15:21 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 10/15] hw/southbridge/ich9: Add the DMI-to-PCI bridge Date: Mon, 26 Feb 2024 12:14:09 +0100 Message-ID: <20240226111416.39217-11-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946268039100005 Instantiate TYPE_ICH_DMI_PCI_BRIDGE in TYPE_ICH9_SOUTHBRIDGE. Since the Q35 machine doesn't use it, add the 'd2p-enabled' property to disable it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/southbridge/ich9.h | 9 --------- hw/i386/pc_q35.c | 1 + hw/southbridge/ich9.c | 27 +++++++++++++++++++++++++++ hw/southbridge/Kconfig | 1 + 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index 162ae3baa1..b9122d299d 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -108,15 +108,6 @@ struct ICH9LPCState { #define ICH9_USB_UHCI1_DEV 29 #define ICH9_USB_UHCI1_FUNC 0 =20 -/* D30:F0 DMI-to-PCI bridge */ -#define ICH9_D2P_BRIDGE "ICH9 D2P BRIDGE" -#define ICH9_D2P_BRIDGE_SAVEVM_VERSION 0 - -#define ICH9_D2P_BRIDGE_DEV 30 -#define ICH9_D2P_BRIDGE_FUNC 0 - -#define ICH9_D2P_SECONDARY_DEFAULT (256 - 8) - /* D31:F0 LPC Processor Interface */ #define ICH9_RST_CNT_IOPORT 0xCF9 =20 diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 8c8a2f65b8..f951cf1e3a 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -226,6 +226,7 @@ static void pc_q35_init(MachineState *machine) object_property_add_child(OBJECT(machine), "ich9", OBJECT(ich9)); object_property_set_link(OBJECT(ich9), "mch-pcie-bus", OBJECT(pcms->pcibus), &error_abort); + qdev_prop_set_bit(ich9, "d2p-enabled", false); qdev_realize_and_unref(ich9, NULL, &error_fatal); =20 /* create ISA bus */ diff --git a/hw/southbridge/ich9.c b/hw/southbridge/ich9.c index f3a9b932ab..8c4356ff74 100644 --- a/hw/southbridge/ich9.c +++ b/hw/southbridge/ich9.c @@ -12,16 +12,23 @@ #include "hw/qdev-properties.h" #include "hw/southbridge/ich9.h" #include "hw/pci/pci.h" +#include "hw/pci-bridge/ich9_dmi.h" + +#define ICH9_D2P_DEVFN PCI_DEVFN(30, 0) =20 struct ICH9State { DeviceState parent_obj; =20 + I82801b11Bridge d2p; + PCIBus *pci_bus; + bool d2p_enabled; }; =20 static Property ich9_props[] =3D { DEFINE_PROP_LINK("mch-pcie-bus", ICH9State, pci_bus, TYPE_PCIE_BUS, PCIBus *), + DEFINE_PROP_BOOL("d2p-enabled", ICH9State, d2p_enabled, true), DEFINE_PROP_END_OF_LIST(), }; =20 @@ -29,6 +36,22 @@ static void ich9_init(Object *obj) { } =20 +static bool ich9_realize_d2p(ICH9State *s, Error **errp) +{ + if (!module_object_class_by_name(TYPE_ICH_DMI_PCI_BRIDGE)) { + error_setg(errp, "DMI-to-PCI function not available in this build"= ); + return false; + } + object_initialize_child(OBJECT(s), "d2p", &s->d2p, TYPE_ICH_DMI_PCI_BR= IDGE); + qdev_prop_set_int32(DEVICE(&s->d2p), "addr", ICH9_D2P_DEVFN); + if (!qdev_realize(DEVICE(&s->d2p), BUS(s->pci_bus), errp)) { + return false; + } + object_property_add_alias(OBJECT(s), "pci.0", OBJECT(&s->d2p), "pci.0"= ); + + return true; +} + static void ich9_realize(DeviceState *dev, Error **errp) { ICH9State *s =3D ICH9_SOUTHBRIDGE(dev); @@ -37,6 +60,10 @@ static void ich9_realize(DeviceState *dev, Error **errp) error_setg(errp, "'pcie-bus' property must be set"); return; } + + if (s->d2p_enabled && !ich9_realize_d2p(s, errp)) { + return; + } } =20 static void ich9_class_init(ObjectClass *klass, void *data) diff --git a/hw/southbridge/Kconfig b/hw/southbridge/Kconfig index 852b7f346f..db7259bf6f 100644 --- a/hw/southbridge/Kconfig +++ b/hw/southbridge/Kconfig @@ -3,3 +3,4 @@ config ICH9 bool depends on PCI_EXPRESS + imply I82801B11 --=20 2.41.0 From nobody Thu Nov 14 07:01:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946229; cv=none; d=zohomail.com; s=zohoarc; b=BhouFUorCNxmDf8jsYplLf4slk0YiMTQjn3RpeUN6/k8CQu/GtLHzRE4CbVSZ4VlFKw7pRCn2RmJ/KLK8ccMdVe7ybXO0NCFT0O+O1ttLSqoptO2jpeZSWK7NaJhseiqX7VVCiJ2y7ddRfpeSwTqnWqImK70cV0sJwHc1faIiu0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946229; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0myDJN7KWIq+zhdXH485qfcnlMrSf8PYAw/yPV+zbRY=; b=UuIuC5AB7XhogLA3157oimdiVwZJM3j085dWUX/WEo1dHs5y5hJLa4dU8OWEsFtznEO4YiOxLiXSVXGrQ9m1NjxLQe6/NIE8IhFV148b/p05SVIh4k2INioKtV1n1W4rfdmAJDqDNfJ0raOSj/E8AIGQrrjh5faz6+tG/e3j9GE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946229837640.5627635592754; Mon, 26 Feb 2024 03:17:09 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYxO-0002Dx-Q6; Mon, 26 Feb 2024 06:15:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYxJ-0001mE-5Y for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:34 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYxF-0000JW-9k for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:32 -0500 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-33d6cc6d2fcso1886006f8f.2 for ; Mon, 26 Feb 2024 03:15:28 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id r15-20020adfce8f000000b0033db2d6bf83sm7889401wrn.34.2024.02.26.03.15.25 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:15:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946127; x=1709550927; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0myDJN7KWIq+zhdXH485qfcnlMrSf8PYAw/yPV+zbRY=; b=pbY6+qG8naM2G0M8LJm5cvmX0Dj8eyHL4adk0JHOgXkHMNoih0fBWULWIcXx7R5lRq 16MbPv2OJz4JMqBg4MZUbRnGbCF+hGkYZ3SJ+jTlipV52YfIc0F/pC4zWr6TTVWVZbaD /7V8LkYWDw6nzVFWgSJYDKNEM6gQqGNbk+Fz6+BN1ExqNT0HGL5zeyZOLwbYp5glp5yt M6c62v0xXgiGR8T61kKHfJXj89b6w9G2ska2lmr0j2Q9/sUebSNF+YS269OkmXiN2VPz GzfutzLNc/H/QYpcIm9mtfVqtAUtvE5A0DtGplFDNIOPWyNbV30mfXX9cQozeMxiOtY2 R04Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946127; x=1709550927; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0myDJN7KWIq+zhdXH485qfcnlMrSf8PYAw/yPV+zbRY=; b=VnAAzCz1OmXhN4tKp/yzDc4bbDFfoRLiJ2ML8yEbf+ftLsaHFZrT+/GeMv46gPyvOv N9N+m2sves2mqNdxzr9sVAvnwsYHSTlkIeGVVdYt+szS3SeKYlvZh5McH6JJtfjuY7fi FM0Q47yDneCn7Zs7VUKEwUKyz/p6c0lSpSCaBYNVH0/Ve7rYnqLbKamEvou+z7/G9/Tq 1wDvWEgxODmv09eDBkFQYpVhZZONgWa5keDnxzcC+rAV+Egk43xjITXJH1TRI0sVU/Rw bGHiQ/mFePZxfwV7IDP6ikYK5H8I+6voFx9rKti8zI6N3nfnQnl+SM0bPhlLLvMPI2Nd biGA== X-Gm-Message-State: AOJu0Yz3Z0aj1PYogebhFbzrs0iS6MQQrHQFPR0Y+4j93+gUfARtBQ+M mkS5FIQpQbmfZKXZNJzDB546IpWkOlEZOPEZ4I2QI1g7JtXY1kpi2VP5/xfXvm1mRimSOcKiVxi c X-Google-Smtp-Source: AGHT+IE56Md7aAemZ3kKPHBxRkOaQQtCKRcXvzky86nOSQX+T3Ymyy/dMt3D5C20uhadNQLNb7ZqAQ== X-Received: by 2002:a5d:4b4f:0:b0:33d:af8b:6b79 with SMTP id w15-20020a5d4b4f000000b0033daf8b6b79mr4991784wrs.6.1708946127184; Mon, 26 Feb 2024 03:15:27 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 11/15] hw/southbridge/ich9: Add a AHCI function Date: Mon, 26 Feb 2024 12:14:10 +0100 Message-ID: <20240226111416.39217-12-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946231923100001 Instantiate TYPE_ICH9_AHCI in TYPE_ICH9_SOUTHBRIDGE. Since the PC machines can disable SATA (see the PC_MACHINE_SATA dynamic property), add the 'sata-enabled' property to disable it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 2 ++ include/hw/southbridge/ich9.h | 4 ---- hw/i386/pc_q35.c | 21 +++------------------ hw/southbridge/ich9.c | 35 +++++++++++++++++++++++++++++++++++ hw/i386/Kconfig | 1 - hw/southbridge/Kconfig | 1 + 6 files changed, 41 insertions(+), 23 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 4576339053..7d1b3e0d99 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2615,10 +2615,12 @@ M: Marcel Apfelbaum S: Supported F: hw/acpi/ich9*.c F: hw/i2c/smbus_ich9.c +F: hw/ide/ich9_ahci.c F: hw/isa/lpc_ich9.c F: hw/southbridge/ich9.c F: include/hw/acpi/ich9*.h F: include/hw/i2c/ich9_smbus.h +F: include/hw/ide/ahci-pci.h F: include/hw/pci-bridge/ich9_dmi.h F: include/hw/southbridge/ich9.h =20 diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index b9122d299d..ac7f9f4ff5 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -166,10 +166,6 @@ struct ICH9LPCState { =20 #define ICH9_GPIO_GSI "gsi" =20 -/* D31:F2 SATA Controller #1 */ -#define ICH9_SATA1_DEV 31 -#define ICH9_SATA1_FUNC 2 - /* D31:F0 power management I/O registers offset from the address ICH9_LPC_PMBASE */ =20 diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index f951cf1e3a..6903719b97 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -60,9 +60,6 @@ #include "hw/i386/acpi-build.h" #include "target/i386/cpu.h" =20 -/* ICH9 AHCI has 6 ports */ -#define MAX_SATA_PORTS 6 - struct ehci_companions { const char *name; int func; @@ -134,7 +131,6 @@ static void pc_q35_init(MachineState *machine) ISABus *isa_bus; int i; ram_addr_t lowmem; - DriveInfo *hd[MAX_SATA_PORTS]; MachineClass *mc =3D MACHINE_GET_CLASS(machine); bool acpi_pcihp; bool keep_pci_slot_hpc; @@ -227,6 +223,7 @@ static void pc_q35_init(MachineState *machine) object_property_set_link(OBJECT(ich9), "mch-pcie-bus", OBJECT(pcms->pcibus), &error_abort); qdev_prop_set_bit(ich9, "d2p-enabled", false); + qdev_prop_set_bit(ich9, "sata-enabled", pcms->sata_enabled); qdev_realize_and_unref(ich9, NULL, &error_fatal); =20 /* create ISA bus */ @@ -287,20 +284,8 @@ static void pc_q35_init(MachineState *machine) 0xff0104); =20 if (pcms->sata_enabled) { - PCIDevice *pdev; - AHCIPCIState *ich9; - - /* ahci and SATA device, for q35 1 ahci controller is built-in */ - pdev =3D pci_create_simple_multifunction(pcms->pcibus, - PCI_DEVFN(ICH9_SATA1_DEV, - ICH9_SATA1_FUNC), - "ich9-ahci"); - ich9 =3D ICH9_AHCI(pdev); - pcms->idebus[0] =3D qdev_get_child_bus(DEVICE(pdev), "ide.0"); - pcms->idebus[1] =3D qdev_get_child_bus(DEVICE(pdev), "ide.1"); - g_assert(MAX_SATA_PORTS =3D=3D ich9->ahci.ports); - ide_drive_get(hd, ich9->ahci.ports); - ahci_ide_create_devs(&ich9->ahci, hd); + pcms->idebus[0] =3D qdev_get_child_bus(ich9, "ide.0"); + pcms->idebus[1] =3D qdev_get_child_bus(ich9, "ide.1"); } =20 if (machine_usb(machine)) { diff --git a/hw/southbridge/ich9.c b/hw/southbridge/ich9.c index 8c4356ff74..37255bb941 100644 --- a/hw/southbridge/ich9.c +++ b/hw/southbridge/ich9.c @@ -13,22 +13,30 @@ #include "hw/southbridge/ich9.h" #include "hw/pci/pci.h" #include "hw/pci-bridge/ich9_dmi.h" +#include "hw/ide/ahci-pci.h" +#include "hw/ide/ide-dev.h" =20 #define ICH9_D2P_DEVFN PCI_DEVFN(30, 0) +#define ICH9_SATA1_DEVFN PCI_DEVFN(31, 2) + +#define SATA_PORTS 6 =20 struct ICH9State { DeviceState parent_obj; =20 I82801b11Bridge d2p; + AHCIPCIState sata0; =20 PCIBus *pci_bus; bool d2p_enabled; + bool sata_enabled; }; =20 static Property ich9_props[] =3D { DEFINE_PROP_LINK("mch-pcie-bus", ICH9State, pci_bus, TYPE_PCIE_BUS, PCIBus *), DEFINE_PROP_BOOL("d2p-enabled", ICH9State, d2p_enabled, true), + DEFINE_PROP_BOOL("sata-enabled", ICH9State, sata_enabled, true), DEFINE_PROP_END_OF_LIST(), }; =20 @@ -52,6 +60,29 @@ static bool ich9_realize_d2p(ICH9State *s, Error **errp) return true; } =20 +static bool ich9_realize_sata(ICH9State *s, Error **errp) +{ + DriveInfo *hd[SATA_PORTS]; + + object_initialize_child(OBJECT(s), "sata[0]", &s->sata0, TYPE_ICH9_AHC= I); + qdev_prop_set_int32(DEVICE(&s->sata0), "addr", ICH9_SATA1_DEVFN); + if (!qdev_realize(DEVICE(&s->sata0), BUS(s->pci_bus), errp)) { + return false; + } + for (unsigned i =3D 0; i < SATA_PORTS; i++) { + g_autofree char *portname =3D g_strdup_printf("ide.%u", i); + + object_property_add_alias(OBJECT(s), portname, + OBJECT(&s->sata0), portname); + } + + g_assert(SATA_PORTS =3D=3D s->sata0.ahci.ports); + ide_drive_get(hd, s->sata0.ahci.ports); + ahci_ide_create_devs(&s->sata0.ahci, hd); + + return true; +} + static void ich9_realize(DeviceState *dev, Error **errp) { ICH9State *s =3D ICH9_SOUTHBRIDGE(dev); @@ -64,6 +95,10 @@ static void ich9_realize(DeviceState *dev, Error **errp) if (s->d2p_enabled && !ich9_realize_d2p(s, errp)) { return; } + + if (s->sata_enabled && !ich9_realize_sata(s, errp)) { + return; + } } =20 static void ich9_class_init(ObjectClass *klass, void *data) diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index d21638f4f9..226d7f6916 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -101,7 +101,6 @@ config Q35 select PCI_EXPRESS_Q35 select ICH9 select LPC_ICH9 - select AHCI_ICH9 select DIMM select SMBIOS select FW_CFG_DMA diff --git a/hw/southbridge/Kconfig b/hw/southbridge/Kconfig index db7259bf6f..f806033d48 100644 --- a/hw/southbridge/Kconfig +++ b/hw/southbridge/Kconfig @@ -4,3 +4,4 @@ config ICH9 bool depends on PCI_EXPRESS imply I82801B11 + select AHCI_ICH9 --=20 2.41.0 From nobody Thu Nov 14 07:01:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946174; cv=none; d=zohomail.com; s=zohoarc; b=Fyc53b6NkUnUeXrNVpk0i8sybt/BnQrYNFlm0ZZIS86341/BAlwkmcXfsOEL1VrMt+op4Y+jvjf00zohZo/rDRzIbOnuWLJL02JhU8aqlgJl1bBkKgtwNIYiMrnJGH1gIH67+rR1QnPwnu+4gLQZSfvadsOQGfwDk3JR5rIP1lQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946174; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=s983EWlXUw8CoLKGoGbnyYE6HyzW/fgxYhU+WY62/gc=; b=cdYNqJAie+jSQ3xkUxPrvPIDQyAaH+sQQwBBBjTxKTqveTBFavOPNNws2yZRezzEvO6JTciqMefGJKUuzXzLcyQF9sIRgS/Fb1Yg1zE4XHlxcIrvDvoribCK/5GnbzhOlusbIrigl4e5RqYxEeq9SLTO8Ww1cd/diguWJoulJ7M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946174451286.4537905890828; Mon, 26 Feb 2024 03:16:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYxZ-0002hW-CE; Mon, 26 Feb 2024 06:15:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYxO-0002Cw-2L for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:38 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYxL-0000NK-G8 for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:37 -0500 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-33d8d5165dbso1618050f8f.1 for ; Mon, 26 Feb 2024 03:15:35 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id g10-20020adfd1ea000000b0033d282c7537sm8202395wrd.23.2024.02.26.03.15.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:15:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946133; x=1709550933; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=s983EWlXUw8CoLKGoGbnyYE6HyzW/fgxYhU+WY62/gc=; b=VaVQOcMvpdqLAioMyxVOjZzlBoFZeDex+ghTwq36g3NxlCuvP1q0ledzeF4QFGE462 ChrgE28ixs/VDC5G3eIU9sVUJYIz132Bm3xJkYdfxg54dY1QcIvZpMcJ/+bAZEkHvR12 OHMj3F+NjqYGgqqbafy675vT/WKm3pxeHhGdclc+xLh4iOrlH6hT+VY0Vm7S0zQFUDsA 9XZsacnjaVRbaXcljSRg3D+8/aVlRU8+EXlYAHcp2aD0S8rhPcvqmi5RjCIy6PdI3rIB 2mXCyagp02niX6X594Cvr88aC94pE3xAYGs/1vQfxpJEasyoNtXTKrXyLRBaJpw08d+5 4bEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946133; x=1709550933; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s983EWlXUw8CoLKGoGbnyYE6HyzW/fgxYhU+WY62/gc=; b=OvtFqUv/hc3kSLbTfZnBwqrkpvWcgFBrOI9jay8AiDp+wzTZxN04F2YwbwBwaVDlkC Kq2qdiaDTzsII9HlA8scRI+Gk5wZXcoZ7TuCaaOvH+0wsHP3vTFID8bo41A45ZEylwUx 2u1vWKb36QM57pCNLnZyQcDoQB8DSP3Iwhd1CGo6wdn2WKPYrHRWOVHTQexNI1I1OSeP KJIB9dTeVRSk4U17fK1n9A7woWet5s1jEiQyxmkRnhOgBDJ1fXhtMunX0rJHF2OZc5pG xlfeuemGnmSUjLrkaPZcX7TxJ62gfkFnf7ejpJvAYLFWMmO7AAQtkN1yYoTBPhc7Y+vX 7glg== X-Gm-Message-State: AOJu0YxwqbURTavsLu6pnHCAy5O3TpIV7qvh6d3AheOO+J8gdp2E9Sg2 dhybW3TU0WSWFyP0IBJeexpPnskkRd9tVmgK+JCi17Am7zZ8eK5UulaUxXBEYJyTBleXBqLhuaL F X-Google-Smtp-Source: AGHT+IFpZheZUV7JSmoSzU7hEqYnUJhwqD3pr0OuOPH93uXUsadrMJq08GFPN6rMiouXS2JHxO4x5Q== X-Received: by 2002:adf:f350:0:b0:33d:855d:7457 with SMTP id e16-20020adff350000000b0033d855d7457mr4649165wrp.21.1708946133496; Mon, 26 Feb 2024 03:15:33 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 12/15] hw/southbridge/ich9: Add the SMBus function Date: Mon, 26 Feb 2024 12:14:11 +0100 Message-ID: <20240226111416.39217-13-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946175804100007 Instantiate TYPE_ICH9_SMB_DEVICE in TYPE_ICH9_SOUTHBRIDGE. Since the PC machines can disable SMBus (see the PC_MACHINE_SMBUS dynamic property), add the 'smbus-enabled' property to disable it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/southbridge/ich9.h | 32 -------------------------------- hw/i2c/ich9_smbus.c | 29 ++++++++++++++++++++++++++++- hw/i386/pc_q35.c | 10 ++-------- hw/southbridge/ich9.c | 21 +++++++++++++++++++++ hw/southbridge/Kconfig | 1 + 5 files changed, 52 insertions(+), 41 deletions(-) diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index ac7f9f4ff5..d4b299bf3c 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -173,38 +173,6 @@ struct ICH9LPCState { #define ICH9_APM_ACPI_ENABLE 0x2 #define ICH9_APM_ACPI_DISABLE 0x3 =20 - -/* D31:F3 SMBus controller */ -#define TYPE_ICH9_SMB_DEVICE "ICH9-SMB" - -#define ICH9_A2_SMB_REVISION 0x02 -#define ICH9_SMB_PI 0x00 - -#define ICH9_SMB_SMBMBAR0 0x10 -#define ICH9_SMB_SMBMBAR1 0x14 -#define ICH9_SMB_SMBM_BAR 0 -#define ICH9_SMB_SMBM_SIZE (1 << 8) -#define ICH9_SMB_SMB_BASE 0x20 -#define ICH9_SMB_SMB_BASE_BAR 4 -#define ICH9_SMB_SMB_BASE_SIZE (1 << 5) -#define ICH9_SMB_HOSTC 0x40 -#define ICH9_SMB_HOSTC_SSRESET ((uint8_t)(1 << 3)) -#define ICH9_SMB_HOSTC_I2C_EN ((uint8_t)(1 << 2)) -#define ICH9_SMB_HOSTC_SMB_SMI_EN ((uint8_t)(1 << 1)) -#define ICH9_SMB_HOSTC_HST_EN ((uint8_t)(1 << 0)) - -/* D31:F3 SMBus I/O and memory mapped I/O registers */ -#define ICH9_SMB_DEV 31 -#define ICH9_SMB_FUNC 3 - -#define ICH9_SMB_HST_STS 0x00 -#define ICH9_SMB_HST_CNT 0x02 -#define ICH9_SMB_HST_CMD 0x03 -#define ICH9_SMB_XMIT_SLVA 0x04 -#define ICH9_SMB_HST_D0 0x05 -#define ICH9_SMB_HST_D1 0x06 -#define ICH9_SMB_HOST_BLOCK_DB 0x07 - #define ICH9_LPC_SMI_NEGOTIATED_FEAT_PROP "x-smi-negotiated-features" =20 /* bit positions used in fw_cfg SMI feature negotiation */ diff --git a/hw/i2c/ich9_smbus.c b/hw/i2c/ich9_smbus.c index 35f526d71c..1c3b9964de 100644 --- a/hw/i2c/ich9_smbus.c +++ b/hw/i2c/ich9_smbus.c @@ -26,10 +26,37 @@ #include "migration/vmstate.h" #include "qemu/module.h" =20 -#include "hw/southbridge/ich9.h" #include "qom/object.h" #include "hw/acpi/acpi_aml_interface.h" =20 +/* D31:F3 SMBus controller */ + +#define ICH9_A2_SMB_REVISION 0x02 +#define ICH9_SMB_PI 0x00 + +#define ICH9_SMB_SMBMBAR0 0x10 +#define ICH9_SMB_SMBMBAR1 0x14 +#define ICH9_SMB_SMBM_BAR 0 +#define ICH9_SMB_SMBM_SIZE (1 << 8) +#define ICH9_SMB_SMB_BASE 0x20 +#define ICH9_SMB_SMB_BASE_BAR 4 +#define ICH9_SMB_SMB_BASE_SIZE (1 << 5) +#define ICH9_SMB_HOSTC 0x40 +#define ICH9_SMB_HOSTC_SSRESET ((uint8_t)(1 << 3)) +#define ICH9_SMB_HOSTC_I2C_EN ((uint8_t)(1 << 2)) +#define ICH9_SMB_HOSTC_SMB_SMI_EN ((uint8_t)(1 << 1)) +#define ICH9_SMB_HOSTC_HST_EN ((uint8_t)(1 << 0)) + +/* D31:F3 SMBus I/O and memory mapped I/O registers */ + +#define ICH9_SMB_HST_STS 0x00 +#define ICH9_SMB_HST_CNT 0x02 +#define ICH9_SMB_HST_CMD 0x03 +#define ICH9_SMB_XMIT_SLVA 0x04 +#define ICH9_SMB_HST_D0 0x05 +#define ICH9_SMB_HST_D1 0x06 +#define ICH9_SMB_HOST_BLOCK_DB 0x07 + static bool ich9_vmstate_need_smbus(void *opaque, int version_id) { return pm_smbus_vmstate_needed(); diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 6903719b97..0ff94b7afd 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -224,6 +224,7 @@ static void pc_q35_init(MachineState *machine) OBJECT(pcms->pcibus), &error_abort); qdev_prop_set_bit(ich9, "d2p-enabled", false); qdev_prop_set_bit(ich9, "sata-enabled", pcms->sata_enabled); + qdev_prop_set_bit(ich9, "smbus-enabled", pcms->smbus_enabled); qdev_realize_and_unref(ich9, NULL, &error_fatal); =20 /* create ISA bus */ @@ -294,15 +295,8 @@ static void pc_q35_init(MachineState *machine) } =20 if (pcms->smbus_enabled) { - PCIDevice *smb; - + pcms->smbus =3D I2C_BUS(qdev_get_child_bus(ich9, "i2c")); /* TODO: Populate SPD eeprom data. */ - smb =3D pci_create_simple_multifunction(pcms->pcibus, - PCI_DEVFN(ICH9_SMB_DEV, - ICH9_SMB_FUNC), - TYPE_ICH9_SMB_DEVICE); - pcms->smbus =3D I2C_BUS(qdev_get_child_bus(DEVICE(smb), "i2c")); - smbus_eeprom_init(pcms->smbus, 8, NULL, 0); } =20 diff --git a/hw/southbridge/ich9.c b/hw/southbridge/ich9.c index 37255bb941..413e9187e4 100644 --- a/hw/southbridge/ich9.c +++ b/hw/southbridge/ich9.c @@ -15,9 +15,11 @@ #include "hw/pci-bridge/ich9_dmi.h" #include "hw/ide/ahci-pci.h" #include "hw/ide/ide-dev.h" +#include "hw/i2c/ich9_smbus.h" =20 #define ICH9_D2P_DEVFN PCI_DEVFN(30, 0) #define ICH9_SATA1_DEVFN PCI_DEVFN(31, 2) +#define ICH9_SMB_DEVFN PCI_DEVFN(31, 3) =20 #define SATA_PORTS 6 =20 @@ -26,10 +28,12 @@ struct ICH9State { =20 I82801b11Bridge d2p; AHCIPCIState sata0; + ICH9SMBState smb; =20 PCIBus *pci_bus; bool d2p_enabled; bool sata_enabled; + bool smbus_enabled; }; =20 static Property ich9_props[] =3D { @@ -37,6 +41,7 @@ static Property ich9_props[] =3D { TYPE_PCIE_BUS, PCIBus *), DEFINE_PROP_BOOL("d2p-enabled", ICH9State, d2p_enabled, true), DEFINE_PROP_BOOL("sata-enabled", ICH9State, sata_enabled, true), + DEFINE_PROP_BOOL("smbus-enabled", ICH9State, smbus_enabled, true), DEFINE_PROP_END_OF_LIST(), }; =20 @@ -83,6 +88,18 @@ static bool ich9_realize_sata(ICH9State *s, Error **errp) return true; } =20 +static bool ich9_realize_smbus(ICH9State *s, Error **errp) +{ + object_initialize_child(OBJECT(s), "smb", &s->smb, TYPE_ICH9_SMB_DEVIC= E); + qdev_prop_set_int32(DEVICE(&s->smb), "addr", ICH9_SMB_DEVFN); + if (!qdev_realize(DEVICE(&s->smb), BUS(s->pci_bus), errp)) { + return false; + } + object_property_add_alias(OBJECT(s), "i2c", OBJECT(&s->smb), "i2c"); + + return true; +} + static void ich9_realize(DeviceState *dev, Error **errp) { ICH9State *s =3D ICH9_SOUTHBRIDGE(dev); @@ -99,6 +116,10 @@ static void ich9_realize(DeviceState *dev, Error **errp) if (s->sata_enabled && !ich9_realize_sata(s, errp)) { return; } + + if (s->smbus_enabled && !ich9_realize_smbus(s, errp)) { + return; + } } =20 static void ich9_class_init(ObjectClass *klass, void *data) diff --git a/hw/southbridge/Kconfig b/hw/southbridge/Kconfig index f806033d48..03e89a55d1 100644 --- a/hw/southbridge/Kconfig +++ b/hw/southbridge/Kconfig @@ -5,3 +5,4 @@ config ICH9 depends on PCI_EXPRESS imply I82801B11 select AHCI_ICH9 + select ACPI_ICH9 --=20 2.41.0 From nobody Thu Nov 14 07:01:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946232; cv=none; d=zohomail.com; s=zohoarc; b=fpRofeCfytbQbFu5pKQYbg1BxKTCbPkfPmunhTO6pbKu4IvTpqsVMvk2KRRXsk4E0nZCuo5J8nAV4FvJWwkjcwizMUqtHzfHznzsk20dr8ktDlWntTnKoz4N6SKyKZgMQPsy8QbB+RSSWZ2O0FmNXI5JzAInnPCbhekKQF1bkr0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946232; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bdxrKQw56OGQ9Tcr1roIQBogyoJhaQPIfliNFvvMZPA=; b=QBas1JPE4DR0SgwiuZk52B6q5MuWVo66y8jRBwxVFORm/VO7a/J/j5pj/RqkZay/3zO45ToBPRPl0fRwEUJNG9oDxDocy5z5EOkwqZU5eAXb/lmUEJ79e1WXM5oo0X12KiJqaPQZ80v/QsZ7aK8UIe/ZpW1ubtRw1/7cyJ+Hpr8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946232368468.4184873471861; Mon, 26 Feb 2024 03:17:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYyI-0003Uy-EW; Mon, 26 Feb 2024 06:16:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYxW-0002bI-1h for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:48 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYxS-0000QF-Iq for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:44 -0500 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-33d153254b7so2299698f8f.0 for ; Mon, 26 Feb 2024 03:15:41 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id e13-20020a5d594d000000b0033dd53c8f15sm3800971wri.13.2024.02.26.03.15.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:15:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946139; x=1709550939; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bdxrKQw56OGQ9Tcr1roIQBogyoJhaQPIfliNFvvMZPA=; b=gkYus16rAuureH0NQKJ34MFlj3/P3R+pI0TtYpWcVYJ7sEP0umQcWvabx7Bwveg3cz JOKjkzej1W62XrhLiPItp1pX5ni9wO1A91ub2tCP162sIi0ImBYMHA2OQ5YQkB0Ukcn0 O+Mu7TEQJCle8nDI48O6AK8B+8yG0kGVHZb+aUh0KfI6i8oWJ630QuqvR2DSm4G08IuY cTMIG/wkz/DkXCAAhmJsRgyPxMDeTgzl9CR5BD+BD4HWxVr2u9vIEpqsJA2kcgfADAV/ nEeYmTpwRVhBPM7lEJYVZawsBymLDT8U53GUpBdzFJ07FhZ2R7KbkaRioD4PRhcbXv0i GjcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946139; x=1709550939; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bdxrKQw56OGQ9Tcr1roIQBogyoJhaQPIfliNFvvMZPA=; b=Jq/aTBx6E17FqVdVnEsK2DHxMDxwstc2y0sAWH8SziaTG7sU8seRyXmV5ve9mAsjY8 t3g5dZJDpMoPoEiQt5dXCD9Vc2eQnqWh5a2x/jrvj/wSoBmQIYgnsY4WYHKlSTjhrwQX nw7AsrZ0yIsGbsH2ri5LbdMmj/+F3YdZ/TRX/6CyVpwIdppI46JToPQzVGwW1oLWTEGI VUwD4xBWPPYO7609KFCI4QjXJgQ5IrhJlSAJVAARqMP15k3QZxEdtgPOtWTdCiw9eFfO uP1JTie4eFCwgUrdF5U7bVsSkr95oT98fLMwCUF7fzWo+CagbtCHVwAJK1FrOGXZe3CL JmQg== X-Gm-Message-State: AOJu0YwVBpDNa4XLy34yUoPIsk2lsdIjYQwGfCo3uWWkxvBHS8O/dsd/ fBrwxJUDXPgiKT710wA0Hof83jMuoKlJbHVGyyoLECqaKAwdZdHbEf0erF1C3NMDLsZyrLEvBPe g X-Google-Smtp-Source: AGHT+IGMx5SnVJGZW+QrpQW5vebMVTUGgr8KNehCWThaiHgqEzs6URusf6FNewpoiv8SZRea2INZxw== X-Received: by 2002:a5d:6086:0:b0:33d:3ad2:67ae with SMTP id w6-20020a5d6086000000b0033d3ad267aemr4218921wrt.57.1708946139679; Mon, 26 Feb 2024 03:15:39 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 13/15] hw/southbridge/ich9: Add the USB EHCI/UHCI functions Date: Mon, 26 Feb 2024 12:14:12 +0100 Message-ID: <20240226111416.39217-14-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946233935100005 Instantiate EHCI and UHCI in TYPE_ICH9_SOUTHBRIDGE. Since machines can disable USB, add the 'ehci-count' property. Machine can disable USB functions by setting ehci-count=3D0. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/southbridge/ich9.h | 5 --- hw/i386/pc_q35.c | 62 ++--------------------------------- hw/southbridge/ich9.c | 54 ++++++++++++++++++++++++++++++ hw/southbridge/Kconfig | 2 ++ 4 files changed, 58 insertions(+), 65 deletions(-) diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index d4b299bf3c..7e75496b0b 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -103,11 +103,6 @@ struct ICH9LPCState { #define ICH9_PCIE_DEV 28 #define ICH9_PCIE_FUNC_MAX 6 =20 - -/* D29:F0 USB UHCI Controller #1 */ -#define ICH9_USB_UHCI1_DEV 29 -#define ICH9_USB_UHCI1_FUNC 0 - /* D31:F0 LPC Processor Interface */ #define ICH9_RST_CNT_IOPORT 0xCF9 =20 diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 0ff94b7afd..63fec8b439 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -50,8 +50,6 @@ #include "hw/ide/ahci-pci.h" #include "hw/intc/ioapic.h" #include "hw/southbridge/ich9.h" -#include "hw/usb.h" -#include "hw/usb/hcd-uhci.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "sysemu/numa.h" @@ -60,59 +58,6 @@ #include "hw/i386/acpi-build.h" #include "target/i386/cpu.h" =20 -struct ehci_companions { - const char *name; - int func; - int port; -}; - -static const struct ehci_companions ich9_1d[] =3D { - { .name =3D TYPE_ICH9_USB_UHCI(1), .func =3D 0, .port =3D 0 }, - { .name =3D TYPE_ICH9_USB_UHCI(2), .func =3D 1, .port =3D 2 }, - { .name =3D TYPE_ICH9_USB_UHCI(3), .func =3D 2, .port =3D 4 }, -}; - -static const struct ehci_companions ich9_1a[] =3D { - { .name =3D TYPE_ICH9_USB_UHCI(4), .func =3D 0, .port =3D 0 }, - { .name =3D TYPE_ICH9_USB_UHCI(5), .func =3D 1, .port =3D 2 }, - { .name =3D TYPE_ICH9_USB_UHCI(6), .func =3D 2, .port =3D 4 }, -}; - -static int ehci_create_ich9_with_companions(PCIBus *bus, int slot) -{ - const struct ehci_companions *comp; - PCIDevice *ehci, *uhci; - BusState *usbbus; - const char *name; - int i; - - switch (slot) { - case 0x1d: - name =3D "ich9-usb-ehci1"; - comp =3D ich9_1d; - break; - case 0x1a: - name =3D "ich9-usb-ehci2"; - comp =3D ich9_1a; - break; - default: - return -1; - } - - ehci =3D pci_new_multifunction(PCI_DEVFN(slot, 7), name); - pci_realize_and_unref(ehci, bus, &error_fatal); - usbbus =3D QLIST_FIRST(&ehci->qdev.child_bus); - - for (i =3D 0; i < 3; i++) { - uhci =3D pci_new_multifunction(PCI_DEVFN(slot, comp[i].func), - comp[i].name); - qdev_prop_set_string(&uhci->qdev, "masterbus", usbbus->name); - qdev_prop_set_uint32(&uhci->qdev, "firstport", comp[i].port); - pci_realize_and_unref(uhci, bus, &error_fatal); - } - return 0; -} - /* PC hardware initialisation */ static void pc_q35_init(MachineState *machine) { @@ -225,6 +170,8 @@ static void pc_q35_init(MachineState *machine) qdev_prop_set_bit(ich9, "d2p-enabled", false); qdev_prop_set_bit(ich9, "sata-enabled", pcms->sata_enabled); qdev_prop_set_bit(ich9, "smbus-enabled", pcms->smbus_enabled); + /* Should we create 6 UHCI according to ich9 spec? */ + qdev_prop_set_uint8(ich9, "ehci-count", machine_usb(machine) ? 1 : 0); qdev_realize_and_unref(ich9, NULL, &error_fatal); =20 /* create ISA bus */ @@ -289,11 +236,6 @@ static void pc_q35_init(MachineState *machine) pcms->idebus[1] =3D qdev_get_child_bus(ich9, "ide.1"); } =20 - if (machine_usb(machine)) { - /* Should we create 6 UHCI according to ich9 spec? */ - ehci_create_ich9_with_companions(pcms->pcibus, 0x1d); - } - if (pcms->smbus_enabled) { pcms->smbus =3D I2C_BUS(qdev_get_child_bus(ich9, "i2c")); /* TODO: Populate SPD eeprom data. */ diff --git a/hw/southbridge/ich9.c b/hw/southbridge/ich9.c index 413e9187e4..f05012959d 100644 --- a/hw/southbridge/ich9.c +++ b/hw/southbridge/ich9.c @@ -16,12 +16,18 @@ #include "hw/ide/ahci-pci.h" #include "hw/ide/ide-dev.h" #include "hw/i2c/ich9_smbus.h" +#include "hw/usb.h" +#include "hw/usb/hcd-ehci.h" +#include "hw/usb/hcd-uhci.h" =20 #define ICH9_D2P_DEVFN PCI_DEVFN(30, 0) #define ICH9_SATA1_DEVFN PCI_DEVFN(31, 2) #define ICH9_SMB_DEVFN PCI_DEVFN(31, 3) +#define ICH9_EHCI_FUNC 7 =20 #define SATA_PORTS 6 +#define EHCI_PER_FN 2 +#define UHCI_PER_FN 3 =20 struct ICH9State { DeviceState parent_obj; @@ -29,11 +35,14 @@ struct ICH9State { I82801b11Bridge d2p; AHCIPCIState sata0; ICH9SMBState smb; + EHCIPCIState ehci[EHCI_PER_FN]; + UHCIState uhci[EHCI_PER_FN * UHCI_PER_FN]; =20 PCIBus *pci_bus; bool d2p_enabled; bool sata_enabled; bool smbus_enabled; + uint8_t ehci_count; }; =20 static Property ich9_props[] =3D { @@ -42,6 +51,7 @@ static Property ich9_props[] =3D { DEFINE_PROP_BOOL("d2p-enabled", ICH9State, d2p_enabled, true), DEFINE_PROP_BOOL("sata-enabled", ICH9State, sata_enabled, true), DEFINE_PROP_BOOL("smbus-enabled", ICH9State, smbus_enabled, true), + DEFINE_PROP_UINT8("ehci-count", ICH9State, ehci_count, 2), DEFINE_PROP_END_OF_LIST(), }; =20 @@ -100,6 +110,46 @@ static bool ich9_realize_smbus(ICH9State *s, Error **e= rrp) return true; } =20 +static bool ich9_realize_usb(ICH9State *s, Error **errp) +{ + if (!module_object_class_by_name(TYPE_ICH9_USB_UHCI(1)) + || !module_object_class_by_name("ich9-usb-ehci1")) { + error_setg(errp, "USB functions not available in this build"); + return false; + } + for (unsigned e =3D 0; e < s->ehci_count; e++) { + g_autofree gchar *ename =3D g_strdup_printf("ich9-usb-ehci%u", e += 1); + EHCIPCIState *ehci =3D &s->ehci[e]; + const unsigned devid =3D e ? 0x1a : 0x1d; + BusState *masterbus; + + object_initialize_child(OBJECT(s), "ehci[*]", ehci, ename); + qdev_prop_set_int32(DEVICE(ehci), "addr", PCI_DEVFN(devid, + ICH9_EHCI_FUNC= )); + if (!qdev_realize(DEVICE(ehci), BUS(s->pci_bus), errp)) { + return false; + } + masterbus =3D QLIST_FIRST(&DEVICE(ehci)->child_bus); + + for (unsigned u =3D 0; u < UHCI_PER_FN; u++) { + unsigned c =3D UHCI_PER_FN * e + u; + UHCIState *uhci =3D &s->uhci[c]; + g_autofree gchar *cname =3D g_strdup_printf("ich9-usb-uhci%u",= c + 1); + + object_initialize_child(OBJECT(s), "uhci[*]", uhci, cname); + qdev_prop_set_bit(DEVICE(uhci), "multifunction", true); + qdev_prop_set_int32(DEVICE(uhci), "addr", PCI_DEVFN(devid, u)); + qdev_prop_set_string(DEVICE(uhci), "masterbus", masterbus->nam= e); + qdev_prop_set_uint32(DEVICE(uhci), "firstport", 2 * u); + if (!qdev_realize(DEVICE(uhci), BUS(s->pci_bus), errp)) { + return false; + } + } + } + + return true; +} + static void ich9_realize(DeviceState *dev, Error **errp) { ICH9State *s =3D ICH9_SOUTHBRIDGE(dev); @@ -120,6 +170,10 @@ static void ich9_realize(DeviceState *dev, Error **err= p) if (s->smbus_enabled && !ich9_realize_smbus(s, errp)) { return; } + + if (!ich9_realize_usb(s, errp)) { + return; + } } =20 static void ich9_class_init(ObjectClass *klass, void *data) diff --git a/hw/southbridge/Kconfig b/hw/southbridge/Kconfig index 03e89a55d1..31eb125bf7 100644 --- a/hw/southbridge/Kconfig +++ b/hw/southbridge/Kconfig @@ -6,3 +6,5 @@ config ICH9 imply I82801B11 select AHCI_ICH9 select ACPI_ICH9 + imply USB_EHCI_PCI + imply USB_UHCI --=20 2.41.0 From nobody Thu Nov 14 07:01:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946216; cv=none; d=zohomail.com; s=zohoarc; b=LCyzlJIXryjY0l2gbyVtpMSuTowaTSAKMpUznFPciz/DWmlrw++0qSa9iZfoWpFkjmbgHAE+BBnbHxVzbkCWmI+HLyMa2BkShc0WP9n+Sb/FodbXKGpe5Nw/se2YEO4BBLGg12KFtzPoFFAfrvxxb6S7+J/FzYKb0BPQsQFHF+o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946216; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lQBZGMQv95fG7g2BcVonDm8ogUcoDN/1uDc2HQWAe8c=; b=WwKYm6epRJrqzRn0c61SfKoUnCHjK0jYq8PgisfRLaG3u8G+U+A+Rn+UXv7Df8AFQokfYIFK2JQbe50LZj4SwZWd5Ieh70z15j7QIrCxJZ+A3TYqBRzcFc+G+YJhTrgySkOJ0yk/FIEqt1+/iokukeztJMaVidhViFn/j9b5px8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946215989675.9440992579787; Mon, 26 Feb 2024 03:16:55 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYyI-0003VX-FF; Mon, 26 Feb 2024 06:16:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYxb-0002pY-3Q for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:57 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYxX-0000Qy-R0 for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:50 -0500 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-33d01faf711so3080919f8f.1 for ; Mon, 26 Feb 2024 03:15:47 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id k29-20020adfb35d000000b0033de2f2a88dsm978050wrd.103.2024.02.26.03.15.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:15:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946146; x=1709550946; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lQBZGMQv95fG7g2BcVonDm8ogUcoDN/1uDc2HQWAe8c=; b=MIPdxWCd9Aa49oMSKFA9XMbycmL0YNTmNginFKuVnG3MPKuWB3SYRcEE/645SotLcJ 6sW9NvFs9FxyMLDYGnbU/MHk47hxP8DsISAwCOdMyIkbESUpzNtLBqFHbPNwvVyzTVI4 g/IH93JJ26DecnconJvRulr1cme4x5eSEEmTVMLkOWma73zv8NOCyGnEi/YDcS36vL40 oMKC6jEsq0jZjngnh7T7jl9Du1wD2rEhod70uXnUb+i3m2tbsnaHo1E8Ud/sS/7kWGDL U5VMDIE+ExGoLwMYtIiB/68m5gokJW8lCrzt8jRDHine1SViJ7ARzv2RF+psyg65A2tN usrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946146; x=1709550946; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lQBZGMQv95fG7g2BcVonDm8ogUcoDN/1uDc2HQWAe8c=; b=V5mG9h26vT/Xi0tp3qS/sDFowitvBwWOvwKs2CjZ/PTnvSeGWzMWR6/Wr8X1bNAptd +goozCku5PxsHpVUvXd/luAHWLrVXZMcWEVYuE42qyUr9ViQ0yooWwxCAQ696BZ0TMMD vgCVTqDehLLxVT3VuzzzSDaA/f6H1mkgUr62cSA+CBkZ/6Mn4k69edoJwN+DX8aUYrr6 WzT3L8FS7V0dTbvpczoybMJHppLEfoeqfEElKM7GI1pLGV4eZ8mz1BwxiAYf98aj4RI+ QWpwHQJ6zt9p0S3NA7N2h2pU1azJD3VIgT9PHRhivh4RoqnJBJ+ed8Pt7JiLSkblagv/ jPWA== X-Gm-Message-State: AOJu0Yz8B+IMjIJOHEcE/ruzDgTY+2Fwhanz1KNI/awEpy8ia1U9ia+F Ak1NMbeB69fHjaBqx+vVn3b02D7W34KL/Li6XYqj+yvXiWxd7X/fLtDVVF7SoK9Laa0NoLS6w8m j X-Google-Smtp-Source: AGHT+IGnTUqkFzyCqHifShvt11DWJOWRzoiGheEL55TQXf7R3c3lofAvreERbjiUNCiKDcpJ+SXYjA== X-Received: by 2002:adf:f88f:0:b0:33d:2226:a26b with SMTP id u15-20020adff88f000000b0033d2226a26bmr5039729wrp.24.1708946145798; Mon, 26 Feb 2024 03:15:45 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 14/15] hw/southbridge/ich9: Extract LPC definitions to 'hw/isa/ich9_lpc.h' Date: Mon, 26 Feb 2024 12:14:13 +0100 Message-ID: <20240226111416.39217-15-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946217880100005 Most ICH9-related files use the 'ich9_' prefix, rename lpc_ich9.c as ich9_lpc.c. Restrict LPC/ISA definitions by moving them to the "hw/isa/ich9_lpc.h" header. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 1 + include/hw/isa/ich9_lpc.h | 166 ++++++++++++++++++++++++++++++ include/hw/southbridge/ich9.h | 158 ++-------------------------- hw/acpi/ich9.c | 1 + hw/acpi/ich9_tco.c | 1 + hw/i386/acpi-build.c | 1 + hw/i386/pc_q35.c | 1 + hw/isa/{lpc_ich9.c =3D> ich9_lpc.c} | 34 +++++- tests/qtest/tco-test.c | 2 +- hw/isa/meson.build | 2 +- 10 files changed, 209 insertions(+), 158 deletions(-) create mode 100644 include/hw/isa/ich9_lpc.h rename hw/isa/{lpc_ich9.c =3D> ich9_lpc.c} (95%) diff --git a/MAINTAINERS b/MAINTAINERS index 7d1b3e0d99..6b783e3360 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2621,6 +2621,7 @@ F: hw/southbridge/ich9.c F: include/hw/acpi/ich9*.h F: include/hw/i2c/ich9_smbus.h F: include/hw/ide/ahci-pci.h +F: include/hw/isa/ich9_lpc.h F: include/hw/pci-bridge/ich9_dmi.h F: include/hw/southbridge/ich9.h =20 diff --git a/include/hw/isa/ich9_lpc.h b/include/hw/isa/ich9_lpc.h new file mode 100644 index 0000000000..b64d88b395 --- /dev/null +++ b/include/hw/isa/ich9_lpc.h @@ -0,0 +1,166 @@ +/* + * QEMU ICH9 PCI-to-LPC/ISA bridge emulation + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef HW_ISA_ICH9_LPC_H +#define HW_ISA_ICH9_LPC_H + +#include "exec/memory.h" +#include "hw/isa/apm.h" +#include "hw/acpi/ich9.h" +#include "hw/intc/ioapic.h" +#include "hw/pci/pci_device.h" +#include "hw/rtc/mc146818rtc.h" +#include "qemu/notify.h" +#include "qom/object.h" + +#define TYPE_ICH9_LPC_DEVICE "ICH9-LPC" +OBJECT_DECLARE_SIMPLE_TYPE(ICH9LPCState, ICH9_LPC_DEVICE) + +#define ICH9_CC_SIZE (16 * 1024) /* 16KB. Chipset configuration registers = */ + +struct ICH9LPCState { + /* ICH9 LPC PCI to ISA bridge */ + PCIDevice d; + + /* (pci device, intx) -> pirq + * In real chipset case, the unused slots are never used + * as ICH9 supports only D25-D31 irq routing. + * On the other hand in qemu case, any slot/function can be populated + * via command line option. + * So fallback interrupt routing for any devices in any slots is neces= sary. + */ + uint8_t irr[PCI_SLOT_MAX][PCI_NUM_PINS]; + + MC146818RtcState rtc; + APMState apm; + ICH9LPCPMRegs pm; + uint32_t sci_level; /* track sci level */ + uint8_t sci_gsi; + + /* 2.24 Pin Straps */ + struct { + bool spkr_hi; + } pin_strap; + + /* 10.1 Chipset Configuration registers(Memory Space) + which is pointed by RCBA */ + uint8_t chip_config[ICH9_CC_SIZE]; + + /* + * 13.7.5 RST_CNT---Reset Control Register (LPC I/F---D31:F0) + * + * register contents and IO memory region + */ + uint8_t rst_cnt; + MemoryRegion rst_cnt_mem; + + /* SMI feature negotiation via fw_cfg */ + uint64_t smi_host_features; /* guest-invisible, host endian */ + uint8_t smi_host_features_le[8]; /* guest-visible, read-only, little + * endian uint64_t */ + uint8_t smi_guest_features_le[8]; /* guest-visible, read-write, little + * endian uint64_t */ + uint8_t smi_features_ok; /* guest-visible, read-only; selecti= ng it + * triggers feature lockdown */ + uint64_t smi_negotiated_features; /* guest-invisible, host endian */ + + MemoryRegion rcrb_mem; /* root complex register block */ + Notifier machine_ready; + + qemu_irq gsi[IOAPIC_NUM_PINS]; +}; + +#define ICH9_MASK(bit, ms_bit, ls_bit) \ +((uint##bit##_t)(((1ULL << ((ms_bit) + 1)) - 1) & ~((1ULL << ls_bit) - 1))) + +#define ICH9_CC_SIZE (16 * 1024) /* 16KB. Chipset configuration registers = */ + +/* ICH9: Chipset Configuration Registers */ +#define ICH9_CC_ADDR_MASK (ICH9_CC_SIZE - 1) + +#define ICH9_CC +#define ICH9_CC_D28IP 0x310C +#define ICH9_CC_D28IP_SHIFT 4 +#define ICH9_CC_D28IP_MASK 0xf +#define ICH9_CC_D28IP_DEFAULT 0x00214321 +#define ICH9_CC_D31IR 0x3140 +#define ICH9_CC_D30IR 0x3142 +#define ICH9_CC_D29IR 0x3144 +#define ICH9_CC_D28IR 0x3146 +#define ICH9_CC_D27IR 0x3148 +#define ICH9_CC_D26IR 0x314C +#define ICH9_CC_D25IR 0x3150 +#define ICH9_CC_DIR_DEFAULT 0x3210 +#define ICH9_CC_D30IR_DEFAULT 0x0 +#define ICH9_CC_DIR_SHIFT 4 +#define ICH9_CC_DIR_MASK 0x7 +#define ICH9_CC_OIC 0x31FF +#define ICH9_CC_OIC_AEN 0x1 +#define ICH9_CC_GCS 0x3410 +#define ICH9_CC_GCS_DEFAULT 0x00000020 +#define ICH9_CC_GCS_NO_REBOOT (1 << 5) + +/* D31:F0 LPC Processor Interface */ +#define ICH9_RST_CNT_IOPORT 0xCF9 + +/* D31:F1 LPC controller */ +#define ICH9_A2_LPC "ICH9 A2 LPC" +#define ICH9_A2_LPC_SAVEVM_VERSION 0 + +#define ICH9_A2_LPC_REVISION 0x2 +#define ICH9_LPC_NB_PIRQS 8 /* PCI A-H */ + +#define ICH9_LPC_PMBASE 0x40 +#define ICH9_LPC_PMBASE_BASE_ADDRESS_MASK ICH9_MASK(32, 15, 7) +#define ICH9_LPC_PMBASE_RTE 0x1 +#define ICH9_LPC_PMBASE_DEFAULT 0x1 + +#define ICH9_LPC_ACPI_CTRL 0x44 +#define ICH9_LPC_ACPI_CTRL_ACPI_EN 0x80 +#define ICH9_LPC_ACPI_CTRL_SCI_IRQ_SEL_MASK ICH9_MASK(8, 2, 0) +#define ICH9_LPC_ACPI_CTRL_9 0x0 +#define ICH9_LPC_ACPI_CTRL_10 0x1 +#define ICH9_LPC_ACPI_CTRL_11 0x2 +#define ICH9_LPC_ACPI_CTRL_20 0x4 +#define ICH9_LPC_ACPI_CTRL_21 0x5 +#define ICH9_LPC_ACPI_CTRL_DEFAULT 0x0 + +#define ICH9_LPC_PIRQA_ROUT 0x60 +#define ICH9_LPC_PIRQB_ROUT 0x61 +#define ICH9_LPC_PIRQC_ROUT 0x62 +#define ICH9_LPC_PIRQD_ROUT 0x63 + +#define ICH9_LPC_PIRQE_ROUT 0x68 +#define ICH9_LPC_PIRQF_ROUT 0x69 +#define ICH9_LPC_PIRQG_ROUT 0x6a +#define ICH9_LPC_PIRQH_ROUT 0x6b + +#define ICH9_LPC_PIRQ_ROUT_IRQEN 0x80 +#define ICH9_LPC_PIRQ_ROUT_MASK ICH9_MASK(8, 3, 0) +#define ICH9_LPC_PIRQ_ROUT_DEFAULT 0x80 + +#define ICH9_LPC_GEN_PMCON_1 0xa0 +#define ICH9_LPC_GEN_PMCON_1_SMI_LOCK (1 << 4) +#define ICH9_LPC_GEN_PMCON_2 0xa2 +#define ICH9_LPC_GEN_PMCON_3 0xa4 +#define ICH9_LPC_GEN_PMCON_LOCK 0xa6 + +#define ICH9_LPC_RCBA 0xf0 +#define ICH9_LPC_RCBA_BA_MASK ICH9_MASK(32, 31, 14) +#define ICH9_LPC_RCBA_EN 0x1 +#define ICH9_LPC_RCBA_DEFAULT 0x0 + +#define ICH9_LPC_PIC_NUM_PINS 16 +#define ICH9_LPC_IOAPIC_NUM_PINS 24 + +/* D31:F0 power management I/O registers + offset from the address ICH9_LPC_PMBASE */ + +/* FADT ACPI_ENABLE/ACPI_DISABLE */ +#define ICH9_APM_ACPI_ENABLE 0x2 +#define ICH9_APM_ACPI_DISABLE 0x3 + +#endif diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index 7e75496b0b..d6c3b5ece3 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -1,173 +1,27 @@ +/* + * QEMU Intel ICH9 south bridge emulation + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + #ifndef HW_SOUTHBRIDGE_ICH9_H #define HW_SOUTHBRIDGE_ICH9_H =20 -#include "hw/isa/apm.h" -#include "hw/acpi/ich9.h" -#include "hw/intc/ioapic.h" -#include "hw/pci/pci.h" -#include "hw/pci/pci_device.h" -#include "hw/rtc/mc146818rtc.h" -#include "exec/memory.h" -#include "qemu/notify.h" #include "qom/object.h" =20 #define TYPE_ICH9_SOUTHBRIDGE "ICH9-southbridge" OBJECT_DECLARE_SIMPLE_TYPE(ICH9State, ICH9_SOUTHBRIDGE) =20 -#define ICH9_CC_SIZE (16 * 1024) /* 16KB. Chipset configuration registers = */ - -#define TYPE_ICH9_LPC_DEVICE "ICH9-LPC" -OBJECT_DECLARE_SIMPLE_TYPE(ICH9LPCState, ICH9_LPC_DEVICE) - -struct ICH9LPCState { - /* ICH9 LPC PCI to ISA bridge */ - PCIDevice d; - - /* (pci device, intx) -> pirq - * In real chipset case, the unused slots are never used - * as ICH9 supports only D25-D31 irq routing. - * On the other hand in qemu case, any slot/function can be populated - * via command line option. - * So fallback interrupt routing for any devices in any slots is neces= sary. - */ - uint8_t irr[PCI_SLOT_MAX][PCI_NUM_PINS]; - - MC146818RtcState rtc; - APMState apm; - ICH9LPCPMRegs pm; - uint32_t sci_level; /* track sci level */ - uint8_t sci_gsi; - - /* 2.24 Pin Straps */ - struct { - bool spkr_hi; - } pin_strap; - - /* 10.1 Chipset Configuration registers(Memory Space) - which is pointed by RCBA */ - uint8_t chip_config[ICH9_CC_SIZE]; - - /* - * 13.7.5 RST_CNT---Reset Control Register (LPC I/F---D31:F0) - * - * register contents and IO memory region - */ - uint8_t rst_cnt; - MemoryRegion rst_cnt_mem; - - /* SMI feature negotiation via fw_cfg */ - uint64_t smi_host_features; /* guest-invisible, host endian */ - uint8_t smi_host_features_le[8]; /* guest-visible, read-only, little - * endian uint64_t */ - uint8_t smi_guest_features_le[8]; /* guest-visible, read-write, little - * endian uint64_t */ - uint8_t smi_features_ok; /* guest-visible, read-only; selecti= ng it - * triggers feature lockdown */ - uint64_t smi_negotiated_features; /* guest-invisible, host endian */ - - MemoryRegion rcrb_mem; /* root complex register block */ - Notifier machine_ready; - - qemu_irq gsi[IOAPIC_NUM_PINS]; -}; - -#define ICH9_MASK(bit, ms_bit, ls_bit) \ -((uint##bit##_t)(((1ULL << ((ms_bit) + 1)) - 1) & ~((1ULL << ls_bit) - 1))) - -/* ICH9: Chipset Configuration Registers */ -#define ICH9_CC_ADDR_MASK (ICH9_CC_SIZE - 1) - -#define ICH9_CC -#define ICH9_CC_D28IP 0x310C -#define ICH9_CC_D28IP_SHIFT 4 -#define ICH9_CC_D28IP_MASK 0xf -#define ICH9_CC_D28IP_DEFAULT 0x00214321 -#define ICH9_CC_D31IR 0x3140 -#define ICH9_CC_D30IR 0x3142 -#define ICH9_CC_D29IR 0x3144 -#define ICH9_CC_D28IR 0x3146 -#define ICH9_CC_D27IR 0x3148 -#define ICH9_CC_D26IR 0x314C -#define ICH9_CC_D25IR 0x3150 -#define ICH9_CC_DIR_DEFAULT 0x3210 -#define ICH9_CC_D30IR_DEFAULT 0x0 -#define ICH9_CC_DIR_SHIFT 4 -#define ICH9_CC_DIR_MASK 0x7 -#define ICH9_CC_OIC 0x31FF -#define ICH9_CC_OIC_AEN 0x1 -#define ICH9_CC_GCS 0x3410 -#define ICH9_CC_GCS_DEFAULT 0x00000020 -#define ICH9_CC_GCS_NO_REBOOT (1 << 5) - /* D28:F[0-5] */ #define ICH9_PCIE_DEV 28 #define ICH9_PCIE_FUNC_MAX 6 =20 -/* D31:F0 LPC Processor Interface */ -#define ICH9_RST_CNT_IOPORT 0xCF9 - /* D31:F1 LPC controller */ -#define ICH9_A2_LPC "ICH9 A2 LPC" -#define ICH9_A2_LPC_SAVEVM_VERSION 0 - #define ICH9_LPC_DEV 31 #define ICH9_LPC_FUNC 0 =20 -#define ICH9_A2_LPC_REVISION 0x2 -#define ICH9_LPC_NB_PIRQS 8 /* PCI A-H */ - -#define ICH9_LPC_PMBASE 0x40 -#define ICH9_LPC_PMBASE_BASE_ADDRESS_MASK ICH9_MASK(32, 15, 7) -#define ICH9_LPC_PMBASE_RTE 0x1 -#define ICH9_LPC_PMBASE_DEFAULT 0x1 - -#define ICH9_LPC_ACPI_CTRL 0x44 -#define ICH9_LPC_ACPI_CTRL_ACPI_EN 0x80 -#define ICH9_LPC_ACPI_CTRL_SCI_IRQ_SEL_MASK ICH9_MASK(8, 2, 0) -#define ICH9_LPC_ACPI_CTRL_9 0x0 -#define ICH9_LPC_ACPI_CTRL_10 0x1 -#define ICH9_LPC_ACPI_CTRL_11 0x2 -#define ICH9_LPC_ACPI_CTRL_20 0x4 -#define ICH9_LPC_ACPI_CTRL_21 0x5 -#define ICH9_LPC_ACPI_CTRL_DEFAULT 0x0 - -#define ICH9_LPC_PIRQA_ROUT 0x60 -#define ICH9_LPC_PIRQB_ROUT 0x61 -#define ICH9_LPC_PIRQC_ROUT 0x62 -#define ICH9_LPC_PIRQD_ROUT 0x63 - -#define ICH9_LPC_PIRQE_ROUT 0x68 -#define ICH9_LPC_PIRQF_ROUT 0x69 -#define ICH9_LPC_PIRQG_ROUT 0x6a -#define ICH9_LPC_PIRQH_ROUT 0x6b - -#define ICH9_LPC_PIRQ_ROUT_IRQEN 0x80 -#define ICH9_LPC_PIRQ_ROUT_MASK ICH9_MASK(8, 3, 0) -#define ICH9_LPC_PIRQ_ROUT_DEFAULT 0x80 - -#define ICH9_LPC_GEN_PMCON_1 0xa0 -#define ICH9_LPC_GEN_PMCON_1_SMI_LOCK (1 << 4) -#define ICH9_LPC_GEN_PMCON_2 0xa2 -#define ICH9_LPC_GEN_PMCON_3 0xa4 -#define ICH9_LPC_GEN_PMCON_LOCK 0xa6 - -#define ICH9_LPC_RCBA 0xf0 -#define ICH9_LPC_RCBA_BA_MASK ICH9_MASK(32, 31, 14) -#define ICH9_LPC_RCBA_EN 0x1 -#define ICH9_LPC_RCBA_DEFAULT 0x0 - -#define ICH9_LPC_PIC_NUM_PINS 16 -#define ICH9_LPC_IOAPIC_NUM_PINS 24 - #define ICH9_GPIO_GSI "gsi" =20 -/* D31:F0 power management I/O registers - offset from the address ICH9_LPC_PMBASE */ - -/* FADT ACPI_ENABLE/ACPI_DISABLE */ -#define ICH9_APM_ACPI_ENABLE 0x2 -#define ICH9_APM_ACPI_DISABLE 0x3 - #define ICH9_LPC_SMI_NEGOTIATED_FEAT_PROP "x-smi-negotiated-features" =20 /* bit positions used in fw_cfg SMI feature negotiation */ diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index daf93361eb..1f41ab49c4 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -37,6 +37,7 @@ #include "hw/acpi/acpi_dev_interface.h" #include "hw/acpi/ich9_tco.h" #include "hw/southbridge/ich9.h" +#include "hw/isa/ich9_lpc.h" #include "hw/mem/pc-dimm.h" #include "hw/mem/nvdimm.h" =20 diff --git a/hw/acpi/ich9_tco.c b/hw/acpi/ich9_tco.c index dd4aff82e0..7499ec17db 100644 --- a/hw/acpi/ich9_tco.c +++ b/hw/acpi/ich9_tco.c @@ -13,6 +13,7 @@ #include "migration/vmstate.h" =20 #include "hw/acpi/ich9_tco.h" +#include "hw/isa/ich9_lpc.h" #include "trace.h" =20 enum { diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index e724494c7b..67a141efc4 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -56,6 +56,7 @@ =20 /* Supported chipsets: */ #include "hw/southbridge/ich9.h" +#include "hw/isa/ich9_lpc.h" #include "hw/acpi/pcihp.h" #include "hw/i386/fw_cfg.h" #include "hw/i386/pc.h" diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 63fec8b439..14df9e910b 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -50,6 +50,7 @@ #include "hw/ide/ahci-pci.h" #include "hw/intc/ioapic.h" #include "hw/southbridge/ich9.h" +#include "hw/isa/ich9_lpc.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "sysemu/numa.h" diff --git a/hw/isa/lpc_ich9.c b/hw/isa/ich9_lpc.c similarity index 95% rename from hw/isa/lpc_ich9.c rename to hw/isa/ich9_lpc.c index bd727b2320..17d4a95bd2 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/ich9_lpc.c @@ -1,5 +1,5 @@ /* - * QEMU ICH9 Emulation + * QEMU ICH9 LPC PCI-to-ISA bridge Emulation * * Copyright (c) 2006 Fabrice Bellard * Copyright (c) 2009, 2010, 2011 @@ -41,6 +41,7 @@ #include "hw/isa/apm.h" #include "hw/pci/pci.h" #include "hw/southbridge/ich9.h" +#include "hw/isa/ich9_lpc.h" #include "hw/acpi/acpi.h" #include "hw/acpi/ich9.h" #include "hw/pci/pci_bus.h" @@ -53,10 +54,35 @@ #include "hw/acpi/acpi_aml_interface.h" #include "trace.h" =20 -/*************************************************************************= ****/ -/* ICH9 LPC PCI to ISA bridge */ +#define ICH9_A2_LPC_REVISION 0x2 +#define ICH9_LPC_NB_PIRQS 8 /* PCI A-H */ =20 -/* chipset configuration register +/* ICH9: Chipset Configuration Registers */ +#define ICH9_CC_ADDR_MASK (ICH9_CC_SIZE - 1) + +#define ICH9_CC +#define ICH9_CC_D28IP 0x310C +#define ICH9_CC_D28IP_SHIFT 4 +#define ICH9_CC_D28IP_MASK 0xf +#define ICH9_CC_D28IP_DEFAULT 0x00214321 +#define ICH9_CC_D31IR 0x3140 +#define ICH9_CC_D30IR 0x3142 +#define ICH9_CC_D29IR 0x3144 +#define ICH9_CC_D28IR 0x3146 +#define ICH9_CC_D27IR 0x3148 +#define ICH9_CC_D26IR 0x314C +#define ICH9_CC_D25IR 0x3150 +#define ICH9_CC_DIR_DEFAULT 0x3210 +#define ICH9_CC_D30IR_DEFAULT 0x0 +#define ICH9_CC_DIR_SHIFT 4 +#define ICH9_CC_DIR_MASK 0x7 +#define ICH9_CC_OIC 0x31FF +#define ICH9_CC_OIC_AEN 0x1 +#define ICH9_CC_GCS 0x3410 +#define ICH9_CC_GCS_DEFAULT 0x00000020 +#define ICH9_CC_GCS_NO_REBOOT (1 << 5) + +/* * to access chipset configuration registers, pci_[sg]et_{byte, word, long} * are used. * Although it's not pci configuration space, it's little endian as Intel. diff --git a/tests/qtest/tco-test.c b/tests/qtest/tco-test.c index 0547d41173..c5974e72bd 100644 --- a/tests/qtest/tco-test.c +++ b/tests/qtest/tco-test.c @@ -14,7 +14,7 @@ #include "libqos/pci-pc.h" #include "qapi/qmp/qdict.h" #include "hw/pci/pci_regs.h" -#include "hw/southbridge/ich9.h" +#include "hw/isa/ich9_lpc.h" #include "hw/acpi/ich9.h" #include "hw/acpi/ich9_tco.h" =20 diff --git a/hw/isa/meson.build b/hw/isa/meson.build index 3219282217..3b5504f78d 100644 --- a/hw/isa/meson.build +++ b/hw/isa/meson.build @@ -8,4 +8,4 @@ system_ss.add(when: 'CONFIG_PIIX', if_true: files('piix.c')) system_ss.add(when: 'CONFIG_SMC37C669', if_true: files('smc37c669-superio.= c')) system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686.c')) =20 -specific_ss.add(when: 'CONFIG_LPC_ICH9', if_true: files('lpc_ich9.c')) +specific_ss.add(when: 'CONFIG_LPC_ICH9', if_true: files('ich9_lpc.c')) --=20 2.41.0 From nobody Thu Nov 14 07:01:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1708946265; cv=none; d=zohomail.com; s=zohoarc; b=C0iSuPQd+AXBmNh/oM0El1YTpSvDUDdxxS8Fe4bv8Na29u7z8/JcnmcL75kmve7iNvWBBK85oo7OgetEqmoKGUtVBW1iVh/zaWG4pXAMbW2eaZ5VG1I+TH4CAVtJPMIQ3s/uEjlvMPiWeTwG74roK8L8kC//UiJsCZaNdX7VHVc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708946265; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NakYM+jWDMcLHNPOOXYJjk0hTuKh2AH8qxOcwl0V/RA=; b=h5zRCJxkh1NuSR24dzlz3qN1pOgqAuw2YEJRmfFfeBAbMiBPiMyCWRGae7i+wlCpZJPxf7cIGdTBclHxVxn2MC7dNWUtUFdpiOvdnxforpn0NYnw7rj0zeNx7jAndQ6OdNEySRQbLQqLjj6sGLsn5q66VyVqZrDQdPJD80RxeFU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1708946265057392.5794893647785; Mon, 26 Feb 2024 03:17:45 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reYyT-0003xO-IF; Mon, 26 Feb 2024 06:16:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reYxj-0002xf-0x for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:16:02 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reYxf-0000S6-6K for qemu-devel@nongnu.org; Mon, 26 Feb 2024 06:15:57 -0500 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-33dc3fe739aso828118f8f.0 for ; Mon, 26 Feb 2024 03:15:53 -0800 (PST) Received: from m1x-phil.lan ([176.176.164.69]) by smtp.gmail.com with ESMTPSA id q1-20020adffec1000000b0033cf80ad6f5sm7903422wrs.60.2024.02.26.03.15.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 26 Feb 2024 03:15:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1708946152; x=1709550952; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NakYM+jWDMcLHNPOOXYJjk0hTuKh2AH8qxOcwl0V/RA=; b=ZjCLDfeTOHrdJ9H0MsgCia5loQblM/OWcqJSOR6/Y2P7u/RwYNg8MWf5jXobAp6yZa HSWWMaAXSMCjnSGbJb3J2b4+dLbmIK2kdG7eDxbgJavoFgN0kfA5Y/NvYq8c7h7xhAVe fhWIallJbR85XBt2RQrUbsi5iBqIHTVQS/TSChPhCAZcGMHdnnBBhtC09iGuokrqPN+d dX4RpdmqGvP+PvQI6fsXKuOFHd9VNu/SIjCC7uu2/fo8YyttU5PB5o1SNBf09FdlOnRl p74xUPch+z4Yx7HBMdnWS90fH3fNggQxakbMtu3qtOnqi3IJGQvg7JOyeYsC0eF2enu4 7mvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708946152; x=1709550952; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NakYM+jWDMcLHNPOOXYJjk0hTuKh2AH8qxOcwl0V/RA=; b=DgFMX3HRkqd7UcjjfXjFogJa3XMYPcARh5mPE/tcwi6pt7nck4XGchle+RVAhFzKdW lYlPVPdkcgbWbzewEdK33D04pgQcmo4A7FOZ1eIRCbocyPWaKCviQF4aWGYTAL+07eyb PC1pyek2R7zRT+nTvDlXIsruxMHswX9pgeeeJrkKlJJfgfN6ASwWPa9EXYiI1IjNAh6x /FIv2vVajPBcqYAsEu2y59ieVO+PT+yWAD+P4/9qTZ0UNP/ktG0GWto58FfrXGgdLjn6 vI8KGC7Euy5bLwgBcaXYr8lzSrWOW2/6eSdCaHCgGRjQvuew0DglGx/qjs5G9nzDLIPY rNig== X-Gm-Message-State: AOJu0YxRXcYs0rigdApCYj9fCm5nrtAKY+d32wXx3efLV2q2QpO/IXNL 5ZWoxDTLAJSpadNMGWMNmpoSaIiffkmabtLisqu/iuKufJyDjXDHM3gPI6lK1MFU6Ho2YzwbN3+ e X-Google-Smtp-Source: AGHT+IGEe+7RhEBIaT1I5YKLlMeKEK0DxU6RaOXo6TAWssiOiM2DfXepLVmdDt2AL2yBMO/24f6nFA== X-Received: by 2002:a5d:4b8f:0:b0:33d:d7be:5852 with SMTP id b15-20020a5d4b8f000000b0033dd7be5852mr2096555wrt.2.1708946151894; Mon, 26 Feb 2024 03:15:51 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Bernhard Beschow Cc: Laurent Vivier , Thomas Huth , BALATON Zoltan , Ani Sinha , qemu-block@nongnu.org, Marcel Apfelbaum , Eduardo Habkost , John Snow , Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , Richard Henderson , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 15/15] hw/southbridge/ich9: Add the LPC / ISA bridge function Date: Mon, 26 Feb 2024 12:14:14 +0100 Message-ID: <20240226111416.39217-16-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240226111416.39217-1-philmd@linaro.org> References: <20240226111416.39217-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1708946266058100001 Instantiate TYPE_ICH9_LPC_DEVICE in TYPE_ICH9_SOUTHBRIDGE. Expose the SMM property so the Q35 machine can disable it (depending on the accelerator used). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/southbridge/ich9.h | 4 ---- hw/i386/pc_q35.c | 20 ++++++-------------- hw/isa/ich9_lpc.c | 3 +++ hw/southbridge/ich9.c | 15 +++++++++++++++ hw/i386/Kconfig | 1 - hw/southbridge/Kconfig | 1 + 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index d6c3b5ece3..a8da4a8665 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -16,10 +16,6 @@ OBJECT_DECLARE_SIMPLE_TYPE(ICH9State, ICH9_SOUTHBRIDGE) #define ICH9_PCIE_DEV 28 #define ICH9_PCIE_FUNC_MAX 6 =20 -/* D31:F1 LPC controller */ -#define ICH9_LPC_DEV 31 -#define ICH9_LPC_FUNC 0 - #define ICH9_GPIO_GSI "gsi" =20 #define ICH9_LPC_SMI_NEGOTIATED_FEAT_PROP "x-smi-negotiated-features" diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 14df9e910b..31ab0ae77b 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -50,7 +50,6 @@ #include "hw/ide/ahci-pci.h" #include "hw/intc/ioapic.h" #include "hw/southbridge/ich9.h" -#include "hw/isa/ich9_lpc.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "sysemu/numa.h" @@ -67,9 +66,7 @@ static void pc_q35_init(MachineState *machine) X86MachineState *x86ms =3D X86_MACHINE(machine); Object *phb; DeviceState *ich9; - PCIDevice *lpc; Object *lpc_obj; - DeviceState *lpc_dev; MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *system_io =3D get_system_io(); MemoryRegion *pci_memory =3D g_new(MemoryRegion, 1); @@ -168,24 +165,19 @@ static void pc_q35_init(MachineState *machine) object_property_add_child(OBJECT(machine), "ich9", OBJECT(ich9)); object_property_set_link(OBJECT(ich9), "mch-pcie-bus", OBJECT(pcms->pcibus), &error_abort); + for (i =3D 0; i < IOAPIC_NUM_PINS; i++) { + qdev_connect_gpio_out_named(ich9, ICH9_GPIO_GSI, i, x86ms->gsi[i]); + } qdev_prop_set_bit(ich9, "d2p-enabled", false); + qdev_prop_set_bit(ich9, "smm-enabled", x86_machine_is_smm_enabled(x86m= s)); qdev_prop_set_bit(ich9, "sata-enabled", pcms->sata_enabled); qdev_prop_set_bit(ich9, "smbus-enabled", pcms->smbus_enabled); /* Should we create 6 UHCI according to ich9 spec? */ qdev_prop_set_uint8(ich9, "ehci-count", machine_usb(machine) ? 1 : 0); qdev_realize_and_unref(ich9, NULL, &error_fatal); =20 - /* create ISA bus */ - lpc =3D pci_new_multifunction(PCI_DEVFN(ICH9_LPC_DEV, ICH9_LPC_FUNC), - TYPE_ICH9_LPC_DEVICE); - lpc_obj =3D OBJECT(lpc); - lpc_dev =3D DEVICE(lpc); - qdev_prop_set_bit(lpc_dev, "smm-enabled", - x86_machine_is_smm_enabled(x86ms)); - for (i =3D 0; i < IOAPIC_NUM_PINS; i++) { - qdev_connect_gpio_out_named(lpc_dev, ICH9_GPIO_GSI, i, x86ms->gsi[= i]); - } - pci_realize_and_unref(lpc, pcms->pcibus, &error_fatal); + /* ISA bus */ + lpc_obj =3D object_resolve_path_component(OBJECT(ich9), "lpc"); =20 x86ms->rtc =3D ISA_DEVICE(object_resolve_path_component(lpc_obj, "rtc"= )); =20 diff --git a/hw/isa/ich9_lpc.c b/hw/isa/ich9_lpc.c index 17d4a95bd2..2339f66e0f 100644 --- a/hw/isa/ich9_lpc.c +++ b/hw/isa/ich9_lpc.c @@ -54,6 +54,9 @@ #include "hw/acpi/acpi_aml_interface.h" #include "trace.h" =20 +#define ICH9_LPC_DEV 31 +#define ICH9_LPC_FUNC 0 + #define ICH9_A2_LPC_REVISION 0x2 #define ICH9_LPC_NB_PIRQS 8 /* PCI A-H */ =20 diff --git a/hw/southbridge/ich9.c b/hw/southbridge/ich9.c index f05012959d..521925b462 100644 --- a/hw/southbridge/ich9.c +++ b/hw/southbridge/ich9.c @@ -13,6 +13,7 @@ #include "hw/southbridge/ich9.h" #include "hw/pci/pci.h" #include "hw/pci-bridge/ich9_dmi.h" +#include "hw/isa/ich9_lpc.h" #include "hw/ide/ahci-pci.h" #include "hw/ide/ide-dev.h" #include "hw/i2c/ich9_smbus.h" @@ -21,6 +22,7 @@ #include "hw/usb/hcd-uhci.h" =20 #define ICH9_D2P_DEVFN PCI_DEVFN(30, 0) +#define ICH9_LPC_DEVFN PCI_DEVFN(31, 0) #define ICH9_SATA1_DEVFN PCI_DEVFN(31, 2) #define ICH9_SMB_DEVFN PCI_DEVFN(31, 3) #define ICH9_EHCI_FUNC 7 @@ -34,6 +36,7 @@ struct ICH9State { =20 I82801b11Bridge d2p; AHCIPCIState sata0; + ICH9LPCState lpc; ICH9SMBState smb; EHCIPCIState ehci[EHCI_PER_FN]; UHCIState uhci[EHCI_PER_FN * UHCI_PER_FN]; @@ -57,6 +60,14 @@ static Property ich9_props[] =3D { =20 static void ich9_init(Object *obj) { + ICH9State *s =3D ICH9_SOUTHBRIDGE(obj); + + object_initialize_child(obj, "lpc", &s->lpc, TYPE_ICH9_LPC_DEVICE); + qdev_pass_gpios(DEVICE(&s->lpc), DEVICE(s), ICH9_GPIO_GSI); + qdev_prop_set_int32(DEVICE(&s->lpc), "addr", ICH9_LPC_DEVFN); + qdev_prop_set_bit(DEVICE(&s->lpc), "multifunction", true); + object_property_add_alias(obj, "smm-enabled", + OBJECT(&s->lpc), "smm-enabled"); } =20 static bool ich9_realize_d2p(ICH9State *s, Error **errp) @@ -163,6 +174,10 @@ static void ich9_realize(DeviceState *dev, Error **err= p) return; } =20 + if (!qdev_realize(DEVICE(&s->lpc), BUS(s->pci_bus), errp)) { + return; + } + if (s->sata_enabled && !ich9_realize_sata(s, errp)) { return; } diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index 226d7f6916..eccc834e49 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -100,7 +100,6 @@ config Q35 select PC_ACPI select PCI_EXPRESS_Q35 select ICH9 - select LPC_ICH9 select DIMM select SMBIOS select FW_CFG_DMA diff --git a/hw/southbridge/Kconfig b/hw/southbridge/Kconfig index 31eb125bf7..8ce62b703c 100644 --- a/hw/southbridge/Kconfig +++ b/hw/southbridge/Kconfig @@ -8,3 +8,4 @@ config ICH9 select ACPI_ICH9 imply USB_EHCI_PCI imply USB_UHCI + select LPC_ICH9 --=20 2.41.0