From nobody Mon Feb 9 04:56:34 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1647274334676863.0840581127933; Mon, 14 Mar 2022 09:12:14 -0700 (PDT) Received: from localhost ([::1]:34216 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nTnIr-0001KS-VW for importer@patchew.org; Mon, 14 Mar 2022 12:12:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44280) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTmuB-00079A-Q8 for qemu-devel@nongnu.org; Mon, 14 Mar 2022 11:46:43 -0400 Received: from smtp82.ord1d.emailsrvr.com ([184.106.54.82]:35621) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTmu7-0007aE-Sg for qemu-devel@nongnu.org; Mon, 14 Mar 2022 11:46:42 -0400 Received: by smtp11.relay.ord1d.emailsrvr.com (Authenticated sender: adeason-AT-sinenomine.net) with ESMTPSA id AC41A6015B; Mon, 14 Mar 2022 11:46:14 -0400 (EDT) X-Auth-ID: adeason@sinenomine.net From: Andrew Deason To: qemu-devel@nongnu.org Subject: [PATCH 1/2] util/osdep: Avoid madvise proto on modern Solaris Date: Mon, 14 Mar 2022 10:45:56 -0500 Message-Id: <20220314154557.306-2-adeason@sinenomine.net> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220314154557.306-1-adeason@sinenomine.net> References: <20220314154557.306-1-adeason@sinenomine.net> X-Classification-ID: 4af82b43-bb37-46e0-ae29-cb6bfb0f992e-2-1 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=184.106.54.82; envelope-from=adeason@sinenomine.net; helo=smtp82.ord1d.emailsrvr.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, 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-Mailman-Approved-At: Mon, 14 Mar 2022 12:09:06 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , Andrew Deason , Richard Henderson , Paolo Bonzini , Ani Sinha , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1647274336823100001 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" On older Solaris releases, we didn't get a protype for madvise, and so util/osdep.c provides its own prototype. Some time between the public Solaris 11.4 release and Solaris 11.4.42 CBE, we started getting an madvise prototype that looks like this: extern int madvise(void *, size_t, int); Which conflicts with the prototype in util/osdeps.c. Instead of always declaring this prototype, check if madvise() is already declared, so we don't need to declare it ourselves. Signed-off-by: Andrew Deason --- I'm not sure if a test is needed for this at all; that is, how much qemu cares about earlier Solaris. The madvise prototype exists earlier in Solaris 11 (I'm not sure when it started appearing usefully), but in 11.4 and earlier it was compatible with the char* prototype. meson.build | 3 +++ util/osdep.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/meson.build b/meson.build index 2d6601467f..c29d49c7a1 100644 --- a/meson.build +++ b/meson.build @@ -322,20 +322,23 @@ if targetos =3D=3D 'windows' include_directories: include_directo= ries('.')) host_dsosuf =3D '.dll' elif targetos =3D=3D 'darwin' coref =3D dependency('appleframeworks', modules: 'CoreFoundation') iokit =3D dependency('appleframeworks', modules: 'IOKit', required: fals= e) host_dsosuf =3D '.dylib' elif targetos =3D=3D 'sunos' socket =3D [cc.find_library('socket'), cc.find_library('nsl'), cc.find_library('resolv')] + config_host_data.set('HAVE_MADVISE_PROTO', + cc.has_function('madvise', + prefix: '#include ')) elif targetos =3D=3D 'haiku' socket =3D [cc.find_library('posix_error_mapper'), cc.find_library('network'), cc.find_library('bsd')] elif targetos =3D=3D 'openbsd' if get_option('tcg').allowed() and target_dirs.length() > 0 # Disable OpenBSD W^X if available emulator_link_args =3D cc.get_supported_link_arguments('-Wl,-z,wxneede= d') endif endif diff --git a/util/osdep.c b/util/osdep.c index 7c4deda6fe..c99083372b 100644 --- a/util/osdep.c +++ b/util/osdep.c @@ -21,24 +21,26 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS = IN * THE SOFTWARE. */ #include "qemu/osdep.h" #include "qapi/error.h" =20 /* Needed early for CONFIG_BSD etc. */ =20 #ifdef CONFIG_SOLARIS #include +#ifndef HAVE_MADVISE_PROTO /* See MySQL bug #7156 (http://bugs.mysql.com/bug.php?id=3D7156) for discussion about Solaris header problems */ extern int madvise(char *, size_t, int); #endif +#endif =20 #include "qemu-common.h" #include "qemu/cutils.h" #include "qemu/sockets.h" #include "qemu/error-report.h" #include "qemu/madvise.h" #include "qemu/mprotect.h" #include "qemu/hw-version.h" #include "monitor/monitor.h" =20 --=20 2.11.0 From nobody Mon Feb 9 04:56:34 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1647274252658110.46417913767198; Mon, 14 Mar 2022 09:10:52 -0700 (PDT) Received: from localhost ([::1]:58784 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nTnHX-0007qu-Ri for importer@patchew.org; Mon, 14 Mar 2022 12:10:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44282) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTmuB-00079F-Q0 for qemu-devel@nongnu.org; Mon, 14 Mar 2022 11:46:43 -0400 Received: from smtp82.ord1d.emailsrvr.com ([184.106.54.82]:39823) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTmu9-0007aN-8W for qemu-devel@nongnu.org; Mon, 14 Mar 2022 11:46:42 -0400 Received: by smtp11.relay.ord1d.emailsrvr.com (Authenticated sender: adeason-AT-sinenomine.net) with ESMTPSA id D07C660181; Mon, 14 Mar 2022 11:46:16 -0400 (EDT) X-Auth-ID: adeason@sinenomine.net From: Andrew Deason To: qemu-devel@nongnu.org Subject: [PATCH 2/2] hw/i386/acpi-build: Avoid 'sun' identifier Date: Mon, 14 Mar 2022 10:45:57 -0500 Message-Id: <20220314154557.306-3-adeason@sinenomine.net> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220314154557.306-1-adeason@sinenomine.net> References: <20220314154557.306-1-adeason@sinenomine.net> X-Classification-ID: 4af82b43-bb37-46e0-ae29-cb6bfb0f992e-3-1 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=184.106.54.82; envelope-from=adeason@sinenomine.net; helo=smtp82.ord1d.emailsrvr.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, 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-Mailman-Approved-At: Mon, 14 Mar 2022 12:09:06 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , "Michael S. Tsirkin" , Andrew Deason , Richard Henderson , Paolo Bonzini , Ani Sinha , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1647274254947100001 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" On Solaris, 'sun' is #define'd to 1, which causes errors if a variable is named 'sun'. Slightly change the name of the var for the Slot User Number so we can build on Solaris. Signed-off-by: Andrew Deason --- hw/i386/acpi-build.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 4ad4d7286c..dcf6ece3d0 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -576,32 +576,32 @@ static void build_append_pci_bus_devices(Aml *parent_= scope, PCIBus *bus, } =20 Aml *aml_pci_device_dsm(void) { Aml *method, *UUID, *ifctx, *ifctx1, *ifctx2, *ifctx3, *elsectx; Aml *acpi_index =3D aml_local(0); Aml *zero =3D aml_int(0); Aml *bnum =3D aml_arg(4); Aml *func =3D aml_arg(2); Aml *rev =3D aml_arg(1); - Aml *sun =3D aml_arg(5); + Aml *sunum =3D aml_arg(5); =20 method =3D aml_method("PDSM", 6, AML_SERIALIZED); =20 /* * PCI Firmware Specification 3.1 * 4.6. _DSM Definitions for PCI */ UUID =3D aml_touuid("E5C937D0-3553-4D7A-9117-EA4D19C3434D"); ifctx =3D aml_if(aml_equal(aml_arg(0), UUID)); { - aml_append(ifctx, aml_store(aml_call2("AIDX", bnum, sun), acpi_ind= ex)); + aml_append(ifctx, aml_store(aml_call2("AIDX", bnum, sunum), acpi_i= ndex)); ifctx1 =3D aml_if(aml_equal(func, zero)); { uint8_t byte_list[1]; =20 ifctx2 =3D aml_if(aml_equal(rev, aml_int(2))); { /* * advertise function 7 if device has acpi-index * acpi_index values: * 0: not present (default value) --=20 2.11.0