lowlevel-z80: various (important) fixes
authorAlan Cox <alan@etchedpixels.co.uk>
Thu, 6 Nov 2014 00:31:28 +0000 (00:31 +0000)
committerAlan Cox <alan@etchedpixels.co.uk>
Thu, 6 Nov 2014 00:31:28 +0000 (00:31 +0000)
commit183a67abdc0eda05e2c0d5e1d35d1be49520cf74
tree30e9346835f041f7491a5aa71a8679a5b8efac02
parentf42e996ce245db8a558263f18761619a0b678f91
lowlevel-z80: various (important) fixes

1. Exit with reti, most platforms don't care but a few do so avoid
digging holes

2. MSX2 is the first platform we handle where not servicing an IRQ
jams you in a loop. Provide a hook to always service some interrupts
even if we are on an IRQ stack or otherwise detained from calling
platform_interrupt

3. The di() call saved the flags but forgot to DI, this fixes several
rather odd bugs I'm sure

4. The signal processing on irq return is suspect, note it for future
sorting out.

With this and the MSX2 fixes we get closer to a basic MSX2 boot
Kernel/lowlevel-z80.s