From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 0KZwHRyGNGjPRjUAWB0awg (envelope-from ) for ; Mon, 26 May 2025 11:17:48 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=F1wt0kqd; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 754351E11C; Mon, 26 May 2025 11:17:48 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-9.0 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,URIBL_SBL_A autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 9FD1F1E102 for ; Mon, 26 May 2025 11:17:47 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 53312385DC05 for ; Mon, 26 May 2025 15:17:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 53312385DC05 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=F1wt0kqd Received: from mail-ot1-x343.google.com (mail-ot1-x343.google.com [IPv6:2607:f8b0:4864:20::343]) by sourceware.org (Postfix) with ESMTPS id 86BFA3854802 for ; Mon, 26 May 2025 15:12:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 86BFA3854802 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 86BFA3854802 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::343 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1748272353; cv=none; b=VWwYsp3Rsi8vhzLP4LyT4l+kFHa/t9qeMRt2nPh0d64xGA601A84dUVaCGZEX1dtzv9ZM94C1CMD/eqfagH9yHFEBJmErkejBUFKl2a33T/m2wuK1D0R0Xaf7JaHQZLX+8XWdvZOJxaDDZ4Jocmu5x8NilSEfFRrjoa7FE39gqc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1748272353; c=relaxed/simple; bh=X0sQk2mRN3WFsJ+UbZVWRMynqxqGCinGfF7SKUVNefY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=BziiFBoOtNes606BTUsQOoS4aSG/Rxnd46Jlb+drmBS1Sxhxriv58LAlHc3j1BWSMiQqZgWsWVVa/ZsimdSHs0d5fioPPRKOSOnZ+L6JFYeeP2GYwfan5XpTUgCzREty7dAmLrToxfOvMtXh7jpoSo+OKPgpevW7cbFuA3pAYwI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 86BFA3854802 Received: by mail-ot1-x343.google.com with SMTP id 46e09a7af769-72bd5f25ea6so517612a34.1 for ; Mon, 26 May 2025 08:12:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748272353; x=1748877153; darn=sourceware.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=TsSsI+JJNMAD+flhyOUk1LhP4Ng+I+voVnGGZ+tlwYc=; b=F1wt0kqdRN/u2EqnLAcg8scLh5YuCzisBuNrzZZUZzxo0bkRDLtne481NTDXg6Y38d +9ayG2+S7oSBELxJU1fqeyZX634VJMKAo3gev4fMksUej3dfkkQcbdU0gH7Px+oV/Crz 8sl/j2dj9QHSxFyWpuMba7l08SwQQiBpYiyjZFDo9EL9Kd/Iyo9z7uHmta+WTPBWC6lN 780LxAMXC2/Nb7mbftDWnIUOoqtg6d55QNaF6NTjy6MtVElOJBsWlVUBFHUwD41XeerU MeeOXtuwEMMcLdYzxQ9yanKtlAHR8xZR4YgcXpN2Tg9sgv8xM9CkMYYpHDixlt2wOgpu V8cQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748272353; x=1748877153; 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=TsSsI+JJNMAD+flhyOUk1LhP4Ng+I+voVnGGZ+tlwYc=; b=V0BA4c1rFid5OValPy6dDx05Nmjwx+4p83O1mgkXIrD9zrhaTZDkWU9M/vTsE73InN yxDMykQ0IkJtYhMSbUJnn6LDxNnFRE72kwFt32bHVRQolKSipON2hmKQ8HmS8tV+QcEm aQ37+80nx+YOc3lufn17IhsZXCv8i4pquIMB49FP152N3Ge6WXqrMNim/GnTU55kndNl KCFOeFRWxQi9PEd6XI/pDuRmmxUCpbvnM7Zq4PzAFu5+hSjjw4zA6J97+fmHFGZw83vf PtHeXGsikBXvoi6NatkGjQ/184oeLjGPc1jvvxf/9tJCH18gHHIWkJxBAGOOFeJwP35m iEwg== X-Gm-Message-State: AOJu0Yxo+bSK0Deq8LJi3LIeLs+ktcsq+wiggeVE91knu+5HmmHJ6r0u K3pqBn5kMR1JFRRjTDwI4b1k7+SKzsgbeJVpA/uG2euAcKavuDbT789fA9s69w8Pj4E= X-Gm-Gg: ASbGncvgXX+9zaz9jpVaizAs5kHmUzWmR0Vx00qIQtPr1l3AtvdEIsxRSIODtXIyUsO J2BniIELgG6RLLy52K46/xQ7fke/lDkPskAob+2FLbj70EV9I/T6bCW4L5kpOjoVtytPG69O993 miJCKx1qThp9zRY7AxTrYT7H6jblZlpNDuW3jujUpxVlM+fC2CMPzuMKYkXfF/gJ7Eua7LleBv9 MQaJZDlmTXnk/JYQJYvdENL2pwR4tI8sKUHeVq0gMg3BuGKfYCMnzEjVxbIZvwFHbTDsu8RMpLv yfJvYMCMgghRgVyDVqhVEXHdmT1MFzvjvSgqzgOyIsizJV2ErSCI3vsphtkXZGtUj4SxebamELK pGQHNXdOv3JzTXfjhPwvaiTXcYj/5Z8D8iypjoehDAw== X-Google-Smtp-Source: AGHT+IGF2m8hfPLD3CWdbfEtIz6hobit7H141KNbyGuX2/RmfesnlLmeU2K+SGfzdUsDm77uK/F/ww== X-Received: by 2002:a05:6808:2e47:b0:403:3814:7547 with SMTP id 5614622812f47-4064682eb86mr5631414b6e.11.1748272352656; Mon, 26 May 2025 08:12:32 -0700 (PDT) Received: from localhost.localdomain (99-62-247-245.lightspeed.hstntx.sbcglobal.net. [99.62.247.245]) by smtp.gmail.com with ESMTPSA id 5614622812f47-404d97ed096sm4224518b6e.19.2025.05.26.08.12.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 May 2025 08:12:32 -0700 (PDT) From: Yodel Eldar To: gdb-patches@sourceware.org Cc: Yodel Eldar Subject: [PATCH 2/2] gdb/alpha: Redefine fpcr with fpcr_flags type Date: Mon, 26 May 2025 10:12:19 -0500 Message-ID: <20250526151219.399450-3-yodel.eldar@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250526151219.399450-1-yodel.eldar@gmail.com> References: <20250526151219.399450-1-yodel.eldar@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org This commit adds fpcr_flags and dyn_rm_enum types to define the fpcr. For details on the floating-point control register (fpcr), please see the Alpha Architecture Reference Manual, 4th Ed. [1]; in brief, it consists of a 64-bit bitfield with most bits reserved/unused. All but a pair of the used bits are boolean flags; the exception, DYN_RM, is a 2-bit enum indicating the IEEE rounding mode and is defined as a dyn_rm_enum type in the target description annex. [1] https://archive.org/details/dec-alpha_arch_ref --- gdb/features/alpha-core.xml | 50 ++++++++++++++++++++++++++++++++++++- gdb/features/alpha.c | 29 ++++++++++++++++++++- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/gdb/features/alpha-core.xml b/gdb/features/alpha-core.xml index 9b4d71cf855..c9e12f4ffdd 100644 --- a/gdb/features/alpha-core.xml +++ b/gdb/features/alpha-core.xml @@ -7,6 +7,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -75,7 +123,7 @@ - + diff --git a/gdb/features/alpha.c b/gdb/features/alpha.c index 051ded863f1..35f12fcbd4c 100644 --- a/gdb/features/alpha.c +++ b/gdb/features/alpha.c @@ -12,6 +12,33 @@ initialize_tdesc_alpha (void) struct tdesc_feature *feature; feature = tdesc_create_feature (result.get (), "org.gnu.gdb.alpha.core"); + tdesc_type_with_fields *type_with_fields; + type_with_fields = tdesc_create_enum (feature, "dyn_rm_enum", 8); + tdesc_add_enum_value (type_with_fields, 0, "chop"); + tdesc_add_enum_value (type_with_fields, 1, "-inf"); + tdesc_add_enum_value (type_with_fields, 2, "norm"); + tdesc_add_enum_value (type_with_fields, 3, "+inf"); + + type_with_fields = tdesc_create_flags (feature, "fpcr_flags", 8); + tdesc_add_flag (type_with_fields, 47, "DNOD"); + tdesc_add_flag (type_with_fields, 48, "DNZ"); + tdesc_add_flag (type_with_fields, 49, "INVD"); + tdesc_add_flag (type_with_fields, 50, "DZED"); + tdesc_add_flag (type_with_fields, 51, "OVFD"); + tdesc_add_flag (type_with_fields, 52, "INV"); + tdesc_add_flag (type_with_fields, 53, "DZE"); + tdesc_add_flag (type_with_fields, 54, "OVF"); + tdesc_add_flag (type_with_fields, 55, "UNF"); + tdesc_add_flag (type_with_fields, 56, "INE"); + tdesc_add_flag (type_with_fields, 57, "IOV"); + tdesc_type *field_type; + field_type = tdesc_named_type (feature, "dyn_rm_enum"); + tdesc_add_typed_bitfield (type_with_fields, "DYN_RM", 58, 59, field_type); + tdesc_add_flag (type_with_fields, 60, "UNDZ"); + tdesc_add_flag (type_with_fields, 61, "UNFD"); + tdesc_add_flag (type_with_fields, 62, "INED"); + tdesc_add_flag (type_with_fields, 63, "SUM"); + tdesc_create_reg (feature, "v0", 0, 1, NULL, 64, "int64"); tdesc_create_reg (feature, "t0", 1, 1, NULL, 64, "int64"); tdesc_create_reg (feature, "t1", 2, 1, NULL, 64, "int64"); @@ -75,7 +102,7 @@ initialize_tdesc_alpha (void) tdesc_create_reg (feature, "f28", 60, 1, "float", 64, "float"); tdesc_create_reg (feature, "f29", 61, 1, "float", 64, "float"); tdesc_create_reg (feature, "f30", 62, 1, "float", 64, "float"); - tdesc_create_reg (feature, "fpcr", 63, 1, "float", 64, "int64"); + tdesc_create_reg (feature, "fpcr", 63, 1, "float", 64, "fpcr_flags"); tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr"); tdesc_create_reg (feature, "", 65, 0, NULL, 64, "int64"); tdesc_create_reg (feature, "unique", 66, 1, "system", 64, "int64"); -- 2.49.0