summaryrefslogtreecommitdiff
path: root/sys/arch/arm32/doc/history
blob: 5180a93e7b1dc3c834c7431dc5fcb66e2778fce5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
3135	- fixed mode selection on boot
	- page up/down, insert and delete now generate the correct codes in
	  the console
	- the configured modesare now compiled in a separate file rather
	  than in vidcconsole.c
	- The eb timeout reduced to 30 secs

	- clreos problems fixed
	- / on the keypad generated the correct code
	- the block cursor hove down 2 scan lines to align with characters
	- extended irq renamed netslot
	- extra double mapping of kstack removed
	- kstack located at efbfe000
	- implementation of cpu_swapin() to remap the kstack
	- patch to vm_glue to use kmem_alloc for the kstack
	- extra pmap debugging code added with DEBUG669
	- the pventry tables can not be dumped from the kshell
	  or from a running system.

	- merged console code v133 into kernel
	- the disklabel code no longer prints a warning if a HD is found
	  without a adfs partition
	- the kbd driver now is capable of setting the keyboard leds.
	- added ioctl to set the keyboard leds.
	- added a routine to read the keyboard state.
	- added a routine to set the keyboard state.
	- added some prototypes to kbd.h
	- implmented irq_setmasks() as an assembly function.
	- added an extra disable irq mask
	- the irq bits from IOMD reg A are cleared as soon as req A is read
	- Debugged the plip driver. The ip packet is now word aligned when
	  passed to the upper network levels

20/09/95
	- the cpu_switch routine checks the amount of stack space used when
	  swapping in a task and prints a warning when 6K has been used
	- removed the remnants of the old kstack double mapping
	- a separate message is printed for umounts during a halt.
	- added extra validation in copyin() copyout() copyinstr() and
          copyoutstr()
	- podule irq handler no longer panics
	- Lark A16 podule now recognised
	- section permission faults now cause bus errors
	- the syscall handler now correctly uses bcopy to copy the register
	  passed parameters
	- the copyin() function now validates the uaddrs argumant
	- the kstack is filled with a know pattern on a fork()
	- the postmortem code will check the size of the kstack fill pattern
	- the assembly bcopyinout() now returns EFAULT on error
	- the copyin() copyout() copyinstr() copyoutstr() now return EFAULT
	  if the validation checks fail.
23/09/95
	- the fault handler will report faults from (fu/su)iwintr()
	- added new pmap function to return the address of the next physical
	  page (pmap_next_phys_page).
	- added code to machdep.c to compare the page number against
	  pmap_next_phys_page() to try and locate source to kernel size
	  limit
	- added option to syscall_special (32) to return the address of the
	  next physical page.
	- fixed the primary bootstrap to map more memory for the secondary
	  bootstrap to use.
	- The 936K kernel size limit has been removed.
	- Added support for KTRACE in syscall.c
	- Seondary bootstrap now zeros down its memory
	- cpu_switch now zeros curpcb while there is no valid process
	-
1/10/95
	- cpuswitch now detects trahsed stacks.
	- new compile option for generation of enhanced postmortem debugging
	- merged console code 183b
	- implemented a memcpy routine
	- removed remnants of the kstackpte's
	- cleaned old commented debugging code out of cpu_switch
	- Added new comments in exception.S
	- userret() check for a non-zero proc pointer
	- extended postmortem debug for cpu_switch bug
	- updated prototype declarations in machdep.c
	- fixed passing of proc0 pointer into cpu_switch from switch_exit
	- podulebus now recognised Lingenuity podules
	- Lingenuity 16bit SCSI card recognised

3/10/95
	- new compile option ROTTEN_INARDS to dump full debugging info on
	  postmortem
	- Rewritten postmortem debug information printout
	- Postmortem will now examine the IRQ stack for traceback info
	- Fix cpu_exit() bug thus could result in the idle being entered at
	  splhigh()
	- Added function prototypes for functions called in vm_machdep.c
	- boot0() now makes sure IRQ's and FIQ's have been disabled
	- The ARM700 FPA is now correctly turned off during boot
	- A major has been allocated for the vidcaudio device (36)
	- vidcaudio.c added to mainbus/ and associated support added in
	  conf/ and conf.c
	- Patch to the console code to report the version number
	- Latest version of dev/isa/com.c merged into mainbus/com.c
	- Latest version of dev/isa/lpt.c merged into mainbus/lpt.c
	- Latest version of dev/isa/wd.c merged into mainbus/wd.c
	- new assembly version of copystr added
	- buffer address for beep0 removed from attach message
	- unrecognised undefined instructions are now logged as errors to
	  syslog
	- fpe now attaches a coproc2 handler to stap coproc2 FP instructions
	  and report an error
	- New compile option FPE_INLINE added to fpe.c to inline some of the
	  conversion functions
	- Added new compile option FPE_PROF to fpe.c to compile in FP profiling
	  code
	- 

