e22f8b7c8c
Switch the license of all .f and .f90 files to GPLv3. Switch the license of all .s and .S files to GPLv3.
85 lines
3.2 KiB
Text
85 lines
3.2 KiB
Text
# Tests of register displays for GDB.
|
|
# Copyright 1994, 1995, 2007 Free Software Foundation, Inc.
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# Please email any bugs, comments, and/or additions to this file to:
|
|
# bug-gdb@prep.ai.mit.edu
|
|
|
|
# This file was written by Stan Shebs. (shebs@cygnus.com)
|
|
|
|
# This does not (yet) have an associated executable, since the IDT board
|
|
# will display registers even without a program being loaded.
|
|
# A more comprehensive register test would actually test reading
|
|
# and writing of registers in a real program, although some care
|
|
# would be required in the writing of the tests.
|
|
|
|
if $tracelevel then {
|
|
strace $tracelevel
|
|
}
|
|
|
|
# These tests exercise IDT-specific MIPS registers for several
|
|
# different processor models.
|
|
|
|
# This should detect the actual processor in use and change
|
|
# the expected results appropriately. FIXME
|
|
|
|
proc idt_register_tests { } {
|
|
# Test the generic IDT chip.
|
|
gdb_test "info registers" ".*"
|
|
gdb_test "info register zero" "zero(r0): 0x0;"
|
|
# FIXME access each generic register individually
|
|
# Test the 3041.
|
|
gdb_test "set processor r3041" ".*"
|
|
gdb_test "info registers" ".*"
|
|
gdb_test "info register bus" "bus.*0x.*"
|
|
gdb_test "info register ccfg" "ccfg.*0x.*"
|
|
gdb_test "info register port" "port.*0x.*"
|
|
gdb_test "info register cmp" "cmp.*0x.*"
|
|
gdb_test "info register elo" "elo: invalid register"
|
|
gdb_test "info register ehi" "ehi: invalid register"
|
|
gdb_test "info register cfg" "cfg: invalid register"
|
|
gdb_test "info register ctxt" "ctxt: invalid register"
|
|
# Test the 3051.
|
|
gdb_test "set processor r3051" ".*"
|
|
gdb_test "info registers" ".*"
|
|
gdb_test "info register bus" "bus: invalid register"
|
|
gdb_test "info register ccfg" "ccfg: invalid register"
|
|
gdb_test "info register port" "port: invalid register"
|
|
gdb_test "info register cmp" "cmp: invalid register"
|
|
gdb_test "info register elo" "elo.*0x.*"
|
|
gdb_test "info register ehi" "ehi.*0x.*"
|
|
gdb_test "info register cfg" "cfg: invalid register"
|
|
gdb_test "info register ctxt" "ctxt: invalid register"
|
|
# Test the 3071.
|
|
gdb_test "set processor r3071" ".*"
|
|
gdb_test "info registers" ".*"
|
|
gdb_test "info register bus" "bus: invalid register"
|
|
gdb_test "info register ccfg" "ccfg: invalid register"
|
|
gdb_test "info register port" "port: invalid register"
|
|
gdb_test "info register cmp" "cmp: invalid register"
|
|
gdb_test "info register elo" "elo.*0x.*"
|
|
gdb_test "info register ehi" "ehi.*0x.*"
|
|
gdb_test "info register cfg" "cfg.*0x.*"
|
|
gdb_test "info register ctxt" "ctxt.*0x.*"
|
|
}
|
|
|
|
if [istarget "mips*-idt-*"] then {
|
|
gdb_exit
|
|
gdb_start
|
|
gdb_reinitialize_dir $srcdir/$subdir
|
|
idt_register_tests
|
|
} else {
|
|
verbose "regs.exp tests ignored for this target"
|
|
}
|