* Re: frysk-core/frysk proc/BankRegister.java proc/C ... [not found] <20071009194630.3523.qmail@sourceware.org> @ 2007-10-09 20:05 ` Phil Muldoon 2007-10-10 3:51 ` Andrew Cagney 0 siblings, 1 reply; 5+ messages in thread From: Phil Muldoon @ 2007-10-09 20:05 UTC (permalink / raw) To: frysk Andrew, I know this work is ongoing, so should I sit tight regarding the FIXME notifications? I'm not sure how to fix the gpr registers access. If it is work ongoing, I'll just wait until you give the signal with an explanation regarding how a Task accesses it's own registers. Regards Phil cagney@sourceware.org wrote: > CVSROOT: /cvs/frysk > Module name: frysk-core > Changes by: cagney@sourceware.org 2007-10-09 19:46:30 > > Modified files: > frysk/proc : BankRegister.java ChangeLog > IndirectBankRegisterMap.java Task.java > frysk/util : ChangeLog LinuxElfCorefilePPC32.java > LinuxElfCorefilePPC64.java > LinuxElfCorefilex86.java > LinuxElfCorefilex8664.java > Removed files: > frysk/proc : ByteOrder.java > > Log message: > Index: frysk-core/frysk/proc/ChangeLog > 2007-10-09 Andrew Cagney <cagney@redhat.com> > > * BankRegister.java (getBigInteger(Task)): Delete. > * Task.java (getBigIntegerRegisterFIXME(String)): New. > * ByteOrder.java: Delete. > * IndirectBankRegisterMap.java (add(String,long)): Delete nexted > class method getBigInteger. > > Index: frysk-core/frysk/util/ChangeLog > 2007-10-09 Andrew Cagney <cagney@redhat.com> > > * LinuxElfCorefilePPC32.java: Update; replace BankRegister > .getBigInteger(Task) with Task. .getBigIntegerRegisterFIXME. > * LinuxElfCorefilePPC64.java: Ditto. > * LinuxElfCorefilex8664.java: Ditto. > * LinuxElfCorefilex86.java: Ditto. > > Patches: > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/BankRegister.java.diff?cvsroot=frysk&r1=1.5&r2=1.6 > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/ChangeLog.diff?cvsroot=frysk&r1=1.825&r2=1.826 > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/IndirectBankRegisterMap.java.diff?cvsroot=frysk&r1=1.3&r2=1.4 > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/Task.java.diff?cvsroot=frysk&r1=1.147&r2=1.148 > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/ByteOrder.java.diff?cvsroot=frysk&r1=1.2&r2=NONE > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/ChangeLog.diff?cvsroot=frysk&r1=1.188&r2=1.189 > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/LinuxElfCorefilePPC32.java.diff?cvsroot=frysk&r1=1.4&r2=1.5 > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/LinuxElfCorefilePPC64.java.diff?cvsroot=frysk&r1=1.4&r2=1.5 > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/LinuxElfCorefilex86.java.diff?cvsroot=frysk&r1=1.3&r2=1.4 > http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/LinuxElfCorefilex8664.java.diff?cvsroot=frysk&r1=1.3&r2=1.4 > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: frysk-core/frysk proc/BankRegister.java proc/C ... 2007-10-09 20:05 ` frysk-core/frysk proc/BankRegister.java proc/C Phil Muldoon @ 2007-10-10 3:51 ` Andrew Cagney 2007-10-10 6:49 ` Phil Muldoon 0 siblings, 1 reply; 5+ messages in thread From: Andrew Cagney @ 2007-10-10 3:51 UTC (permalink / raw) To: Phil Muldoon; +Cc: frysk Phil Muldoon wrote: > Andrew, > > I know this work is ongoing, so should I sit tight regarding the FIXME > notifications? I'm not sure how to fix the gpr registers access. If it > is work ongoing, I'll just wait until you give the signal with an > explanation regarding how a Task accesses it's own registers. > The function to look at is Task.accessRegister(Register register,int offset, int length, byte[] buffer, int start, boolean write) which will does a direct/raw byte copy of the data into a buffer. However, yes, perhaps hold off a little until I've got all the register code in frysk.proc resolved. Andrew > Regards > > Phil > > > cagney@sourceware.org wrote: >> CVSROOT: /cvs/frysk >> Module name: frysk-core >> Changes by: cagney@sourceware.org 2007-10-09 19:46:30 >> >> Modified files: >> frysk/proc : BankRegister.java ChangeLog >> IndirectBankRegisterMap.java Task.java frysk/util : ChangeLog >> LinuxElfCorefilePPC32.java >> LinuxElfCorefilePPC64.java >> LinuxElfCorefilex86.java >> LinuxElfCorefilex8664.java Removed files: >> frysk/proc : ByteOrder.java >> Log message: >> Index: frysk-core/frysk/proc/ChangeLog >> 2007-10-09 Andrew Cagney <cagney@redhat.com> >> >> * BankRegister.java (getBigInteger(Task)): Delete. >> * Task.java (getBigIntegerRegisterFIXME(String)): New. >> * ByteOrder.java: Delete. >> * IndirectBankRegisterMap.java (add(String,long)): Delete nexted >> class method getBigInteger. >> >> Index: frysk-core/frysk/util/ChangeLog >> 2007-10-09 Andrew Cagney <cagney@redhat.com> >> >> * LinuxElfCorefilePPC32.java: Update; replace BankRegister >> .getBigInteger(Task) with Task. .getBigIntegerRegisterFIXME. >> * LinuxElfCorefilePPC64.java: Ditto. >> * LinuxElfCorefilex8664.java: Ditto. >> * LinuxElfCorefilex86.java: Ditto. >> >> Patches: >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/BankRegister.java.diff?cvsroot=frysk&r1=1.5&r2=1.6 >> >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/ChangeLog.diff?cvsroot=frysk&r1=1.825&r2=1.826 >> >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/IndirectBankRegisterMap.java.diff?cvsroot=frysk&r1=1.3&r2=1.4 >> >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/Task.java.diff?cvsroot=frysk&r1=1.147&r2=1.148 >> >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/ByteOrder.java.diff?cvsroot=frysk&r1=1.2&r2=NONE >> >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/ChangeLog.diff?cvsroot=frysk&r1=1.188&r2=1.189 >> >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/LinuxElfCorefilePPC32.java.diff?cvsroot=frysk&r1=1.4&r2=1.5 >> >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/LinuxElfCorefilePPC64.java.diff?cvsroot=frysk&r1=1.4&r2=1.5 >> >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/LinuxElfCorefilex86.java.diff?cvsroot=frysk&r1=1.3&r2=1.4 >> >> http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/util/LinuxElfCorefilex8664.java.diff?cvsroot=frysk&r1=1.3&r2=1.4 >> >> >> > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: frysk-core/frysk proc/BankRegister.java proc/C ... 2007-10-10 3:51 ` Andrew Cagney @ 2007-10-10 6:49 ` Phil Muldoon 2007-10-10 13:36 ` Andrew Cagney 0 siblings, 1 reply; 5+ messages in thread From: Phil Muldoon @ 2007-10-10 6:49 UTC (permalink / raw) To: Andrew Cagney; +Cc: frysk Andrew Cagney wrote: > Phil Muldoon wrote: >> Andrew, >> >> I know this work is ongoing, so should I sit tight regarding the >> FIXME notifications? I'm not sure how to fix the gpr registers >> access. If it is work ongoing, I'll just wait until you give the >> signal with an explanation regarding how a Task accesses it's own >> registers. >> > The function to look at is Task.accessRegister(Register register,int > offset, int length, byte[] buffer, int start, boolean write) which > will does a direct/raw byte copy of the data into a buffer. > > However, yes, perhaps hold off a little until I've got all the > register code in frysk.proc resolved. > Andrew > Ok will do, will wait and see. As a rhetorical question, what is wrong with task.getSomeRegisterFunctionName("eax") as a general helper function? Why do I need to know (ptrace buffer?) offset and length to access a register? Is this because register access is being move to the task from the ISA? Just trying to get a sense of where this refactor is going. Regards Phil ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: frysk-core/frysk proc/BankRegister.java proc/C ... 2007-10-10 6:49 ` Phil Muldoon @ 2007-10-10 13:36 ` Andrew Cagney 2007-10-10 13:49 ` Phil Muldoon 0 siblings, 1 reply; 5+ messages in thread From: Andrew Cagney @ 2007-10-10 13:36 UTC (permalink / raw) To: Phil Muldoon; +Cc: frysk Phil Muldoon wrote: > Andrew Cagney wrote: >> Phil Muldoon wrote: >>> Andrew, >>> >>> I know this work is ongoing, so should I sit tight regarding the >>> FIXME notifications? I'm not sure how to fix the gpr registers >>> access. If it is work ongoing, I'll just wait until you give the >>> signal with an explanation regarding how a Task accesses it's own >>> registers. >>> >> The function to look at is Task.accessRegister(Register register,int >> offset, int length, byte[] buffer, int start, boolean write) which >> will does a direct/raw byte copy of the data into a buffer. >> >> However, yes, perhaps hold off a little until I've got all the >> register code in frysk.proc resolved. >> Andrew >> > > Ok will do, will wait and see. As a rhetorical question, what is wrong > with task.getSomeRegisterFunctionName("eax") as a general helper function? The only place where a String->Register lookup (e.g., "eax" -> frysk.isa.IA32Registers.EAX) is needed is in the expression evaluator where it interprets << $eax >>. Every where else constant object, such as frysk.isa.IA32Registers.EAX can be used: these objects are efficient (better with HashMap) and second having defined constants prevents typos such as a register being called "foo" in one place and "fos" in a second. > Why do I need to know (ptrace buffer?) offset and length to access a > register? Is this because register access is being move to the task > from the ISA? Just trying to get a sense of where this refactor is going. > I'm not sure what you mean, the offset/length are for within the specified register, and start is an offset into the byte buffer. Two things change: tThe code that implements register accesses isn't being moved to the task; but the way to access registers is now simpler, contrast: Task.getRegister(IA32Register.XIP) with: Task.getIsa().getBankRegister("xip").getRegister(task) the internals, though cleaned up will still be very similar. Andrew > Regards > > Phil > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: frysk-core/frysk proc/BankRegister.java proc/C ... 2007-10-10 13:36 ` Andrew Cagney @ 2007-10-10 13:49 ` Phil Muldoon 0 siblings, 0 replies; 5+ messages in thread From: Phil Muldoon @ 2007-10-10 13:49 UTC (permalink / raw) To: Andrew Cagney; +Cc: frysk Andrew Cagney wrote: > I'm not sure what you mean, the offset/length are for within the > specified register, and start is an offset into the byte buffer. Two > things change: tThe code that implements register accesses isn't being > moved to the task; but the way to access registers is now simpler, > contrast: > Task.getRegister(IA32Register.XIP) > with: > Task.getIsa().getBankRegister("xip").getRegister(task) > the internals, though cleaned up will still be very similar. > Ok that makes much more sense. Thanks. The other api threw me, but if this is the eventual user facing api, that will be great. Regards Phil ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-10-10 13:49 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20071009194630.3523.qmail@sourceware.org> 2007-10-09 20:05 ` frysk-core/frysk proc/BankRegister.java proc/C Phil Muldoon 2007-10-10 3:51 ` Andrew Cagney 2007-10-10 6:49 ` Phil Muldoon 2007-10-10 13:36 ` Andrew Cagney 2007-10-10 13:49 ` Phil Muldoon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).