mirror of
https://github.com/livingcomputermuseum/UniBone.git
synced 2026-02-16 12:43:50 +00:00
Rewrote lower-level DMA and IRQ handling: DMA and IRQ requests are now queued and will run to completion on their own
without help from the device code (just call request_DMA and when it returns the DMA transfer is complete.) Fixed request_DMA to chunk DMA transfers larger than 1024 bytes to avoid overrunning the mailbox's shared memory. Fixed concurrency issues with DMA requests -- a race condition could cause DMA request data to get clobbered. RT-11 now boots, MSCP behavior is now very reliable.
This commit is contained in:
@@ -135,7 +135,7 @@ void unibusdevice_c::reset_unibus_registers() {
|
||||
// set an UNIBUS interrupt condition with intr_vector and intr_level
|
||||
void unibusdevice_c::interrupt(void) {
|
||||
// delegate to unibusadapter_c
|
||||
unibusadapter->request_INTR(this, intr_level.value, intr_vector.value);
|
||||
unibusadapter->request_INTR(intr_level.value, intr_vector.value);
|
||||
// WARNING("unibusdevice_c::interrupt() TODO: generated interrupt!");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user