Annotation of tme/TODO, revision 1.1.1.2

1.1.1.2 ! root        1: the sun2 mainbus signal handler needs to OR together like signals from
        !             2: the different buses; right now the state of a signal on the mainbus is
        !             3: just the state of the signal on the last bus that happened to call it
        !             4: out.  this will cause interrupts to get lost (but because of cooperative
        !             5: threading, this probably isn't manifesting now).
        !             6: 
        !             7: fix thread dispatch problems when not using gtk
1.1       root        8: 
                      9: clean up posix-serial callouts to be like 3c400
                     10: 
                     11: is the (brief) extension word handling correct for PC-relative 
                     12: EAs when there are multiple brief extension words?  (i.e., is 
                     13: first_ea_extword_offset updated (does it need to be?))
                     14: 
                     15: in type 8 frames, we currently store the address as it appeared
                     16: on the bus - i.e., only 24 bits, not the full 32.  maybe this is
                     17: incorrect?
                     18: 
                     19: should tme_m68k_rte_start have more RESTARTING checks?
                     20: 
                     21: are the data input buffer and data output buffers being kept in the
                     22: right endianness in both the trap frames and in the ic buffers?
                     23: 
                     24: watch out for (raw[0] << 4) possibly staying 8-bit and then overflowing
                     25: in tme_m68k_insn_buffer_xfer
                     26: 
                     27: optimization: have the fast executor only execute an instruction if
                     28: there are TME_M68K_INSN_WORDS_MAX * sizeof(tme_uint16_t) bytes
                     29: available.  note that this does *not* eliminate the need for the
                     30: group0 hook entirely, since while we guarantee that we won't fault on
                     31: an instruction fetch, we still might fault on data in
                     32: mid-instruction-fetch.  this optimization would however remove a 
                     33: test and goto in the fast FETCH macros.
                     34: 
                     35: probably the way ENA_NONBOOT works on the sun2 is that all FC_SP
                     36: references go to the PROM
1.1.1.2 ! root       37: 
        !            38: /* version enforcement: */
        !            39: #if !defined(TME_BUS_DEVICE_VERSION) || TME_VERSION_CURRENT_X(TME_BUS_DEVICE_VERSION) != 0
        !            40: #error "check your sources; <tme/bus-device.h> version is now 0"
        !            41: #endif
        !            42: 
        !            43: /* includes: */
        !            44: #include <tme/element.h>
        !            45: #undef TME_BUS_VERSION
        !            46: #define TME_BUS_VERSION TME_VERSION_X(0, 0, 0)
        !            47: #include <tme/generic/bus.h>
        !            48: 
        !            49: sun-sc's slow cycle implementation is broken; it should use the new
        !            50: bus-device dma support
        !            51: 
        !            52: if a tlb_fill function invalidates previous TLBs, make sure that it
        !            53: invalidates before it fills (since it may be filling the same
        !            54: structure it wants to invalidate.)
        !            55: 
        !            56: m68k: lowering the interrupt priority mask below 7 when the external
        !            57: priority is 7 causes another NMI to be recognized.
        !            58: 
        !            59: TLBs filled for DVMA space for the VME bus shouldn't refer to the
        !            60: obmem bus fault handler, right?
        !            61: 
        !            62: file a PR against NetBSD/sun3 1.6.x:
        !            63: sys/arch/sun3/dev/if_ie.c:ie_readframe(), when NBPFILTER == 0, calls
        !            64: ieget() with NULL for its int *to_bpf argument.  this ultimately
        !            65: causes a NULL dereference in (the inline expansion of) check_eh() -
        !            66: witness a "clrl 0" instruction in the compiler output for
        !            67: ie_readframe().  proper fix is to remove the *to_bpf = 0 in check_eh().
        !            68: 
        !            69: file a PR against NetBSD/sun3:
        !            70: XXX FIXME - this hack works around a bug in NetBSD/sun3, present
        !            71: since revision 1.49 of src/sys/arch/sun3/conf/GENERIC (when the
        !            72: sun3x port was merged into the sun3 port).  in this revision, the
        !            73: declaration for cgtwo0 changed:
        !            74: 
        !            75: -cgtwo0 at vmes0 addr 0xff400000 level 4 vect 0xA8
        !            76: +cgtwo0 at vme2 addr 0x400000 ipl 4 vect 0xA8
        !            77: 
        !            78: because the cg2mmap() function in src/sys/arch/sun3/dev/cg2.c
        !            79: doesn't add the 0xff000000 mask to the configured physical
        !            80: address (needed because the cgtwo is an A24 device), when Xsun
        !            81: mmap()s the cgtwo it gets a mapping of physical address 0x400000
        !            82: in VME space instead of the correct 0xff400000.  the sparc cgtwo
        !            83: driver gets this right.
        !            84: 
        !            85: - bus: DRQ(x) and DACK(x), with an UNSPEC
        !            86: - ncr5380: bug where a SCSI callout deferred because of a higher-priority callout isn't put into later_callouts

unix.superglobalmegacorp.com