14/10/95
	- added podule id for laser direct card
	- added podule id for morley SCSI card
	- added podule id for AXRE SCSI card
	- added podule id for CC midi max card
	- modified primary/secondary bootstraps to reserve special boot
	- memory for hydra board
	- added hydra device
	- Added cpu identification for all hydra processors
	- Private stacks are allocated to all slave processors
	- All hydra processors are halted on reboot
	- podule code checks for chunk directories but does not try to read
	  them yet.
	- polling, immediate execution asc driver written for Acorn SCSI
	  card
	- new special syscalls added to aid development of hydra software

01/11/95
	- kernel built with new netbsd-current source tree
	- arm32 source updated to conform to latest netbsd-current source
	  tree

03/11/95
	- ALT-Cursor Left/Right now work the correct way round
	- ALT-F6 now gernerates the correct code
	- alpha version of the cumana SCSI II driver added
	- alpha version of the ether1 driver added
	- console code upgraded to V191
	- driver directory structure changed.
	- ./src/patch directory updated
	- alpha version of ATAPI CDROM driver added
	- mainbus and podulebus directories split in to public and private
	  directories.
	- warnings from validate_trapframe() are prefixed with "VTF"
	- old rpc console stuff removed from files.arm32 and source moved to
	  arch/arm32/old/
	- the arch/arm32/pmap_stuff dir has been moved to arch/arm32/old/
	- the _mcount.S and belgium.S files have been moved to old and
	  removed from files.arm32
	- the device name to major code in autoconf.c now recognised /dev/cd
	  and /dev/wcd
	- the mountroot code in stubs.c will call cd9660_mountroot() instead
	  of ffs_mountroot() is the root dev is a CDROM major.
	- major 36 allocated to audio device
	- major 37 allocated to vidcvideo device
	- major 38 allocated to hydra device


07/11/95
	- cpu_fork() now maps in a page table for each process covering the
	  0M-4M block of memory.
	- VM_MIN_ADDRESS lowered to 0x1000
	- cpu_swapout() unmaps the system page at 0x00000000 from its page
	  table
	- cpu_swapin() wires down the pagetable covering 0x00000000 and
	  maps in the system page at 0x00000000
	- cpu_swapin() and cpu_swapout() moved to vm_machdep.c
	- pmap_enter_pv() no longer panics on duplicate mapping, it just
	  prints an warning.
	- alpha version of the powertec SCSI driver

15/11/95
	- switch_exit now unmaps the system page.
	- added newline to printf in disksubr.c
	- the console code has been moved to the dev directory
	- cumana SCSI II driver upgraded to support interrupts
	- powertec SCSI II driver upgraded to support interrupts
	- the mount root code in stubs.c will attempt to mount
	  a hd partition as cd9660 if the ffs_mountroot() fails.
	- added missing copyright notices
	- updated some declarations in header files
	- removed DEBUG669 code from pmap.c
	- new syncing routine written for boot()
	- syncing no longer requires kshell support
	- Added extra comments to the boot() function
	- Implemented cpu_sysctl() function (just returns not supported
	  error)
	- The nosync kernel interrupt now correctly uses RB_NOSYNC
	- 

20/11/95
	- restructure of directories contains device files
	- fixed bug in pmap_pte() that could result in non-word
	  aligned pointers being returned in a off page boundry virtual
	  address was specified.
	-

24/11/95
	- merged in new netbsd-current source tree 
	- removed all the validate_trapframe() calls
	- the ioctl CONSOLE_BLANKTIME now reloads the blank timer
	- the ioctl CONSOLE_BLANKTIME uses the default blank time if a
	  negative time is specified.
	- the machine id is now passed in the bootconfig structure
	- the eb0 driver will set the MAC address from the machine id
	  if the address has not already been set.

26/11/95
	- Fixed the definition of va_dcl in arm32/include/varargs.h
	- 

02/12/95
	- Fixed the WriteShort() macro
	- Removed some redundant code from machdep.c
	- cpu_sysctl is now declared to return an int
	- stubs.c now has prototypes for the floppy driver functions it
	  calls when loading the ramdisc.
	- further debugging work on the ether3 driver

10/12/95
	- Added uk device for unknown scsi devices to configuration files
	  and conf.c
	- Alpha version of the ether3 ea device driver

14/12/95
	- Merged in beta version of the ether1 (ie) device driver
	- added ifdefs to stubs.c so the cd9660_mountroot() is only called
	  when the kernel is compiled with CD9660
	- created new text file to track all major and minor numbers

