View Single Post
Old 26 February 2019, 12:01   #27
Registered User

Join Date: Nov 2018
Location: Germany
Posts: 9
Originally Posted by dissident View Post
I analyzed the functions Forbid() and Permit() to check, if there are differences between Kick1.3 and 3.1:
   btst #5,(a7)        ;Check stack frame format: Format$2 or Format $3 ?
Just for clearance (in case anyone may need it and looks seriously at the code comment). The btst #5 instruction above does not check the stack frame format. It checks if the code (executed through Supervisor call) shall return to supervisor mode or to user mode.

The former is the case if Permit() was called in supervisor. In that case no rescheduling will take place as it would have very fatal consequences. On the other hand, if Permit() was called in user mode (bit 5 of upper byte of SR - supervisor, is clear) then it will trigger scheduler if TDNestCnt < 0 and IDNestCnt < 0 and ATTN_Resched (bit 7) flag in SysFlags is set.
mschulz is online now  
Page generated in 0.04404 seconds with 11 queries