From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25813 invoked by alias); 5 Apr 2004 23:14:30 -0000 Mailing-List: contact rda-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: rda-owner@sources.redhat.com Received: (qmail 25779 invoked from network); 5 Apr 2004 23:14:26 -0000 Date: Mon, 05 Apr 2004 23:14:00 -0000 From: Kevin Buettner To: rda@sources.redhat.com Subject: [PATCH] Add support for more FR-V registers Message-Id: <20040405161419.6870d963@saguaro> Organization: Red Hat X-Mailer: Sylpheed version 0.9.8claws30 (GTK+ 1.2.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2004-q2/txt/msg00000.txt.bz2 I've just committed the patch below... * linux-target.c (reginfo) [FRV_LINUX_TARGET]: Add support for registers fsr0, acc0-acc7, accg0-accg7, msr0, msr1, gner0, gner1, fner0, and fner1. Index: linux-target.c =================================================================== RCS file: /cvs/src/src/rda/unix/linux-target.c,v retrieving revision 1.11 diff -u -p -r1.11 linux-target.c --- linux-target.c 10 Mar 2004 18:42:19 -0000 1.11 +++ linux-target.c 5 Apr 2004 23:02:28 -0000 @@ -1062,7 +1062,30 @@ static struct peekuser_pokeuser_reginfo 32-bit halves. */ { PT_IACC0H * 4, 4, GREGS, offsetof (struct user_int_regs, iacc[0]), 4, 4, 0 }, { PT_IACC0L * 4, 4, GREGS, offsetof (struct user_int_regs, iacc[0]) + 4, 4, 4, 0 }, + { PT_FSR(0) * 4, 4, fpreg_offset_and_size (fsr[0]), 4, 0 }, + { PT_ACC(0) * 4, 4, fpreg_offset_and_size (acc[0]), 4, 0 }, + { PT_ACC(1) * 4, 4, fpreg_offset_and_size (acc[1]), 4, 0 }, + { PT_ACC(2) * 4, 4, fpreg_offset_and_size (acc[2]), 4, 0 }, + { PT_ACC(3) * 4, 4, fpreg_offset_and_size (acc[3]), 4, 0 }, + { PT_ACC(4) * 4, 4, fpreg_offset_and_size (acc[4]), 4, 0 }, + { PT_ACC(5) * 4, 4, fpreg_offset_and_size (acc[5]), 4, 0 }, + { PT_ACC(6) * 4, 4, fpreg_offset_and_size (acc[6]), 4, 0 }, + { PT_ACC(7) * 4, 4, fpreg_offset_and_size (acc[7]), 4, 0 }, + /* For the one-byte ACCG regs, ptrace() fetches four regs at a time, + but the user_fpmedia_regs struct breaks the regs out into an array + of bytes. Thus, we can't use the fpreg_offset_and_size macro. */ + { PT_ACCG(0) * 4, 4, FPREGS, offsetof (struct user_fpmedia_regs, acc[0]), 4, 4, 0 }, + { PT_ACCG(1) * 4, 4, FPREGS, offsetof (struct user_fpmedia_regs, acc[4]), 4, 4, 0 }, + + { PT_MSR(0) * 4, 4, fpreg_offset_and_size (msr[0]), 4, 0 }, + { PT_MSR(1) * 4, 4, fpreg_offset_and_size (msr[0]), 4, 0 }, + + { PT_GNER0 * 4, 4, greg_offset_and_size (gner[0]), 4, 0 }, + { PT_GNER1 * 4, 4, greg_offset_and_size (gner[1]), 4, 0 }, + + { PT_FNER(0) * 4, 4, fpreg_offset_and_size (fner[0]), 4, 0 }, + { PT_FNER(1) * 4, 4, fpreg_offset_and_size (fner[1]), 4, 0 }, }; int