16/12/95
	- define __FORK_BRAINDAMAGE for compilation with the latest NetBSD
	  sources
	- boot() now calls doshutdownhooks()
	- merged in frank's new debugger code (process_machdep.c, ptrace.h,
	  regs.h)
	- patches stub.c to take account of frank's new code
	- patch cpu.h to give more detail on the PSR bits
	- fixed the setting of p->p_mdregs to point to the trapframe in
	  the kernel mapping of kstack rather than the current mapping.
	- removed some redundant code from mem.c
	- commented out all the trace_debug code
	- cpu_coredump moved from stubs.c to vm_machdep.c
	- implemented ptrace.S in libc
	- boot() no longer sets the curproc to proc0 if it was zero.
	- spl's added to the console locking code
	-

19/12/95
	- merged in new console code (V203) from Nut
	- dosoftints() now calls pppintr()

21/12/95
	- sys_sysarch() no longer panics but returns EINVAL instead.
	- added 3 new debugging syscalls for tracing the vnode bug
	- identified what goes wrong with vnodes resulting in a lockup
	- fixed a number of source file headers
	- Added new comments to a number of routines.
	- readdisklabel() now sets the B_AGE flag on its buffer
	- ether3 drive now reports the controller chip type
	- removed all stand and glue code from kshell
	- added a new debugging syscall to all wakeup() to be called

24/12/95
	- removed redundant physconinit() call in initarm().
	- updated comments in machdep.c
	- added support for mulitple swap devices to be specified at boot
	  time
	- changed debugging output in userret()
	- added extra debugging
	- added new debugging syscalls for tracubg the vnode bug
	- added new debugging commands to the kshell
	- added a new insw16() function for faster block transfers
	- created a patch to fix p_nice
	- the wd driver now supports multisector transfers
	- added a new outsw16() function for faster block transfers but is
	  currently untested
	- the existing arm32/fpe directory has been renamed to
	  arm32/fpe-sp
	- started work on integrating the ARM FPE
	- a new fpe directory arm32/fpe-arm has been created for the new FPE
	- file arm32/cpu.S renamed to arm32/cpuswitch.S
	- created new mainbus device 'cpu' (mainbus/cpu.c)
	- created new header file include/cpus.h to hold macros and
	  structure definitions for cpus.
	- all identify functions for the processor and FPA have been moved
	  to mainbus/cpu.c
	- FPE is now attached during the cpu attachment during
	  autoconfiguration
	- Identification of CPU and FPU split into separate functions in
	  mainbus/cpu.c
	- Added new function initialise_fpe() to fpe-sp/fpe.c This is the
	  new initialisation point for the FPE. All vector claiming is done
	  in this routine. Routine is also responcible for IDing the FPE.
	- ramdisc memory allocation now only ever done in the ramdisc driver
	- cpu_model now declared in mainbus/cpu.c
	- rpc_configure() renamed to configure()
	- added function need_proftick() to clock.c
	- further development work ARM FPE driver
	- glue code for ARM FPE written and tested.
	- ARM FPE now gets first chance as being installed with
	  the existing FPE installed as a fallback if the ARM FPE
	  installation failed.
	- Hooks for the ARM FPE added in cpu_fork() cpu_exit() and
	  cpu_switch()
	- Recoding of ether3 driver started.
	- More debugging code added to trace vnode bug
	- macro added to syscall.c to handle exit from the syscall handler
	  for special development syscalls.
	- Vnode bug idenitfied as a corruption of the first word (v_flag)
	  of certain vnodes.
	- Ether3 driver rewritten and debugged. Now a beta stage driver
	- Vnode corruption traced to console code.
	- Ether3 drive now has interface buffer memory tests
	- vnode corruption traced to do_scrolldown() routine in the
	  console driver.
	- vnode corruption bug located and fixed. Incorrect loop start and
	  end points when scrolling the character map down (writing beyond
	  allocated memory).
	- Started work on rewriting the etherB driver
	- cleaned up various header files
	- removed stub.c as it was no longer needed
	- updated strstr.c
	- hydra code hooks now only compiled in if hydra device is
	  configured
	- EtherB driver rewritten to match recoding of ether3 driver
	- EtherB driver now a beta stage driver
	- Work started on generic driver code for SEEQ EDLC's
	- vidcvideo device now supports multiple openings
	- EtherB driver now puts the controller to sleep when not active
	- strstr() replaced with version borrowed from libc/string/strstr.c

