From: Matthias T. <mt...@we...> - 2008-08-13 19:17:55
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dave N6NZ schrieb: > This evening I have been looking at the interrupt system trying to > understand it. In reading amforth.asm, I see where the current interrupt > number is stored away in 'intcur' and then interrupts are re-enabled. > It seems to me that there is a race with multiple simultaneous > interrupts -- if a second interrupt comes in before the value of > 'intcur' has been consumed it will be over written and the interrupt > will have been lost to forth. It seems to me like intcur should be a > bit mask so that all pending interrupts could be represented, not a > single interrupt number. Is there something that I am missing? You hit all points. The interrupt system has been designed to have access to timer interrupts. Later I extended it to play with other interrupt sources that sometimes work sometimes dont. To be honest: I never had the need to implement interrupts beyond the timers in forth, and now exists an assembler in amforth with an PS/2 keyboard example so I'm open for suggestions and patches but not very motivated to implement a new interrupt system myself ;=) Cheers Matthias -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIozNu9bEHdGEMFjMRAp1aAJ4sZwhcN8ODxNhknA4oI4Ujh1O71ACdEHeX QCeiNxxDnbnJ8s7jhr3zENM= =FGOu -----END PGP SIGNATURE----- |