xref: /netbsd/sys/arch/acorn32/doc/history (revision bf9ec67e)
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