1# $NetBSD: history,v 1.1 2001/10/18 00:05:01 reinoud 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 aparently 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 - implmented 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 argumant 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 - Seondary 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 trahsed 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 gernerates 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 an 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 boundry 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 mulitple 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 idenitfied 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 instuction 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 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 dependant 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 comile 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 reconised 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