public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: frysk-core/frysk/bank/ChangeLog Date: Fri, 21 Dec 2007 13:22:00 -0000 [thread overview] Message-ID: <20071221132212.5356.qmail@sourceware.org> (raw) The branch, master has been updated via daf03965f195c26f14cf88dfc6652a799c25539c (commit) from f9ead2a82c1c952359e78ac9b381250a70ebd97c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit daf03965f195c26f14cf88dfc6652a799c25539c Author: Andrew Cagney <cagney@redhat.com> Date: Fri Dec 21 08:21:26 2007 -0500 frysk-core/frysk/bank/ChangeLog 2007-12-20 Andrew Cagney <cagney@redhat.com> * RegisterMap.java (entryIterator()): New. * BankArrayRegister.java (BankArrayRegister(int,BankRegister)): New. * BankArrayRegisterMap.java (add(int,BankRegisterMap)): New. * X86BankRegisters.java (IA32): Use. * RegisterMap.java (registerIterator()): New. ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/bank/BankArrayRegister.java | 6 +++ frysk-core/frysk/bank/BankArrayRegisterMap.java | 9 ++++ frysk-core/frysk/bank/ChangeLog | 7 +++ frysk-core/frysk/bank/RegisterMap.java | 15 ++++++ frysk-core/frysk/bank/X86BankRegisters.java | 56 ++--------------------- 5 files changed, 41 insertions(+), 52 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/bank/BankArrayRegister.java b/frysk-core/frysk/bank/BankArrayRegister.java index 9063239..b68725b 100644 --- a/frysk-core/frysk/bank/BankArrayRegister.java +++ b/frysk-core/frysk/bank/BankArrayRegister.java @@ -58,6 +58,12 @@ public class BankArrayRegister extends BankRegister { this.bank = bank; } + BankArrayRegister(int bank, BankRegister bankRegister) { + super(bankRegister.getOffset(), bankRegister.getLength(), + bankRegister.getRegister()); + this.bank = bank; + } + public String toString() { return (super.toString() + ",bank=" + bank); diff --git a/frysk-core/frysk/bank/BankArrayRegisterMap.java b/frysk-core/frysk/bank/BankArrayRegisterMap.java index a3055f7..92e3a9d 100644 --- a/frysk-core/frysk/bank/BankArrayRegisterMap.java +++ b/frysk-core/frysk/bank/BankArrayRegisterMap.java @@ -40,6 +40,7 @@ package frysk.bank; import frysk.isa.Register; +import java.util.Iterator; /** * Implement a map from frysk.isa.Register to frysk.proc.BankArrayRegister. @@ -48,6 +49,14 @@ import frysk.isa.Register; public class BankArrayRegisterMap extends RegisterMap { + BankArrayRegisterMap add(int bank, BankRegisterMap bankMap) { + for (Iterator i = bankMap.entryIterator(); i.hasNext(); ) { + BankRegister bankRegister = (BankRegister) i.next(); + put(new BankArrayRegister(bank, bankRegister)); + } + return this; + } + BankArrayRegisterMap add(BankArrayRegister register) { put(register); return this; diff --git a/frysk-core/frysk/bank/ChangeLog b/frysk-core/frysk/bank/ChangeLog index a579545..f130420 100644 --- a/frysk-core/frysk/bank/ChangeLog +++ b/frysk-core/frysk/bank/ChangeLog @@ -1,5 +1,12 @@ 2007-12-20 Andrew Cagney <cagney@redhat.com> + * RegisterMap.java (entryIterator()): New. + * BankArrayRegister.java (BankArrayRegister(int,BankRegister)): New. + * BankArrayRegisterMap.java (add(int,BankRegisterMap)): New. + * X86BankRegisters.java (IA32): Use. + + * RegisterMap.java (registerIterator()): New. + * BankRegister.java (getLength()): Make package private. (getOffset()): Make package private. (access)): Make package private. diff --git a/frysk-core/frysk/bank/RegisterMap.java b/frysk-core/frysk/bank/RegisterMap.java index edb1f87..df2c2d5 100644 --- a/frysk-core/frysk/bank/RegisterMap.java +++ b/frysk-core/frysk/bank/RegisterMap.java @@ -41,6 +41,7 @@ package frysk.bank; import java.util.LinkedHashMap; import frysk.isa.Register; +import java.util.Iterator; /** * A mapping from a Register to BankRegister (a register within a @@ -51,6 +52,20 @@ class RegisterMap { private final LinkedHashMap registerToEntry = new LinkedHashMap(); private final LinkedHashMap nameToEntry = new LinkedHashMap(); + /** + * Return an iterator over all BankRegisters in the map. + */ + Iterator entryIterator() { + return registerToEntry.values().iterator(); + } + + /** + * Return an iterator over all Registers in the map. + */ + public Iterator registerIterator() { + return registerToEntry.keySet().iterator(); + } + void put(BankRegister br) { Register register = br.getRegister(); if (register != null) diff --git a/frysk-core/frysk/bank/X86BankRegisters.java b/frysk-core/frysk/bank/X86BankRegisters.java index 0439133..bff78b9 100644 --- a/frysk-core/frysk/bank/X86BankRegisters.java +++ b/frysk-core/frysk/bank/X86BankRegisters.java @@ -51,59 +51,11 @@ import frysk.isa.X87Registers; public class X86BankRegisters { public static final BankArrayRegisterMap IA32 = new BankArrayRegisterMap() - .add(new BankArrayRegister (0, 24, 4,IA32Registers.EAX)) - .add(new BankArrayRegister (0, 0, 4, IA32Registers.EBX)) - .add(new BankArrayRegister (0, 4, 4, IA32Registers.ECX)) - .add(new BankArrayRegister (0, 8, 4, IA32Registers.EDX)) - .add(new BankArrayRegister (0, 12, 4, IA32Registers.ESI)) - .add(new BankArrayRegister (0, 16, 4, IA32Registers.EDI)) - .add(new BankArrayRegister (0, 20, 4, IA32Registers.EBP)) - .add(new BankArrayRegister (0, 52, 4, IA32Registers.CS)) - .add(new BankArrayRegister (0, 28, 4, IA32Registers.DS)) - .add(new BankArrayRegister (0, 32, 4, IA32Registers.ES)) - .add(new BankArrayRegister (0, 36, 4, IA32Registers.FS)) - .add(new BankArrayRegister (0, 40, 4, IA32Registers.GS)) - .add(new BankArrayRegister (0, 64, 4, IA32Registers.SS)) - .add(new BankArrayRegister (0, 44, 4, IA32Registers.ORIG_EAX)) - .add(new BankArrayRegister (0, 48, 4, IA32Registers.EIP)) - .add(new BankArrayRegister (0, 56, 4, IA32Registers.EFLAGS)) - .add(new BankArrayRegister (0, 60, 4, IA32Registers.ESP)) + .add(0, LinuxIA32RegisterBanks.REGS) // Get all FP registers from FXSAVE area. - .add(new BankArrayRegister(2, 0x00, 2, X87Registers.FCW)) - .add(new BankArrayRegister(2, 0x02, 2, X87Registers.FSW)) - .add(new BankArrayRegister(2, 0x04, 1, X87Registers.FTW)) - .add(new BankArrayRegister(2, 0x06, 2, X87Registers.FOP)) - .add(new BankArrayRegister(2, 0x08, 4, X87Registers.EIP)) - .add(new BankArrayRegister(2, 0x0c, 2, X87Registers.CS)) - .add(new BankArrayRegister(2, 0x10, 4, X87Registers.DP)) - .add(new BankArrayRegister(2, 0x14, 2, X87Registers.DS)) - .add(new BankArrayRegister(2, 0x18, 2, X87Registers.MXCSR)) - .add(new BankArrayRegister(2, 0x1c, 2, X87Registers.MXCSR_MASK)) - .add(new BankArrayRegister(2, 0x20, 10, X87Registers.ST0)) - .add(new BankArrayRegister(2, 0x30, 10, X87Registers.ST1)) - .add(new BankArrayRegister(2, 0x40, 10, X87Registers.ST2)) - .add(new BankArrayRegister(2, 0x50, 10, X87Registers.ST3)) - .add(new BankArrayRegister(2, 0x60, 10, X87Registers.ST4)) - .add(new BankArrayRegister(2, 0x70, 10, X87Registers.ST5)) - .add(new BankArrayRegister(2, 0x80, 10, X87Registers.ST6)) - .add(new BankArrayRegister(2, 0x90, 10, X87Registers.ST7)) - .add(new BankArrayRegister(2, 0xa0, 16, X87Registers.XMM0)) - .add(new BankArrayRegister(2, 0xb0, 16, X87Registers.XMM1)) - .add(new BankArrayRegister(2, 0xc0, 16, X87Registers.XMM2)) - .add(new BankArrayRegister(2, 0xd0, 16, X87Registers.XMM3)) - .add(new BankArrayRegister(2, 0xe0, 16, X87Registers.XMM4)) - .add(new BankArrayRegister(2, 0xf0, 16, X87Registers.XMM5)) - .add(new BankArrayRegister(2, 0x100, 16, X87Registers.XMM6)) - .add(new BankArrayRegister(2, 0x110, 16, X87Registers.XMM7)) - // debug registers - .add(new BankArrayRegister (3, 252, 4, IA32Registers.D0)) - .add(new BankArrayRegister (3, 256, 4, IA32Registers.D1)) - .add(new BankArrayRegister (3, 260, 4, IA32Registers.D2)) - .add(new BankArrayRegister (3, 264, 4, IA32Registers.D3)) - .add(new BankArrayRegister (3, 268, 4, IA32Registers.D4)) - .add(new BankArrayRegister (3, 272, 4, IA32Registers.D5)) - .add(new BankArrayRegister (3, 276, 4, IA32Registers.D6)) - .add(new BankArrayRegister (3, 280, 4, IA32Registers.D7)) + .add(2, LinuxIA32RegisterBanks.XFPREGS) + // debug registers come from USR section + .add(3, LinuxIA32RegisterBanks.USR) ; public static final BankArrayRegisterMap X8664 = new BankArrayRegisterMap() hooks/post-receive -- frysk system monitor/debugger
next reply other threads:[~2007-12-21 13:22 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-12-21 13:22 cagney [this message] -- strict thread matches above, loose matches on Subject: below -- 2007-12-20 0:56 cagney 2007-12-19 23:54 cagney
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20071221132212.5356.qmail@sourceware.org \ --to=cagney@sourceware.org \ --cc=frysk-cvs@sourceware.org \ --cc=frysk@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).