1#         $NetBSD: history,v 1.12 2025/03/23 10:11:34 andvar Exp $
2---------------------------------------------------------------------------
3This document is more included as a historical reference and nostalgia :)
4rather than a still worked on list.
5---------------------------------------------------------------------------
6(stuff before this time is apparently lost)
7
83135      - fixed mode selection on boot
9          - page up/down, insert and delete now generate the correct codes in
10            the console
11          - the configured modesare now compiled in a separate file rather
12            than in vidcconsole.c
13          - The eb timeout reduced to 30 secs
14
15          - clreos problems fixed
16          - / on the keypad generated the correct code
17          - the block cursor hove down 2 scan lines to align with characters
18          - extended irq renamed netslot
19          - extra double mapping of kstack removed
20          - kstack located at efbfe000
21          - implementation of cpu_swapin() to remap the kstack
22          - patch to vm_glue to use kmem_alloc for the kstack
23          - extra pmap debugging code added with DEBUG669
24          - the pventry tables can not be dumped from the kshell
25            or from a running system.
26
27          - merged console code v133 into kernel
28          - the disklabel code no longer prints a warning if a HD is found
29            without a adfs partition
30          - the kbd driver now is capable of setting the keyboard leds.
31          - added ioctl to set the keyboard leds.
32          - added a routine to read the keyboard state.
33          - added a routine to set the keyboard state.
34          - added some prototypes to kbd.h
35          - implemented irq_setmasks() as an assembly function.
36          - added an extra disable irq mask
37          - the irq bits from IOMD reg A are cleared as soon as req A is read
38          - Debugged the plip driver. The ip packet is now word aligned when
39            passed to the upper network levels
40
4120/09/95
42          - the cpu_switch routine checks the amount of stack space used when
43            swapping in a task and prints a warning when 6K has been used
44          - removed the remnants of the old kstack double mapping
45          - a separate message is printed for umounts during a halt.
46          - added extra validation in copyin() copyout() copyinstr() and
47          copyoutstr()
48          - podule irq handler no longer panics
49          - Lark A16 podule now recognised
50          - section permission faults now cause bus errors
51          - the syscall handler now correctly uses bcopy to copy the register
52            passed parameters
53          - the copyin() function now validates the uaddrs argument
54          - the kstack is filled with a know pattern on a fork()
55          - the postmortem code will check the size of the kstack fill pattern
56          - the assembly bcopyinout() now returns EFAULT on error
57          - the copyin() copyout() copyinstr() copyoutstr() now return EFAULT
58            if the validation checks fail.
5923/09/95
60          - the fault handler will report faults from (fu/su)iwintr()
61          - added new pmap function to return the address of the next physical
62            page (pmap_next_phys_page).
63          - added code to machdep.c to compare the page number against
64            pmap_next_phys_page() to try and locate source to kernel size
65            limit
66          - added option to syscall_special (32) to return the address of the
67            next physical page.
68          - fixed the primary bootstrap to map more memory for the secondary
69            bootstrap to use.
70          - The 936K kernel size limit has been removed.
71          - Added support for KTRACE in syscall.c
72          - Secondary bootstrap now zeros down its memory
73          - cpu_switch now zeros curpcb while there is no valid process
74          -
751/10/95
76          - cpuswitch now detects trashed stacks.
77          - new compile option for generation of enhanced postmortem debugging
78          - merged console code 183b
79          - implemented a memcpy routine
80          - removed remnants of the kstackpte's
81          - cleaned old commented debugging code out of cpu_switch
82          - Added new comments in exception.S
83          - userret() check for a non-zero proc pointer
84          - extended postmortem debug for cpu_switch bug
85          - updated prototype declarations in machdep.c
86          - fixed passing of proc0 pointer into cpu_switch from switch_exit
87          - podulebus now recognised Lingenuity podules
88          - Lingenuity 16bit SCSI card recognised
89
903/10/95
91          - new compile option ROTTEN_INARDS to dump full debugging info on
92            postmortem
93          - Rewritten postmortem debug information printout
94          - Postmortem will now examine the IRQ stack for traceback info
95          - Fix cpu_exit() bug thus could result in the idle being entered at
96            splhigh()
97          - Added function prototypes for functions called in vm_machdep.c
98          - boot0() now makes sure IRQ's and FIQ's have been disabled
99          - The ARM700 FPA is now correctly turned off during boot
100          - A major has been allocated for the vidcaudio device (36)
101          - vidcaudio.c added to mainbus/ and associated support added in
102            conf/ and conf.c
103          - Patch to the console code to report the version number
104          - Latest version of dev/isa/com.c merged into mainbus/com.c
105          - Latest version of dev/isa/lpt.c merged into mainbus/lpt.c
106          - Latest version of dev/isa/wd.c merged into mainbus/wd.c
107          - new assembly version of copystr added
108          - buffer address for beep0 removed from attach message
109          - unrecognised undefined instructions are now logged as errors to
110            syslog
111          - fpe now attaches a coproc2 handler to stap coproc2 FP instructions
112            and report an error
113          - New compile option FPE_INLINE added to fpe.c to inline some of the
114            conversion functions
115          - Added new compile option FPE_PROF to fpe.c to compile in FP profiling
116            code
117          -
118
11914/10/95
120          - added podule id for laser direct card
121          - added podule id for morley SCSI card
122          - added podule id for AXRE SCSI card
123          - added podule id for CC midi max card
124          - modified primary/secondary bootstraps to reserve special boot
125          - memory for hydra board
126          - added hydra device
127          - Added CPU identification for all hydra processors
128          - Private stacks are allocated to all slave processors
129          - All hydra processors are halted on reboot
130          - podule code checks for chunk directories but does not try to read
131            them yet.
132          - polling, immediate execution asc driver written for Acorn SCSI
133            card
134          - new special syscalls added to aid development of hydra software
135
13601/11/95
137          - kernel built with new netbsd-current source tree
138          - arm32 source updated to conform to latest netbsd-current source
139            tree
140
14103/11/95
142          - ALT-Cursor Left/Right now work the correct way round
143          - ALT-F6 now generates the correct code
144          - alpha version of the cumana SCSI II driver added
145          - alpha version of the ether1 driver added
146          - console code upgraded to V191
147          - driver directory structure changed.
148          - ./src/patch directory updated
149          - alpha version of ATAPI CDROM driver added
150          - mainbus and podulebus directories split in to public and private
151            directories.
152          - warnings from validate_trapframe() are prefixed with "VTF"
153          - old rpc console stuff removed from files.arm32 and source moved to
154            arch/arm32/old/
155          - the arch/arm32/pmap_stuff dir has been moved to arch/arm32/old/
156          - the _mcount.S and belgium.S files have been moved to old and
157            removed from files.arm32
158          - the device name to major code in autoconf.c now recognised /dev/cd
159            and /dev/wcd
160          - the mountroot code in stubs.c will call cd9660_mountroot() instead
161            of ffs_mountroot() is the root dev is a CDROM major.
162          - major 36 allocated to audio device
163          - major 37 allocated to vidcvideo device
164          - major 38 allocated to hydra device
165
166
16707/11/95
168          - cpu_fork() now maps in a page table for each process covering the
169            0M-4M block of memory.
170          - VM_MIN_ADDRESS lowered to 0x1000
171          - cpu_swapout() unmaps the system page at 0x00000000 from its page
172            table
173          - cpu_swapin() wires down the pagetable covering 0x00000000 and
174            maps in the system page at 0x00000000
175          - cpu_swapin() and cpu_swapout() moved to vm_machdep.c
176          - pmap_enter_pv() no longer panics on duplicate mapping, it just
177            prints a warning.
178          - alpha version of the powertec SCSI driver
179
18015/11/95
181          - switch_exit now unmaps the system page.
182          - added newline to printf in disksubr.c
183          - the console code has been moved to the dev directory
184          - cumana SCSI II driver upgraded to support interrupts
185          - powertec SCSI II driver upgraded to support interrupts
186          - the mount root code in stubs.c will attempt to mount
187            a hd partition as cd9660 if the ffs_mountroot() fails.
188          - added missing copyright notices
189          - updated some declarations in header files
190          - removed DEBUG669 code from pmap.c
191          - new syncing routine written for boot()
192          - syncing no longer requires kshell support
193          - Added extra comments to the boot() function
194          - Implemented cpu_sysctl() function (just returns not supported
195            error)
196          - The nosync kernel interrupt now correctly uses RB_NOSYNC
197          -
198
19920/11/95
200          - restructure of directories contains device files
201          - fixed bug in pmap_pte() that could result in non-word
202            aligned pointers being returned in a off page boundary virtual
203            address was specified.
204          -
205
20624/11/95
207          - merged in new netbsd-current source tree
208          - removed all the validate_trapframe() calls
209          - the ioctl CONSOLE_BLANKTIME now reloads the blank timer
210          - the ioctl CONSOLE_BLANKTIME uses the default blank time if a
211            negative time is specified.
212          - the machine id is now passed in the bootconfig structure
213          - the eb0 driver will set the MAC address from the machine id
214            if the address has not already been set.
215
21626/11/95
217          - Fixed the definition of va_dcl in arm32/include/varargs.h
218          -
219
22002/12/95
221          - Fixed the WriteShort() macro
222          - Removed some redundant code from machdep.c
223          - cpu_sysctl is now declared to return an int
224          - stubs.c now has prototypes for the floppy driver functions it
225            calls when loading the ramdisc.
226          - further debugging work on the ether3 driver
227
22810/12/95
229          - Added uk device for unknown scsi devices to configuration files
230            and conf.c
231          - Alpha version of the ether3 ea device driver
232
23314/12/95
234          - Merged in beta version of the ether1 (ie) device driver
235          - added ifdefs to stubs.c so the cd9660_mountroot() is only called
236            when the kernel is compiled with CD9660
237          - created new text file to track all major and minor numbers
238
23916/12/95
240          - define __FORK_BRAINDAMAGE for compilation with the latest NetBSD
241            sources
242          - boot() now calls doshutdownhooks()
243          - merged in frank's new debugger code (process_machdep.c, ptrace.h,
244            regs.h)
245          - patches stub.c to take account of frank's new code
246          - patch cpu.h to give more detail on the PSR bits
247          - fixed the setting of p->p_mdregs to point to the trapframe in
248            the kernel mapping of kstack rather than the current mapping.
249          - removed some redundant code from mem.c
250          - commented out all the trace_debug code
251          - cpu_coredump moved from stubs.c to vm_machdep.c
252          - implemented ptrace.S in libc
253          - boot() no longer sets the curproc to proc0 if it was zero.
254          - spl's added to the console locking code
255          -
256
25719/12/95
258          - merged in new console code (V203) from Nut
259          - dosoftints() now calls pppintr()
260
26121/12/95
262          - sys_sysarch() no longer panics but returns EINVAL instead.
263          - added 3 new debugging syscalls for tracing the vnode bug
264          - identified what goes wrong with vnodes resulting in a lockup
265          - fixed a number of source file headers
266          - Added new comments to a number of routines.
267          - readdisklabel() now sets the B_AGE flag on its buffer
268          - ether3 drive now reports the controller chip type
269          - removed all stand and glue code from kshell
270          - added a new debugging syscall to all wakeup() to be called
271
27224/12/95
273          - removed redundant physconinit() call in initarm().
274          - updated comments in machdep.c
275          - added support for multiple swap devices to be specified at boot
276            time
277          - changed debugging output in userret()
278          - added extra debugging
279          - added new debugging syscalls for tracubg the vnode bug
280          - added new debugging commands to the kshell
281          - added a new insw16() function for faster block transfers
282          - created a patch to fix p_nice
283          - the wd driver now supports multisector transfers
284          - added a new outsw16() function for faster block transfers but is
285            currently untested
286          - the existing arm32/fpe directory has been renamed to
287            arm32/fpe-sp
288          - started work on integrating the ARM FPE
289          - a new fpe directory arm32/fpe-arm has been created for the new FPE
290          - file arm32/cpu.S renamed to arm32/cpuswitch.S
291          - created new mainbus device 'cpu' (mainbus/cpu.c)
292          - created new header file include/cpus.h to hold macros and
293            structure definitions for CPUs.
294          - all identify functions for the processor and FPA have been moved
295            to mainbus/cpu.c
296          - FPE is now attached during the CPU attachment during
297            autoconfiguration
298          - Identification of CPU and FPU split into separate functions in
299            mainbus/cpu.c
300          - Added new function initialise_fpe() to fpe-sp/fpe.c This is the
301            new initialisation point for the FPE. All vector claiming is done
302            in this routine. Routine is also responsible for IDing the FPE.
303          - ramdisc memory allocation now only ever done in the ramdisc driver
304          - cpu_model now declared in mainbus/cpu.c
305          - rpc_configure() renamed to configure()
306          - added function need_proftick() to clock.c
307          - further development work ARM FPE driver
308          - glue code for ARM FPE written and tested.
309          - ARM FPE now gets first chance as being installed with
310            the existing FPE installed as a fallback if the ARM FPE
311            installation failed.
312          - Hooks for the ARM FPE added in cpu_fork() cpu_exit() and
313            cpu_switch()
314          - Recoding of ether3 driver started.
315          - More debugging code added to trace vnode bug
316          - macro added to syscall.c to handle exit from the syscall handler
317            for special development syscalls.
318          - Vnode bug identified as a corruption of the first word (v_flag)
319            of certain vnodes.
320          - Ether3 driver rewritten and debugged. Now a beta stage driver
321          - Vnode corruption traced to console code.
322          - Ether3 drive now has interface buffer memory tests
323          - vnode corruption traced to do_scrolldown() routine in the
324            console driver.
325          - vnode corruption bug located and fixed. Incorrect loop start and
326            end points when scrolling the character map down (writing beyond
327            allocated memory).
328          - Started work on rewriting the etherB driver
329          - cleaned up various header files
330          - removed stub.c as it was no longer needed
331          - updated strstr.c
332          - hydra code hooks now only compiled in if hydra device is
333            configured
334          - EtherB driver rewritten to match recoding of ether3 driver
335          - EtherB driver now a beta stage driver
336          - Work started on generic driver code for SEEQ EDLC's
337          - vidcvideo device now supports multiple openings
338          - EtherB driver now puts the controller to sleep when not active
339          - strstr() replaced with version borrowed from libc/string/strstr.c
340
34105/01/96
342          - Further development of ARM FPE
343          - generic fas216 code no longer experimental/NDA
344          - powertec scsi driver no longer experimental/NDA
345          - entry to undefined instruction handlers is now indirected in
346            exception.s
347          - entry to the undefined instruction handlers is made a trapframe
348            on the stack and r0-r12 preserved from exception.
349          - bounce code added so the existing undefined instruction handler
350            can be called with r0 pointing to the trapframe.
351          - new function arm_fpe_copycontext created
352          - fixed the use of FP instructions in sfas.c
353          - fixed errors in the softint code
354          - netns support can be compiled in the kernel
355          - fixed warnings in fpe-sp/fpe.c and mainbus/cpu.c
356
35710/01/96
358          - exception.S updated pending new undefined instruction handling
359            code
360          - merged in new wd driver from NetBSD-current
361          - merged in new com driver from NetBSD-current
362          - merged in new fd driver from NetBSD-current
363          - created new file sys_machdep.c for machine dependent syscall stuff
364          - moved sys_sysctl from machdep.c to sys_machdep.c
365          - fixed nested comments in iic.S
366          - removed old bug tracing code from cpuswitch.S
367          - debugged new fd driver
368
36913/01/96
370          - undefined mode r13 added to the pcb structure
371          - new version of the ARM fpe built
372          - ARM FPE now has core deactivate routine accessible
373          - Call back from ARM FPE added on instruction completion
374          - cpu_switch() now switches UND32 mode r13
375          - cpu_fork() now sets up UND32 mode r13 in pcb
376          - undefined vector now calls stub routine that indirects
377            via address held in data area.
378          - data abort handler address now held in data area rather
379            than text area.
380          - prefetch abort handler address now held in data area rather
381            than text area.
382          - disabled warnings about soft errors from the fd driver
383
38417/01/96
385          - implemented pmap_resident_count()
386          - fixed the kernel avail_start and avail_end variable. This
387            fixes the divide by zero bug in /bin/ps
388          - ps now reports the correct resident size
389
39019/01/96
391          - kernel now supports permission faults in UND32 mode.
392          - kernel shell now has kshell> prompt instead of #
393          - ramdisc loading code has been moved from stubs.c to fd.c
394          - ramdisc loading code now uses a rd_conf structure to
395            describe the ramdisc.
396          - rd_hooks.c file added to the arm32/dev directory in
397            order to support the generic ramdisk.
398          - patch to generic ramdisc driver to allow a device match hook
399          - mainbus/ramdisc.c removed.
400          - generic ramdisc has now replaces to mainbus/ramdisc.
401          - fault.c reformatted
402          - new compile symbols introduced to compile in debug code for
403            fault correction.
404          - all remnants of the trace_debug code removed.
405          - armfpe code moved from arm32/fpe-arm/arm32 to arm32/fpe-arm/
406          - fu*() su*() functions moved from libkern into arm32/fusu.c
407          - added code to locore.S to traceback frames on the user process
408            stack
409          - added variable to enable / disable tracing back of user process
410            stacks
411          - added syscall to control user stack trackbacks.
412          - optimised ARM FPE exception delivery code
413          - implemented ARM FPE post processing callback glue
414          - ARM FPE post processor now calls user
415          - ARM FPE post processor optimised to recover some of the
416            performance lost by calling userret()
417          - integrated alpha version of the etherH driver
418          - updated ramdisc hooks to removed the need for a rd_match_hook()
419            function
420          - added Oak to the list of podule manufacturers
421          - kernel now recognised Oak SCSI I cards.
422          - Added generic NCR5380 SCSI driver code
423          - integrating in alpha version of the oak SCSI driver
424
42526/01/96
426          - merged in latest updates from the NetBSD-current source tree
427
42829/01/96
429          - code updated for merging into NetBSD source tree
430
43102/02/96
432          - assembly symbol file now names assym.h instead of assym.s
433          - The symbol LOCORE has been replaced with _LOCORE
434          - ramdisc loading code in now compiled in conditionally on
435            RAMDISK_HOOKS
436          - Further development of hydrabus device.
437          - CPUs can noe be attached to both the mainbus and the hydrabus
438          - hooks for hydrabus device updated in pmap.c syscall.c and
439            machdep.c
440          - Extra comments added in exception.S
441          - sizeof(struct trapframe) now defined in assym.h
442          - register fixup for data transfer instruction aborts now handles
443            LDC/STC instructions i.e. hardware executed LDF/STF
444          - configuration files updated for latest devices
445          - fixed use of mkdepend in makefile
446          - fixed the bug that caused panics when issuing the mode change
447            ioctl to the vidcvideo device
448          - console code version number updated
449          - Updated armfpe_post_proc() to take a trapframe pointer as the
450            second argument
451          - updated the armfpe_post_proc_glue() code to fake a trapframe
452            structure from the FPE frame before calling the post proc handler
453            so that sendsig has a valid trapframe in p->p_md.md_regs
454          - updated the armfpe_post_proc_glue() code to patch the FPE frame
455            with data from the trapframe on return from the post proc handler.
456          - signal delivery is now working during FP instructions.
457          - mondef code resurrected and renamed to setdisplay and moved to the
458            stand directory.
459
460
461NetBSD/arm32 source code is now merged in to the NetBSD source tree.
462All code changes are now logged via CVS and are available from the
463NetBSD source-changes mailing list.
464