<div dir="ltr"><div>update: <br></div><div>What value in cause indicates that it is indeed an interrupt exception and not something else?:</div><div> cp0_cause_is_interrup_pending is the function that tells you that, but I don't get 'intr' argument and why the first argument is status but not cause.(i know it's only a name, but it can be confusing)<br></div><div><br></div><div><div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Georgii Ekserdzhian</div></div></div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">пÑ, 20 ноÑб. 2020 г. в 18:27, Georgii Ekserdzhian <<a href="mailto:gxrjan@gmail.com">gxrjan@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Good evening.</div><div>Can you please answer some questions:</div><div>You say in the assignment that handle_exception_general_asm pushes exception context on the stack of the currently running thread. But then handle_exception_general is called an as a parameter it has a pointer to an exception_context. Are these contexts the same? Do I need only "cause" register from it? What value in cause indicates that it is indeed an interrupt exception and not something else? How can I call a register dump? <br></div><div>Also:</div><div>We made for testing purposes two threads. thread_1 executes for a bit and after quantum interrupt is executed. <br></div><div>handle_exception_general is executed which calls scheduler_schedule_next and we can see the call to the context switch to the second thread, but for some reason the execution goes back to handle_exception_general. What can be the cause of this? (we pushed our code to our repo in A04 branch in case you want to see the code).</div><br><div><div><div dir="ltr"><div dir="ltr">Georgii Ekserdzhian</div></div></div></div></div>
</blockquote></div>