From e06b815d2ae57ccdc9ed64a34315ad8891301d91 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 31 Aug 2016 11:56:47 -0700 Subject: [PATCH] SCP: Record breakpoint match details in globals sim_brk_match_type and sim_brk_match_addr can be used to generate appropriate messages relating to the breakpoint match. --- doc/simh_breakpoints.doc | Bin 41984 -> 42496 bytes scp.c | 10 ++++++---- scp.h | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/simh_breakpoints.doc b/doc/simh_breakpoints.doc index 80b75cde92a165456601e42ffb312fdd41478cba..d210c67e7e5f07a0c1b3155564532163827b3e5a 100644 GIT binary patch delta 2639 zcma*pdr(wW9KiA4y$kD-QHX%bL#`0(12Tw|P|LL>DI=q%AWdnJ)umQ2c1gi$Rw~IH zUvO+nL$hL>=|NemSzaVG zxY}!T8NKQ^TS?v#%F?*jk-^u0ZiEL7wa2z`uF9*a$WHh z4%;k|0_Aqh4kkn^`dYV3B0Q1!$hNAmf=^~Swo0(%n`-c29JXq!RG+1t{w#nnZYiVPB zL%>?%4lMLq^?s|)6YwkycSnKv#_qdzt-L*cC z|I8hc$7=#DOFfpmq3$2W?z*}r%iZL${2r=lw3;S*7Wrr-QYG!V>wSK!aZ%)Supa@h zJ76ty`>jQd%?)*-XELf%LQ5St8X==F!+z`S1aCf?aStjp2`&<{m<%{k1`pctAok-8 z^kD$mqeU!Cf*XO+$|%WH>nC5Pl1kE5%cY6x@Z_J>S0#nP=a}oG_zI`spvgpJBiG|4Tn+8ELET#oA4+$V-NZuteH``1T{HwhYVrQIB*gMn9m=M1Cb4XVTz_BYOU;dSXg(X#12ngIOA?zMPb(j!m7g zKnFm#6svs~HSNao@gl3R9vkrZ#q418pcjYmDZW4$)f1WR{^R}O{*Q6+h z8EWJ75$X-ti_+Ekr73DxY33q=bZuRhoD(-af{*YZ?XAWOIEK%#IA6qzi~@E$oXE#z zn1rqLVH@7V`>3KnyrA!%_7)3thFaoys&h-6k@Avj?YO*ZA~{^dr6Uu0a}lF{-hnz6 zdK@Du&r~mZhiB=z)4kHAEM;K{i+;7)lI>8Qar zPsc=*LvQ^ytix&88AuIdT!?L~!zc9~WF4-8m+jMljck)mIF5cSBT6gqIC}DU`yS-r z5I#j1bDiq@I}40B^~0Sjf&@y;c##W{o51SDcz#*)5ev-$hJOg@3@HmYK@YbUUIefl z4`Bm(*y%fA(7QMk(5oWMWnPC!@!6E+8=<7+L$q3$_j@BNbVwfyRn|=Z9q4{*nwUUprP_E2UT>E2>s!! z4b5B98K25RlsK>k70moL@@i86!7UX5oKEs=P=8|Z{Bsf_&G(z4KZ%{7L-jJC_1{N`R6 zTD#0;zSKJ3FpAZJ6=N@dd*$J^W^^-so%Ha89}gHVYLQKS4*gHS#v#q{lRa3o&UKr% zP?78E3p&^AOxA7cQr!ogmpMZR*6h7-oW-&J-^D~rE|_4+gN_0(C}CShuB+}X<+n|X zo?J;j9WKnkRk#{6p)0$Fd=|=aEw00CTn~Ny56p=k>+?T5DtkM-dp=f1+Rs&#A7aH-Q>r delta 2322 zcma*peN2^A9KiA4^W4jeB8t4oJ6^qBP*4YAA&NqZFQ9}pr)6rgY9)cT6)r`)k{P+V zQcf(l0MVKYxEl4I6+934i{Ki$?}$-uMwzvfRE%l&pC$5Z*rF9$twZgy z#;8JbzxRzXA`OPJS;ngA7F$j}yCxSuPp!-UsmF0%wO!;>E?g2T@&Ws0TpyzH%pi5b zl3|po-z+JPO4>$oEI*Q;|ENC?6=_tC&P5rI4Qf{3Mn;?Yk_Oje*v`+P8&^)X})vCNk7>kUEEef~o7M6RCC9 zbSblmJVo8fuysj^5Q*omdY|(x(rP2}d8s-MeZA*AeXcI=4#suMCbF7+&j>wrzMA2k zJ5(oAm$ETDwpf#FP^mUcn0aH2dgOi5?2L6a_}mL}t&Ca{>@ucAdM`c8KpL@^lwQ5U298G5uYFiOvece4E!Bhe%DM7?n^pk{~2 zc?>5gPjH*q-iw21z&H37(F7TTE9g;s)52XfX)&IJ`>F3!{8h`$_-uXnD*6yRK_m{x z<3;N6N`gos)}sV(V;gQw6uFIvNg|Or0A3JA>RA<#8mEeU&z4tOQv!9G+Hr?dAD|b0 zoEio@;xQSucyP1*^35jwS#eww0;D7{JJ%aR_33u z_=Gtq(XJm0A`ItMR-79*aTgEK3-1t-VX$EWicyN~sKAH#2vyjR12}~9_zIWNg3~PC zbEv2P1{@`ZW0=c&%Zn7J6tM9oc0(`3OSpz?f?SHjjKPK5Oq*ZOY-5h1p2>a^*O}8D zn8p-J!#P~Q9rPlYY=yy&$v6lfGB7}86&0$SBAb(pi0LIV0*yZ02KFJmA~AuFM*=*# z3S?YiC_oYRL65%<^*Dnjw4xootWP1-JS@Q`!Y#!>D9MCkRf%g8RQg(9_3YYAXB+uy z<|%fg2ma)3G`6A&7Y4OZccKePi@F&6 zdA2>ZNjCdSt;5w=JkCsR>RIrTZWtyB^jYo2m&Hb~dY%)2B_NafpRJj$=r^7-yesIt z!ol}rmg|cR8D_cH)VfV84P%O0wK;CusrrWPrbq@COGiLO{M}PV|Mu$7g7t^ZLNh(_ z1sb@yu64H-SJLb`!^?LZ3Dn){Rvm_}D;%yVCD;n}sfqV%5eyPGgpOxM!o0riyEvMyBh2ji1*a> SIM_BKPT_V_SPC) & (SIM_BKPT_N_SPC - 1); -uint32 res = 0; if (sim_brk_summ & BRK_TYP_DYN_ALL) btyp |= BRK_TYP_DYN_ALL; @@ -9297,12 +9298,13 @@ if ((bp = sim_brk_fnd_ex (loc, btyp, TRUE))) { /* in table, and type ma return 0; bp->cnt = 0; /* reset count */ sim_brk_setact (bp->act); /* set up actions */ - res = btyp & bp->typ; /* set return value */ + sim_brk_match_type = btyp & bp->typ; /* set return value */ if (bp->typ & BRK_TYP_TEMP) sim_brk_clr (loc, bp->typ); /* delete one-shot breakpoint */ - return res; + sim_brk_match_addr = loc; + return sim_brk_match_type; } -return res; +return 0; } /* Get next pending action, if any */ diff --git a/scp.h b/scp.h index 5d8e5379..0d4937ac 100644 --- a/scp.h +++ b/scp.h @@ -272,6 +272,8 @@ extern volatile int32 stop_cpu; extern uint32 sim_brk_types; /* breakpoint info */ extern uint32 sim_brk_dflt; extern uint32 sim_brk_summ; +extern uint32 sim_brk_match_type; +extern t_addr sim_brk_match_addr; extern FILE *stdnul; extern t_bool sim_asynch_enabled;