05/01/96
	- Further development of ARM FPE
	- generic fas216 code no longer experimental/NDA
	- powertec scsi driver no longer experimental/NDA
	- entry to undefined instruction handlers is now indirected in
	  exception.s
	- entry to the undefined instruction handlers is made a trapframe
	  on the stack and r0-r12 preserved from exception.
	- bounce code added so the existing undefined instuction handler
	  can be called with r0 pointing to the trapframe.
	- new function arm_fpe_copycontext created
	- fixed the use of FP instructions in sfas.c
	- fixed errors in the softint code
	- netns support can be be compiled in the kernel
	- fixed warnings in fpe-sp/fpe.c and mainbus/cpu.c

10/01/96
	- exception.S updated pending new undefined instruction handling
	  code
	- merged in new wd driver from NetBSD-current
	- merged in new com driver from NetBSD-current
	- merged in new fd driver from NetBSD-current
	- created new file sys_machdep.c for machine dependant syscall stuff
	- moved sys_sysctl from machdep.c to sys_machdep.c
	- fixed nested comments in iic.S
	- removed old bug tracing code from cpuswitch.S
	- debugged new fd driver

13/01/96
	- undefined mode r13 added to the pcb structure
	- new version of the ARM fpe built
	- ARM FPE now has core deactivate routine accessable
	- Call back from ARM FPE added on instruction completion
	- cpu_switch() now switches UND32 mode r13
	- cpu_fork() now sets up UND32 mode r13 in pcb
	- undefined vector now calls stub routine that indirects
	  via address held in data area.
	- data abort handler address now held in data area rather
	  than text area.
	- prefetch abort handler address now held in data area rather
	  than text area.
	- disabled warnings about soft errors from the fd driver

17/01/96
	- implemented pmap_resident_count()
	- fixed the kernel avail_start and avail_end variable. This
	  fixes the divide by zero bug in /bin/ps
	- ps now reports the correct resident size

19/01/96
	- kernel now supports permission faults in UND32 mode.
	- kernel shell now has kshell> prompt instead of #
	- ramdisc loading code has been moved from stubs.c to fd.c
	- ramdisc loading code now uses a rd_conf structure to
	  describe the ramdisc.
	- rd_hooks.c file added to the arm32/dev directory in
	  order to support the generic ramdisk.
	- patch to generic ramdisc driver to allow a device match hook
	- mainbus/ramdisc.c removed.
	- generic ramdisc has now replaces to mainbus/ramdisc.
	- fault.c reformatted
	- new compile symbols introduced to comile in debug code for
	  fault correction.
	- all remnants of the trace_debug code removed.
	- armfpe code moved from arm32/fpe-arm/arm32 to arm32/fpe-arm/
	- fu*() su*() functions moved from libkern into arm32/fusu.c
	- added code to locore.S to traceback frames on the user process
	  stack
	- added variable to enable / disable tracing back of user process
	  stacks
	- added syscall to control user stack trackbacks.
	- optimised ARM FPE exception delivery code
	- implemented ARM FPE post processing callback glue
	- ARM FPE post processor now calls user
	- ARM FPE post processor optimised to recover some of the
	  performance lost by calling userret()
	- integrated alpha version of the etherH driver
	- updated ramdisc hooks to removed the need for a rd_match_hook()
	  function
	- added Oak to the list of podule manufacturers
	- kernel now reconised Oak SCSI I cards.
	- Added generic NCR5380 SCSI driver code
	- integrating in alpha version of the oak SCSI driver

26/01/96
	- merged in latest updates from the NetBSD-current source tree

29/01/96
	- code updated for merging into NetBSD source tree

02/02/96
	- assembly symbol file now names assym.h instead of assym.s
	- The symbol LOCORE has been replaced with _LOCORE
	- ramdisc loading code in now compiled in conditionally on
	  RAMDISK_HOOKS
	- Further development of hydrabus device.
	- cpus can noe be attached to both the mainbus and the hydrabus
	- hooks for hydrabus device updated in pmap.c syscall.c and
	  machdep.c
	- Extra comments added in exception.S
	- sizeof(struct trapframe) now defined in assym.h
	- register fixup for data transfer instruction aborts now handles
	  LDC/STC instructions i.e. hardware executed LDF/STF
	- configuration files updated for latest devices
	- fixed use of mkdepend in makefile
	- fixed the bug that caused panics when issuing the mode change
	  ioctl to the vidcvideo device
	- console code version number updated
	- Updated armfpe_post_proc() to take a trapframe pointer as the
	  second argument
	- updated the armfpe_post_proc_glue() code to fake a trapframe
	  structure from the FPE frame before calling the post proc handler
	  so that sendsig has a valid trapframe in p->p_md.md_regs
	- updated the armfpe_post_proc_glue() code to patch the FPE frame
	  with data from the trapframe on return from the post proc handler.
	- signal delivery is now working during FP instructions.
	- mondef code resurrected and renamed to setdisplay and moved to the
	  stand directory.