|
|
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
1.1.1.3 ! root 87:
! 88: in ncr5380.c:_tme_ncr5380_bus_tlb_fill(), the structure assignment
! 89: of *tlb from *ncr5380->tme_ncr5380_dma_tlb may copy fields partially
! 90: and/or out-of-order, such that the subsequent relevance test succeeds
! 91: when it should fail? we should probably test at least the important,
! 92: invalidating fields in *ncr5380->tme_ncr5380_dma_tlb instead of the
! 93: local *tlb? XXX actually, ncr5380.c needs to use the new TLB
! 94: valid/invalid tests, and be made more thread-safe.
! 95:
! 96: in ncr5380.c:_tme_ncr5380_scsi_cycle(), we test if tme_scsi_dma_in
! 97: points to the internal FIFO to determine if the transfer was a read;
! 98: however, if the transfer was a write this value may be garbage (under
! 99: NDEBUG, it isn't initialized in _tme_ncr5380_callout()) that happens
! 100: to match the internal FIFO anyways.
! 101:
! 102: the SCSI DMA structure needs to be expanded to support tme_shared
! 103: pointers and bus boundary values, and scsi-bus.c needs to use
! 104: tme_memory_bus_read_buffer(), tme_memory_bus_write_buffer() as
! 105: appropriate.
! 106:
! 107: make sure all callers of *_tlb_allocate have tme_shared tlb set pointers
! 108:
! 109: need barriers in the m68k read/write/fetch, etc. functions
! 110:
! 111: remove the locks argument from the generic bus-device DMA functions, since
! 112: elements are only supposed to have a single mutex (and provide a pointer
! 113: to the mutex in the struct tme_bus_device, or maybe have the mutex in the
! 114: struct tme_bus_device).
! 115:
! 116: sun4: log when cache and memerr become visible/invisible
! 117: sun4: log when FPU compliance changes
! 118:
! 119: bus-device-auto.sh: keep bus router from device structure in a local,
! 120: in case it gets changed during a callout
! 121:
! 122: ncr53c9x: the SS2 esp is really an ESP100A, not an ESP100.
! 123:
! 124: sparc: for long-lived idle types, print address when first detected
! 125:
! 126: sparc: most unimplemented instructions cause NULL dereferences from opcode table
! 127:
! 128: gtk-keyboard.c: some X servers actually *don't* give locking behavior
! 129: to the Caps_Lock, Num_Lock, etc., keysyms, and this causes problems.
! 130: see the comments in _tme_gtk_keyboard_x11_new().
! 131:
! 132: sun4: FAILURE: SEVAR (60000004) Power-Up, Exp = 00000000, Obs = ffed9000
! 133:
! 134: sparc: is the test "x${sign}" = xs in sparc-insns-auto.sh right?
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.