|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.