@@ -54,13 +54,8 @@ def __exit__(self, *exc):
5454 else :
5555 self .ql .reg .write (reg , val )
5656
57- < << << << HEAD
5857 if self .ql .verbose >= QL_VERBOSE .DISASM :
5958 self .ql .log .info ('Exit from interrupt' )
60- == == == =
61- if self .ql .verbose >= QL_VERBOSE .DISASM :
62- self .ql .log .info ('Exit from interrupt' )
63- > >> >> >> b1b3e73119859b104e413ca68091f0cbe53e70e1
6459
6560class QlArchCORTEX_M (QlArchARM ):
6661 def __init__ (self , ql ):
@@ -116,7 +111,6 @@ def is_handler_mode(self):
116111 def using_psp (self ):
117112 return not self .is_handler_mode () and (self .ql .reg .read ('control' ) & CONTROL .SPSEL ) > 0
118113
119- < << << << HEAD
120114 def handle_interupt (self , IRQn ):
121115 basepri = self .ql .reg .read ('basepri' ) & 0xf0
122116 if basepri and basepri <= self .ql .hw .nvic .get_priority (IRQn ):
@@ -143,34 +137,3 @@ def handle_interupt(self, IRQn):
143137 self .ql .reg .write ('lr' , exc_return )
144138
145139 self .ql .emu_start (self .ql .arch .get_pc (), 0 , count = 0xffffff )
146- == == == =
147- def handle_interupt (self , IRQn ):
148- @QlInterruptContext (self .ql )
149- def exec_interupt ():
150- if IRQn > IRQ .HARD_FAULT and (self .ql .reg .read ('primask' ) & 0x1 ):
151- return
152-
153- if IRQn != IRQ .NMI and (self .ql .reg .read ('faultmask' ) & 0x1 ):
154- return
155-
156- basepri = self .ql .reg .read ('basepri' ) & 0xf0
157- if basepri != 0 and basepri <= self .ql .hw .nvic .get_priority (IRQn ):
158- return
159-
160- if self .ql .verbose >= QL_VERBOSE .DISASM :
161- self .ql .log .debug (f'Handle the IRQn: { IRQn } ' )
162-
163- isr = IRQn + 16
164- offset = isr * 4
165-
166- entry = self .ql .mem .read_ptr (offset )
167- exc_return = 0xFFFFFFFD if self .ql .arch .using_psp () else 0xFFFFFFF9
168-
169- self .ql .reg .write ('ipsr' , isr )
170- self .ql .reg .write ('pc' , entry )
171- self .ql .reg .write ('lr' , exc_return )
172-
173- self .ql .emu_start (self .ql .arch .get_pc (), 0 , count = 0xffffff )
174-
175- exec_interupt ()
176- >> >> >> > b1b3e73119859b104e413ca68091f0cbe53e70e1
0 commit comments