⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spu-info.exp

📁 gdb-6.8 Linux下的调试程序 最新版本
💻 EXP
字号:
# Copyright 2007, 2008 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/>.## This file is part of the gdb testsuite.## Contributed by Markus Deuling <deuling@de.ibm.com>.# Tests for 'info spu' commands.set prms_id 0set bug_id 0if { ![istarget "spu-*-elf"] } then {  verbose "Skipping SPU-only testcase"  return}set testfile "spu-info"set srcfile ${testfile}.cset binfile ${objdir}/${subdir}/${testfile}set sources ${srcdir}/${subdir}/${srcfile}if { [gdb_compile $sources ${binfile} executable { debug }] != "" } {  return -1}gdb_exitgdb_startgdb_reinitialize_dir $srcdir/$subdirgdb_load ${binfile}# Continue to MARKERproc c_to { marker } {  global srcfile  set line [gdb_get_line_number $marker]  gdb_test "break $line" \	   "Breakpoint.*at.*file.*$srcfile.*line $line.*" \	   "break $line"  gdb_test "continue" \	   "Continuing.*Breakpoint.*at.*$srcfile.*$line.*" \	   "continue to $line"}if ![runto_main] then {  fail "Can't run to main"  return 0}# Check the help.gdb_test "info spu" \	 ".*info spu.* must be followed by the name of an SPU facility.*" \	 "info spu"gdb_test "help info spu" \	 "Various SPU specific commands.*List of info spu subcommands.*" \	 "help info spu"gdb_test "help info spu dma" \	 "Display MFC DMA status." \	 "help info spu dma"gdb_test "help info spu event" \	 "Display SPU event facility status." \	 "help info spu event"gdb_test "help info spu mailbox" \	 "Display SPU mailbox facility status." \	 "help info spu mailbox"gdb_test "help info spu proxydma" \	 "Display MFC Proxy-DMA status." \	 "help info spu proxydma"gdb_test "help info spu signal" \	 "Display SPU signal notification facility status." \	 "help info spu signal"# architecture should be spu:256K.gdb_test "show architecture" \	 "The target architecture is set automatically.*currently spu:256K.*" \	 "architecture = spu256K"# 'info spu event'.gdb_test "info spu event" \	 "Event Status.*Event Mask.*" \	 "info spu event"# 'info spu signal'.gdb_test "info spu signal" \	 "Signal 1 not pending.*\(Type.*\).*Signal 2 not pending.*\(Type.*\).*" \	 "info spu signal"# 'info spu mailbox'.gdb_test "info spu mailbox" \	 "SPU Outbound Mailbox.*SPU Outbound Interrupt Mailbox.*" \	 "info spu mailbox"# 'info spu dma'.gdb_test "info spu dma" \	 "Tag-Group Status.*Tag-Group Mask.*Stall-and-Notify .*Atomic Cmd Status.*Opcode.*Tag.*TId.*RId.*EA.*LSA.*Size.*LstAddr.*LstSize.*E.*" \	 "info spu dma"# 'info spu proxydma'.gdb_test "info spu proxydma" \	 "Tag-Group Status.*Tag-Group Mask.*Opcode.*Tag.*TId.*RId.*EA.*LSA.*Size.*LstAddr.*LstSize.*E.*" \	  "info spu proxydma"# Event tests.c_to "Marker Event"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000000.*" \	"empty event status"# MFC_MULTI_SRC_SYNC_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00001000.*" \	"event mask 0x1000"# MFC_PRIV_ATTN_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000800.*" \	"event mask 0x0800"# MFC_LLR_LOST_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000400.*" \	"event mask 0x0400"# MFC_SIGNAL_NOTIFY_1_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000200.*" \	"event mask 0x0200"# MFC_SIGNAL_NOTIFY_2_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000100.*" \	"event mask 0x0100"# MFC_OUT_MBOX_AVAILABLE_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000080.*" \	"event mask 0x0080"# MFC_OUT_INTR_MBOX_AVAILABLE_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000040.*" \	"event mask 0x0040"# MFC_DECREMENTER_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000020.*" \	"event mask 0x0020"# MFC_IN_MBOX_AVAILABLE_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000010.*" \	"event mask 0x0010"# MFC_COMMAND_QUEUE_AVAILABLE_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000008.*" \	"event mask 0x0008"# MFC_LIST_STALL_NOTIFY_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000002.*" \	"event mask 0x0002"# MFC_TAG_STATUS_UPDATE_EVENT.gdb_test "next" "" "next"gdb_test "info spu event" \	"Event Status 0x00000000.*Event Mask   0x00000001.*" \	"event mask 0x0001"# DMA tests.# 'info spu dma' should be empty.c_to "Marker DMA"gdb_test "info spu dma" \	 "Tag-Group Status.*0x00000000.*Tag-Group Mask.*0x00000000.*Stall-and-Notify.*0x00000000.*Atomic Cmd Status.*0x00000000.*Opcode.*Tag.*TId.*RId.*EA.*LSA.*Size.*LstAddr.*LstSize.*E.*0.*0.*0.*0.*0x00000 0x00000.*" \	 "info spu dma (empty)"# 'info spu dma' should be filled with some data.c_to "Marker DMAWait"gdb_test "next" "" "next"gdb_test "info spu dma" \	 "Tag-Group Status.*0x00000000.*Tag-Group Mask.*0x00000020.*Stall-and-Notify.*0x00000000.*Atomic Cmd Status.*0x00000000.*Opcode.*Tag.*TId.*RId.*EA.*LSA.*Size.*LstAddr.*LstSize.*E.*getl.*putllc.*get.*mfcsync.*get.*0.*0.*0.*0.*0x00000 0x00000.*" \	 "info spu dma (non-empty)"gdb_test "finish" "" "finish"# Mailbox Test# 'info spu mailbox' should be empty.c_to "Marker Mbox"gdb_test "info spu mailbox" \	 "SPU Outbound Mailbox.*0xc0000000.*SPU Outbound Interrupt Mailbox.*0xc0000000.*" \	 "info spu mailbox"# 'info spu mailbox' should now contain data.c_to "Marker MboxEnd"gdb_test "info spu mailbox" \	 "SPU Outbound Mailbox.*0x12345678.*SPU Outbound Interrupt Mailbox.*0x12345678.*" \	 "info spu mailbox"# Signal Test# 'info spu signal'.c_to "Marker Signal"gdb_test "info spu signal" \	 "Signal 1 not pending.*\(Type.*\).*Signal 2 not pending.*\(Type.*\).*" \	 "info spu signal"# 'info spu signal' with signal1 pending.c_to "Marker Signal1"gdb_test "info spu signal" \	 "Signal 1 control word 0x801c0800.*Signal 2 not pending.*\(Type.*\).*" \	 "info spu signal"# 'info spu signal' with signal1 and signal2 pending.c_to "Marker Signal2"gdb_test "info spu signal" \	 "Signal 1 control word 0x801c0800.*Signal 2 control word 0x801c0800.*" \	 "info spu signal"# Read signal1. Only signal2 is pending.c_to "Marker SignalRead"gdb_test "info spu signal" \	 "Signal 1 not pending.*Signal 2 control word 0x801c0800.*" \	 "info spu signal"gdb_exitreturn 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -