From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5397 invoked by alias); 21 Dec 2007 13:22:13 -0000 Received: (qmail 5371 invoked by uid 367); 21 Dec 2007 13:22:12 -0000 Date: Fri, 21 Dec 2007 13:22:00 -0000 Message-ID: <20071221132212.5356.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: frysk-core/frysk/bank/ChangeLog X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: f9ead2a82c1c952359e78ac9b381250a70ebd97c X-Git-Newrev: daf03965f195c26f14cf88dfc6652a799c25539c 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: 2007-q4/txt/msg00619.txt.bz2 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 Date: Fri Dec 21 08:21:26 2007 -0500 frysk-core/frysk/bank/ChangeLog 2007-12-20 Andrew Cagney * 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 + * 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