From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.cyberthorstudios.com (cyberthorstudios.com [52.27.139.110]) by sourceware.org (Postfix) with ESMTPS id A87C33858404 for ; Fri, 9 Feb 2024 12:56:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A87C33858404 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cyberthorstudios.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cyberthorstudios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A87C33858404 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=52.27.139.110 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707483398; cv=none; b=biQqcrQCkZ9R7fzIwjZ5v8Hd7JPaFtUIJ93ZcxkMa73pqOwcc89GgsnXsGRCSD1vjEw9Bn86xUSu/IOKT40y176tU/PWwFMF7JpY3BIAlCuzdljpOtpINXwSppLrZbada5goZAPqX8nR7TYK6JLJeq9NgUa7g65A0YtwGXhLw1E= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707483398; c=relaxed/simple; bh=9jqdzZUDBWp728Olw6HmFRF+BFoRVnpnF0GQukzq3EM=; h=MIME-Version:Date:From:To:Subject:Message-ID; b=tWHewKUBybMddd3gEYw2oPlvsyj6T7k5objh/BsZTHYBbNZE/3rI1+4A3s6gGsgJ9haMwkNbkB7Q7WJgubXiZ7GwcoLdbcMROHWtdFpK+fCfRl5PjP0IWuU+4PqDnCRbYaz4+M/HPVpM1vTFlZL17S4GExcg2heQKuiV/eeJEq4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from cyberthorstudios.com (cyberthorstudios.com [52.27.139.110]) by mail.cyberthorstudios.com (Postfix) with ESMTPSA id 939CD631EF; Fri, 9 Feb 2024 12:56:35 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Fri, 09 Feb 2024 14:56:35 +0200 From: =?UTF-8?Q?Robert_P=C3=AErvu?= To: gdb@sourceware.org Cc: Sebastian Perta , Mark Goodchild Subject: Register View bitfields support Message-ID: X-Sender: robert.pirvu@cyberthorstudios.com User-Agent: Roundcube Webmail/1.1.4 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hello, I am a cdt developer and I'm working on a new functionality for Eclipse's Register View. The current implementation of the Register View does not allow the display of individual fields of a register with bitfields. This functionality is only available in the Expression view by creating a new expression using the “$” and the name of the register. Register view has a grouping functionality that allows us to create custom groups of registers, those groups can be expanded and collapsed to show/hide the register in the said group. The same functionality of expanding and collapsing can be added to a register with bitfield. The implementation of this would require the modification of the -data-list-register-values MI Command to include a list of registers’s bitfields. And the introduction of a new MI Command -data-list-register-bitfields-name, is also needed to retrieve the names of the bitfields. The modified -data-list-register-values would have the following format: Command: -data-list-register-values [ --skip-unavailable ] fmt [ ( regno )*] Respone: ^done,register-values=[{number="0",value="0”,bitfields=“{value=0, value=0}"}, {number="1",value="{0}”,bitfields=“{[]},...] Format of the response: [{number="0",value="0”,bitfields=“{[value=0], [value=0]}"}] The --skip-unavailable option indicates that only the available registers are to be returned. The regno option indicates that only the specified register needs to be returned. If no register is specified then all registers will be returned. The fmt indicates the format according to which the registers' contents are to be returned. Allowed formats for fmt are: Hexadecimal - x Octal - o Binary - t Decimal - d Raw - r Natural - N If a register doesn't have bitfields, then the bitfields list will be empty or it can be not included in the response. The new MI Command will have the following format: Command: -data-list-register-bitfield-name [ ( regno )+ ] Response: ^done,register-bitfield-names=[{name="reg0", bitfields =["C", "M"]},{name="reg1", bitfields =["A", "B"]}, ...] The regno option indicates that only the specified register needs to be returned. If no register is specified then all registers will be returned. If the register doesn't have bitfields, then the bitfields list will be empty or not included in the response. Any feedback regarding this feature is greatly appreciated and we are open to contribute to its implementation. Best Regards, Robert.