[Vm-dev] SqueakNOS interrupts (was: FFI callback for interrupts in Raspberry)
Jecel Assumpcao Jr.
jecel at merlintec.com
Mon Feb 19 20:58:54 UTC 2018
> The thing I do not understand about SqueakNOS and responding to an interrupt
> at an arbitrary time is how one expects to deal with handling an interrupt during
> some sequence of instructions that is between suspension points, such as mid
> way through a store check which is adding an object to the remembered set, or
> mid way through a message lookup. Does SqueakNOS actually use the
> enable/disable interrupts approach?
If I understood correctly, the only thing the VM does when it gets an
interrupt from the 8259 chips is to signal a corresponding semaphore and
immediately return to what it was doing. At some point in the future the
code waiting for the semaphore gets scheduled and then run by the VM,
but at that instant none of the problems you mention should happen. It
is that code that is resposible for telling the 8259s that the interrupt
has been handled so only then can it receive the next one.
http://wiki.squeak.org/squeak/1762 (see "SqueakNOS IRQ Handling" in the
middle of this page)
More information about the Vm-dev