From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12049 invoked by alias); 10 Jan 2008 16:05:04 -0000 Received: (qmail 11963 invoked by uid 9514); 10 Jan 2008 16:05:02 -0000 Date: Thu, 10 Jan 2008 16:05:00 -0000 Message-ID: <20080110160502.11948.qmail@sourceware.org> From: pmuldoon@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: add info {vector|float|general}-regs subcommands. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 1e04df91a1639770d9ecb8d9f5141752f4c0ba4b X-Git-Newrev: 1456b388ea0d5e4a96e53de9150bf857c7c2b899 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q1/txt/msg00039.txt.bz2 The branch, master has been updated via 1456b388ea0d5e4a96e53de9150bf857c7c2b899 (commit) from 1e04df91a1639770d9ecb8d9f5141752f4c0ba4b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 1456b388ea0d5e4a96e53de9150bf857c7c2b899 Author: Phil Muldoon Date: Thu Jan 10 16:04:51 2008 +0000 add info {vector|float|general}-regs subcommands. 2008-01-10 Phil Muldoon * TestRegs.java (testRegsCommand): Add general-regs * RegsCommand.java: (RegsCommand): New constructor. (interpret): Account for new constructor setting register group. * InfoCommand.java (InfoCommand): Add specific registers group names. * AuxvCommand.java (interpret): Do not println, instead flush output. ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/hpd/ChangeLog | 7 +++++++ frysk-core/frysk/hpd/InfoCommand.java | 4 +++- frysk-core/frysk/hpd/RegsCommand.java | 21 +++++++++++++++++++-- frysk-core/frysk/hpd/TestRegs.java | 2 +- 4 files changed, 30 insertions(+), 4 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/hpd/ChangeLog b/frysk-core/frysk/hpd/ChangeLog index e36333a..6cc7e26 100644 --- a/frysk-core/frysk/hpd/ChangeLog +++ b/frysk-core/frysk/hpd/ChangeLog @@ -1,5 +1,12 @@ 2008-01-10 Phil Muldoon + * TestRegs.java (testRegsCommand): Add general-regs + * RegsCommand.java: (RegsCommand): New constructor. + (interpret): Account for new constructor setting register + group. + * InfoCommand.java (InfoCommand): Add specific registers + group names. + * AuxvCommand.java (interpret): Do not println, instead flush output. diff --git a/frysk-core/frysk/hpd/InfoCommand.java b/frysk-core/frysk/hpd/InfoCommand.java index df3b083..13a5511 100644 --- a/frysk-core/frysk/hpd/InfoCommand.java +++ b/frysk-core/frysk/hpd/InfoCommand.java @@ -46,9 +46,11 @@ public class InfoCommand extends MultiLevelCommand { super("info command", "info ", "The info command displays useful information about " + "various system and process level systems."); - add(new RegsCommand(),"regs"); add(new DebuginfoCommand(),"debuginfo"); add(new MapsCommand(),"maps"); add(new AuxvCommand(),"auxv"); + add(new RegsCommand("vector"), "vector-regs"); + add(new RegsCommand("float"), "float-regs"); + add(new RegsCommand("regs"), "general-regs"); } } diff --git a/frysk-core/frysk/hpd/RegsCommand.java b/frysk-core/frysk/hpd/RegsCommand.java index 76accb0..6f512e9 100644 --- a/frysk-core/frysk/hpd/RegsCommand.java +++ b/frysk-core/frysk/hpd/RegsCommand.java @@ -50,13 +50,24 @@ import java.util.List; public class RegsCommand extends ParameterizedCommand { + + String group = ""; + public RegsCommand() { super("print registers", "regs group", "print out " + "registers in the given group, general registers " + "printed by default."); } + public RegsCommand(String groupname) { + super("print registers", "regs group", "print out " + + "registers in the given group, general registers " + + "printed by default."); + this.group = groupname; + } + void interpret(CLI cli, Input cmd, Object options) { + String groupName = ""; PTSet ptset = cli.getCommandPTSet(cmd); Iterator taskDataIter = ptset.getTaskData(); while (taskDataIter.hasNext()) { @@ -64,8 +75,14 @@ public class RegsCommand extends ParameterizedCommand { ISA isa = td.getTask().getISA(); Registers regs = RegistersFactory.getRegisters(isa); RegisterGroup selectedGroup = regs.getGeneralRegisterGroup(); - if (cmd.size() > 0) { - String groupName = cmd.parameter(0); + + if (!this.group.equals("")) + groupName = this.group; + + if (cmd.size() > 0) + groupName = cmd.parameter(0); + + if (!groupName.equals("")) { selectedGroup = regs.getGroup(groupName); if (selectedGroup == null) { StringBuffer b = new StringBuffer(); diff --git a/frysk-core/frysk/hpd/TestRegs.java b/frysk-core/frysk/hpd/TestRegs.java index 46add1d..ad76aad 100644 --- a/frysk-core/frysk/hpd/TestRegs.java +++ b/frysk-core/frysk/hpd/TestRegs.java @@ -51,7 +51,7 @@ public class TestRegs extends TestLib { File exe = Config.getPkgLibFile("hpd-c"); ISA isa = ElfMap.getISA(exe); - String[] commandSet = {"regs\n", "info regs\n"}; + String[] commandSet = {"regs\n", "info general-regs\n"}; // Regs for (int i=0; i < commandSet.length; i++) { e.send(commandSet[i]); hooks/post-receive -- frysk system monitor/debugger