NetBSD/sys/arch/acorn32/doc/history

464 lines
19 KiB
Plaintext

# $NetBSD: history,v 1.2 2004/02/13 11:36:09 wiz Exp $
---------------------------------------------------------------------------
This document is more included as a historical reference and nostalgia :)
rather than a still worked on list.
---------------------------------------------------------------------------
(stuff before this time is aparently lost)
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 responsible 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 accessible
- 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.
NetBSD/arm32 source code is now merged in to the NetBSD source tree.
All code changes are now logged via CVS and are available from the
NetBSD source-changes mailing list.