========================================================================== ***** MK Version MK31 (rwd) ***** New features: --- -------- Debugger has watchpoints. Breakpoints are map specific. New software reference bit code which is currently turned off by default. Bug fixes: --- ----- Yes [I386] All references to AT386 in makefiles have been duplicated to I386. Special notes: ------- ----- This merge was done with /afs/cs/project/mach/mach3/tools/bin/m3merge. mkmerge is dead. long live m3merge. ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 31 [ ./Makefile ] Don't make clean include area. [90/10/24 rwd] [ ./kernel/boot_ufs/boot_printf.c ] Modified boot_gets to allocate arrays from heap, not stack. [90/10/23 rpd] [ ./kernel/boot_ufs/file_io.c ] Modified open_file to allocate arrays from heap, not stack. [90/10/23 rpd] [ ./kernel/boot_ufs/load.c ] Modified boot_load_program and read_emulator_symbols to allocate arrays from heap, not stack. [90/10/23 rpd] [ ./MERGE_HISTORY ] Created [ ./kernel/conf/Makefile.template ] [ ./kernel/conf/files ] Added ddb/db_watch.c. [90/10/16 rpd] [ ./kernel/ddb/db_break.c ] Added map field to breakpoints. Added map argument to db_set_breakpoint, db_delete_breakpoint, db_find_breakpoint. Added db_find_breakpoint_here. [90/10/18 rpd] [ ./kernel/ddb/db_break.h ] Added map field to breakpoints. [90/10/18 rpd] [ ./kernel/ddb/db_command.c ] Changed db_fncall to print the result unsigned. [90/10/19 rpd] Added CS_MORE to db_watchpoint_cmd. [90/10/17 rpd] Added watchpoint commands: watch, dwatch, show watches. [90/10/16 rpd] [ ./kernel/ddb/db_print.c ] Changed db_show_regs to print unsigned. [90/10/19 rpd] Generalized the watchpoint support. [90/10/16 rwd] [ ./kernel/ddb/db_run.c ] Changed db_find_breakpoint to db_find_breakpoint_here. [90/10/18 rpd] Fixed db_set_single_step to pass regs to branch_taken. Added watchpoint argument to db_restart_at_pc. [90/10/17 rpd] Generalized the watchpoint support. [90/10/16 rwd] Added watchpoint support. [90/10/16 rpd] [ ./kernel/ddb/db_sym.c ] Changed db_printsym to print unsigned. [90/10/19 rpd] [ ./kernel/ddb/db_trap.c ] From rpd. [90/10/19 17:03:17 rwd] Generalized the watchpoint support. [90/10/16 rwd] Added watchpoint support. [90/10/16 rpd] [ ./kernel/ddb/db_watch.c ] Made db_watchpoint_cmd parse a size argument. [90/10/17 rpd] Generalized the watchpoint support. [90/10/16 rwd] Created. [90/10/16 rpd] [ ./kernel/ddb/db_watch.h ] Generalized the watchpoint support. [90/10/16 rwd] Created. [90/10/16 rpd] [ ./kernel/ddb/db_write_cmd.c ] Changed db_write_cmd to print unsigned. [90/10/19 rpd] [ ./kernel/device/ds_routines.c ] Let ds_device_write proceed w/o a valid reply port. This is used by the unix server ether_output routine. [90/10/22 rwd] Fixed ds_write_done to use ds_device_write_inband_reply when appropriate. [90/10/18 rpd] Check for invalid reply ports. [90/10/17 rwd] [ ./kernel/i386/db_interface.c ] Added watchpoint support. [90/10/18 rpd] Created. [90/07/25 dbg] [ ./kernel/i386/db_machdep.h ] Added watchpoint support. [90/10/18 rpd] [ ./kernel/i386/trap.c ] Added watchpoint support. [90/10/18 rpd] [ ./kernel/i386/trap.h ] Added watchpoint support. [90/10/18 rpd] [ ./kernel/kern/debug.c ] Change sun3 debugger invocation. [90/10/17 rwd] [ ./kernel/kern/printf.c ] Purged uprintf. [90/10/21 rpd] [ ./kernel/kern/task.c ] From OSF: Add thread_block() to loop that forcibly terminates threads in task_terminate() to fix livelock. Also hold reference to thread when calling thread_force_terminate(). [90/10/19 rpd] [ ./kernel/kern/thread.c ] Added host_stack_usage and processor_set_stack_usage. [90/10/22 rpd] Removed pausing code in stack_alloc/stack_free. It was broken and it isn't needed. Added code to check how much stack is actually used. [90/10/21 rpd] [ ./kernel/mach_debug/mach_debug.defs ] Added processor_set_stack_usage. [90/10/22 rpd] [ ./kernel/mach_debug/mach_debug_types.defs ] Updated vm_info_region_t size. [90/10/17 rpd] [ ./kernel/mips/PMAX/devio.h ] Changed uprintf to printf. [90/10/21 rpd] [ ./kernel/mips/db_interface.c ] Support for watchpoints. [90/10/16 rpd] [ ./kernel/mips/db_machdep.h ] Generalized the watchpoint support. [90/10/16 rwd] Added watchpoint support. [90/10/16 21:09:42 rpd] [ ./kernel/mips/pmap.c ] Fixed the OSF pmap_protect fixes. [90/10/21 rpd] [ ./kernel/mips/trap.c ] Removed static from getreg_val. [90/10/17 rpd] Generalized the watchpoint support. [90/10/16 rwd] Added watchpoint support. [90/10/16 rpd] [ ./kernel/sun3/db_interface.c ] Added watchpoint support. [90/10/16 rwd] [ ./kernel/sun3/db_machdep.h ] Added watchpoint support. [90/10/16 rwd] [ ./kernel/sun3/pmap.c ] Change asm instructions to Debugger(). [90/10/17 rwd] Added hardware_reference_bits runtime switch. [90/10/13 rpd] [ ./kernel/sun3/softint.c ] Always enable softints when a softcall request is done. [90/10/17 rwd] [ ./kernel/sun3/trap.c ] Fixed the map argument to db_find_watchpoint. Made the faultaddr argument to pagefault a vm_offset_t. [90/10/18 rpd] Added watchpoint support. [90/10/16 rwd] [ ./kernel/sun3/trap.h ] Added watchpoint support. [90/10/16 rwd] [ ./kernel/sundev/sd.c ] Changed uprintf to printf. [90/10/21 rpd] Remove excess debugging code. [90/10/21 rwd] [ ./kernel/sundev/st.c ] Changed uprintf to printf. [90/10/21 rpd] [ ./kernel/vax/db_interface.c ] Added watchpoint support. [90/10/18 rpd] [ ./kernel/vax/db_machdep.h ] Added watchpoint support. [90/10/18 rpd] [ ./kernel/vax/trap.c ] Added watchpoint support. [90/10/18 rpd] [ ./kernel/vax/trap.h ] Added watchpoint support. [90/10/18 rpd] [ ./kernel/vm/memory_object.c ] Clean and not flush pages to lock request get moved to the inactive queue. [90/10/24 rwd] [ ./kernel/vm/vm_fault.c ] Turn software_reference_bits off by default. [90/10/25 rwd] Extended software_reference_bits to vm_fault_page. [90/10/24 rpd] Fixed vm_fault_page to clear the modify bit on zero-filled pages. [90/10/23 rpd] Added watchpoint debugger support. [90/10/16 rpd] Added software_reference_bits runtime switch. [90/10/13 rpd] Added watchpoint debugger support. [90/10/16 rpd] Added software_reference_bits runtime switch. [90/10/13 rpd] [ ./kernel/vm/vm_map.c ] Fixed bug in vm_map_enter that was introduced in 2.13. [90/10/21 rpd] [ ./kernel/vm/vm_page.h ] Removed the max_mapping field of pages. [90/10/22 rpd] [ ./kernel/vm/vm_resident.c ] Made vm_page_alloc_deactivate_behind TRUE. [90/10/24 rwd] Removed the max_mapping field of pages. [90/10/22 rpd] [ ./user/libmach/Makefile ] Add I386 fields. [90/10/24 rwd] ========================================================================== ***** MK Version MK32 (rpd) ***** New features: --- -------- I added a ddb command to search memory for a value: search [/bhl] addr value [mask] [,count] Randy added cthread_fork_{prepare,child,parent}. I added a patchable boolean, zone_check, that causes zfree to check the consistency of zone free lists. I changed the IPC reference-counting functions/macros to make it easier to debug reference-count problems. [SUN3] Picked up ie and xy drivers from NCSC. [I386] Picked up various goodies from Bob. The pc586 driver works now on both 386 and 486. The first 640K of memory is available now. The kernel tells DOS to warm boot upon reboot. The debugger prints five arguments to functions in traces. Bug fixes: --- ----- I picked up dlb's vm_object_deallocate fix for a nasty race. I fixed vm_page_deactivate to not deactivate busy pages. (It can find busy pages on the active list when software_reference_bits is enabled.) Now vm_page_deactivate requires that the page's object is locked. I ripped out vm_region_old_behavior. Now vm_region() has the same semantics as in Mach 2.5. I fixed memory_object_terminate in the device pager to return a value. I fixed crt0.o so that it is usable by non-standalone programs. I fixed the assert macro so that it doesn't try to drop into ddb when already in ddb. I unified untimeout and untimeout_try, and fixed the related MP bugs. [PMAX] Fixed jmp_buf to have the standard size. Organizational changes: -------------- ------- Randy fixed the Makefiles for STUMP. This means you must use the alpha/beta make and cpp on non-386 machines. Randy added spin_lock_t and associated changes to cthreads. Special notes: ------- ----- The ddb search command might fail in interesting ways if it doesn't find the searched-for value. This is because ddb doesn't always recover from touching bad memory. The optional count argument limits the search. The cthread_fork_* functions aren't tested. [ ./conf/version.edit ] 32 [ ./user/libmach/Makefile ] Added start_float.s, for the Sun-3. [90/11/01 rpd] Added exit.c. [90/10/30 rpd] [ ./include/Makeconf ] Added REG_EXP. [90/10/29 rwd] [ ./include/Makefile ] Added machine/cthreads.h include file from libthreads. [90/11/01 rwd] Added REG_EXP. [90/10/29 rwd] [ ./kernel/Makeconf ] SUN->SUN3. [90/10/31 rwd] Added REG_EXP. [90/10/29 rwd] Change MACHINE to TARGET_MACHINE. [90/10/29 rwd] [ ./kernel/Makefile ] SUN->SUN3. [90/10/31 rwd] Change MACHINE to TARGET_MACHINE. [90/10/29 rwd] [ ./kernel/conf/MASTER.sun3 ] Added BWS. [90/10/26 17:01:06 rwd] [ ./kernel/conf/Makefile.template ] Added REG_EXP. [90/10/29 rwd] [ ./kernel/conf/buildconf.sun3 ] First use for 3.0 [90/10/26 rwd] [ ./kernel/ddb/db_break.c ] Initialize db_breakpoints_inserted to TRUE. [90/11/04 rpd] [ ./kernel/ddb/db_watch.c ] Initialize db_watchpoints_inserted to TRUE. [90/11/04 rpd] [ ./kernel/device/dev_pager.c ] Fixed memory_object_terminate to return KERN_SUCCESS. [90/10/29 rpd] [ ./kernel/i386/bcopy.s ] Introduce bcopy16. For 16bit copies to bus memory [90/11/02 rvb] [ ./kernel/i386/db_trace.c ] If we can not guess the number of args to a function, use 5 vs 0. [90/11/02 rvb] [ ./kernel/i386/i386_init.c ] Start first_addr at 0x1000 and define first available page after the kernel's end as first_avail. Flush EXL. [90/09/05 rvb] [ ./kernel/i386/pmap.c ] Replace (va < vm_first_phys || va > vm_last_phys) with test using valid page. Otherwise, video buffer memory is treated as valid memory and setting dirty bits leads to disasterous results. [90/11/05 rvb] Define pmap_valid_page: [0x1000..cnvmem * 1024) and [first_avail..) as useable memory [90/09/05 rvb] [ ./kernel/i386/start.s ] Since we steal pages after esym for page tables, use first_avail to record the last page +1 that we stole. Tell bios to warm boot on reboot. [90/09/05 rvb] [ ./kernel/i386at/i82586.h ] Document error bits in Xmt and Rcv. [90/10/08 rvb] [ ./kernel/i386at/if_pc586.c ] Convert for pure kernel [90/11/02 rvb] Init scb and reset as per spec. Use bcopy16 vs pc586copy as per spec. Accumulate counters at hwrst. Add counters everywhere. Editing and style and consistency cleanup. Flush NOP's: this required major mods to hwrst and everything it called -- testing OK is not correct if the command is not COMPLETE. Lot's of code clean up in xmt, rcv, reqfd. Flush pc_softc_t "address" and pc586ehcpy. Handle loopback of our ownbroadcast. The rcv and xmt loops have been rewriten not copy sram to the t_packet buffer. This yields a teriffic thruput improvement. Add Notes and sram map. [90/09/28 rvb] [ ./kernel/i386at/if_pc586.h ] Create 18 TBD's so that we can copy up a chain of mbuf's. [90/10/03 rvb] [ ./kernel/ipc/ipc_kmsg.c ] Changed ip_reference to ipc_port_reference. Changed ip_release to ipc_port_release. Use new io_reference and io_release. Use new ip_reference and ip_release. [90/10/29 rpd] [ ./kernel/ipc/ipc_mqueue.c ] Use new io_reference and io_release. Use new ip_reference and ip_release. [90/10/29 rpd] [ ./kernel/ipc/ipc_object.c ] Removed ipc_object_reference_macro, ipc_object_release_macro. Use new io_reference and io_release. Use new ip_reference and ip_release. [90/10/29 rpd] [ ./kernel/ipc/ipc_object.h ] Removed ipc_object_reference_macro, ipc_object_release_macro. Created new io_reference, io_release macros. [90/10/29 rpd] [ ./kernel/ipc/ipc_port.c ] Changed ip_release to ipc_port_release. Use new ip_reference and ip_release. [90/10/29 rpd] [ ./kernel/ipc/ipc_port.h ] Added ipc_port_reference, ipc_port_release. [90/10/29 rpd] [ ./kernel/ipc/ipc_pset.c ] Use new ips_reference and ips_release. [90/10/29 rpd] [ ./kernel/ipc/ipc_pset.h ] Added ipc_pset_reference, ipc_pset_release. [90/10/29 rpd] [ ./kernel/ipc/ipc_right.c ] Changed io_release to ipc_object_release. Changed ip_release to ipc_port_release. Use new ip_reference and ip_release. [90/10/29 rpd] [ ./kernel/ipc/ipc_space.c ] Use new ip_reference and ip_release. [90/10/29 rpd] [ ./kernel/ipc/mach_msg.c ] Removed ipc_object_release_macro. Changed ip_reference to ipc_port_reference. Changed ip_release to ipc_port_release. Changed io_release to ipc_object_release. Use new io_reference and io_release. Use new ip_reference and ip_release. [90/10/29 rpd] [ ./kernel/kern/assert.h ] Changed assert to use Assert instead of Debugger. [90/11/04 rpd] [ ./kernel/kern/debug.c ] Added Assert. [90/11/04 rpd] [ ./kernel/kern/ipc_mig.c ] Changed ip_reference to ipc_port_reference. Changed ip_release to ipc_port_release. Removed ipc_object_release_macro. Use new ip_reference and ip_release. [90/10/29 rpd] [ ./kernel/kern/ipc_tt.c ] Changed ip_reference to ipc_port_reference. Use new ip_reference and ip_release. [90/10/29 rpd] [ ./kernel/kern/lock.h ] Added simple_lock_taken. [90/11/04 rpd] [ ./kernel/kern/mach_clock.c ] Unified untimeout and untimeout_try. [90/10/29 rpd] [ ./kernel/kern/syscall_subr.c ] Restored missing multiprocessor untimeout failure code. [90/10/29 rpd] [ ./kernel/kern/thread.c ] Unified untimeout and untimeout_try. [90/10/29 rpd] [ ./kernel/kern/time_out.h ] Changed untimeout to return boolean. [90/10/29 rpd] [ ./kernel/kern/zalloc.c ] Added zone_check option to zfree. [90/10/29 rpd] [ ./kernel/mips/PMAX/pm_tty.c ] Fixed untimeout usage. [90/10/29 rpd] [ ./kernel/src/mig/Makefile ] SUN->SUN3. [90/10/31 rwd] Change MACHINE to TARGET_MACHINE. [90/10/29 rwd] [ ./kernel/sun/conf.c ] Added ie and xy from NCSC. [90/10/26 rwd] [ ./kernel/sundev/mbvar.h ] Change from NCSC for xydriver. [90/10/26 rwd] Altered for MACH_KERNEL. [88/03/22 dbg] [ ./kernel/sundev/xy.c ] change to use kalloc, kfree instead of sun_kmem_alloc, sun_kmem_free from NCSC. [90/10/26 rwd] [ ./kernel/sundev/xy_conf.c ] 3.0 changes from NCSC. [90/10/26 rwd] [ ./kernel/sunif/if_ie.c ] Changes for 3.0 from NCSC. [90/10/26 rwd] [ ./kernel/sunif/if_iereg.h ] Changes for 3.0 from NCSC. [90/10/26 rwd] [ ./kernel/sunif/if_ievar.h ] Changes for 3.0 from NCSC. [90/10/26 rwd] [ ./kernel/sunif/if_mie.h ] First Checkin. [90/10/26 rwd] [ ./kernel/sunif/if_obie.h ] First checkin. [90/10/26 rwd] [ ./kernel/sunif/if_tie.h ] First Checkin. [90/10/26 rwd] [ ./kernel/vm/vm_map.c ] Removed vm_region_old_behavior. [90/11/02 rpd] [ ./kernel/vm/vm_object.h ] Added vm_object_lock_taken. [90/11/04 rpd] [ ./kernel/vm/vm_pageout.c ] Modified vm_pageout_scan for new vm_page_deactivate protocol. [90/11/04 rpd] [ ./kernel/vm/vm_resident.c ] Changed vm_page_deactivate to remove busy pages from the page queues. Now it requires that the page's object be locked. [90/11/04 rpd] [ ./user/libmach/Makefile ] SUN->SUN3. [90/10/31 rwd] Change MACHINE to TARGET_MACHINE. [90/10/29 rwd] [ ./user/libmach/exit.c ] Created. [90/10/30 rpd] [ ./user/libmach/i386/crt0.c ] Removed the definition of exit. [90/10/30 rpd] [ ./user/libmach/mips/crt0.cv ] Removed the definition of exit. [90/10/30 rpd] [ ./user/libmach/mips/crt0.ss ] Removed the definition of exit. [90/10/30 rpd] [ ./user/libmach/setjmp.h ] Changed the mips jmp_buf definition to the normal size. [90/10/30 rpd] [ ./user/libmach/sun3/crt0.s ] Restored call to _exit if exit returns. Restored call to start_float. [90/11/01 rpd] Call exit instead of task_terminate. [90/10/30 rpd] [ ./user/libmach/sun3/start_float.s ] Created. [90/11/01 rpd] [ ./user/libmach/vax/crt0.cc ] Removed the definition of exit. [90/10/30 rpd] [ ./user/threads/Makefile ] Change MACHINE to TARGET_MACHINE. [90/10/29 rwd] [ ./user/threads/cprocs.c ] Added cproc_fork_{prepare,parent,child}. [90/11/02 rwd] Fix for positive stack growth. [90/11/01 rwd] Add spin_lock_t. [90/10/31 rwd] [ ./user/threads/cthread_internals.h ] Added spin_lock_t. [90/10/31 rwd] [ ./user/threads/cthreads.c ] Added cthread_fork_{prepare,parent,child}. [90/11/02 rwd] Add spin_lock_t. [90/10/31 rwd] [ ./user/threads/cthreads.h ] Include machine/cthreads.h. Added spin_lock_t. [90/10/31 rwd] [ ./user/threads/i386/cthreads.h ] Created. [90/11/01 rwd] [ ./user/threads/malloc.c ] Added malloc_fork* code. [90/11/02 rwd] Add spin_lock_t. [90/10/31 rwd] [ ./user/threads/mips/cthreads.h ] Created. [90/11/01 rwd] [ ./user/threads/stack.c ] Fixed addr_range_check for new vm_region semantics. [90/11/02 rpd] [ ./user/threads/sun3/cthreads.h ] Created. [90/11/01 rwd] [ ./user/threads/sync.c ] Fix casting. Use new macros. [90/10/31 rwd] [ ./user/threads/vax/cthreads.h ] Created. [90/11/01 rwd] [ ./kernel/conf/version.variant ] Changed XMK to MK. [ ./user/threads/stack.c ] Added cproc_stack_base. Add stack_fork_child(). [90/11/01 rwd] [ ./kernel/vm/vm_object.c ] From dlb@osf.org: If pager initialization is in progress (object->pager_created && !object->pager_initialized), then vm_object_deallocate must wait for it to complete before terminating the object. Because anything can happen in the interim, it must recheck its decision to terminate after the wait completes. [ ./kernel/ddb/db_command.c ] Added search. [90/11/06 rpd] [ ./kernel/ddb/db_examine.c ] Added db_search_cmd, db_search. [90/11/06 rpd] ========================================================================== ***** MK Version MK33 (jsb) ***** New features: --- -------- [I386] Added cnp ethernet driver for i386ipsc2 (Intel Hypercube). Bug fixes: --- ----- [I386] Fixed changes in MK32 which prevented STD+NORMA+iPSC2 from building. ========================================================================== ***** MK Version MK34 (jsb) ***** New features: --- -------- Added i860 build support (for the hypercube). Details follow. The i860 and i860ipsc2 source directories will be added in a future merge. Added support to conf/Makefile.template for cross-compilation. I borrowed the not-otherwise-used KCC technology so that $(KCC) is used to build kernel files (and thus would be the cross compiler), whereas $(CC) is used to build things like genassym which run on the host (in this case, a i386). I fixed a couple cases in Makefile.template that didn't conform to this convention: vers.o is now compiled with $(KCC), and genassym is now compiled with $(CC). I also added work-arounds for the fact that we don't have a cross-ranlib or a cross-size. [I860] Added conf/MASTER.i860{,.local}, conf/{Makefile,files}.i860, and added i860 support to config, mach/machine.h, and sys/varargs.h. ========================================================================== ***** MK Version MK35 (rvb) ***** This is an I386 architecture release only. It has been tested on an AT as well as the hypercube. No New features: --- -------- Except possibly that the if_pc586.c is not timing dependent any more. The big deal about this release is that all the files in the i386at directory and the files in Mach2.5 I386q are identical -- that is all improvements in the mainline have been merged to the 3.0 code and vice versa. NOTE: the 3.0 com driver has not been tested cause I did not have any hardware. Also I have lpr and if_par drivers that I did not even install for the same reason. (I needed to install com.c for the mouse support code.) ALSO, this release has the Prime copyrights changed to something less threatening, courtesy of Prime Computer Inc. Bug fix: The panic that rfr reported with the ram_to_ptr is no longer possible. ========================================================================== ***** MK Version MK36 (jsb) ***** New features: --- -------- Merged in i860 support for iPSC Intel hypercube. Merged i860 and i386 pmap.{c,h} into new intel directory. Merged i860 and i386 ipsc support into new ipsc directory. Added ATSYS variable which can be used to override use of @sys in OBJECTDIR when cross-compiling. Changed ipsc2 references to ipsc386 or simply ipsc, as appropriate. Removed libmig.a workaround from conf/Makefile.template since the same thing can be acheived entirely within conf/Makefile.{machine}. ========================================================================== ***** MK Version MK37 (af) ***** New features: --- -------- This merge brings freedom to PMAXen, there is now only one single file left in the kernel with a MIPSco Copyright on it: mips/softfp.s which is optional. No DEC Copyright in sight, we only loose support for the 2D/3D boxes [actually only the 2D, I have never seen a 3D]. The entire mips/PMAX subdir is new, the only pieces I recovered are the code Joe wrote for the terminal emulator and the in-kernel ether driver that Bob & I wrote/rewrote/rewrote.... Everything else is new. The various drivers are in various stages of "maturity": the ether is rock-solid, the screen&serial line is quite robust. The SCSI driver is the one likely to need most fixes and additions. Among the missing features are: - true SCSI-2 support and adherence to the standard - disconnect/reconnect capability when more than one drive is on the bus In the PMAX case then there are still various misteries to be solved, one most annoying: if you do not tell the prom to "init" before rebooting it will get locked up in bus-error interrupts at the first synchronous data transfer. Beats me why. It also seems to me it is much slower than it needs to, but I won't measure it until I understand it. Added BSD/OSF labels to kernel. New cute font, and related tools. New 16 sec bootstrap: shows that you do not need two levels of boots to be flexible. With this one you can boot any file on disk, follow symlinks, even cross-device links (but of a very weird type..) and all fits in 15 sectors. Mostly C code. Added new header file for TAPE devices. Not that it really works yet, but we'll get around that too. Enabled mapped ether by default. Added missing code to make the pmap pcache work. Changed pmap_reference_bits array encoding, saves a cycle in tlb_umiss as suggested by dbg. Bug fixes: --- ----- MP-Bug fix from DLB to thread_suspend/resume. [i386] Fixed syscall_sw.h to be palatable to the GNU preproc. [PMAX] Fixed rpd's register leak. Added optional code to locore to zero temporary registers out of a syscall. Fix from Larry Allen: kernel thread were started with interrupts disabled. Fixed off-by-one in syscall emulation table size: Ultrix code does use syscall 257 too. Fixed memory sizing routine for 3max to clear memory: this way we won't get those misterious "dropped because of previous paging-errors". Various minor spot clean for new 3max proms. Organizational changes: -------------- ------- [PMAX] The new 16 sector bootstrap is built make-ing in kernel/mips/boot. Be careful with this: with Berkeley labels you cannot anymore just dd any file in there: it now knows about partitioning. See the Makefile for more info. Special notes: ------- ----- Booted on pmax(unnamed), 3max(testarossa), vax(nova), sun3(rocky) and i386(intel2) *************************************************** The following files have been Defuncted: [ ./kernel/mips/symbols.raw ] [ ./kernel/mips/PMAX/ascreg.h ] [ ./kernel/mips/PMAX/cfb.c ] [ ./kernel/mips/PMAX/cfbreg.h ] [ ./kernel/mips/PMAX/dc7085cons.h ] [ ./kernel/mips/PMAX/dc_hdw.c ] [ ./kernel/mips/PMAX/dc_modem.c ] [ ./kernel/mips/PMAX/dc_tty.c ] [ ./kernel/mips/PMAX/devio.h ] [ ./kernel/mips/PMAX/ga.c ] [ ./kernel/mips/PMAX/ga.h ] [ ./kernel/mips/PMAX/gq.c ] [ ./kernel/mips/PMAX/gq.h ] [ ./kernel/mips/PMAX/gx.c ] [ ./kernel/mips/PMAX/gx.h ] [ ./kernel/mips/PMAX/fudge.h ] [ ./kernel/mips/PMAX/pm.h ] [ ./kernel/mips/PMAX/pm_graphics.c ] [ ./kernel/mips/PMAX/pm_hdw.h ] [ ./kernel/mips/PMAX/pm_lk201.c ] [ ./kernel/mips/PMAX/pm_lk201.h ] [ ./kernel/mips/PMAX/pm_ms.c ] [ ./kernel/mips/PMAX/pm_ms.h ] [ ./kernel/mips/PMAX/pm_switch.c ] [ ./kernel/mips/PMAX/pm_switch.h ] [ ./kernel/mips/PMAX/pm_tty.c ] [ ./kernel/mips/PMAX/pmax.c ] [ ./kernel/mips/PMAX/pmevent.h ] [ ./kernel/mips/PMAX/pmioctl.h ] [ ./kernel/mips/PMAX/qfont.c ] [ ./kernel/mips/PMAX/rzdisk.h ] [ ./kernel/mips/PMAX/scsi_asc.c ] [ ./kernel/mips/PMAX/scsi_data.c ] [ ./kernel/mips/PMAX/scsi_debug.h ] [ ./kernel/mips/PMAX/scsi_sii.c ] [ ./kernel/mips/PMAX/scsireg.h ] [ ./kernel/mips/PMAX/siireg.h ] [ ./kernel/mips/PMAX/stamp.h ] [ ./kernel/mips/PMAX/super.c ] [ ./kernel/mips/PMAX/scsivar.h ] The following files are new [ ./kernel/mips/PMAX/boot/Makefile ] [ ./kernel/mips/PMAX/boot/asm_misc.h ] [ ./kernel/mips/PMAX/boot/asm_misc.s ] [ ./kernel/mips/PMAX/boot/c_misc.c ] [ ./kernel/mips/PMAX/boot/dev.h ] [ ./kernel/mips/PMAX/boot/dir.h ] [ ./kernel/mips/PMAX/boot/disk_inode.h ] [ ./kernel/mips/PMAX/boot/fs.h ] [ ./kernel/mips/PMAX/boot/label.b ] [ ./kernel/mips/PMAX/boot/mkboot.c ] [ ./kernel/mips/PMAX/boot/primary_boot.c ] [ ./kernel/mips/PMAX/boot/start.s ] [ ./kernel/mips/PMAX/boot/test.c ] [ ./kernel/mips/PMAX/boot/ufs.c ] [ ./kernel/mips/PMAX/boot/ufs.h ] [ ./kernel/mips/PMAX/bt459.c ] [ ./kernel/mips/PMAX/bt459.h ] [ ./kernel/mips/PMAX/bt478.c ] [ ./kernel/mips/PMAX/bt478.h ] [ ./kernel/mips/PMAX/build_font.c ] [ ./kernel/mips/PMAX/cfb_hdw.c ] [ ./kernel/mips/PMAX/cfb_misc.c ] [ ./kernel/mips/PMAX/dc503.c ] [ ./kernel/mips/PMAX/dc503.h ] [ ./kernel/mips/PMAX/dz_7085.h ] [ ./kernel/mips/PMAX/dz_defs.h ] [ ./kernel/mips/PMAX/dz_hdw.c ] [ ./kernel/mips/PMAX/dz_tty.c ] [ ./kernel/mips/PMAX/ga_hdw.c ] [ ./kernel/mips/PMAX/gq_hdw.c ] [ ./kernel/mips/PMAX/gx_misc.c ] [ ./kernel/mips/PMAX/kernel_font.c ] [ ./kernel/mips/PMAX/kernel_font.data ] [ ./kernel/mips/PMAX/kn01.c ] [ ./kernel/mips/PMAX/kn01.h ] [ ./kernel/mips/PMAX/kn02.c ] [ ./kernel/mips/PMAX/kn02.h ] [ ./kernel/mips/PMAX/lk201.c ] [ ./kernel/mips/PMAX/lk201.h ] [ ./kernel/mips/PMAX/mapped_scsi.c ] [ ./kernel/mips/PMAX/mapped_scsi.h ] [ ./kernel/mips/PMAX/mouse.c ] [ ./kernel/mips/PMAX/pm_defs.h ] [ ./kernel/mips/PMAX/pm_hdw.c ] [ ./kernel/mips/PMAX/pm_misc.c ] [ ./kernel/mips/PMAX/pmad_aa.h ] [ ./kernel/mips/PMAX/pmag_ba.h ] [ ./kernel/mips/PMAX/pmaz_aa.h ] [ ./kernel/mips/PMAX/rz.c ] [ ./kernel/mips/PMAX/rz.h ] [ ./kernel/mips/PMAX/rz_disk.c ] [ ./kernel/mips/PMAX/rz_labels.h ] [ ./kernel/mips/PMAX/rz_tape.c ] [ ./kernel/mips/PMAX/screen.c ] [ ./kernel/mips/PMAX/screen.h ] [ ./kernel/mips/PMAX/screen_defs.h ] [ ./kernel/mips/PMAX/screen_switch.c ] [ ./kernel/mips/PMAX/screen_switch.h ] [ ./kernel/mips/PMAX/scsi.c ] [ ./kernel/mips/PMAX/scsi.h ] [ ./kernel/mips/PMAX/scsi2.h ] [ ./kernel/mips/PMAX/scsi_53C94.h ] [ ./kernel/mips/PMAX/scsi_53C94_hdw.c ] [ ./kernel/mips/PMAX/scsi_7061.h ] [ ./kernel/mips/PMAX/scsi_7061_hdw.c ] [ ./kernel/mips/PMAX/scsi_alldevs.c ] [ ./kernel/mips/PMAX/scsi_comm.c ] [ ./kernel/mips/PMAX/scsi_cpu.c ] [ ./kernel/mips/PMAX/scsi_defs.h ] [ ./kernel/mips/PMAX/scsi_disk.c ] [ ./kernel/mips/PMAX/scsi_jukebox.c ] [ ./kernel/mips/PMAX/scsi_optical.c ] [ ./kernel/mips/PMAX/scsi_printer.c ] [ ./kernel/mips/PMAX/scsi_rom.c ] [ ./kernel/mips/PMAX/scsi_scanner.c ] [ ./kernel/mips/PMAX/scsi_tape.c ] [ ./kernel/mips/PMAX/scsi_worm.c ] The following files have been modified: [ ./Directories/ALL ] [ ./Directories/mips ] [ ./include/Makefile ] [ ./kernel/conf/MASTER.mips ] [ ./kernel/conf/files.mips ] [ ./kernel/device/param.h ] [ ./kernel/device/tape_status.h ] [ ./kernel/device/tty_status.h ] [ ./kernel/kern/syscall_emulation.c ] [ ./kernel/kern/thread.c ] [ ./kernel/mach/i386/syscall_sw.h ] [ ./kernel/mips/PMAX/if_se.c ] [ ./kernel/mips/PMAX/if_se.h ] [ ./kernel/mips/PMAX/if_se_mapped.c ] [ ./kernel/mips/PMAX/mc_clock.c ] [ ./kernel/mips/PMAX/mips_box.c ] [ ./kernel/mips/PMAX/mips_box.h ] [ ./kernel/mips/PMAX/model_dep.c ] [ ./kernel/mips/PMAX/tc.c ] [ ./kernel/mips/PMAX/tc.h ] [ ./kernel/mips/autoconf.c ] [ ./kernel/mips/busses.c ] [ ./kernel/mips/busses.h ] [ ./kernel/mips/coff.h ] [ ./kernel/mips/conf.c ] [ ./kernel/mips/context.s ] [ ./kernel/mips/db_interface.c ] [ ./kernel/mips/db_mips_sym.c ] [ ./kernel/mips/exec.c ] [ ./kernel/mips/locore.s ] [ ./kernel/mips/mips_init.c ] [ ./kernel/mips/mips_misc.c ] [ ./kernel/mips/pcb.c ] [ ./kernel/mips/pmap.c ] [ ./kernel/mips/prom_interface.h ] [ ./kernel/mips/start.s ] [ ./kernel/mips/tlb.s ] [ ./kernel/mips/trap.c ] [ ./user/libmach/Makefile ] ========================================================================== ***** MK Version MK38 (jsb) ***** New features: --- -------- Replaced uses of @sys in Makefiles and Makeconf with $(atsys). atsys is set to ATSYS if defined, @sys if not. [MACH_CLPORT] Support for complex inter-node messages. [MACH_CLBOOT] Support for transparent inter-node device access. [iPSC] New dcm interface for MACH_CLPORT support. [iPSC] Finished merge of i860 and i386 console driver (usm.c). ========================================================================== ***** MK Version MK39 (jeffreyh) ***** New features: --- -------- Zone gc code has been picked up from OSF/1. All zones in the system are now collected. zchange now takes an extra argument for collectable. This is so you could turn collection off for a zone. [I386] The 386 is now buildable using the gcc-cpp from MtXinu. Several additions to the code for __STDC__ have been made. Due to this work mig no longer generates prototypes for ansi C and C++ in the generated header files. This is because the prototypes in the headers were for the the client side only. Kernel files that were including these headers would fail to compile as the types and number of arguments to the functions was wrong. If prototypes are wanted for mig headers, mig must be made to generate both client and server header files with apropriate prototypes. Bug fixes: --- ----- [PMAX] scsi disk fixes from af A few others ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 39 [ ./kernel/boot_ufs/def_pager_setup.c ] Added init for default_partition_lock [90/12/11 jeffreyh] [ ./kernel/i386/asm.h ] changes for __STDC__ [90/12/06 jeffreyh] [ ./kernel/i386/cswitch.s ] Changes for __STDC__ Changes for __STDC__ [90/12/07 15:45:37 jeffreyh] [ ./kernel/i386/interrupt.s ] Changes for __STDC__ [90/12/07 15:43:38 jeffreyh] [ ./kernel/i386/locore.s ] Changes for __STDC__ [90/12/07 15:43:29 jeffreyh] [ ./kernel/i386/pio.h ] changes for __STDC__ [90/12/07 jeffreyh] [ ./kernel/i386/spl.s ] Changes for __STDC__ [90/12/07 jeffreyh] [ ./kernel/i386/start.s ] Changes for __STDC__ [90/12/07 15:43:21 jeffreyh] [ ./kernel/i386at/blit.c ] Changes for __STDC__ [90/12/07 jeffreyh] [ ./kernel/i386at/if_pc586.c ] Changes for __STDC__ [90/12/07 jeffreyh] [ ./kernel/ipc/ipc_init.c ] Changes to zchange to account for new collectable field. Made all ipc zones collectable. [90/12/11 jeffreyh] [ ./kernel/ipc/ipc_marequest.c ] Change zchange to match new number of arguments. Made zone collectable. [90/12/11 jeffreyh] [ ./kernel/kern/zalloc.c ] [90/12/19 10:36:55 jeffreyh] [ ./kernel/kern/zalloc.h ] Merged in changes done by jvs@osf from OSF/1 [90/12/10 jeffreyh] [ ./kernel/mips/PMAX/rz.c ] Do not use minphys(), we do not need to trim requests. [90/12/11 af] [ ./kernel/mips/PMAX/rz_disk.c ] Bug in strategy routine: for xfers larger than max_dma was not setting the io_count right at the end of the transfer. Now new fsck works. [90/12/10 17:26:47 af] [ ./kernel/mips/locore.s ] Fixed gimmeabreak() to let you sstep out of it. Long overdue, but I had this habit of putting a breakpoint where I wanted to stop anyways. [90/12/13 af] [ ./kernel/mips/PMAX/scsi_7061_hdw.c ] More hacks to understand rz55, and now hitachis boot. There is still one problem for hitachis at large, will fix in the next merge. [90/12/19 15:17:48 af] [ ./kernel/src/mig/header.c ] Commented out code for prototype generation. This is a temporary solution to the longer term problem of the need for the generation of both a client and a server header file that have correct prototypes for strict ansi c and c++. The prototypes generated before anly were for the client and broke kernel files that included them if compiled under standard gcc [90/12/07 jeffreyh] [ ./kernel/vm/vm_external.c ] Change zchange to accept new argument. Made zones collectable. [90/12/11 jeffreyh] ========================================================================== ***** MK Version MK40 (rpd) ***** New features: --- -------- Kernel stack discarding and related optimizations. Currently a thread's kernel stack is discarded when it is created, when it is suspended, when it waits in a message receive, and when it waits for a reply to an exception_raise upcall. Threads without kernel stacks are "swapped". All runnable threads have kernel stacks. The vax and sun3 don't discard kernel stacks. In fact, they don't even unwire kernel stacks. MI code uses a KEEP_STACKS conditional (temporary, I hope) to support unconverted architectures. The i386 discards kernel stacks, but the implementation is suboptimal. locore still saves user state on the kernel stack, so stack_switch() must copy user state to and from the kernel stack. [I386] I picked up Bob's v86 support. The IO permission bit implementation is suboptimal. It copies the IO permission bits into the kernel's TSS at every context-switch to a thread with bits set. I added a ddb command, continue-with-count (c/c). It continues, counting instructions, until a breakpoint is hit. On the pmax, loads and stores are also counted. I added a debugging call, host_virtual_physical_table_info, to return information about the VP hash table. The hash_info program in the USER tree uses it. I enabled software reference bits (again) and disabled TLB reference bits on the pmax (again). Bug fixes: --- ----- I revised the way the network code allocates message buffers. It should drop fewer packets now. This improves network performance significantly on some machines. I changed the zone package to make zones non-collectable by default. The only collectable zones now are the large kalloc zones. Numerous minor fixes, including stuff from Sandro & Bob... [ ./conf/version.edit ] 40 [ ./include/Makefile ] Added mach_debug/hash_info.h. [91/01/04 rpd] [ ./kernel/conf/MASTER ] Removed FAST_CSW (tag fast_csw). [90/12/08 rpd] Removed MACH_IPC_GENNOS (tag ipc_gennos). [90/11/08 rpd] [ ./kernel/conf/MASTER.mips ] Disabled ref_bits. Again. [91/01/04 rpd] [ ./kernel/conf/files ] Removed ./mach/exc_user.c. [90/12/26 rpd] Removed FAST_CSW. [90/12/08 rpd] Removed MACH_IPC_GENNOS. [90/11/08 rpd] [ ./kernel/ddb/db_break.c ] Added db_map_equal, db_map_current, db_map_addr. [90/11/10 rpd] [ ./kernel/ddb/db_run.c ] Fixed bug in db_restart_at_pc. [90/12/07 rpd] Added STEP_COUNT and count option to db_continue_cmd. Changed db_stop_at_pc to return (modified) is_breakpoint. Fixed db_stop_at_pc to print newlines in the right places. [90/11/27 rpd] [ ./kernel/ddb/db_trap.c ] Changed db_stop_at_pc's arguments. Print db_inst_count, db_load_count, db_store_count. [90/11/27 rpd] [ ./kernel/ddb/db_watch.c ] Use db_map_equal, db_map_current, db_map_addr. [90/11/10 rpd] [ ./kernel/device/dev_master.h ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/device/ds_routines.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/device/net_io.c ] Replaced NET_KMSG_GET, NET_KMSG_FREE with net_kmsg_get, net_kmsg_put, net_kmsg_collect. Increased net_kmsg_ilist_min to 4. [91/01/05 rpd] Fixed net_rcv_msg_thread to round message sizes up to an int multiple. [90/12/07 rpd] Fixed net_rcv_msg_thread to not set vm_privilege. [90/11/29 rpd] [ ./kernel/device/net_io.h ] Replaced NET_KMSG_GET, NET_KMSG_FREE with net_kmsg_get, net_kmsg_put, net_kmsg_collect. [91/01/05 rpd] [ ./kernel/device/subrs.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/i386/cswitch.s ] Minor cleanup. [90/12/31 rpd] Added switch_task_context, switch_thread_context. [90/12/12 rpd] Reorganized the pcb. [90/12/11 rpd] [ ./kernel/i386/db_machdep.h ] Added dummy inst_load/inst_store macros. [90/12/11 rpd] [ ./kernel/i386/db_trace.c ] Reorganized the pcb. [90/12/11 rpd] [ ./kernel/i386/fpu.c ] Split i386_machine_state off of i386_kernel_state. [90/12/31 rpd] Reorganized the pcb. [90/12/11 rpd] [ ./kernel/i386/genassym.c ] Reorganized the pcb. [90/12/11 rpd] [ ./kernel/i386/init.c ] Initialize the new pcb zone in machine_init. [90/12/11 rpd] [ ./kernel/i386/locore.s ] Replaced thread_bootstrap_user, thread_bootstrap_kernel with thread_exception_return, thread_syscall_return. Updated mach_trap_table indexing for new layout. [90/12/17 rpd] Renamed thread_bootstrap to thread_bootstrap_user. Added thread_bootstrap_kernel. [90/12/14 rpd] Reorganized the pcb. Added copyinmsg, copyoutmsg synonyms for copyin, copyout. [90/12/11 rpd] [ ./kernel/i386/pcb.c ] Removed pcb_synch. Added pcb_collect. [91/01/03 rpd] Split i386_machine_state off of i386_kernel_state. Set k_stack_top correctly for V8086 threads. [90/12/31 rpd] Added stack_switch. Moved stack_alloc_try, stack_alloc, stack_free, stack_statistics to kern/thread.c. [90/12/14 rpd] Reorganized the pcb. Added stack_attach, stack_alloc, stack_alloc_try, stack_free, stack_statistics. [90/12/11 rpd] [ ./kernel/i386/read_fault.c ] Changed VM_WAIT to VM_PAGE_WAIT. [90/12/11 rpd] [ ./kernel/i386/thread.h ] Added i386_machine_state. [91/01/03 22:05:01 rpd] Reorganized the pcb. [90/12/11 rpd] [ ./kernel/i386/trap.c ] Only need csw_needed in AST exit path. [90/12/27 rpd] Replaced thread_doexception with new exception interface. [90/12/21 rpd] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/i386at/if_3c501.c ] Changed NET_KMSG_GET, NET_KMSG_FREE to net_kmsg_get, net_kmsg_put. [91/01/05 rpd] [ ./kernel/i386at/if_pc586.c ] Changed NET_KMSG_GET, NET_KMSG_FREE to net_kmsg_get, net_kmsg_put. [91/01/05 rpd] [ ./kernel/i386at/if_wd8003.c ] Changed NET_KMSG_GET, NET_KMSG_FREE to net_kmsg_get, net_kmsg_put. [91/01/05 rpd] [ ./kernel/i386ipsc/if_cnp.c ] Changed NET_KMSG_GET, NET_KMSG_FREE to net_kmsg_get, net_kmsg_put. [91/01/05 rpd] [ ./kernel/intel/pmap.c ] Changed pmap_collect to ignore the kernel pmap. [91/01/03 rpd] [ ./kernel/ipc/ipc_entry.c ] Removed MACH_IPC_GENNOS. [90/11/08 rpd] [ ./kernel/ipc/ipc_entry.h ] Removed MACH_IPC_GENNOS, IE_BITS_UNUSEDC, IE_BITS_UNUSEDG. [90/11/08 rpd] [ ./kernel/ipc/ipc_hash.c ] Changed ipc_info_bucket_t to hash_info_bucket_t. [91/01/02 rpd] [ ./kernel/ipc/ipc_hash.h ] Changed ipc_info_bucket_t to hash_info_bucket_t. [91/01/02 rpd] [ ./kernel/ipc/ipc_init.c ] Changed zchange calls to make the IPC zones non-collectable. [90/12/29 rpd] [ ./kernel/ipc/ipc_kmsg.c ] Added ipc_kmsg_free. [91/01/05 rpd] Optimized ipc_kmsg_copyout_object for send rights. [90/12/21 rpd] Changed to use new copyinmsg/copyoutmsg operations. Changed ipc_kmsg_get to check that the size is multiple of four. [90/12/05 rpd] Removed MACH_IPC_GENNOS. [90/11/08 rpd] [ ./kernel/ipc/ipc_kmsg.h ] Added ipc_kmsg_free. Generalized the notion of special message sizes. [91/01/05 rpd] Added declarations of ipc_kmsg_copyout_object, ipc_kmsg_copyout_body. [90/12/21 rpd] [ ./kernel/ipc/ipc_marequest.c ] Changed ipc_info_bucket_t to hash_info_bucket_t. [91/01/02 rpd] Changed zchange calls to make the IPC zones non-collectable. [90/12/29 rpd] [ ./kernel/ipc/ipc_marequest.h ] Changed ipc_info_bucket_t to hash_info_bucket_t. [91/01/02 rpd] [ ./kernel/ipc/ipc_mqueue.c ] Changed continuation argument to (void (*)()). [90/12/18 rpd] Reorganized ipc_mqueue_receive. [90/11/22 rpd] Minor cleanup. [90/11/11 rpd] [ ./kernel/ipc/ipc_mqueue.h ] Changed continuation argument and IMQ_NULL_CONTINUE to (void (*)()). [90/12/18 rpd] Reorganized ipc_mqueue_receive. [90/11/22 rpd] [ ./kernel/ipc/ipc_space.c ] Removed MACH_IPC_GENNOS. [90/11/08 rpd] [ ./kernel/ipc/mach_debug.c ] Changed ipc_info_bucket_t to hash_info_bucket_t. [91/01/02 rpd] Removed MACH_IPC_GENNOS. [90/11/08 rpd] [ ./kernel/ipc/mach_msg.c ] Added KEEP_STACKS support. [91/01/07 rpd] Changed to use thread_syscall_return. Added msg_receive_continue. [90/12/18 rpd] Added mach_msg_continue, mach_msg_receive_continue. Changes to support kernel stack discarding/hand-off. [90/12/09 17:29:04 rpd] Removed MACH_IPC_GENNOS. [90/11/08 rpd] [ ./kernel/ipc/mach_msg.h ] Created. [90/11/22 rpd] [ ./kernel/ipc/port.h ] Removed MACH_IPC_GENNOS. [90/11/08 rpd] [ ./kernel/kern/exception.c ] Added KEEP_STACKS support. [91/01/08 14:11:40 rpd] Replaced thread_doexception with new, optimized exception path. [90/12/22 rpd] [ ./kernel/kern/ipc_mig.c ] Don't need mach_msg_rpc_from_kernel. [90/12/26 rpd] Updated ipc_mqueue_receive calls. [90/11/21 rpd] Removed MACH_IPC_GENNOS. [90/11/09 rpd] [ ./kernel/kern/ipc_sched.c ] Added KEEP_STACKS support. [91/01/06 rpd] Added ipc_thread_switch_hits, ipc_thread_switch_misses counters. [91/01/03 22:07:15 rpd] Modified ipc_thread_switch to deal with pending timeouts. [90/12/20 rpd] Removed ipc_thread_go_and_block. Added ipc_thread_switch. [90/12/08 rpd] [ ./kernel/kern/ipc_sched.h ] Removed ipc_thread_go_and_block. Added ipc_thread_switch. Added continuation argument to ipc_thread_block. [90/12/08 rpd] [ ./kernel/kern/ipc_tt.c ] Added retrieve_task_self_fast, retrieve_thread_self_fast. [90/12/27 rpd] [ ./kernel/kern/ipc_tt.h ] Added retrieve_task_self_fast, retrieve_thread_self_fast. [90/12/27 rpd] [ ./kernel/kern/mach_clock.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/kern/machine.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/kern/sched_prim.c ] Added KEEP_STACKS support. [91/01/06 rpd] Added thread_continue_calls counter. [91/01/03 22:07:43 rpd] Added continuation argument to thread_run. [90/12/11 rpd] Added continuation argument to thread_block/thread_continue. Removed FAST_CSW conditionals. [90/12/08 rpd] Removed thread_swap_tick. [90/11/11 rpd] [ ./kernel/kern/startup.c ] Swapin the startup thread and idle threads. [90/11/20 rpd] Removed swapout_thread. [90/11/11 rpd] [ ./kernel/kern/syscall_subr.c ] Added continuation argument to thread_run. [90/12/11 rpd] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/kern/syscall_sw.c ] Changed to use MACH_TRAP_STACK appropriately. [90/12/27 21:20:57 rpd] [ ./kernel/kern/syscall_sw.h ] Added mach_trap_stack, MACH_TRAP_STACK. [90/12/18 rpd] [ ./kernel/kern/task.c ] Added consider_task_collect, task_collect_scan. [91/01/03 rpd] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/kern/thread.c ] Added KEEP_STACKS support. [91/01/06 rpd] Added consider_thread_collect, thread_collect_scan. [91/01/03 rpd] Added locking to the stack package. Added stack_collect. [90/12/31 rpd] Changed thread_dowait to discard the stacks of suspended threads. [90/12/22 rpd] Added continuation argument to thread_block. [90/12/08 rpd] Changed thread_create to make new threads be swapped. Changed kernel_thread to swapin the threads. [90/11/20 rpd] Removed stack_free/stack_alloc/etc. [90/11/12 rpd] Changed thread_create to let pcb_init handle all pcb initialization. [90/11/11 rpd] [ ./kernel/kern/thread.h ] Added saved-state fields for exceptions. [90/12/23 rpd] Added swap_func. [90/11/20 rpd] [ ./kernel/kern/thread_swap.c ] Added continuation argument to thread_block. [90/12/08 rpd] Removed swapout_thread, swapout_threads, swapout_scan, thread_swapout. [90/11/11 rpd] [ ./kernel/kern/zalloc.c ] Added zalloc_wasted_space. [91/01/06 rpd] Removed COLLECT_ZONE_GARBAGE. [91/01/03 rpd] Changed zinit to make zones by default *not* collectable. [90/12/29 rpd] Added consider_zone_gc. [90/11/11 rpd] [ ./kernel/kern/zalloc.h ] Removed COLLECT_ZONE_GARBAGE. Added consider_zone_gc. [91/01/03 rpd] [ ./kernel/mach/mips/asm.h ] Changed EF prefix to MSS. [90/12/30 rpd] [ ./kernel/mach/mips/vm_param.h ] Reduced kernel stack size to one page. [90/11/12 rpd] [ ./kernel/mach_debug/hash_info.h ] Created. [91/01/02 rpd] [ ./kernel/mach_debug/ipc_info.h ] Moved ipc_info_bucket_t to mach_debug/hash_info.h. [91/01/02 rpd] [ ./kernel/mach_debug/mach_debug.defs ] Added host_virtual_physical_table_info. [91/01/02 rpd] [ ./kernel/mach_debug/mach_debug_types.h ] Added . [91/01/02 rpd] [ ./kernel/mips/PMAX/if_se.c ] Changed NET_KMSG_GET, NET_KMSG_FREE to net_kmsg_get, net_kmsg_put. [91/01/05 rpd] [ ./kernel/mips/PMAX/mouse.c ] Mouse events are now accounted for by the screen saver. [91/01/04 15:35:30 af] [ ./kernel/mips/PMAX/screen.c ] Added compress_mouse_events, by default FALSE. [91/01/08 14:14:03 rpd] [ ./kernel/mips/PMAX/scsi_53C94_hdw.c ] Added continuation argument to thread_block. [90/12/27 rpd] [ ./kernel/mips/PMAX/scsi_7061_hdw.c ] Catched hitachi's problem: spurious interrupt _before_ dmain/out even got started. [90/12/29 af] Added continuation argument to thread_block. [90/12/27 rpd] [ ./kernel/mips/autoconf.c ] Added pcb_zone. [90/12/09 17:34:12 rpd] [ ./kernel/mips/context.h ] Removed TLB_SAFE_KSTACK, TLB_SAFE_KSTACK1. [90/12/08 rpd] [ ./kernel/mips/context.s ] Added mips_stack_base. [91/01/02 rpd] Split mips_machine_state off of mips_kernel_state. Moved stack_switch to mips/pcb.c. [90/12/30 rpd] Removed load_context_ipc, save_context. Added switch_task_context, switch_thread_context. [90/12/08 rpd] Added stack_switch, load_context_ipc. [90/11/29 rpd] Changed save_context/load_context for pcb reorganization. Removed stack wiring code from load_context. Disabled pmap_pcache code. [90/11/12 rpd] [ ./kernel/mips/db_interface.c ] Changed kdb_trap to return TRUE if it actually enters kdb. [90/12/23 rpd] Fixed to use kdbsplhigh/kdbsplx. [90/11/26 rpd] [ ./kernel/mips/db_machdep.h ] Added inst_load, inst_store. [90/11/27 rpd] [ ./kernel/mips/db_trace.c ] Quit tracing after hitting a zero pc. [90/12/31 rpd] Changed for new pcb organization. [90/11/12 rpd] [ ./kernel/mips/genassym.c ] Added mips_stack_base. [91/01/02 rpd] Changed to consistent MKS_, MSS_, MEL_, MMS_ prefixes. Split mips_machine_state off of mips_kernel_state. [90/12/30 rpd] Added PCB_SIZE. [90/11/12 rpd] [ ./kernel/mips/locore.s ] Fixed gimmeabreak to allow the user to single-step out of it. [91/01/06 rpd] Added mips_stack_base. [91/01/02 rpd] Split mips_machine_state off of mips_kernel_state. [90/12/30 rpd] Moved thread_exception_return to mips/trap.c. [90/12/23 rpd] Replaced thread_bootstrap_user, thread_bootstrap_kernel with thread_exception_return, thread_syscall_return. Updated native syscall processing for new mach_trap_table layout. [90/12/18 rpd] Changed the exception frame/pcb layout. [90/11/19 rpd] [ ./kernel/mips/mips_copyin.s ] Added copyinmsg, copyoutmsg. Fixed copyin to check correctly for user space violations. [90/12/05 rpd] [ ./kernel/mips/mips_cpu.s ] Updated for new symbolic field names. [91/01/03 22:10:08 rpd] Replaced thread_doexception with exception. [90/12/27 21:22:32 rpd] Added kdbsplhigh and kdbsplx. [90/11/26 rpd] Changed disable_fpa for new pcb organization. [90/11/12 rpd] [ ./kernel/mips/mips_init.c ] Changed for pcb reorganization. [90/11/12 rpd] [ ./kernel/mips/mips_instruction.c ] Added isa_load, isa_store. [90/11/27 rpd] [ ./kernel/mips/pcb.c ] Removed pcb_synch. Added pcb_collect. [91/01/03 rpd] Added mips_stack_base. [91/01/02 rpd] Split mips_machine_state off of mips_kernel_state. Moved stack_switch here from mips/context.s. [90/12/30 rpd] Eliminated thread_bootstrap_user, thread_bootstrap_kernel. [90/12/19 rpd] Added pcb_alloc/pcb_free. Use vm_page_grab/vm_page_free for kernel stacks. Reorganized the pcb layout. Removed thread_private. [90/11/11 rpd] [ ./kernel/mips/thread.h ] Added mips_stack_base. [91/01/02 rpd] Split mips_machine_state off of mips_kernel_state. Changed mips_exception_state to mips_exception_link. [90/12/30 rpd] Added definition of MACHINE_STACK. [90/12/14 rpd] Added mips_exception_state, USER_LINK. [90/11/13 rpd] Changed pcb to include both mips_kernel_state and mips_saved_state. [90/11/11 rpd] [ ./kernel/mips/tlb.s ] Removed tlb_probe_and_wire. [90/11/12 rpd] [ ./kernel/mips/trap.c ] Added a couple counters to tlb_miss. [91/01/08 14:15:03 rpd] Disabled pcache code. [90/12/29 rpd] Replaced thread_doexception with new exception interface. Moved thread_exception_return here from mips/locore.s. It must install single-step breakpoints in the user. Added thread_kdb_return. [90/12/23 rpd] Added continuation argument to thread_block. [90/12/08 rpd] Added support for copymsgin, copymsgout. [90/12/05 rpd] Changed for new pcb organization. [90/11/12 rpd] [ ./kernel/sun3/db_machdep.h ] Added dummy inst_load/inst_store macros. [91/01/06 rpd] [ ./kernel/sun3/locore.s ] Added copyinmsg, copyoutmsg aliases. Updated for new mach_trap_table layout. [91/01/06 rpd] [ ./kernel/sun3/pcb.c ] Added KEEP_STACKS support. [91/01/06 rpd] Added empty frame on thread start for tracing. [89/05/25 rwd] Converted for MACH kernel. [88/11/03 dbg] [ ./kernel/sun3/thread.h ] Added KEEP_STACKS support. [91/01/06 rpd] [ ./kernel/sun3/trap.c ] Added KEEP_STACKS support. [91/01/07 rpd] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/sundev/cgtwo.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/sundev/mb.c ] Added continuation argument to thread_block. [90/12/08 rpd] Modified for MACH_KERNEL. [89/03/22 dbg] [ ./kernel/sundev/sd.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/sundev/st.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/sundev/xy.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/sundev/zs_async.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/sunif/if_ie.c ] Changed NET_KMSG_GET, NET_KMSG_FREE to net_kmsg_get, net_kmsg_put. [91/01/05 rpd] [ ./kernel/sunif/if_le.c ] Changed NET_KMSG_GET, NET_KMSG_FREE to net_kmsg_get, net_kmsg_put. [91/01/05 rpd] [ ./kernel/vax/db_machdep.h ] Added dummy inst_load/inst_store macros. [91/01/06 rpd] [ ./kernel/vax/inline/langpats.c ] Added copyinmsg, copyoutmsg. [91/01/06 rpd] [ ./kernel/mach_debug/mach_debug_types.defs ] Changed ipc_info_bucket_t to hash_info_bucket_t. [91/01/02 rpd] [ ./kernel/mips/PMAX/dz_hdw.c ] Modified dz_param never to use 7bits per char. Now we can use the serial lines even in non-raw mode, which means we can login, for instance. [90/12/31 af] [ ./kernel/mips/softfp.s ] Replaced thread_doexception with new exception interface. [90/12/23 rpd] [ ./kernel/vax/locore.s ] Updated for new mach_trap_table layout. [91/01/06 rpd] [ ./kernel/vax/model_dep.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/vax/mscp.c ] Added continuation argument to thread_block. [90/12/08 rpd] Changes for MACH_KERNEL. [88/08/29 dbg] Compile the error printing code if (NTMSCP > 0) as well as if NET_UDA. Directly include , as the Berkeley version won't work (and must be left intact if NET_UDA is not true). [88/08/29 mwyoung] Corrected include file references. [88/08/22 mwyoung] [ ./kernel/vax/pcb.c ] Added KEEP_STACKS support. [91/01/06 rpd] [ ./kernel/vax/thread.h ] Added KEEP_STACKS support. [91/01/06 rpd] [ ./kernel/vax/trap.c ] Added KEEP_STACKS support. [91/01/07 rpd] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/vaxif/if_ni.c ] Changed NET_KMSG_GET, NET_KMSG_FREE to net_kmsg_get, net_kmsg_put. [91/01/05 rpd] [ ./kernel/vaxif/if_uba.c ] Changed NET_KMSG_GET, NET_KMSG_FREE to net_kmsg_get, net_kmsg_put. [91/01/05 rpd] [ ./kernel/vaxuba/qd.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/vaxuba/uba.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/vaxuba/uda_umd.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/vm/memory_object.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/vm/vm_debug.c ] Added host_virtual_physical_table_info. [91/01/02 rpd] [ ./kernel/vm/vm_external.c ] Changed zchange calls to make the zones non-collectable. [90/12/29 rpd] [ ./kernel/vm/vm_fault.c ] Turned software_reference_bits on. [90/12/29 rpd] Added continuation argument to thread_block. [90/12/08 rpd] Changed VM_WAIT to VM_PAGE_WAIT. [90/11/13 rpd] [ ./kernel/vm/vm_kern.c ] Changed VM_WAIT to VM_PAGE_WAIT. [90/11/13 rpd] [ ./kernel/vm/vm_map.c ] Added continuation argument to thread_block. [90/12/08 rpd] [ ./kernel/vm/vm_object.c ] Added continuation argument to thread_block. [90/12/08 rpd] Fixed vm_object_terminate to give vm_pageout_page busy pages. [90/11/22 rpd] Changed VM_WAIT to VM_PAGE_WAIT. [90/11/13 rpd] [ ./kernel/vm/vm_page.h ] Changed to singly-linked VP bucket chains. [91/01/03 rpd] Changed vm_wait/VM_WAIT to vm_page_wait/VM_PAGE_WAIT. [90/11/13 rpd] [ ./kernel/vm/vm_pageout.c ] Added net_kmsg_collect. [91/01/05 rpd] Added consider_task_collect, consider_thread_collect. [91/01/03 rpd] Added stack_collect. [90/12/31 rpd] Added continuation argument to thread_block. [90/12/08 rpd] Ensure that vm_page_free_target is at least five pages larger than vm_page_free_min, to avoid vm_page_wait deadlock. [90/11/19 rpd] Replaced swapout_threads with consider_zone_gc. [90/11/11 rpd] [ ./kernel/vm/vm_resident.c ] Changed to singly-linked VP bucket chains. [91/01/03 rpd] Removed count field from VP buckets. Added vm_page_info. [91/01/02 rpd] Added vm_page_grab, vm_page_release. Changed vm_wait/VM_WAIT to vm_page_wait/VM_PAGE_WAIT. [90/12/09 17:41:15 rpd] [ ./user/threads/i386/csw.s ] Don't use Times - horta doesn't like it for some reason. [91/01/06 rpd] [ ./kernel/conf/MASTER.i386 ] Switch wd8003 -> ns8390 [91/01/04 12:13:52 rvb] [ ./kernel/conf/files.i386 ] Switch wd8003 -> ns8390 [91/01/04 12:14:06 rvb] [ ./kernel/ddb/db_command.c ] Forward reference for db_fncall(); [91/01/04 12:35:17 rvb] Add call as a synonym for ! and match for next [91/01/04 12:14:48 rvb] [ ./kernel/i386/hardclock.c ] EFL_VM => user_mode [90/12/21 10:50:54 rvb] [ ./kernel/i386/interrupt.s ] Need special interrupt_return [90/12/21 14:36:12 rvb] [ ./kernel/i386/locore.s ] interrupt_returns must check for EFL_VM. [90/12/21 14:37:44 rvb] Add trapv86 for VM thread. [90/12/19 17:00:56 rvb] [ ./kernel/i386/pit.c ] Flush dead EXL code. [90/11/27 11:38:08 rvb] [ ./kernel/i386/trap.c ] Add v86_hdw_assist(). [91/01/04 09:54:24 rvb] Basically add trapv86() [90/12/20 10:21:01 rvb] [ ./kernel/i386/tss.h ] Add bit_map [90/12/20 10:21:17 rvb] [ ./kernel/i386at/blitvar.h ] Trim $ header [90/11/27 11:44:11 rvb] [ ./kernel/i386at/conf.c ] Support for get/set status on hd and fd. Also fd has 64 minor devices per unit. Switch wd8003 -> ns8390 [91/01/04 12:17:15 rvb] [ ./kernel/i386at/disk.h ] Add V_ABS to log absolute address for 3.0 get/set stat version of V_RDABS AND V_WRABS [91/01/04 12:18:16 rvb] [ ./kernel/i386at/hd.c ] Allow ioctl's [90/12/19 rvb] [ ./kernel/i386at/if_3c503.h ] Etherlink II device specific info. [91/01/04 12:19:07 rvb] [ ./kernel/i386at/if_ns8390.c ] A few bug fixes. [91/01/08 16:41:04 rvb] Make this a generic driver for ns8390 from wd8003 because we now will also support etherlink ii. [91/01/04 12:25:21 rvb] [ ./kernel/i386at/if_ns8390.h ] Restrict to defines for the 8390 only. [91/01/04 12:25:57 rvb] [ ./kernel/i386at/if_wd8003.h ] Flush generic NS8390 defines to an NS8390 header file. [91/01/04 12:20:35 rvb] [ ./kernel/i386at/kd_mouse.c ] Trim $ Header [90/11/27 11:44:31 rvb] [ ./kernel/i386at/m765knl.c ] Add some 3.0 get/set stat stuff. [91/01/04 12:21:06 rvb] [ ./kernel/i386at/pic_isa.c ] Initially, do not allow clock interrupts [91/01/04 12:21:54 rvb] [ ./kernel/mach/i386/thread_status.h ] Two new flavors (from 2.5): #define i386_FLOAT_STATE 2 Hacked in not presently used, but someday... #define i386_ISA_PORT_MAP_STATE 3 Used [90/12/20 10:23:34 rvb] [ ./kernel/i386at/if_ns8390.c ] Changed NET_KMSG_GET to net_kmsg_get. [91/01/08 rpd] [ ./kernel/i386at/if_wd8003.c ] Purged. [ ./include/Makefile ] Added i386/fp_reg.h. [91/01/08 rpd] [ ./include/Makefile ] Added i386at/disk.h. [ ./kernel/mach_debug/Makefile ] Purged. [ ./kernel/i386at/if_ns8390.c ] Fixed typo in ns8390probe. [91/01/09 rpd] [ ./kernel/mips/PMAX/boot/primary_boot.c ] For new proms, zero envp because it is bogus. This lets me boot 2.5 on 3maxen again. [91/01/09 16:33:38 af] [ ./kernel/i386/pit.c ] Fixed clkstart to reset clock interrupt priority, etc. [91/01/09 rpd] Flush dead EXL code. [90/11/27 11:38:08 rvb] [ ./kernel/mips/PMAX/mips_box.c ] Defined pmax_memcheck() and related default implementation. [91/01/03 02:10:32 af] [ ./kernel/mips/PMAX/mips_box.h ] Now define mipsbox_memory_check() to cope with bus lockup caused by pmax SII chip. [91/01/02 af] [ ./kernel/mips/PMAX/kn01.c ] Added kn01_memcheck(). [91/01/03 02:09:21 af] [ ./kernel/mips/PMAX/model_dep.c ] Set pmax_memcheck() for pmaxen. [91/01/03 02:12:58 af] [ ./kernel/mips/trap.c ] Check mipsbox_memory_check return value. [91/01/09 rpd] [ ./kernel/i386/db_trace.c ] Fixed stack tracing for threads without kernel stacks. [91/01/09 rpd] [ ./kernel/i386at/autoconf.c ] Converted from wd8003 to ns8390. [91/01/08 rpd] [ ./kernel/mips/db_trace.c ] Fixed stack tracing for threads without kernel stacks. [91/01/09 rpd] [ ./kernel/i386/cswitch.s ] Renamed to Load_context and Switch_task_context. Removed ktss munging. [91/01/09 rpd] [ ./kernel/i386/genassym.c ] Removed user_regs, k_stack_top. [91/01/09 rpd] [ ./kernel/i386/init.c ] Added ktss zone. [91/01/09 rpd] [ ./kernel/i386/locore.s ] Removed k_user_regs. [91/01/09 rpd] [ ./kernel/i386/pcb.c ] Revised the pcb yet again. Picked up i386_ISA_PORT_MAP_STATE flavors. Added load_context, switch_task_context cover functions. [91/01/09 rpd] [ ./kernel/i386/thread.h ] Added dummy switch_thread_context macro. Added ktss to i386_machine_state. Removed user_regs, k_stack_top. [91/01/09 rpd] [ ./kernel/i386/trap.c ] Fixed a merge bug. [91/01/09 rpd] ========================================================================== ***** MK Version MK41 (mrt) ***** Added the new Mach copyright and disclaimer to all the machine independent files and the i386 and mips files. At this point we are allowd to distribute freely all the files needed for the i386 and mips platforms. Changed personal copyrights to author notices and added author notices to the files in the devices, ddb and mips directories. I would encourage people to put author notices on any files that they created or will create. Please do not put personal copyrights on files as it casts doubt over the rights of Carnegie Mellon to distribute the files. Since we will now be distributing these sources without requiring any licenses, please be very careful about adding any files with copyright notices that do not include a permission to distribute clause like the CMU one. If for some reason it is necessary to include a copyrighted file, be sure to tell me,so that I can exclude it from the ftp distribution. There was no change to code in this release. ========================================================================== ***** MK Version MK42 (mrt) ***** Bug fixes: --- ----- [I386] Picked up Rich Draves intel/pmap.c fix to keep the i386 version from hanging Picked up a number of i386 changes from Bob [PMAX] Picked up the scsi driver fix from Sandro and lots of other mips specfic files. Organizational changes: -------------- ------- All the libmach, theads and man sections now have the new Mach permissive copyright I upgraded the libmach i386 bcopy routine to reno in order to get a BSD permissive copyright. ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 42 Changes from Rich [ ./kernel/intel/pmap.c ] Fixed pmap_expand to use vm_page_grab/VM_PAGE_WAIT. [91/01/12 rpd] [ ./kernel/ipc/ipc_right.c ] Fixed bug in ipc_right_copyin_check, following rchen's report. [91/01/26 rpd] ****************************************************************** Copyright changes [ ./kernel/conf/copyright ] New Mach copyright [ ./kernel/man/* ] Changed to new Mach copyright [91/02/12 18:10:12 mrt] [ ./user/libmach/* ] Added new Mach copyright [91/02/13 12:45:25 mrt] [ ./user/threads/* ] Added new Mach copyright [91/02/13 12:40:50 mrt] [ ./kernel/sys/ioctl.h ] Changed to new Mach copyright [ ./kernel/i386/ntoh.s ] Changed to new Mach copyright ****************************************************************** Mips changes from Sandro [ ./kernel/mips/PMAX/cfb_hdw.c ] In interrupt routine, drop priority as now required. [91/02/12 12:44:36 af] [ ./kernel/mips/PMAX/dz_hdw.c ] In interrupt routine, drop priority as now required. [91/02/12 12:45:12 af] Modified dz_param never to use 7bits per char. Now we can use the serial lines even in non-raw mode, which means we can login, for instance. [90/12/31 af] [ ./kernel/mips/PMAX/ga_hdw.c ] In interrupt routine, drop priority as now required. [91/02/12 12:43:54 af] [ ./kernel/mips/PMAX/gq_hdw.c ] In interrupt routine, drop priority as now required. [91/02/12 12:44:15 af] [ ./kernel/mips/PMAX/if_se.c ] In interrupt routine, drop priority as now required. Added (optional) loopback of packets sent to ourselves, this way can run multiple POEs and have them talk to each other. Same flag lets you run with external hardware loopback terminator ignoring no-carrier errors. Fixed bug with multiple ether boards. Fixed bug with loopback path shifting data incorrectly. [91/02/12 12:53:29 af] [ ./kernel/mips/PMAX/if_se_mapped.c ] In interrupt routine, drop priority as now required. Also sanity check for spurious interrupts anyways. [91/02/12 12:41:46 af] [ ./kernel/mips/PMAX/kn01.c ] In interrupt routines, drop priority as now required. [91/02/12 12:54:42 af] Added kn01_memcheck(). [91/01/03 02:09:21 af] [ ./kernel/mips/PMAX/kn02.c ] Pass along the spllevel to interrupt routines. [91/02/12 12:40:09 af] [ ./kernel/mips/PMAX/mapped_scsi.c ] In interrupt routines, drop priority as now required. Also, sanity check against spurious interrupts. [91/02/12 13:17:21 af] [ ./kernel/mips/PMAX/mc_clock.c ] Factored out delay() function, and made it box-indep. Added accurate_config_delay() which calls delay()'s configuration code. Modified ackrtclock() to invoke it on first call. Tell the user what the CPU clock speed loks like, distinguish between DS3100 and DS2100 based on clock speed. [91/02/12 13:03:16 af] [ ./kernel/mips/PMAX/mc_clock.h ] New values for delay() function. [91/02/12 13:04:04 af] [ ./kernel/mips/PMAX/mips_box.c ] In clock interrupt routine, drop priority as now required. [91/02/12 12:59:26 af] Defined pmax_memcheck() and related default implementation. [91/01/03 02:10:32 af] [ ./kernel/mips/PMAX/mips_box.h ] Fix macros so that interrupt routines can drop priority as now required. [91/02/12 12:56:04 af] [ ./kernel/mips/PMAX/mouse.c ] Sanity check so that we will never loose synch if the serial line drops characters. [91/02/12 12:57:21 af] Mouse events are now accounted for by the screenm saver. [91/01/04 15:35:30 af] [ ./kernel/mips/PMAX/pm_hdw.c ] In interrupt routine, drop priority as now required. [91/02/12 12:42:39 af] [ ./kernel/mips/PMAX/rz_disk.c ] Added (optional and disabled) code for checksumming. [91/02/12 12:58:27 af] Bug in strategy routine: for xfers larger than max_dma was not setting the io_count right at the end of the transfer. Now new fsck works. [90/12/10 17:26:47 af] [ ./kernel/mips/PMAX/scsi_53C94_hdw.c ] In interrupt routine, drop priority as now required. Also, sanity check for spurious interrupts. Some more debugging tools. [91/02/12 12:46:38 af] [ ./kernel/mips/autoconf.c ] New values for new delay() function. [91/02/12 12:29:29 af] [ ./kernel/mips/db_interface.c ] Added flag not to invoke vm_fault(), used in crashed kernels. [91/02/12 12:15:09 af] [ ./kernel/mips/mips_cpu.s ] Fixed a number of problems in the FPA emulation code. Added delay() and its autotime function, this way we can distinguish between DS3100 and DS2100. [91/02/12 12:37:13 af] [ ./kernel/mips/mips_instruction.c ] Added branch_delay() for FPA emulation. [91/02/12 12:23:19 af] [ ./kernel/mips/pmap.c ] Fixed pmap_attribute() to loop through all phys pages while flushing the cache. If this gets used heavily for large ranges it will be wise to just flush the whole cache in one shot, or keep perhaps track of which 'cache pages' need flushing and which do not. [91/02/12 12:33:25 af] [ ./kernel/mips/pmap.h ] Made sure PTETOPHYS() does not get optimized away. [91/01/10 af] [ ./kernel/mips/softfp.s ] The FPA csr is now passed as third argument. [91/02/12 12:21:21 af] [ ./kernel/device/net_io.c ] Added garbage collection of dead filters. [91/02/12 12:11:10 af] [ ./kernel/mips/PMAX/scsi_7061_hdw.c ] In interrupt routine, drop priority as now required. [91/02/12 13:18:18 af] [ ./kernel/mips/db_trace.c ] Split trace function from ddb interface. Added (optional) code to walk through a user-mode, optimized CThread program like the U*x server. Should make it MI someday. [91/02/12 12:18:59 af] [ ./kernel/mips/locore.s ] Reversed the meaning of the booleans in the ref_bits array. [91/02/12 12:24:39 af] [ ./kernel/mips/trap.c ] Pass along the spl level to interrupt routines, which are now invoked with interrupts DISABLED so that they can defend themselves from unwarranted multiple invocations. It is now the routine's responsibility to lower the spl at the indicated priority level as soon as the interrupt cause has been cleared. [91/02/12 12:28:43 af] Activated mipsbox_memory_check() macro. [91/01/03 02:08:14 af] ************************************************************* Changes from Bob [ ./kernel/ddb/db_input.c ] Add input line editing. [90/11/11 dbg] [ ./kernel/i386/trap.c ] rfr's latest changes to v86 assist [91/01/28 15:25:30 rvb] [ ./kernel/i386at/com.c ] Merge of dbg's latest working com.c onto the old com.c with the new autoconf and other major changes. [91/01/28 15:26:13 rvb] [ ./kernel/i386at/conf.c ] Allow com driver and distinguish EtherLinkII from wd8003 [91/01/28 15:27:02 rvb] [ ./kernel/i386at/fd.c ] This file is the logical contatenation of the previous c765.c, m765knl.c and m765drv.c, in that order. [91/01/15 rvb] [ ./kernel/i386at/fdreg.h ] New, Improved, compatible with new fd.c [91/01/28 15:33:58 rvb] [ ./kernel/i386at/if_ns8390.c ] Distinguish EtherLinkII vs WD8003 on open. Get packet size right for statistics. Fix 3.0 buf that sometimes reported packets too large. [91/01/28 15:31:22 rvb] [ ./kernel/i386at/if_pc586.c ] You must check RBD_SW_EOF for rbd chain termination, a link of 0xffff does not work. Also we've just seen a status of 0xffff in rcv() with a bad fd_p->link_offset; we'll now reset. [91/01/17 rvb] [ ./kernel/i386at/kd.c ] Merge cleanup. [91/01/28 17:14:11 rvb] Drop priority around display routines in kdstart, so that scrolling or clearing the screen doesn't block other interrupts (e.g. com driver). [91/01/28 15:29:45 rvb] [ ./kernel/i386at/kdasm.s ] Follow dbg's lead. [91/01/15 rvb] ========================================================================== ***** MK Version MK43 (rpd) ***** New features: --- -------- I revised the AST interface. Now there is a machine-independent function, ast_taken, which handles ASTs. Also the idle thread will process network ASTs. I changed the network code to use ASTs to run packets through the packet filters and send IPC messages. The network thread only runs when more message buffers must be allocated. The network code now keeps two queues of packets, for low and high priority packets. If it runs out of free buffers, it will recycle packets in the low-priority queue. The network drivers currently mark broadcast packets as low priority. These changes greatly reduce the number of dropped high-priority packets and the amount of memory consumed by packet buffers. More paths through the kernel use explicit continuations now. I changed the scheduling state machine so that swapped threads can live on the run queues. Now the kernel uses explicit continuations for threads blocked in (user) message receive threads blocked in exceptions threads blocked in (user) page faults kernel threads (including the idle thread) blocking for more work preemptive scheduling thread_switch and friends These cases account for >99% of all context-switches. I changed the interface to machine-dependent context-switch functions. The two main functions now are stack_handoff and switch_context. These functions are also responsible for changing address spaces. switch_context returns the previously running thread (instead of calling thread_continue, like the old interface). stack_handoff accounts for >99% of all context-switches. I changed how the IPC system caches message buffers. Now it uses a per-processor cache, instead of a per-thread cache. The per-processor cache uses less memory and has a better hit rate. [PMAX,I386] I pulled floating-point state out of the pcbs. Now space for FP registers is only allocated for threads which actually use FP. [PMAX] I changed how the mips code handles the FP registers, to remove FP overhead from the context-switch path. Bug fixes: --- ----- I fixed a bug ipc_entry_grow_table, which causes a panic when the default pager tries to grow its table and there aren't enough free pages. Now ipc_entry_grow_table uses a new function, kmem_realloc, to grow large tables. I also reorganized the kmem_alloc interface, so that those functions have real return codes now. kmem_alloc allocates a new object and kmem_alloc_wired uses the kernel-object. Both functions do not zero the new memory. I fixed a page leak. Copy-on-write faults left the original page off the paging queues. Related changes to vm_page_deactivate and how vm_object_terminate and the pageout daemon interact. I fixed the ioctl definitions for Ansi C. I changed the default value of db_maxoff to 4K. I fixed ddb to catch exceptions that occur in ddb commands. Typos in arguments to "show foo" are no longer fatal. I fixed the default pager's initialization of pager structures. I fixed memory_object_data_provided to only return success when it consumes its copy object, so erroneous data-provided's don't crash the kernel. I fixed vm_fault_page to give vm_pageout_page busy pages. I fixed kmem_alloc and friends to not hold object locks across pmap_enter. Fix for vm_map_entry_delete's use of vm_object_page_remove from dlb. Fix for vm_map_fork/VM_INHERIT_COPY of wired entries from dlb. Fix for boot_printf from sumitomo. Fix for read_emulator_symbols (to not panic if there is no emulator) from jsb. [SUN3] I fixed the pmap module to initialize new pmaps correctly. [SUN3] I fixed locore to not leave thread->recover set across system calls. [PMAX] I picked up a couple more spl/interrupt-race fixes from af. [PMAX] I fixed switch_context and call_continuation so stack traces in ddb terminate correctly. [I386] I fixed several floating-point bugs. Now multiple threads can use FP without stepping on each other. [I386] Fixed kdb_trap to disable interrupts and skip permanent breakpoints. [I386] I fixed switch_context and call_continuation so stack traces in ddb terminate correctly. Organizational changes: -------------- ------- device/tape_status.h is exported to the release directory now. I changed the definition of REG_EXP, to make it .* on all platforms. If you have an old make, you may need to override this definition with REG_EXP=\* on your make command line. I also fixed the Makeconf created in the build directory to define REG_EXP, so builds initiated in the build directory work. Special notes: ------- ----- I only tested briefly on the Vax and Sun 3. ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 43 [ ./include/Makefile ] Added export of tape_status.h [91/02/21 af] [ ./kernel/boot_ufs/boot_printf.c ] Should initialize the "count" before a device_read_inband(). Bug found by laverne@sumitomo.com. [91/03/13 15:03:15 af] [ ./kernel/Makeconf ] Define REG_EXP as .* on all platforms. [91/03/14 rpd] [ ./kernel/Makefile ] Added REG_EXP to the Makeconf created in the build directory. [91/03/14 rpd] [ ./kernel/boot_ufs/default_pager.c ] Updated for new kmem_alloc interface. Fixed memory_object_create to zero the new pager structure. [91/03/03 rpd] Removed thread_swappable. [91/01/18 rpd] [ ./kernel/boot_ufs/load.c ] Fixed read_emulator_symbols to not panic if there is no emulator. [91/03/13 rpd] [ ./kernel/conf/MASTER ] Added MACH_COUNTERS (tag count). [91/02/24 rpd] [ ./kernel/conf/Makefile.i386 ] Nullify the VOLATILE macro. [91/03/13 rpd] [ ./kernel/conf/Makefile.template ] Moved VOLATILE from LINTOPTS to ALLOPTS. [91/03/13 rpd] [ ./kernel/conf/files ] Added MACH_COUNTERS and kern/counters.c. [91/02/24 rpd] [ ./kernel/ddb/db_aout.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/ddb/db_command.c ] Added db_recover. [91/01/13 rpd] [ ./kernel/ddb/db_sym.c ] Changed the default db_maxoff to 4K. [91/03/10 rpd] [ ./kernel/device/device_init.c ] Changed net_rcv_msg_thread to net_thread. [91/02/13 rpd] [ ./kernel/device/device_types.defs ] Added filter_t. [91/02/12 rpd] [ ./kernel/device/ds_routines.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] Added io_done_thread_continue. [91/02/13 rpd] Removed thread_swappable. [91/01/18 rpd] [ ./kernel/device/net_io.c ] Added net_thread, net_thread_continue. [91/02/13 rpd] Split net_rcv_msg_queue into high and low priority queues. Cap the total number of buffers allocated. [91/01/14 rpd] Added net_rcv_msg_queue_size, net_rcv_msg_queue_max. [91/01/12 rpd] [ ./kernel/device/net_io.h ] Added net_packet. [91/01/14 rpd] [ ./kernel/device/subrs.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/device/tape_status.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/i386/cswitch.s ] Renamed Switch_task_context to Switch_context. [91/02/17 rpd] Added active_stacks. [91/01/29 rpd] [ ./kernel/i386/db_interface.c ] Fixed kdb_trap to skip over permanent breakpoints. [91/03/15 rpd] Changed kdb_trap to use db_recover. [91/01/14 rpd] Fixed kdb_trap to disable interrupts. [91/01/12 rpd] [ ./kernel/i386/fpu.c ] Pulled i386_fpsave_state out of i386_machine_state. Picked up fixes from dbg. [91/02/18 rpd] [ ./kernel/i386/genassym.c ] Removed k_ipl. [91/03/01 rpd] Added TH_SWAP_FUNC. [91/02/24 rpd] Added PCB_SIZE. [91/02/01 rpd] [ ./kernel/i386/init.c ] Moved ktss_zone, pcb_zone initialization to pcb_module_init. [91/02/18 rpd] [ ./kernel/i386/io_map.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/i386/locore.s ] Changed call_continuation to not change spl. [91/02/17 rpd] Added call_continuation. Changed the AST interface. [91/01/18 rpd] [ ./kernel/i386/pcb.c ] Pulled i386_fpsave_state out of i386_machine_state. Added pcb_module_init. [91/02/18 rpd] Replaced stack_switch with stack_handoff and switch_task_context with switch_context. [91/02/18 rpd] Added active_stacks. [91/01/29 rpd] [ ./kernel/i386/phys.c ] Added resume, continuation arguments to vm_fault. [91/02/05 rpd] [ ./kernel/i386/read_fault.c ] Added resume, continuation arguments to vm_fault_page. Added continuation argument to VM_PAGE_WAIT. [91/02/05 rpd] [ ./kernel/i386/thread.h ] Removed k_ipl from i386_kernel_state. [91/03/01 rpd] Pulled i386_fpsave_state out of i386_machine_state. [91/02/18 rpd] Renamed unused field in i386_saved_state to cr2. Removed switch_thread_context. [91/02/05 rpd] [ ./kernel/i386/trap.c ] Added resume, continuation arguments to vm_fault. Added user_page_fault_continue. [91/02/05 rpd] Removed astintr. [91/01/22 15:53:33 rpd] [ ./kernel/i386at/blit.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/i386at/blituser.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/i386at/disk.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/i386at/if_3c501.c ] Changed net_filter to net_packet. [91/01/15 rpd] [ ./kernel/i386at/if_ns8390.c ] Changed net_filter to net_packet. [91/01/15 rpd] [ ./kernel/i386at/if_pc586.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] Changed net_filter to net_packet. [91/01/15 rpd] [ ./kernel/i386at/kd.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/i386at/rtc.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/i386ipsc/if_cnp.c ] Changed net_filter to net_packet. [91/01/15 rpd] [ ./kernel/i386ipsc/sd.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/intel/pmap.c ] Removed some incorrect (?) assertions. [91/03/13 14:18:51 rpd] Updated for new kmem_alloc interface. [91/03/03 rpd] Added continuation argument to VM_PAGE_WAIT. [91/02/05 rpd] [ ./kernel/ipc/ipc_entry.c ] Fixed ipc_entry_grow_table to use it_entries_realloc. [91/03/05 rpd] [ ./kernel/ipc/ipc_kmsg.c ] Replaced ith_saved with ipc_kmsg_cache. [91/02/16 rpd] [ ./kernel/ipc/ipc_kmsg.h ] Replaced ith_saved with ipc_kmsg_cache. [91/02/16 rpd] [ ./kernel/ipc/ipc_mqueue.c ] Renamed ipc_thread_{go,will_wait,will_wait_with_timeout} to thread_{go,will_wait,will_wait_with_timeout}. Replaced ipc_thread_block with thread_block. [91/02/17 rpd] [ ./kernel/ipc/ipc_port.c ] Renamed ipc_thread_go to thread_go. [91/02/17 rpd] [ ./kernel/ipc/ipc_space.c ] Added is_growing. [91/03/07 16:38:42 rpd] [ ./kernel/ipc/ipc_space.h ] Added is_growing. [91/03/04 rpd] [ ./kernel/ipc/ipc_table.c ] Added ipc_table_realloc and ipc_table_reallocable. [91/03/04 rpd] [ ./kernel/ipc/ipc_table.h ] Added ipc_table_realloc. [91/03/04 rpd] [ ./kernel/ipc/mach_msg.c ] Replaced ipc_thread_switch with thread_handoff. Replaced ith_saved with ikm_cache. [91/02/16 rpd] Made null mach_msg_trap measurement easier. [91/01/29 rpd] [ ./kernel/kern/ast.c ] Cleanup. [91/02/13 rpd] Changed the AST interface. [91/01/17 rpd] [ ./kernel/kern/ast.h ] Fixed dummy aston, astoff definitions. [91/02/12 rpd] Revised the AST interface, adding AST_NETWORK. Added volatile attribute to need_ast. [91/01/18 rpd] [ ./kernel/kern/debug.c ] In panic, only call halt_cpu when not calling Debugger. [91/03/12 rpd] [ ./kernel/kern/exception.c ] Fixed assertion typo. [91/03/08 rpd] Replaced ipc_thread_switch with thread_handoff. Replaced ith_saved with ikm_cache. [91/02/16 rpd] [ ./kernel/kern/ipc_kobject.c ] Replaced ith_saved with ikm_cache. [91/02/16 rpd] [ ./kernel/kern/ipc_sched.c ] Rewrote ipc_thread_switch as thread_handoff, with new stack_handoff replacing stack_switch. Renamed ipc_thread_{go,will_wait,will_wait_with_timeout} to thread_{go,will_wait,will_wait_with_timeout}. [91/02/17 rpd] Removed ipc_thread_switch_hits. [91/01/28 rpd] Allow swapped threads on the run queues. [91/01/17 rpd] [ ./kernel/kern/ipc_sched.h ] Replaced ipc_thread_switch with thread_handoff. Renamed ipc_thread_{go,will_wait,will_wait_with_timeout} to thread_{go,will_wait,will_wait_with_timeout}. Removed ipc_thread_block. [91/02/17 rpd] [ ./kernel/kern/ipc_tt.c ] Removed ith_saved. [91/02/16 rpd] [ ./kernel/kern/kalloc.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/kern/mach_clock.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] Use counter macros to track thread and stack usage. [91/03/01 17:43:15 rpd] [ ./kernel/kern/machine.c ] Added action_thread_continue. [91/01/22 rpd] [ ./kernel/kern/sched_prim.c ] Added idle_thread_continue, sched_thread_continue. [91/01/20 rpd] Allow swapped threads on the run queues. Added thread_invoke, thread_select. Reorganized thread_block, thread_run. Changed the AST interface; idle_thread checks for ASTs now. [91/01/17 rpd] [ ./kernel/kern/sched_prim.h ] Added declarations of new functions. [91/02/24 rpd] [ ./kernel/kern/server_loop.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/kern/startup.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] Removed thread_swappable. [91/01/18 rpd] [ ./kernel/kern/syscall_subr.c ] Renamed ipc_thread_will_wait_with_timeout to thread_will_wait_with_timeout. [91/02/17 rpd] Added swtch_continue, swtch_pri_continue, thread_switch_continue. [91/01/17 rpd] [ ./kernel/kern/syscall_sw.c ] Changed swtch, swtch_pri, and thread_switch to MACH_TRAP_STACK. [91/01/17 rpd] [ ./kernel/kern/task.c ] Can't use thread_dowait on the current thread now. [91/01/20 rpd] [ ./kernel/kern/thread.c ] Fixed the initialization of stack_lock_data. [91/03/11 rpd] Updated for new kmem_alloc interface. [91/03/03 rpd] Removed ith_saved. [91/02/16 rpd] Added stack_alloc_max. [91/02/10 rpd] Added active_stacks. [91/01/28 rpd] Can't use thread_dowait on the current thread now. Added reaper_thread_continue. Added stack_free_reserved. [91/01/20 rpd] Removed thread_swappable. Allow swapped threads on the run queues. Changed the AST interface. [91/01/17 rpd] [ ./kernel/kern/thread.h ] Removed ith_saved. [91/02/16 rpd] Added save-state fields for page faults. [91/02/05 rpd] Added NCPUS to active_threads declaration. Added active_stacks. [91/01/28 rpd] Added swap_privilege. [91/01/18 rpd] [ ./kernel/kern/thread_swap.c ] Removed thread_swapout. [91/02/24 rpd] Added swapin_thread_continue. Simplified the state machine. Now it uses only TH_SW_IN, TH_SW_OUT, TH_SW_COMING_IN. [91/01/20 rpd] Simplified thread_swapin. [91/01/17 rpd] [ ./kernel/kern/thread_swap.h ] Removed thread_swappable, swapout_thread, etc. Removed unnecessary swap states. [91/01/18 rpd] [ ./kernel/kern/xpr.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/kern/zalloc.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] Added continuation argument to thread_block. [91/02/16 rpd] [ ./kernel/mips/PMAX/if_se.c ] Changed net_filter to net_packet. [91/01/15 rpd] [ ./kernel/mips/PMAX/if_se_mapped.c ] Picked up a further spl fix from Sandro. [91/03/09 rpd] Updated for new kmem_alloc interface. [91/03/03 rpd] Removed thread_swappable. [91/01/18 rpd] [ ./kernel/mips/PMAX/lk201.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/mips/PMAX/mapped_scsi.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] Removed thread_swappable. [91/01/18 rpd] [ ./kernel/mips/PMAX/screen.c ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/mips/PMAX/screen.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/mips/PMAX/scsi_7061_hdw.c ] Picked up a further spl fix from Sandro. [91/03/09 rpd] [ ./kernel/mips/ast.h ] Removed EXC_AST. [91/01/22 15:59:10 rpd] [ ./kernel/mips/autoconf.c ] Replaced pcb_zone initialization with pcb_module_init. [91/02/17 rpd] [ ./kernel/mips/context.s ] Replaced stack_switch with stack_handoff and switch_{task,thread}_context with Switch_context. [91/02/17 rpd] Moved stack_switch here again. Added active_stacks. [91/01/28 rpd] [ ./kernel/mips/db_interface.c ] Added resume, continuation arguments to vm_fault. [91/02/04 rpd] Changed kdb_trap to use db_recover. [91/01/13 rpd] Removed db_nofault. db_error might return now. [91/01/13 rpd] [ ./kernel/mips/db_mips_sym.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/mips/db_trace.c ] Fixed db_trace_cproc to handle wired cthreads. Fixed db_cproc_state. [91/03/10 rpd] Fixed tracing of swapped threads. Removed unnecessary uses of db_get_value. [91/03/01 17:49:16 rpd] [ ./kernel/mips/genassym.c ] Removed MKS_SR. [91/03/01 rpd] Added mips_float_state definitions. [91/02/18 rpd] Added PCB_SIZE. [91/02/01 rpd] Removed pcache support. [91/01/10 rpd] [ ./kernel/mips/locore.s ] Pulled mips_float_state out of mips_machine_state. [91/02/18 rpd] Changed call_continuation to not change spl. [91/02/17 rpd] Changed TRAP_cu to disable fpa use for the old fpa owner. [91/01/29 rpd] Added call_continuation. Changed the AST interface. [91/01/18 rpd] [ ./kernel/mips/mips_cpu.s ] Pulled mips_float_state out of mips_machine_state. [91/02/18 rpd] [ ./kernel/mips/pcb.c ] Pulled mips_float_state, mips_sstep_state out of mips_machine_state. Added pcb_module_init. [91/02/18 rpd] Added continuation argument to VM_PAGE_WAIT. Added stack_alloc_max. [91/02/05 rpd] Moved stack_switch to mips/context.s. Added active_stacks. [91/01/28 rpd] Added stack_free_reserved. [91/01/20 rpd] [ ./kernel/mips/pmap.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] Removed pcache support. [91/01/10 rpd] [ ./kernel/mips/pmap.h ] Removed pcache support. [91/01/10 rpd] [ ./kernel/mips/thread.h ] Removed sr from mips_kernel_state. [91/03/01 rpd] Broke mips_float_state, mips_sstep_state out of mips_machine_state. [91/02/17 rpd] [ ./kernel/mips/trap.c ] Added mips_sstep_state. [91/02/18 rpd] Added resume, continuation arguments to vm_fault. Added user_page_fault_continue. [91/02/04 rpd] Removed EXC_AST. [91/01/22 16:01:04 rpd] [ ./kernel/sun/cons.c ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/sun/dkio.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/sun/fbio.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/sun3/autoconf.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/sun3/db_interface.c ] Replaced db_nofault with db_recover. [91/03/14 rpd] [ ./kernel/sun3/db_trace.c ] Replaced db_jmpbuf with db_recover. [91/03/14 rpd] [ ./kernel/sun3/locore.s ] Clear thread->recover in the syscall path. [91/03/15 rpd] [ ./kernel/sun3/model_dep.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/sun3/pcb.c ] Added continuation argument to stack_attach. [91/03/14 rpd] [ ./kernel/sun3/pmap.c ] bzero pmap after getting it from zalloc. [91/03/15 rwd] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/sun3/trap.c ] Hacked for AST interface changes. [91/03/15 rpd] Added resume, continuation arguments to vm_fault. [91/03/13 rpd] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/sundev/cgfour.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/sundev/cgtwo.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/sundev/fpareg.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/sundev/kbio.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/sundev/si.c ] Replaced vm_map_find with vm_map_enter. [91/03/14 rpd] [ ./kernel/sundev/vuid_event.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/sundev/xy.c ] Removed non-MACH code. [91/03/04 rpd] [ ./kernel/sunif/if_ie.c ] Updated for new kmem_alloc interface. Removed non-MACH code. [91/03/03 rpd] Changed net_filter to net_packet. [91/01/15 rpd] [ ./kernel/sunif/if_le.c ] Replaced vm_map_find with vm_map_enter. [91/03/14 rpd] Updated for new kmem_alloc interface. Removed non-MACH code. [91/03/03 rpd] Changed net_filter to net_packet. [91/01/15 rpd] [ ./kernel/sys/ioctl.h ] Fixed the definitions for ANSI C. [91/02/20 rpd] [ ./kernel/vax/ast.h ] Updated for the new AST interface. [91/03/13 rpd] [ ./kernel/vax/autoconf.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/vax/biconf.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/vax/db_interface.c ] Replaced db_nofault with db_recover. [91/03/14 rpd] [ ./kernel/vax/pcb.c ] Added continuation argument to stack_attach. [91/03/14 rpd] [ ./kernel/vax/pmap.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/vax/trap.c ] Hacked for AST interface changes. [91/03/15 rpd] Added resume, continuation arguments to vm_fault. [91/03/13 rpd] [ ./kernel/vaxif/if_ni.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] Changed net_filter to net_packet. [91/01/15 rpd] [ ./kernel/vaxif/if_uba.c ] Changed net_filter to net_packet. [91/01/15 rpd] [ ./kernel/vaxuba/qd.c ] Updated for new kmem_alloc interface. [91/03/03 rpd] [ ./kernel/vaxuba/qdioctl.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/vaxuba/qv.c ] Updated for new kmem_alloc interface. Removed non-MACH, non-CMUCS, non-CMU code. [91/03/03 rpd] [ ./kernel/vaxuba/qvioctl.h ] Fixed ioctl definitions for ANSI C. [91/02/20 rpd] [ ./kernel/vm/memory_object.c ] Removed the old version of memory_object_data_provided. [91/03/11 rpd] Fixed memory_object_data_provided to return success iff it consumes the copy object. [91/02/10 rpd] [ ./kernel/vm/vm_fault.c ] Fixed vm_fault_page to give vm_pageout_page busy pages. [91/03/11 rpd] Added vm_fault_init, vm_fault_state_t. [91/02/16 rpd] Added resume, continuation arguments to vm_fault, vm_fault_page. Added continuation argument to VM_PAGE_WAIT. Added vm_fault_continue. [91/02/05 rpd] [ ./kernel/vm/vm_fault.h ] Added vm_fault_init. [91/02/16 rpd] [ ./kernel/vm/vm_init.c ] Added vm_fault_init. [91/02/16 rpd] [ ./kernel/vm/vm_kern.c ] Fixed kmem_alloc_pages and kmem_remap_pages to not hold locks across pmap_enter. [91/03/11 rpd] Added kmem_realloc. Changed kmem_alloc, kmem_alloc_wired, and kmem_alloc_pageable to return error codes. Changed kmem_alloc to not use the kernel object and to not zero memory. Changed kmem_alloc_wired to use the kernel object. [91/03/07 16:49:52 rpd] Added resume, continuation arguments to vm_fault_page. Added continuation argument to VM_PAGE_WAIT. [91/02/05 rpd] [ ./kernel/vm/vm_kern.h ] Added kmem_realloc. Changed kmem_alloc and friends to return a kern_return_t. [91/03/03 rpd] [ ./kernel/vm/vm_map.c ] Fixed vm_map_pmap_enter to activate loose pages after PMAP_ENTER. [91/03/11 rpd] Removed vm_map_find. [91/03/03 rpd] Fixed vm_map_entry_delete's use of vm_object_page_remove, following dlb's report. [91/01/26 rpd] Picked up dlb's fix for vm_map_fork/VM_INHERIT_COPY of wired entries. [91/01/12 rpd] [ ./kernel/vm/vm_map.h ] Removed vm_map_find. Added vm_map_find_entry. [91/03/03 rpd] [ ./kernel/vm/vm_object.c ] Changed vm_object_deactivate_pages and vm_object_terminate to check for busy pages. Changed how vm_object_terminate interacts with the pageout daemon. [91/03/12 rpd] Fixed vm_object_page_remove to be smart about small regions. [91/03/05 rpd] Added resume, continuation arguments to vm_fault_page. Added continuation argument to VM_PAGE_WAIT. [91/02/05 rpd] [ ./kernel/vm/vm_page.h ] Added continuation argument to VM_PAGE_WAIT, vm_page_wait. [91/02/05 rpd] [ ./kernel/vm/vm_pageout.c ] Modified vm_pageout_scan for further vm_page_deactivate changes. Also changed it to ignore pages in dead objects. [91/03/11 rpd] Added vm_pageout_continue. [91/01/20 rpd] [ ./kernel/vm/vm_resident.c ] Reverted to the previous version of vm_page_deactivate, which doesn't look at the busy bit. Changed vm_page_alloc to not deactivate busy pages. [91/03/11 rpd] Fixed simple-locking typo. [91/03/09 rpd] Added continuation argument to vm_page_wait. [91/02/05 rpd] [ ./kernel/vm/vm_user.c ] Removed temporary extra stats. [91/02/10 rpd] [ ./kernel/kern/counters.c ] Created. [91/03/13 rpd] [ ./kernel/kern/counters.h ] Created. [91/03/13 rpd] ========================================================================== ***** MK Version MK44 (dbg) ***** New features: --- -------- The kernel now runs on at least two multiprocessors: the Sequent (i386), and R2D2 (Vax 8200). The machine-independent portions of the kernel should now be OK for multiprocessor work. CPU_SUBTYPE_SYMMETRY is now defined. [I386] We now support the Sequent Symmetry i386 multiprocessor. To build for the Sequent, specify "CONFIG=STD+SQT+32". The config program now assumes that "MACHINE sqt" is a Symmetry: it uses the conf/*.i386 files, not the (non-existent) conf/*.sqt files. [VAX] The Vax kernel can now be built with GCC: add '+gcc' to the configuration name. However, getting a proper GCC for the VAX was difficult, since the GCC in the .gnu-comp collection does not talk correctly to CMU Make. To get the proper GCC compiler, you must set up your environment as follows: setpath -i0 /afs/cs/project/mach-7/release/vax_mach/latest; setenv GCC_EXEC_PREFIX /afs/cs/project/mach-7/release/vax_mach/latest/lib/gcc- (because GCC doesn't really look down LPATH for the compiler pieces). And the VAX assembler code is still built with the BSD assembler, because there are too many bugs in GAS. The VAX now uses Rich Draves' stack switching code. This leaves only the SUN3 (soon to be decommissioned?) and the i860 defining KEEP_STACKS. (vm/vm_object.c tripped over a VAX GCC bug; I had to partially rewrite one routine as a result. vm_object_enter should be further rewritten anyway to separate the internal and external cases, since they have very little in common.) Bug fixes: --- ----- Network packets sent to multiple filters all have the correct packet size (thanks, DPJ). The control ports for all CPUs are now created when the system is started, not when the CPU is started. The old method gave the outside world no way to talk to a CPU that hadn't been started yet. The ports also remain when the CPU is shut down. (WARNING - the shutdown code doesn't work yet - it will crash the system). Volatile declarations have been added where needed. Choose_pset_thread and its callers (thread_select) have been rewritten to avoid confusing a pset with its runq (buggy C code). [I386] The floating-point code has been rewritten to always save the FPU state in memory on context switch. It's slower, but there were two problems with the old method: 1: It's unknown what happens when the i386 switches mappings while the i387 has a store instruction (e.g. fbstp) in progress. Where does the data go? 2: On a multiprocessor, we'd need interprocessor interrupts to fetch a thread's FP state from the CPU it last ran on. Exiting an interrupt routine correctly leaves processor interrupts disabled until the IRET instruction. The PMAP bug that would occasionally cause the machine to reboot has been fixed. We now switch to the kernel's page directory at PMAP_DEACTIVATE, instead of leaving a dangling reference to a task page directory that may be about to vanish. The cthreads library now uses locking instructions to unlock locks. I'm not sure this is necessary for the Sequent, but it may be on other machines, depending on hwo they implement locking. [VAX] The ugly 'br' and 'cvec' global register variables have been moved to memory to accommodate GCC. The disassembler now correctly displays instructions using indexing. Organizational changes: -------------- ------- kern/lock.h now imports when building for multiprocessors (NCPUS > 1). This is the place to put machine-specific definitions of a simple_lock (e.g. for the HPPA), or GCC inline-assembler definitions of simple_lock and simple_unlock. The files exist for the VAX and I386. [I386] Files in the i386 directory are common to the various i386 machines: the PC-AT compatibles (i386at), the Intel Hypercube (i386ipsc), and the Sequent (sqt*). Code that differs from machine to machine has been moved to the machine-specific directories as much as possible. This includes the assembly code to get bootup parameters (*/asm_startup.h), the C initialization and shutdown code (*/model_dep.c), and interrupt and SPL handling (*/interrupt.s, */spl.s). The i386 directory does contain code that is shared by the i386at and i386ipsc implementations. This is interrupt-handling and timer code that runs on the Intel interrupt handler (8259) and timer (8254) chips that both of these machines use. If (when?) I merge in support for the Corollary, it will also use these routines. Locore.s and friends are now built with normal Make rules. The 'makeboot' program is needed to fix the executable file for the Sequent, which uses a special magic number for kernel boot files. [VAX] Locore.s and friends are now built with normal Make rules. The initialization code in vax_init.c has been rewritten in assembler (vax_init.s). It runs in physical mode, and tripped over GCC, which doesn't agree with PCC about what constructs generate PC-relative addresses (which would give physical addresses in this context) and which generate absolute addresses (which always give virtual addresses). The awk script for vaxfloat.sa has disappeared. The file is now vaxfloat.s, and uses C preprocessor macros. When building with GCC, the inline program is no longer used. Various VAX header files now use the GCC inline assembler macros instead. There is a global inline-substition file, vax/gcc_asm.h, which is included in every kernel file through some GCC tricks. Special notes: ------- ----- The system should now be built and tested in the following configurations: PMAX: STD+ANY (decstations) I386: STD+WS (PC-compatible i386 boxes) STD+SQT+32 the Symmetry STD+NORMA+iPSC the Intel Hypercube (NOT TESTED FOR THIS RELEASE) VAX: STD+VAX6bb+gcc (microvaxen) STD+16+fixpri+VAX6bb+BI+de+gcc (R2D2) SUN3: STD+SWS i860: ??? ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 44 [ ./kernel/conf/copyright ] Change 'Carnegie' to 'Carnegie Mellon'. [ ./kernel/conf/MASTER.i386 ] Remove '-fno-function-cse' from compilation options - i386 never used the 'inline' program. [91/04/30 dbg] Add Sequent. Remove options files for CPU types. Sequent includes SYS rules to make mach.boot from mach_kernel. [91/04/26 14:25:14 dbg] [ ./kernel/conf/MASTER.vax ] Add definitions for gcc. [91/03/21 dbg] [ ./kernel/conf/Makefile.i386 ] Add rules to build makeboot for the Sequent. WARNING - CPATH is hardwired to /usr/include, and the build line probably won't work if shadowing. This will all be fixed if makeboot is used for all kernels. [91/04/25 dbg] Don't build locore with special rules. [91/03/21 dbg] [ ./kernel/conf/Makefile.vax ] Build locore.o with normal Make rules. Add rules for building kernel with GCC; the configuration will select which rules to use. Remove awk rule for building vaxfloat.s. [91/04/23 dbg] [ ./kernel/conf/files ] Remove individual 'VOLATILE' switches, since 'VOLATILE' is defined in the master Makefile.template. [91/04/30 dbg] Added 'VOLATILE' for kern/{machine,syscall_subr,thread}.c. [91/03/21 dbg] [ ./kernel/conf/files.i386 ] Rearrange files to add Sequent and put model-dependent files in model-dependent directories. Build cswitch.s, locore.s, start.s as standard files. [91/04/26 14:28:46 dbg] [ ./kernel/conf/files.vax ] Build locore.s with normal rules; put first. Build vaxfloat.s directly. [91/04/23 dbg] Change vax_init.c to vax_init.s. [91/04/11 dbg] Added FORCE_VOLATILE for gcc. [91/03/21 dbg] [ ./kernel/conf/newvers.sh ] Added one more sed clause to deal with the "'s in the new copyright. [91/05/07 mrt] [ ./kernel/emul/vaxarith.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/emul/vaxashp.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/emul/vaxconvrt.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/emul/vaxcvtlp.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/emul/vaxcvtpl.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/emul/vaxdeciml.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/emul/vaxeditpc.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/emul/vaxemul.h ] Changed #define to .set for ANSI preprocessor - '$' isn't an identifier character in ANSI C. [91/04/23 dbg] [ ./kernel/emul/vaxemulat.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/emul/vaxexception.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] Changes for MACH_KERNEL: . Don't call _grow. [89/05/02 dbg] [ ./kernel/emul/vaxfloat.s ] Adapt for ANSI C preprocessor. Fixed set_op_types macro to eliminate awk script, and moved file to emul/vaxfloat.s. [91/04/25 dbg] [ ./kernel/emul/vaxhandlr.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/emul/vaxregdef.h ] Changed #define to .set for ANSI preprocessor - '$' isn't an identifier character in ANSI C. [91/04/23 dbg] [ ./kernel/emul/vaxstring.s ] Adapt for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/i386/ast_check.c ] Copied for i386. [91/03/21 dbg] [ ./kernel/i386/ast_types.h ] Copied for i386. [91/03/21 dbg] [ ./kernel/i386/cpu_number.h ] Created. [91/03/21 dbg] [ ./kernel/i386/cswitch.s ] Put parentheses around substituted immediate expressions, so that they will pass through the GNU preprocessor. Handle multiple CPUs. Save floating-point state when saving context or switching stacks. Add switch_to_shutdown_context to handle CPU shutdown. [91/03/21 dbg] [ ./kernel/i386/fpu.c ] Simplify. Always store FP state on context switch. 1: It's unknown what happens when the i386 switches mappings while the i387 has a store instruction (e.g. fbstp) in progress. Where does the data go? 2: On a multiprocessor, we'd need interprocessor interrupts to fetch a thread's FP state from the CPU it last ran on. [91/04/26 14:34:04 dbg] [ ./kernel/i386/gdt.c ] Collapsed GDT again. [91/04/26 14:34:34 dbg] [ ./kernel/i386/genassym.c ] Add definitions for multiprocessors and for Sequent Symmetry. Change '#define' to '.set' to help fool GCC preprocessor. [91/04/26 14:35:03 dbg] [ ./kernel/i386/hardclock.c ] Include sqt/intctl.h if building for Sequent. [91/03/21 dbg] [ ./kernel/i386/idt.s ] Put parentheses around substituted immediate expressions, so that they will pass through the GNU preprocessor. [91/04/26 14:35:28 dbg] [ ./kernel/i386/interrupt.s ] Put parentheses around substituted immediate expressions, so that they will pass through the GNU preprocessor. Use cputypes.h. Call version of set_spl that leaves interrupts disabled (IF clear) until iret. [91/04/26 14:35:53 dbg] [ ./kernel/i386/iopb.c ] Created. [91/03/21 dbg] [ ./kernel/i386/iopb.h ] Created. [91/03/21 dbg] [ ./kernel/i386/lock.h ] Created. [91/03/21 dbg] [ ./kernel/i386/locore.s ] Put parentheses around substituted immediate expressions, so that they will pass through the GNU preprocessor. Handle multiple CPUS. [91/04/26 14:36:46 dbg] [ ./kernel/i386/mp_desc.c ] Created. [91/03/21 dbg] [ ./kernel/i386/mp_desc.h ] Created. [91/03/21 dbg] [ ./kernel/i386/pcb.c ] Use iopb_tss_t for IO permission bitmap. [91/03/21 dbg] [ ./kernel/i386/phys.c ] More cleanup. [91/03/21 dbg] [ ./kernel/i386/pic.c ] Use cputypes.h for CPU names. [91/04/26 14:37:37 dbg] [ ./kernel/i386/pic.h ] Use cputypes.h to get CPU names. [91/03/21 dbg] [ ./kernel/i386/proc_reg.h ] Created. [91/03/21 dbg] [ ./kernel/i386/seg.h ] Added USER_TSS for TSS that holds IO permission bitmap. Removed space for descriptors 8..38. Added real_descriptor, real_gate, sel_idx. [91/04/26 14:38:07 dbg] [ ./kernel/i386/setroot.c ] Include cputypes.h to get CPU names. [91/03/21 dbg] [ ./kernel/i386/spl.s ] Put parentheses around substituted immediate expressions, so that they will pass through the GNU preprocessor. Add set_spl_noi to reset PIC masks but leave interrupts disabled (IF clear). [91/04/26 14:38:31 dbg] [ ./kernel/i386/start.s ] Put parentheses around substituted immediate expressions, so that they will pass through the GNU preprocessor. Moved model-specific code to machine-dependent directories. Added startup code for multiple CPUs. [91/04/26 14:38:55 dbg] [ ./kernel/i386/thread.h ] Change ktss to iopb_tss in pcb. [91/04/26 14:39:10 dbg] [ ./kernel/i386/trap.c ] Correct calls to FPU error routines. [91/04/26 14:39:33 dbg] [ ./kernel/i386/tss.h ] Protect against multiple includes. [91/04/26 14:39:49 dbg] [ ./kernel/i386at/asm_startup.h ] Created (from old i386/start.s). [91/04/26 14:40:03 dbg] [ ./kernel/i386at/kd.c ] Create and destroy io_port sets to map IO ports into user threads. [91/04/26 14:40:17 dbg] [ ./kernel/i386at/model_dep.c ] Initialization for i386 AT bus machines only. Combine code that was in i386/init.c and i386/i386_init.c. [91/04/26 14:40:43 dbg] [ ./kernel/i386ipsc/asm_startup.h ] Created (from old i386/start.s). [91/04/26 14:40:58 dbg] [ ./kernel/i386ipsc/model_dep.c ] Initialization for iPSC only. Add code that was in i386/init.c. Add pmap_valid_page. [91/04/26 14:41:16 dbg] [ ./kernel/intel/pmap.c ] Add volatile declarations where needed. Move pmap_valid_page to model_dependent file. [91/04/26 14:41:31 dbg] [ ./kernel/intel/pmap.h ] Add volatile declarations. Load CR3 when switching to kernel pmap in PMAP_ACTIVATE_USER. Fix PMAP_ACTIVATE_KERNEL. [91/04/26 14:41:54 dbg] [ ./kernel/kern/ast.c ] Add volatile declarations where needed. [91/04/18 dbg] Add missing argument to ast_on in assign/shutdown case. [91/03/21 dbg] [ ./kernel/kern/lock.h ] When actually using the locks (on multiprocessors), import the machine-dependent simple_lock routines from machine/lock.h. [91/04/26 14:42:23 dbg] [ ./kernel/kern/machine.c ] Add volatile declarations. Preserve the control port for a processor when shutting it down. [91/04/26 14:42:42 dbg] [ ./kernel/kern/processor.c ] Changed pset_sys_init to give each processor a control port, even when it is not running. Without a control port, there is no way to start an inactive processor. [91/04/26 14:42:59 dbg] [ ./kernel/kern/queue.c ] Compile queue routines on vax. [91/03/26 dbg] [ ./kernel/kern/sched_prim.c ] Distinguish processor sets from run queues in choose_pset_thread! Remove (long dead) 'someday' code. [91/04/26 14:43:26 dbg] [ ./kernel/kern/syscall_subr.c ] Add volatile declarations. Removed history for non-existent routines. [91/04/26 14:43:58 dbg] [ ./kernel/kern/thread.c ] Add volatile declarations. [91/04/26 14:44:13 dbg] [ ./kernel/mach/machine.h ] Add CPU_SUBTYPE_SYMMETRY. [91/04/26 14:44:44 dbg] [ ./kernel/sqt/SGSmem.h ] Added, from Sequent SYMMETRY sources. [91/04/26 14:45:32 dbg] [ ./kernel/sqt/SGSproc.h ] Added, from Sequent SYMMETRY sources. [91/04/26 14:45:57 dbg] [ ./kernel/sqt/_boot.s ] Created. [91/04/26 14:46:24 dbg] [ ./kernel/sqt/asm_macros.h ] Created from Sequent file. [91/04/26 14:46:43 dbg] [ ./kernel/sqt/asm_startup.h ] Created. [91/04/26 14:47:07 dbg] [ ./kernel/sqt/autoconf.c ] Adapted for pure Mach kernel. No conditionals. Removed ns32000 and KXX support. [91/04/26 14:47:41 dbg] [ ./kernel/sqt/bdp.h ] Added from Sequent SYMMETRY sources. [91/04/26 14:48:02 dbg] [ ./kernel/sqt/bic.h ] Added from Sequent SYMMETRY sources. [91/04/26 14:48:22 dbg] [ ./kernel/sqt/buscycles.h ] Added, from Sequent SYMMETRY sources. [91/04/26 14:48:45 dbg] [ ./kernel/sqt/cfg.h ] Added, from Sequent SYMMETRY sources. [91/04/26 14:49:10 dbg] [ ./kernel/sqt/chiptypes.h ] Added, from Sequent SYMMETRY sources. [91/04/26 14:49:30 dbg] [ ./kernel/sqt/clkarb.h ] Added, from Sequent SYMMETRY sources. [91/04/26 14:49:49 dbg] [ ./kernel/sqt/clock.c ] Adapted from Sequent Symmetry sources. [91/04/26 14:50:24 dbg] [ ./kernel/sqt/clock.h ] Added, from Sequent SYMMETRY sources. [91/02/26 dbg] [ ./kernel/sqt/consio.c ] Adapted from Sequent SYMMETRY sources. [91/04/26 14:51:09 dbg] [ ./kernel/sqt/engine.h ] Adapted from Sequent SYMMETRY sources. [91/04/26 14:51:36 dbg] [ ./kernel/sqt/hwparam.h ] Added, from Sequent SYMMETRY sources. [91/04/26 14:51:55 dbg] [ ./kernel/sqt/intctl.h ] Converted for pure kernel and GCC. [91/04/26 14:52:18 dbg] [ ./kernel/sqt/interrupt.s ] Put parentheses around substituted immediate expressions, so that they will pass through the GNU preprocessor. [91/01/31 dbg] Converted (interrupt handlers only) for pure kernel. Use Mach Kernel interrupt sequence, not Dynix. [90/05/02 dbg] [ ./kernel/sqt/ioconf.h ] Adapted for pure Mach kernel. [91/04/26 14:53:25 dbg] [ ./kernel/sqt/macros.h ] Created. [91/04/26 14:53:43 dbg] [ ./kernel/sqt/memory.c ] Adapted for pure Mach kernel. [91/04/26 14:54:06 dbg] [ ./kernel/sqt/misc.s ] Converted for pure kernel. [90/05/02 dbg] [ ./kernel/sqt/model_dep.c ] Each CPU calls mp_desc_init on its own. [91/02/13 dbg] Add pmap_valid_page. [91/01/17 dbg] Altered for pure kernel. Created from pieces of sqt/machdep.c and sqt/startup.c. [90/10/03 dbg] [ ./kernel/sqt/mutex.h ] Adapted for pure kernel. Removed gate code, since Symmetry doesn't use it. Re-implemented Dynix semaphores. [90/09/24 dbg] [ ./kernel/sqt/mutex.s ] Use entire word for lock to match lock primitives. [91/02/05 dbg] Put parentheses around substituted immediate expressions, so that they will pass through the GNU preprocessor. [91/01/31 dbg] Adapted for pure kernel. [90/09/24 dbg] [ ./kernel/sqt/sema.c ] Created. [91/04/26 14:56:44 dbg] [ ./kernel/sqt/setconf.c ] Adapted for pure Mach kernel. [90/10/09 dbg] [ ./kernel/sqt/slic.c ] Adapted for pure Mach kernel. [90/10/03 dbg] [ ./kernel/sqt/slic.h ] Added volatile declarations. [90/11/13 dbg] Adapted for pure Mach kernel. I386 SGS processors only. [90/10/02 dbg] [ ./kernel/sqt/slicreg.h ] Added, from Sequent SYMMETRY sources. [91/02/26 dbg] [ ./kernel/sqt/spl.s ] Fix SPL levels to match reality. [91/02/14 dbg] Put parentheses around substituted immediate expressions, so that they will pass through the GNU preprocessor. [91/01/31 dbg] Adapted for pure Mach kernel. [90/10/02 dbg] [ ./kernel/sqt/sqtasm.h ] Changes for pure kernel. [90/05/02 dbg] [ ./kernel/sqt/sqtparam.h ] Adapted from Sequent SYMMETRY sources. [91/04/26 15:00:13 dbg] [ ./kernel/sqt/stubs.c ] Created. [91/04/26 15:00:31 dbg] [ ./kernel/sqt/trap.h ] Added, from Sequent SYMMETRY sources. [91/02/26 dbg] [ ./kernel/sqt/vm_defs.h ] Make KVTOPHYS use kvtophys to avoid locking kernel pmap. [91/02/14 dbg] Move cpu-local mappings (slic, leds, elapsed-time counter) to level 1 page just below FPA. [90/12/17 dbg] Rewrote for pure Mach kernel. Kernel is no longer mapped 1-1 with physical memory. [90/09/27 dbg] [ ./kernel/sqtconf/conf.c ] Created. [90/10/04 dbg] [ ./kernel/sqtconf/conf_co.c ] Adapted for pure Mach kernel. [91/04/26 15:02:33 dbg] [ ./kernel/sqtconf/conf_if_se.c ] Adapted for pure Mach kernel. [90/10/05 dbg] [ ./kernel/sqtconf/conf_led.c ] Adapted for pure Mach kernel. [90/10/03 dbg] [ ./kernel/sqtconf/conf_sd.c ] Adapted for pure Mach kernel. [90/10/04 dbg] [ ./kernel/sqtconf/conf_vec.c ] Added, from Sequent SYMMETRY sources. [91/02/26 dbg] [ ./kernel/sqtconf/conf_zd.c ] Adapted for pure Mach kernel. [90/10/05 dbg] [ ./kernel/sqtconf/sqt_io_conf.c ] Adapted for pure Mach kernel. [90/10/03 dbg] [ ./kernel/sqtconf/sqtparam.c ] Adapted for pure Mach kernel. [90/10/03 dbg] [ ./kernel/sqtmbad/ioconf.h ] Added, from Sequent SYMMETRY sources. [91/02/26 dbg] [ ./kernel/sqtsec/co.c ] Added cn routines for kernel debugger input. [90/11/16 dbg] Adapted for pure kernel. [90/09/24 dbg] [ ./kernel/sqtsec/co.h ] Added volatile declarations. [91/03/25 dbg] Added output buffer since Mach kernel circular buffers are not within SCED-addressable space (lowest 4 Meg). [90/12/18 dbg] Adapted for pure kernel. [90/09/24 dbg] [ ./kernel/sqtsec/if_se.c ] Changed net_filter to net_packet. MACH_KERNEL conversion. Added volatile declarations. [91/03/22 dbg] [ ./kernel/sqtsec/if_se.h ] MACH_KERNEL conversion. [90/10/05 dbg] [ ./kernel/sqtsec/ioconf.h ] Added, from Sequent SYMMETRY sources. [91/02/26 dbg] [ ./kernel/sqtsec/scsi.h ] Added, from Sequent SYMMETRY sources. [91/02/26 dbg] [ ./kernel/sqtsec/sd.c ] Added volatile declarations. [91/03/25 dbg] Adapted for pure kernel. No conditionals. [90/09/24 dbg] [ ./kernel/sqtsec/sd.h ] Adapted for pure Mach kernel. [90/10/04 dbg] [ ./kernel/sqtsec/sec.c ] Added volatile declarations. Distribute interrupts to any CPU. [91/03/25 dbg] Adapted for pure kernel. [90/09/24 dbg] [ ./kernel/sqtsec/sec.h ] Added volatile declarations. [90/11/13 dbg] Adapted for pure Mach kernel. [90/10/04 dbg] [ ./kernel/sqtsec/sec_ctl.h ] Added, from Sequent SYMMETRY sources. [91/02/26 dbg] [ ./kernel/sqtzdc/ioconf.h ] Added, from Sequent SYMMETRY sources. [91/02/26 dbg] [ ./kernel/sqtzdc/zd.c ] Changes for new kmem_alloc interface. Adapted for pure Mach kernel. [91/03/22 dbg] [ ./kernel/sqtzdc/zdbad.h ] Adapted for pure Mach kernel. [90/10/04 dbg] [ ./kernel/sqtzdc/zdc.h ] Adapted for pure Mach kernel. [90/10/04 dbg] [ ./kernel/sqtzdc/zdinit.c ] Added volatile declarations. Allowed interrupts on any CPU. [91/03/25 dbg] Adapted for pure Mach kernel. [90/10/04 dbg] [ ./kernel/src/config/config.y ] 'MACHINE sqt' defines machine as "SQT" but leaves machinename as "i386". We only support the Sequent SYMMETRY, which shares code with the ATbus-based i386 configurations. [91/03/21 dbg] [ ./kernel/src/config/mkioconf.c ] Fix sqt_ioconf to allow wildcards in sec devices and change location of ioconf.h. [91/03/21 dbg] [ ./kernel/src/makeboot/Makefile ] Created. [90/10/01 dbg] [ ./kernel/src/makeboot/build_boot.c ] Created. [91/02/26 dbg] [ ./kernel/src/makeboot/loader_info.h ] Version for build_boot. Removed function declarations and format. Added sym_offset, sym_size, str_size. [90/11/20 dbg] [ ./kernel/vax/asm.h ] Convert for ANSI C. [91/04/23 dbg] [ ./kernel/vax/ast.h ] Import mtpr and AST register definitions from mtpr.h. [91/03/21 dbg] [ ./kernel/vax/ast_check.c ] Changed to new copyright. [91/04/25 dbg] [ ./kernel/vax/ast_types.h ] Changed to new copyright. [91/04/25 dbg] [ ./kernel/vax/autoconf.c ] Move br and cvec (Unibus probe variables) to memory. [91/03/26 dbg] Remove 'static' from csralloc (gcc fix). Zero the Unibus allocation map. [91/03/21 dbg] [ ./kernel/vax/bi_node.h ] Changed to new copyright. [91/04/25 dbg] [ ./kernel/vax/biconf.c ] Include vax/machparam.h for SPL definitions. [91/03/21 dbg] [ ./kernel/vax/cca.h ] Changed to new copyright. [91/04/26 15:13:40 dbg] [ ./kernel/vax/clock.c ] Include vax/machparam.h for SPL definitions. [91/03/21 dbg] [ ./kernel/vax/conf.c ] Changed to new copyright. [91/04/25 dbg] [ ./kernel/vax/cons.c ] Fix CTRL macro for standard C. Ensure that vax_maygetc always restores SPL. [91/04/19 dbg] Include vax/machparam.h for SPL definitions. [91/03/21 dbg] [ ./kernel/vax/cpmbx.h ] Changed to new copyright. [91/04/26 15:14:22 dbg] [ ./kernel/vax/cpu_data.c ] Changed to new copyright. [91/04/25 dbg] [ ./kernel/vax/cpu_data.h ] Remove cast from SYSTYPE to use in assembler code. [91/04/12 dbg] [ ./kernel/vax/cpu_number.h ] Added inline assembler definition for GCC. [91/03/21 dbg] [ ./kernel/vax/db_disasm.c ] Re-fetch base register from operand specifier after finding index register. [91/04/25 dbg] [ ./kernel/vax/db_interface.c ] Pass regs structure directly to kdb_trap. [91/03/21 dbg] [ ./kernel/vax/db_machdep.h ] Changed to new copyright. [91/04/25 dbg] [ ./kernel/vax/db_trace.c ] Add stack_switching support. [91/03/06 dbg] [ ./kernel/vax/dfloat.s ] Fix for ANSI C preprocessor. [91/04/23 dbg] [ ./kernel/vax/gcc_asm.h ] Take this file seriously. [91/03/26 dbg] [ ./kernel/vax/genassym.c ] Changes for kernel stack switching. Undefine 'volatile'. [91/03/21 dbg] [ ./kernel/vax/ka6200.c ] Include vax/machparam.h for SPL definitions. [91/03/21 dbg] Mangled for MACH_KERNEL. [88/11/16 dbg] [ ./kernel/vax/ka6200.h ] Changed to new copyright. [91/04/25 dbg] [ ./kernel/vax/ka650.c ] Add forward declarations (gcc fix). [91/03/21 dbg] [ ./kernel/vax/ka650.h ] Changed to new copyright. [91/04/26 15:16:17 dbg] [ ./kernel/vax/ka820.c ] Ignore BI-error machine checks while configuring system (they may arise from BI bus resets). [91/04/19 dbg] [ ./kernel/vax/ka820.h ] Changed to new copyright. [91/04/26 15:16:49 dbg] [ ./kernel/vax/ka8600.c ] Fix inline assembler code for GNU C. [91/04/25 dbg] [ ./kernel/vax/lock.h ] Created. [91/03/21 dbg] [ ./kernel/vax/locore.s ] Include rpb, scb, ubvec, ubglue explicitly. [91/04/23 dbg] Move initialization code to vax_init.s. [91/04/11 dbg] Move br and cvec to memory. [91/03/26 dbg] Stack switching support. [91/03/21 dbg] [ ./kernel/vax/machparam.h ] Add inline definitions for GCC. [91/03/21 dbg] [ ./kernel/vax/model_dep.c ] Add memory and CPU configuration declarations that had been in vax_init.c. Call pmap_bootstrap here. [91/04/11 dbg] Add volatile declarations where needed. [91/03/28 dbg] Call pcb_module_init. Include vax/machparam.h for SPL definitions. [91/03/21 dbg] [ ./kernel/vax/mscp.c ] Make Chris Torek's mscp definitions (mscp_umd) standard. Eliminate NET_UDA conditional. [91/04/26 dbg] Include vax/machparam.h for SPL definitions. [91/03/21 dbg] [ ./kernel/vax/mscp.h ] Replaced with free version from Berkeley Tahoe release. [91/04/26 dbg] [ ./kernel/vax/mscpvar.h ] Use new copyright. [91/04/26 dbg] [ ./kernel/vax/mtpr.h ] Add inline assembler definitions for GCC. [91/02/19 dbg] [ ./kernel/vax/pcb.c ] Support for stack switching. [91/03/21 dbg] [ ./kernel/vax/phys.s ] Fix for ANSI C preprocessor. [91/04/23 dbg] Save and restore page table entries, rather than using interrupt protection. [89/07/09 mwyoung] [ ./kernel/vax/pmap.c ] Move page-table initialization code to vax_init.s (in assembler). GCC and PCC disagree on whether various C constructs generate PC-relative addresses (physical) or absolute addresses (virtual). [91/04/11 dbg] Add volatile declarations. [91/03/28 dbg] Fix pmap_map to not set bits in cpus_active. Master_cpu is not set yet. Include vax/machparam.h for SPL definitions. [91/03/21 dbg] [ ./kernel/vax/pmap.h ] Add volatile declarations. [91/03/28 dbg] Changes for discarding kernel stacks. VAX hardware PCB is gone. [91/03/21 dbg] [ ./kernel/vax/scb.s ] Adapt for ANSI C. [91/04/23 dbg] [ ./kernel/vax/setroot.c ] Move root_name string out of text segment (for standard C). [91/04/16 dbg] [ ./kernel/vax/stubs.c ] Added a real routine: strlen. [91/03/26 dbg] [ ./kernel/vax/thread.h ] Support stack switching. Add inline assembler definition for current_thread and load_context. [91/03/21 dbg] [ ./kernel/vax/trap.c ] Add stack switching support. Add user_page_fault_continue. [91/03/21 dbg] [ ./kernel/vax/vax_init.s ] Created. [91/04/11 dbg] [ ./kernel/vax/watch_chip.c ] Include vax/machparam.h for SPL definitions. [91/03/21 dbg] [ ./kernel/vax/watch_chip.h ] Added volatile declarations. [91/03/28 dbg] [ ./kernel/vaxif/if_de.c ] Added volatile declarations. Moved br and cvec to memory. [91/03/26 dbg] Include vax/machparam.h for SPL definitions. [91/03/20 dbg] [ ./kernel/vaxif/if_dereg.h ] Added volatile declarations. [91/03/26 dbg] [ ./kernel/vaxif/if_ni.c ] Added inline definitions for insqti, remqhi. [91/03/27 dbg] Include vax/machparam.h for SPL definitions. [91/03/20 dbg] [ ./kernel/vaxif/if_nireg.h ] Added volatile declarations. [91/03/27 dbg] [ ./kernel/vaxif/if_qe.c ] Add volatile declarations. Moved br/cvec to memory. [91/03/26 dbg] Include vax/machparam.h for SPL definitions. [91/03/20 dbg] [ ./kernel/vaxif/if_qereg.h ] Added volatile declarations. [91/03/26 dbg] [ ./kernel/vaxuba/dz.c ] Move br and cvec to memory. [91/03/26 dbg] [ ./kernel/vaxuba/qd.c ] Remove stale or lint-full code (mostly in #if !MACH) [91/04/19 dbg] Move br and cvec to memory. [91/03/26 dbg] Include vax/machparam.h for SPL definitions. [91/03/20 dbg] [ ./kernel/vaxuba/qdreg.h ] Added volatile declarations. [91/04/19 dbg] [ ./kernel/vaxuba/qduser.h ] Added volatile declarations. [91/04/19 dbg] [ ./kernel/vaxuba/qv.c ] Move br and cvec to memory. [91/03/26 dbg] Include vax/machparam.h for SPL definitions. [91/03/20 dbg] [ ./kernel/vaxuba/qvreg.h ] Added volatile declarations. [91/04/19 dbg] [ ./kernel/vaxuba/rk.c ] Move br and cvec to memory. [91/03/26 dbg] [ ./kernel/vaxuba/uba.c ] Include vax/machparam.h for SPL definitions. [91/03/20 dbg] [ ./kernel/vaxuba/ubareg.h ] Added volatile declarations. [91/03/26 dbg] [ ./kernel/vaxuba/uda_umd.c ] Use free MSCP definition from Berkeley Tahoe release. [91/04/26 dbg] Add volatile declarations. [91/04/16 dbg] Move br and cvec to memory. [91/03/26 dbg] Include vax/machparam.h for SPL definitions. Use todr() function to get pseudo time-of-day register. [91/03/20 dbg] [ ./kernel/vaxuba/udareg_umd.h ] Add volatile declarations. [91/04/16 dbg] [ ./kernel/vm/vm_object.c ] Rearrange initialization code in vm_object_enter to clearly separate 'internal' case (and to avoid a vax GCC bug). [91/04/17 dbg] [ ./user/Makeconf ] Define MKREL to simplify paths. [91/03/20 dbg] [ ./user/threads/i386/csw.s ] Unlock lock with a locked instruction (xchg). [91/03/20 dbg] [ ./user/threads/i386/cthread_inline.awk ] Unlock lock with a locked instruction (xchg). [91/03/20 dbg] [ ./user/threads/i386/lock.s ] Unlock lock with a locked instruction (xchg). [91/03/20 dbg] [ ./kernel/emul/vaxfloat.awk ] Defunct [ ./kernel/emul/vaxfloat.sa ] Defunct [ ./kernel/i386/i386_init.c ] Defunct [ ./kernel/i386/init.c ] Defunct [ ./kernel/vax/mscp_umd.h ] Defunct [ ./kernel/vax/vax_init.c ] Defunct [ ./Directories/ALL ] Add Sequent directories. Fix copyright. [91/05/08 dbg] [ ./Directories/sqt ] Created. [91/05/08 dbg] [ ./kernel/device/net_io.c ] Don't forget to copy the packet size when duplicating a packet for multiple filters in net_filter(). [91/05/09 dpj] ========================================================================== ***** MK Version MK45 (af) ***** Mostly fixes and extensions for PMAX (scsi driver & co). CMU&CMUCS Cleanup rerun. New features: --- -------- [PMAX] SCSI driver much improved: does disconnect/reconnect, handles more device types (tk50 and Exabyte tapes, CD-ROMS, many more disks including the HP 1Gb), does automatic bad-block replacement, handles powering on/off devices gracefully (3max only), watchdog to guard against bus lockups (hitachi), many configuration options, extremely pipelined copy operations (esp fast are WRITEs on 3max) and double-buffering which makes it much faster than .. competitors :-) Added new copy routine that speeds up aligned copy operations, used by the SCSI driver and the pmap module. Made modem control code optional, so that 3max can use serial lines without contortions. You can use the mouse with emacs with the console terminal emulator. Bug fixes: --- ----- [PMAX] Fixed multibyte commands to the keyboard, and the mouse lazyness. Fixed re-enabling of interrupts on exception returns to kernel. Fixed dispatching of interrupts to only handle one interrupt at a time, to make sure we do not handle the same interrupt twice or worse yet reenter an interrupt handling routine. Old code kept, disabled. Organizational changes: -------------- ------- Got rid once and forall of the "CMU" and "CMUCS" conditionals. Special notes: ------- ----- Built for: PMAX: STD+ANY check I386: STD+WS (PC-compatible i386 boxes) check STD+SQT+32 the Symmetry check STD+NORMA+iPSC the Intel Hypercube check VAX: STD+VAX6bb check STD+VAX6bb+gcc (microvaxen) check STD+16+fixpri+VAX6bb+BI+de+gcc (R2D2) check SUN3: STD+SWS check Tested on PMAX only, there where no major MI changes. ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 45 [ ./kernel/conf/MASTER ] Rid of the "CMU" conditional once and forall. [91/05/12 15:43:10 af] [ ./kernel/conf/MASTER.local ] Rid of the "CMU" conditional once and forall. [91/05/12 15:43:59 af] [ ./kernel/conf/MASTER.mips ] Define explicitly how many scsi busses we config, which is two for PMAX: the SII and the ASC. [91/05/12 15:45:34 af] [ ./kernel/conf/files.mips ] Added bad-block replacent code for scsi driver. [91/05/12 15:44:37 af] [ ./kernel/device/blkio.c ] Do not trim io_count to DEV_BSIZE, we know how to cope and this is used for tapes also [which might be block devices or not, depends]. [91/05/12 15:48:48 af] [ ./kernel/device/device_types.h ] Added D_READ_ONLY. [91/05/12 15:47:28 af] [ ./kernel/device/disk_status.h ] Created, starting from Reno's disklabel.h (copyright included). [91/05/03 af] [ ./kernel/device/io_req.h ] Added IO_INTERNAL, for use when an io_request packet is used just for synchronization purposes. [91/03/11 af] [ ./kernel/device/tape_status.h ] Modified tape_status structure to hold more info either way. Added flags field to hold special behavioural properties such as rewind-on-close. [91/05/12 af] [ ./kernel/i386at/if_3c501.c ] Made code under CMUCS standard. [91/05/12 15:50:59 af] [ ./kernel/i386at/if_ns8390.c ] Made code under CMUCS standard. [91/05/12 15:50:35 af] [ ./kernel/i386at/if_pc586.c ] Made code under CMUCS standard. [91/05/12 15:50:10 af] [ ./kernel/inline/inline.h ] Made code under CMU standard. [91/05/12 15:52:19 af] [ ./kernel/inline/main.c ] Made code under CMU standard. [91/05/12 15:52:01 af] [ ./kernel/mach/mips/asm.h ] Added author note. [91/05/12 15:55:29 af] [ ./kernel/mach/mips/boolean.h ] Added author note. [91/05/12 15:55:14 af] [ ./kernel/mach/mips/exception.h ] Added author note. [91/05/12 15:54:58 af] [ ./kernel/mach/mips/mips_instruction.h ] Added author note. [91/05/12 15:54:42 af] [ ./kernel/mach/mips/syscall_sw.h ] Added author note. [91/05/12 15:54:25 af] [ ./kernel/mach/mips/thread_status.h ] Added author note. [91/05/12 15:54:03 af] [ ./kernel/mips/PMAX/compat_30.h ] Created. [91/05/12 16:02:24 af] [ ./kernel/mips/PMAX/dz_hdw.c ] Made use of modem control code optional: patch dz_uses_modem_control if you need it, or call dz_set_modem_control(). [91/05/12 16:06:26 af] [ ./kernel/mips/PMAX/dz_tty.c ] Added dz_input(), factoring some code out of dz_rint(). Now one can fake input easily, which I use for the terminal emulator to generate escape sequence when the mouse is clicked [non-X11 mode]. [91/04/09 af] [ ./kernel/mips/PMAX/kn01.c ] It turns out one has to wait for all writes to complete before reading back from the SII scsi buffer. Odd size transfers would sometimes clobber the next-byte-up into 0xff, now we do it right. [91/05/12 16:06:58 af] [ ./kernel/mips/PMAX/lk201.c ] Added proper spl() protection around multibyte commands. [91/05/12 16:07:16 af] [ ./kernel/mips/PMAX/mouse.c ] Generate escape sequences for mouse cursor motion, same as xterm. Needs some more trim work. [91/05/12 16:08:19 af] [ ./kernel/mips/PMAX/rz.c ] Use a longer timeout on opens (exabytes are so slooooow to get ready). If we are still rewinding the tape make open fail. Start watchdog on first open, for those adapters that need it. Ask for sense data when unit does not come online quickly enough. On close, invoke anything target-specific that needs to. [91/05/12 16:04:29 af] [ ./kernel/mips/PMAX/rz.h ] Redefined naive macro names to avoid conflicts. [91/05/12 16:08:55 af] [ ./kernel/mips/PMAX/rz_disk.c ] Revision 2.6.1.2 91/04/05 13:08:43 af Fixed a type declaration, now an HBA with unlimited DMA capability sez so by setting the max_dma_size to -1. Revision 2.6.1.1 91/03/29 17:03:03 af Use long forms of read/write commands on disks bigger than 1Gb, which we automatically recognize from the read_capacity. Allocate io_req_t records properly. Check for transactions that aborted due to scsi bus resets. Issue a request_sense on bad transactions, log soft errors and only make fail bad errors. [91/05/12 16:03:45 af] [ ./kernel/mips/PMAX/rz_disk_bbr.c ] Created. [91/04/30 af] [ ./kernel/mips/PMAX/rz_labels.h ] Moved BSD/OSF1 stuff elsewhere, and the copyright that goes with it. [91/05/03 af] [ ./kernel/mips/PMAX/scsi.c ] Added flags to control use of disconnect-reconnect mode. Added device-specific close routine (for tapes). Wait for start_unit to complete properly and tell the user what we are waiting for. [91/05/12 16:21:16 af] [ ./kernel/mips/PMAX/scsi2.h ] Added read_defect_data. [91/05/12 16:02:41 af] [ ./kernel/mips/PMAX/scsi_53C94.h ] Added asc_rfb register define, unused actually. Use DMA for of nop for dma count loading. Define macro to tell if command is a selection. Move bus phase definitions in HBA-indep file. [91/05/12 16:12:47 af] [ ./kernel/mips/PMAX/scsi_53C94_hdw.c ] Added support for dynamically powering on/off devices. Added faster, extremely pipelined WRITEs. And some more. Added disconnect-reconnect capability. Also: avoid thread_block()ing, cleaned up and compacted scripts, added much more debugging support including nice traces and stats, support disks larger than 1Gb, schedule scsi bus properly by queueing up request from multiple targets in FIFO order, do request_sense on bad status, uncovered some more misteries, made the no_synchronous option work by negotiating a zero value for the sync offset. Pretty close to a full rewrite. [91/05/12 16:15:14 af] [ ./kernel/mips/PMAX/scsi_7061.h ] Moved bus phase defs in HBA-indep file. [91/05/12 16:15:42 af] [ ./kernel/mips/PMAX/scsi_7061_hdw.c ] Removed restriction on max read/write xfers, with noticeable performance benefits. Handle odd-byte-boundary conditions, unified dma_out routine, removed useless counters but kept a watchout on sii_wait, Added functions to copy data more carefully between main memory and the sii buffer, added back (sigh) sii_err_phase_mismatch to cope with bogus no-init-to-prom problem [I know it just screws the fifo, but how can I clean it ?]. Fixed one more race in sii_dosynch(). Added disconnect-reconnect capability. Tapes work. Also: added watchdog() to cope with hitachi disk problems, rid of thread_block()ing and do proper scsi bus allocation among multiple targets in FIFO order, fixed the way we do the synch negotiation, made no_synch option work for real, added debug and tracing and stats, added understanding of scsi bus resets, added support for >1Gb disks, rid of a lot of crap in the generic error handler, guard fiercely against re-entering the interrupt routine, watched many incredible races happen, do command chaining in select phase which saves an interrupt, generally try to do as much work as possible on each interrupt to minimize their number, get status properly and do request_sense if bad, checked we understand RZ56, WrenV, Hitachi, HP, TK50, Exabyte, [91/05/12 16:17:47 af] [ ./kernel/mips/PMAX/scsi_alldevs.c ] Redone the request_sense command, split out function that checks the sense data. Rid of some embarassing crap use of identify messages. Redone the scsi_error() routine. [91/05/12 16:23:25 af] [ ./kernel/mips/PMAX/scsi_defs.h ] Made counters unsigned, added copy_count for use by HBAs that do unlimited DMA via double buffering. Made explicit two padding bytes, and let them be HBA-specific (e.g. used for odd-byte-boundary conditions on some). Made max_dma_data unsigned, a value of -1 means unlimited. Removed unsed residue field. Defined tape-specific information fields to target structure. Added tape-specific flags and flag for targets that require the long form of various scsi commands. Added disconnected-state information to target structure. Added watchdog field to adapter structure. [91/05/12 16:24:10 af] [ ./kernel/mips/PMAX/scsi_disk.c ] Enabled some group-1 commands needed on big disks. Wrote all those that were missing, kept disabled until we find a use for them (via ioctls, I am afraid). [91/05/12 16:24:35 af] [ ./kernel/mips/PMAX/scsi_rom.c ] Removed unused code, added sccdrom_name(). [91/05/12 16:18:49 af] [ ./kernel/mips/PMAX/scsi_worm.c ] Added our name function. [91/05/12 16:19:38 af] [ ./kernel/mips/locore.s ] On exception return make sure interrupts are enabled, higher level code should only play with spls(). Added kdb_go, but does not fly yet. [91/05/12 15:59:20 af] [ ./kernel/mips/mips_copyin.s ] Added aligned_block_copy [91/05/12 16:00:40 af] [ ./kernel/mips/mips_cpu.s ] splsoftclock() and splnet() were swapped, oops. Removed misleading unused spl aliases. [91/05/12 15:58:50 af] [ ./kernel/mips/mips_misc.c ] Found why the dprintf hung on 3max&new proms: clock interrupts. [91/05/12 16:00:12 af] [ ./kernel/mips/pmap.c ] Use the faster page copy routine. Added a counter of in-use ptepages. [91/05/12 15:58:13 af] [ ./kernel/mips/trap.c ] Removed optimization in interrupt() that would handle more than one interrupt at a time. See comments in interrupt() for the reasons, and to decide wether you can still use this optim or not, by default it is now disabled. [91/05/12 15:57:19 af] [ ./kernel/mon/sunromvec.h ] Removed CMU conditionals. [91/05/12 16:27:07 af] [ ./kernel/sun3/interreg.h ] Rid of the "CMU" conditional once and forall. [91/05/12 16:29:19 af] [ ./kernel/sun3/machparam.h ] Removed conditionals for MACH_KERNEL only version. Added ptob, btop. [88/11/29 dbg] [ ./kernel/sun3/reg.h ] Removed CMU conditionals. [91/05/12 16:29:38 af] [ ./kernel/sun3/scb.s ] Removed CMU conditionals. [91/05/12 16:29:30 af] [ ./kernel/sunif/ether_addr.h ] Removed CMU conditionals. [91/05/12 16:30:42 af] [ ./kernel/sys/syslog.h ] Removed CMU conditionals. [91/05/12 16:31:12 af] [ ./kernel/vax/cons.c ] Removed CMU conditionals. [91/05/12 16:32:23 af] [ ./kernel/vax/inline/inline_machdep.c ] Removed CMU conditionals. [91/05/12 16:34:57 af] [ ./kernel/vax/inline/libcpats.c ] Removed CMU conditionals. [91/05/12 16:35:40 af] [ ./kernel/vax/inline/machpats.c ] Removed CMU conditionals. [91/05/12 16:35:55 af] [ ./kernel/vax/nexus.h ] Removed CMU conditionals. [91/05/12 16:32:08 af] [ ./kernel/vax/pte.h ] Removed CMU conditionals. [91/05/12 16:31:56 af] [ ./kernel/vaxif/if_de.c ] Rid of the "CMU" conditional once and forall. [91/05/12 16:37:25 af] [ ./kernel/vaxif/if_qe.c ] Rid of the "CMU" conditional once and forall. [91/05/12 16:36:55 af] [ ./kernel/vaxif/if_qereg.h ] Rid of the "CMU" conditional once and forall. [91/05/12 16:37:10 af] [ ./kernel/vaxmba/hpreg.h ] Rid of the "CMU" conditional once and forall. Fixed copyright notice. [91/05/12 16:40:24 af] [ ./kernel/vaxmba/mbareg.h ] Rid of the "CMU" conditional once and forall. Fixed copyright notice. [91/05/12 16:39:22 af] [ ./kernel/vaxuba/dzreg.h ] Rid of the "CMU" conditional once and forall. Fixed copyright notice. [91/05/12 16:45:04 af] [ ./kernel/vaxuba/pdma.h ] Rid of the "CMU" conditional once and forall. Fixed copyright notice. [91/05/12 16:44:15 af] [ ./kernel/vaxuba/qd.c ] Rid of the "CMU" conditional once and forall. [91/05/12 16:43:09 af] [ ./kernel/vaxuba/rk.c ] Rid of the "CMU" conditional once and forall. [91/05/12 16:41:34 af] [ ./kernel/vaxuba/rkreg.h ] Rid of the "CMU" conditional once and forall. Fixed copyright notice. [91/05/12 16:42:54 af] [ ./kernel/vaxuba/uda_umd.c ] Rid of the "CMU" conditional once and forall. [91/05/12 16:41:19 af] [ ./kernel/mips/PMAX/screen.c ] Generate escape seqs on mouse clicks if X not running. [ ./kernel/mips/PMAX/scsi.h ] Define bus phases here. More defines for return data from various commands that are now actually used. Added def of max addressable block for short read/write. Added missing sense key values (they were on the back of the page, oops). Added extended sense data defs. Added mode sense defs. [ ./kernel/mips/PMAX/rz_tape.c ] Do not say we failed to bspfile when the target really was only busy. Retrieve from mode_sense speed, density and writeprotect info. Deal with targets that are busy, note when we get confused due to a scsi bus reset. Set speed and density if user asks to. Generally, made it work properly [it passes Rudy's tests]. Tapes really work now. [ ./kernel/mips/PMAX/mapped_scsi.c ] Check for spurious interrupts before disabling them. [ ./kernel/mips/PMAX/scsi_tape.c ] Cleaned up mode_select, vendor unique data can be passed in if necessary. Density and speed are taken from target structure. Added rewind command and all th eothers that were missing (but what we do not use is disabled). ========================================================================== ***** MK Version MK46 (mrt) ***** New features: --- -------- none Bug fixes: --- ----- Corrected all the Mach free copyright messages to have "AS IS" and Carnegie Mellon instead of just Carnegie. [VAX] Put the restrictive copyrights back on the few files that erroneously gotton the free copyright. Special notes: ------- ----- In the future, be very careful that you get the correct style of copyright on to any files you add to the mk tree. For license-free c files you can use conf/copyright, or use /afs/cs/mach/src/copyright/{c,shell,roff}. If you pick one up from there add a Mach Operating System line to the beginning. If a file contains a restrictive BSD copyright or any restrictive manafacturer's copyright, use the old Mach licensed one. Built for all 8 configurations. Compared the .o files to be sure nothing had changed. ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** All the files except the sqt, sun* and most vax* files changed. ========================================================================== ***** MK Version MK47 (rpd) ***** Bug fixes: --- ----- I fixed a pageout deadlock which crept in with default_pager_object_create. It turns out to be quite difficult to have the default pager handle "external" objects in addition to "internal" objects. Now the default pager is multi-threaded and separate threads handle "internal" and "external" objects. boot_ufs/ code picked up some locking. I changed pagein to use fictitious pages for busy/absent pages. Real pages get allocated when the pager calls data-provided or data-unavailable. To prevent the default pager from using all the pages, pagein of "internal" objects still allocates real pages. The association between physical pages and page structures changes dynamically, so this won't hamper page "stealing" on the data-provided path. I changed the pageout daemon pretty significantly, to remove some deadlocks and to make it behave better under heavy paging loads. Now vm_page_inactive_target is calculated dynamically and pages trickle from the active list to the inactive list, instead of getting dumped in big bursts. The code also dynamically adjusts vm_pageout_burst_wait, the amount of time it pauses per dirty page, so it isn't as important that this number be tuned right. I changed the pmap interface. pmap_bootstrap, pmap_valid_page, pmap_map, and pmap_update are out. pmap_init changed. pmap_startup, pmap_steal_memory, and pmap_free_pages (or possibly pmap_virtual_space and pmap_next_page instead of pmap_startup and pmap_steal_memory) are in. The pmap_startup/pmap_steal_memory system has two main advantages over the old system. First, machine-independent code doesn't assume quasi-contiguous physical memory. Second, machine-dependent code can implement pmap_steal_memory to allocate memory more efficiently than vanilla kernel VM (for example, using no/fewer TLB entries, not backed by page structures). The zone package gets 420K from pmap_steal_memory. I fixed a deadlock problem in kmem_alloc. It can't hold a kernel map locked while allocating memory. I fixed vm_page_deactivate as suggested by rfr, to clear the reference bit on inactive/referenced pages. I changed the stack-privilege algorithm, which reserves kernel stacks for important kernel threads like the idle threads, pageout deamon, etc. The old method had a bug that could result in stack_alloc_try panics. I fixed kernel stack allocation so that non-page-sized stacks work. All current architectures use page-sized stacks by default. I beefed-up the simple-lock debugging code. Now it keeps track of which locks are held and who took the locks. check_simple_locks() should be used in code which may block, to check that no simple locks are held. I changed the timeout/timer code to use a fixed-size array of timers instead of a zone, because it allocates timers from interrupt handlers. Only device drivers use this code. I changed all machine-independent uses of timers to use "private" timers. In particular, priority depression timeouts use another timer in the thread structure. If possible, this timer should be merged with the previous per-thread timer. I didn't fix the long-standing races in the timeout code. I fixed host_set_time to update the mapped time value. I changed the mapped time value to include a check field, so readers can get a consistent value without locking. I picked up a processor_doaction fix from dlb. I made some minor changes to the xpr code so that recorded xpr activity can survive across a reboot and be examined. I cleaned up the semantics of the syscall forms of kernel RPCs, so that they better mimic the RPC forms. If the syscall can't handle request, it returns MACH_SEND_INTERRUPTED. This is a backwards compatible change, because current user stubs check for any non-success return. They should be changed to check for send-interrupted specifically. This will not be compatible with older kernels, but it will fix a bug. (For example, the current ipc_test binaries in the release area report a problem because they are linked with syscall forms that don't have quite the right semantics. The corresponding change in libmach for the user stubs fixes ipc_test.) [PMAX] I simplified the handling to tlb misses. This made the user tlb-miss handler faster. It fixed a bug; now VM exceptions always have the correct address. [PMAX] I removed spls in the pmap module. [PMAX] I put a nop after splhigh so that it can be stepped through. [SUN3] I converted the remaining uses of vm_map_find to vm_map_enter. [SUN3] I removed a debugging panic in the user breakpoint path. [SUN3] I fixed the fpa conditionals in genassym. Special notes: ------- ----- Tested on rpd, waldo, rocky, nova, r2d2, boris. [ ./conf/version.edit ] 47 [ ./kernel/boot_ufs/default_pager.c ] Don't give privileges to threads handling external objects. [91/04/06 rpd] Enhanced to use multiple threads, for performance and to avoid a deadlock caused by default_pager_object_create. Added locking to partitions. Added locking to pager_port_hashtable. Changed pager_port_hash to something reasonable. [91/04/03 rpd] [ ./kernel/boot_ufs/file_io.c ] Changed block_map to avoid blocking operations while holding an exclusive lock. [91/04/06 rpd] Added locking in block_map. [91/04/03 rpd] [ ./kernel/boot_ufs/file_io.h ] Added f_lock. [91/04/03 rpd] [ ./kernel/conf/MASTER.mips ] Removed the COMPACTED (tag "mod_bits") option. [91/03/19 rpd] [ ./kernel/conf/MASTER.mips.local ] Removed mod_bits. [91/03/19 rpd] [ ./kernel/conf/files.mips ] Removed the compacted option. [91/03/19 rpd] [ ./kernel/ddb/db_trap.c ] Protect against faults in db_print_loc_and_inst. [91/05/14 rpd] [ ./kernel/device/dev_lookup.c ] Fixed device_deallocate to always unlock the reference count. [91/04/03 rpd] [ ./kernel/device/dev_pager.c ] Added proper locking for vm_page_insert. [91/04/21 rpd] Changed vm_page_init. [91/03/24 rpd] [ ./kernel/device/ds_routines.c ] Added vm/memory_object.h. [91/03/22 rpd] [ ./kernel/i386/phys.c ] Added vm_page_fictitious_addr assertions. [91/04/10 rpd] [ ./kernel/i386/read_fault.c ] Picked up software_reference_bits-related changes from vm_fault. [91/04/06 rpd] Added VM_FAULT_FICTITIOUS_SHORTAGE. [91/03/29 rpd] [ ./kernel/i386at/kd.c ] Fixed kdopen to call ttychars with the tty unlocked. [91/03/31 rpd] [ ./kernel/i386at/model_dep.c ] Changed pmap_bootstrap arguments. Moved pmap_free_pages and pmap_next_page here. [91/05/15 rpd] [ ./kernel/i386ipsc/model_dep.c ] Changed pmap_bootstrap arguments. Moved pmap_free_pages and pmap_next_page here. [91/05/15 rpd] [ ./kernel/i860/phys.c ] Added vm_page_fictitious_addr assertions. [91/05/15 rpd] [ ./kernel/i860ipsc/i860_init.c ] Moved pmap_valid_page, pmap_free_pages, pmap_next_page here. [91/05/17 rpd] Changed pmap_bootstrap arguments. [91/03/25 rpd] [ ./kernel/intel/pmap.c ] Moved pmap_free_pages, pmap_next_page to a model-dependent file. [91/05/15 rpd] Make sure hole_start and hole_end are page-aligned. [91/05/01 rpd] Removed pmap_update. [91/04/12 rpd] Added inuse_ptepages_count. Added vm_page_fictitious_addr assertions. [91/04/10 rpd] Added check_simple_locks to pmap_expand. [91/03/31 rpd] Changed vm_page_init to vm_page_insert. Added pmap_free_pages, pmap_next_page, pmap_virtual_space. [91/03/25 rpd] [ ./kernel/kern/bootstrap.c ] Added argument to kernel_thread. [91/04/03 rpd] [ ./kernel/kern/ipc_kobject.c ] Added check_simple_locks. [91/04/01 rpd] [ ./kernel/kern/ipc_sched.c ] Updated thread_handoff to check stack_privilege. [91/03/30 rpd] [ ./kernel/kern/kalloc.h ] Added kalloc_init. [91/03/22 rpd] [ ./kernel/kern/lock.c ] Added simple_locks_info, to keep track of which locks are held. [91/05/02 rpd] Added check_simple_locks. [91/03/31 rpd] [ ./kernel/kern/lock.h ] Added check_simple_locks. [91/03/31 rpd] [ ./kernel/kern/mach_clock.c ] Fixed timeout/untimeout to use a fixed-size array of timers instead of a zone. [91/03/31 rpd] Fixed host_set_time to update the mapped time value. Changed the mapped time value to include a check field. [91/03/19 rpd] [ ./kernel/kern/machine.c ] Picked up processor_doaction fix from dlb. [91/04/08 rpd] [ ./kernel/kern/sched_prim.c ] Added check_simple_locks to thread_block and thread_run. [91/05/02 rpd] Changed recompute_priorities to use a private timer. Changed thread_timeout_setup to initialize depress_timer. [91/03/31 rpd] Updated thread_invoke to check stack_privilege. [91/03/30 rpd] [ ./kernel/kern/sched_prim.h ] Added recompute_priorities. [91/03/31 rpd] [ ./kernel/kern/server_loop.c ] Made max_size an argument to the loop. Changed from kmem_alloc_wired to kalloc. [91/04/04 rpd] [ ./kernel/kern/startup.c ] Added argument to kernel_thread. [91/04/03 rpd] [ ./kernel/kern/syscall_emulation.c ] Fixed eml_task_deallocate to always unlock. [91/05/02 rpd] [ ./kernel/kern/syscall_subr.c ] Changed to use thread->depress_timer. [91/03/31 rpd] [ ./kernel/kern/syscall_subr.h ] Added thread_depress_timeout. [91/03/31 rpd] [ ./kernel/kern/thread.c ] Fixed stack_alloc to use kmem_alloc_aligned. [91/05/14 rpd] Added argument to kernel_thread. [91/04/03 rpd] Changed thread_deallocate to reset timer and depress_timer. [91/03/31 rpd] Replaced stack_free_reserved and swap_privilege with stack_privilege. [91/03/30 rpd] [ ./kernel/kern/thread.h ] Added depress_timer. [91/03/31 rpd] Replaced swap_privilege with stack_privilege. [91/03/30 rpd] [ ./kernel/kern/xpr.c ] Added xprenable and other minor changes so that the xpr buffer may be examined after a spontaneous reboot. [91/05/03 rpd] Fixed the initialization check in xpr. Fixed xpr_dump. [91/04/02 rpd] [ ./kernel/kern/zalloc.c ] Added check_simple_locks. Moved ADD_TO_ZONE, REMOVE_FROM_ZONE here. Moved extraneous zone GC declarations here. [91/03/31 rpd] Minor cleanup in zget_space. [91/03/28 rpd] Changed to use zdata to initialize zalloc_next_space. [91/03/22 rpd] [ ./kernel/kern/zalloc.h ] Removed ZALLOC, ZGET, ZFREE. Moved ADD_TO_ZONE, REMOVE_FROM_ZONE to kern/zalloc.c. Moved extraneous zone GC declarations to kern/zalloc.c. [91/03/31 rpd] Added zdata, zdata_size. [91/03/22 rpd] [ ./kernel/mach/memory_object.h ] Removed memory_manager_default. [91/03/22 rpd] [ ./kernel/mach/time_value.h ] Added mapped_time_value_t. [91/03/21 rpd] [ ./kernel/mips/PMAX/screen.c ] Picked up mouse-movement bug fix for screen_motion_event from Sandro. Also changed compress_mouse_events to TRUE. [91/04/08 rpd] [ ./kernel/mips/locore.s ] Picked up Sandro's interrupt-enable fix for TRAP_exception_exit. [91/04/04 rpd] Removed tlb_umiss_cause. [91/03/21 rpd] [ ./kernel/mips/mips_cpu.s ] Put a nop between splhigh and kdbsplhigh. [91/03/26 rpd] [ ./kernel/mips/mips_init.c ] Removed zalloc_physical. Removed arguments to pmap_bootstrap. [91/03/22 rpd] [ ./kernel/mips/parse_args.c ] Replaced zalloc_physical with zdata_size. [91/03/24 rpd] [ ./kernel/mips/pcb.c ] Replaced stack_free_reserved and swap_privilege with stack_privilege. [91/03/30 rpd] [ ./kernel/mips/pmap.c ] Removed pmap_update. [91/04/12 rpd] Added inuse_ptepages_count. Added vm_page_fictitious_addr assertions. [91/04/10 rpd] Commented out pmap_lock. [91/04/01 rpd] Added check_simple_locks to get_free_ptepage. [91/03/31 rpd] Removed pmap_valid_page, arguments to pmap_bootstrap, pmap_init. Added pmap_free_pages, pmap_steal_memory, pmap_startup. [91/03/24 rpd] Removed spl/splx calls. Made compacted modify bits the default. Fixed return_modify_bit. [91/03/19 rpd] [ ./kernel/mips/pmap.h ] Removed pmap_update. [91/04/12 rpd] Added MACHINE_PAGES. [91/03/23 rpd] [ ./kernel/mips/trap.c ] Fixed double-miss handling in tlb_miss. Now it maps an invalid entry into the tlb instead of going to trap. [91/04/04 rpd] [ ./kernel/mips/vm_tuning.h ] Removed VM_PAGEOUT_BURST_WAIT. [91/04/07 rpd] [ ./kernel/sqt/model_dep.c ] Changed pmap_bootstrap arguments. Moved pmap_free_pages and pmap_next_page here. [91/05/15 rpd] [ ./kernel/sun3/model_dep.c ] Changed arguments to vm_page_create. [91/05/16 rpd] [ ./kernel/sun3/pmap.c ] Replaced pmap_valid_page with pmap_free_pages, pmap_next_page, and pmap_virtual_space. Changed the arguments to pmap_init. [91/05/15 rpd] Removed pmap_update. Added vm_page_fictitious_addr assertions. [91/04/12 rpd] [ ./kernel/sun3/sun_init.c ] Added avail_remaining, avail_next, hole_start, hole_end. [91/05/15 rpd] [ ./kernel/sun3/trap.c ] Removed debugging code in dotrace. [91/04/08 rpd] [ ./kernel/sunif/if_ie.c ] Replaced vm_map_find with vm_map_enter. [91/04/08 rpd] [ ./kernel/vax/pmap.c ] Replaced pmap_valid_page with pmap_free_pages, pmap_next_page, and pmap_virtual_space. Changed the arguments to pmap_init. Removed ZALLOC, ZFREE. [91/05/15 rpd] Removed pmap_update. [91/04/12 rpd] Added vm_page_fictitious_addr assertions. [91/04/10 rpd] [ ./kernel/vm/memory_object.c ] Fixed memory_object_lock_page to handle fictitious pages. [91/04/06 rpd] Changed memory_object_data_provided, etc, to allow for fictitious pages. [91/03/29 rpd] Added vm/memory_object.h. [91/03/22 rpd] [ ./kernel/vm/memory_object.h ] Created. [91/03/22 rpd] [ ./kernel/vm/pmap.h ] Removed pmap_update. [91/04/12 rpd] Removed pmap_bootstrap, pmap_map, pmap_valid_page. Added pmap_startup, pmap_steal_memory, pmap_free_pages, pmap_virtual_space, pmap_next_page. [91/03/22 rpd] [ ./kernel/vm/vm_fault.c ] Added proper locking for vm_page_insert. [91/04/21 rpd] Changed vm_fault_page to use fictitious pages. Increased vm_object_absent_max to 50. [91/03/29 rpd] [ ./kernel/vm/vm_fault.h ] Added VM_FAULT_FICTITIOUS_SHORTAGE. [91/03/29 rpd] [ ./kernel/vm/vm_init.c ] Replaced vm_page_startup with vm_page_bootstrap. [91/04/10 rpd] [ ./kernel/vm/vm_kern.c ] Added kmem_alloc_aligned. [91/05/02 rpd] Added VM_FAULT_FICTITIOUS_SHORTAGE. Revised vm_map_find_entry to allow coalescing of entries. Fixed deadlock problem in kmem_alloc. [91/03/29 rpd] Fixed kmem_init to not create a zero-size entry. [91/03/25 rpd] [ ./kernel/vm/vm_kern.h ] Added kmem_alloc_aligned. [91/05/02 rpd] [ ./kernel/vm/vm_map.c ] Restored mask argument to vm_map_find_entry. [91/05/02 rpd] Removed ZALLOC and ZFREE. [91/03/31 rpd] Revised vm_map_find_entry to allow coalescing of entries. [91/03/28 rpd] Removed map_data. Moved kentry_data here. [91/03/22 rpd] [ ./kernel/vm/vm_map.h ] Added kentry_data and friends, for vm_map_init. [91/03/22 rpd] [ ./kernel/vm/vm_object.c ] Changed vm_object_deactivate_pages to call vm_page_deactivate on inactivate pages, because that is no longer a no-op. [91/04/20 rpd] Fixed vm_object_pmap_protect, vm_object_pmap_remove, vm_object_page_remove, vm_object_copy_call, vm_object_copy_delayed to check for fictitious pages. [91/04/10 rpd] Fixed vm_object_terminate to allow for busy/absent pages. [91/04/02 rpd] Added VM_FAULT_FICTITIOUS_SHORTAGE. [91/03/29 rpd] Added vm/memory_object.h. [91/03/22 rpd] [ ./kernel/vm/vm_page.h ] Removed vm_page_fictitious_zone. [91/05/16 rpd] Added vm_page_fictitious_addr. Removed VM_PAGE_TO_PHYS. [91/04/10 rpd] Changed vm_page_free_wanted to unsigned int. [91/04/05 rpd] Added vm_page_grab_fictitious, etc. [91/03/29 rpd] Removed VM_PAGE_DEBUG and associated variables, leaving a dummy VM_PAGE_CHECK definition. Added vm_page_attach. [91/03/22 rpd] [ ./kernel/vm/vm_pageout.c ] Fixed vm_pageout_continue to always call vm_pageout_scan. Revamped vm_pageout_scan. Now it recalculates vm_page_inactive_target, gradually moves pages from the active list to the inactive list, looks at vm_page_free_wanted, handles absent and fictitious pages, and blocks with a continuation (vm_pageout_scan_continue), which uses vm_page_laundry_count to adjust vm_pageout_burst_wait. [91/04/06 rpd] Changed vm_page_free_wanted to unsigned int. [91/04/05 rpd] Added vm_page_grab_fictitious. [91/03/29 rpd] Changed vm_page_init. [91/03/24 rpd] [ ./kernel/vm/vm_resident.c ] Renamed vm_page_fictitious_zone to vm_page_zone. [91/05/16 rpd] Moved deactivate-behind code from vm_page_alloc to vm_page_insert. [91/04/21 rpd] Fixed vm_page_deactivate as suggested by rfr, to clear the reference bit on inactive/referenced pages. [91/04/20 rpd] Added vm_page_fictitious_addr. [91/04/10 rpd] Restored vm_page_laundry_count. [91/04/07 rpd] Changed vm_page_release to use thread_wakeup_one. [91/04/05 rpd] Added vm_page_grab_fictitious, etc. [91/03/29 rpd] Added vm_page_bootstrap, pmap_startup, pmap_steal_memory. [91/03/25 rpd] [ ./kernel/sun3/genassym.c ] Fixed fpa conditionals. [91/05/20 rpd] [ ./kernel/kern/ipc_mig.c ] Cleaned up the semantics of the syscall forms of kernel RPCs. [91/05/20 rpd] [ ./kernel/sqt/model_dep.c ] Fixed avail_remaining, avail_next initialization. ========================================================================== ***** MK Version MK48 (jsb) ***** New features: --- -------- This merge mostly contains NORMA work, including Whizzy fast internode IPC, Rough cut at VM support for fast internode IPC, and Beginnings of internode task creation. Added task_get_emulation_vector; previously, it was impossible to obtain this information, making task migration impossible. For symmetry, added task_set_emulation_vector. Task_set_emulation is now a call to task_set_emulation_vector. Added a gets function in kern/printf.c (derived from boot_gets). Bug fixes: --- ----- [i386] Defined SPLVM, SPLX as null (vs. splvm, splx) in uniprocessor case. Organizational changes: -------------- ------- Added MACH_CLTASK conditional. Added a kernel/norma/ directory for norma-specific files. I'll be moving more things into this directory in subsequent releases. Added mach/mach_norma.defs, for NORMA specific kernel functions. Added mach/norma_task.defs, for task creation upcalls. [i386] Moved i386/read_fault.c to intel/read_fault.c so that i860 can use it as well. [i386] Added spldcm to i386/spl.s. Log messages: --- -------- [ ./conf/version.edit ] 48 [ ./kernel/intel/read_fault.c ] First checkin as intel/read_fault.c. [ ./kernel/i386/read_fault.c ] Moved to intel/read_fault.c. [ ./kernel/i386ipsc/dcm.c ] Defuncted. [ ./Directories/ALL ] Added ./kernel/norma. [91/06/06 16:14:56 jsb] [ ./Directories/MI ] Added ./kernel/norma. [91/06/06 16:15:11 jsb] [ ./kernel/conf/MASTER ] Added MACH_CLTASK, under NORMA. [91/05/13 16:46:15 jsb] [ ./kernel/conf/Makefile.template ] Added rules for mach_norma.defs, norma_task.defs. [91/05/13 16:47:34 jsb] [ ./kernel/conf/files ] More MACH_CLxxx files. [91/06/06 16:16:55 jsb] [ ./kernel/conf/files.i386 ] Moved read_fault.c from i386 to intel. Split i386ipsc/dcm.c into dcm_{input,output}.c. [91/06/06 16:18:09 jsb] [ ./kernel/ddb/db_command.c ] NORMA support: prompt includes node number, e.g., db4>. [91/05/25 10:47:35 jsb] [ ./kernel/ddb/db_run.c ] Removed redundant newlines and tabs. Added delta to instruction count printf. [91/05/25 10:55:01 jsb] [ ./kernel/device/device_init.c ] MACH_CLPORT: master_device_port initialization change. [91/05/13 16:51:18 jsb] [ ./kernel/i386/spl.s ] Added spldcm for i386ipsc. [91/05/13 16:53:38 jsb] [ ./kernel/i386/trap.c ] i386_read_fault is now intel_read_fault. [91/05/13 16:56:39 jsb] [ ./kernel/i386ipsc/asm_startup.h ] Added support for Paul's new bootstrapper. [91/05/13 16:58:04 jsb] [ ./kernel/i386ipsc/autoconf.c ] Added implementation and call to ask_root_device. [91/05/13 16:59:05 jsb] [ ./kernel/i386ipsc/dcm.h ] First checkin. [91/05/14 13:24:02 jsb] [ ./kernel/i386ipsc/dcm_input.c ] First checkin. [91/05/14 13:27:06 jsb] [ ./kernel/i386ipsc/dcm_output.c ] First checkin. [91/05/14 13:27:30 jsb] [ ./kernel/i386ipsc/dcm_route.s ] Support for new dcm code. [91/05/13 17:01:17 jsb] [ ./kernel/i386ipsc/if_cnp.c ] Use cnppoll (instead of cnptimeout) to check for packets. [91/05/13 17:06:14 jsb] [ ./kernel/i386ipsc/led.c ] Added led_idle, led_active. [91/05/13 17:07:21 jsb] [ ./kernel/i386ipsc/model_dep.c ] Changes for new bootstrapper; see asm_startup.h. [91/05/13 17:08:15 jsb] [ ./kernel/i386ipsc/pic_ipsc.c ] Hang cnppoll off of hardclock (since cnp doesn't get interrupts). [91/05/13 17:09:57 jsb] [ ./kernel/i386ipsc/sd.h ] From Don Cameron: changed NDRIVES from 1 to 4. [91/05/13 17:10:29 jsb] [ ./kernel/intel/pmap.c ] Defined SPLVM, SPLX as null (vs. splvm, splx) in uniprocessor case. [91/05/13 17:12:34 jsb] [ ./kernel/ipc/ipc_cldefs.h ] Fixed copyright. [91/05/24 13:16:39 jsb] First checkin. [91/05/14 13:28:14 jsb] [ ./kernel/ipc/ipc_clinput.c ] Fixed copyright. [91/05/24 13:18:23 jsb] First checkin. [91/05/14 13:29:10 jsb] [ ./kernel/ipc/ipc_clkobject.c ] First checkin. [91/05/24 13:10:00 jsb] [ ./kernel/ipc/ipc_cloutput.c ] Fixed copyright. [91/05/24 13:19:37 jsb] First checkin. [91/05/14 13:30:09 jsb] [ ./kernel/ipc/ipc_clpacket.h ] Almost obsoleted... [91/05/13 17:14:22 jsb] [ ./kernel/ipc/ipc_clport.c ] Added norma_get_special_port, norma_set_special_port. [91/05/25 10:28:14 jsb] Much code moved to other ipc_clxxx files. [91/05/13 17:16:24 jsb] [ ./kernel/ipc/ipc_clvm.c ] First checkin. [91/05/24 13:12:39 jsb] [ ./kernel/ipc/ipc_init.c ] Added call to ipc_clport_init. [91/05/13 17:17:10 jsb] [ ./kernel/ipc/ipc_kmsg.c ] More MACH_CLPORT stuff. Cleanup will follow. [91/06/06 16:00:08 jsb] [ ./kernel/ipc/ipc_mqueue.c ] Added call to ip_unlock after calling ipc_clport_send. Added support for clport handoff. [91/06/06 16:05:12 jsb] [ ./kernel/ipc/mach_msg.c ] A little more MACH_CLPORT support. [91/05/13 17:22:08 jsb] [ ./kernel/ipsc/dcmcom.c ] Removed bogus include. [91/05/14 11:31:41 jsb] Total rewrite. [91/05/13 17:27:30 jsb] [ ./kernel/ipsc/dcmcom.h ] Total rewrite. [91/05/13 17:26:25 jsb] [ ./kernel/ipsc/dev_forward_name.c ] Add entries to compensate for ux's generation of names like sd0i when it should be generating names like sd1a. (This is a stopgap, not a real fix.) [91/05/13 17:29:24 jsb] [ ./kernel/ipsc/usm.c ] Ignore this line. [91/05/13 17:33:29 jsb] [ ./kernel/kern/ast.c ] Added AST_CLPORT. [91/05/13 17:34:31 jsb] [ ./kernel/kern/ast.h ] Added AST_CLPORT. [91/05/13 17:35:08 jsb] [ ./kernel/kern/bootstrap.c ] Allow slaves to act as masters (for now). [91/05/13 17:36:17 jsb] [ ./kernel/kern/ipc_host.c ] Redid host port initialization under MACH_CLPORT. [91/05/13 17:37:21 jsb] [ ./kernel/kern/ipc_kobject.c ] Added MACH_CLTASK support. [91/05/14 09:05:48 jsb] [ ./kernel/kern/ipc_mig.c ] MACH_CLTASK: We still need mach_msg_rpc_from_kernel. [91/05/14 09:13:45 jsb] [ ./kernel/kern/ipc_tt.c ] MACH_CLTASK support. [91/05/14 09:17:09 jsb] [ ./kernel/kern/printf.c ] Added gets (derived from boot_gets). [91/05/14 09:18:50 jsb] [ ./kernel/kern/startup.c ] Changed MACH_CLPORT specific startup. [91/05/14 09:19:55 jsb] [ ./kernel/kern/syscall_emulation.c ] Added task_get_emulation_vector, task_set_emulation_vector. Task_set_emulation is now a call to task_set_emulation_vector. [91/05/24 18:30:16 jsb] [ ./kernel/kern/syscall_emulation.h ] Added emulation_vector_t for new get/set emulation vector calls. [91/05/24 17:47:38 jsb] [ ./kernel/kern/task.c ] MACH_CLTASK: support for remote task_create. [91/05/25 11:46:21 jsb] [ ./kernel/mach/mach.defs ] Added task_get_emulation_vector, task_set_emulation_vector. [91/05/24 18:26:01 jsb] [ ./kernel/mach/mach_norma.defs ] First checkin. [91/05/25 10:37:22 jsb] [ ./kernel/mach/mach_types.defs ] Added emulation_vector_t for new get/set emulation vector calls. [91/05/24 17:45:33 jsb] [ ./kernel/mach/mach_types.h ] Added emulation_vector_t for new get/set emulation vector calls. [91/05/24 17:46:31 jsb] [ ./kernel/mach/norma_task.defs ] First checkin. [91/05/25 10:37:56 jsb] [ ./kernel/norma/kern_task.c ] First checkin. [91/05/25 11:47:39 jsb] [ ./kernel/vm/vm_map.c ] MACH_CLPORT support (first cut): Work with page lists instead of copy objects. Make coalescing more useful. [91/05/14 09:34:41 jsb] [ ./kernel/vm/vm_resident.c ] MACH_CLPORT: added vm_page_replace. [91/05/14 09:40:19 jsb] [ ./kernel/norma/clport_ether.c ] First checkin. [91/06/06 17:52:24 jsb] [ ./kernel/norma/ipc_wait.c ] First checkin. [91/06/06 17:51:41 jsb] ========================================================================== ***** MK Version MK49 (jsb) ***** New features: --- -------- First cut at NORMA vm support. Uses mythical xmm technology. [I860] Merged in i860 code from March, when I MK43ified what Intel had at the time. The next merge will have the most recent Intel code, plus friendlier licensing language. [I860] Wrote an (unoptimized) internode ipc driver for the i860, based on Intel code for old internode ipc protocol. Bug fixes: --- ----- Updated ddb man page. Added documentation for continue/c, match, search, and watchpoints. I've not actually explained what a watchpoint is; maybe Rich can do that (since he added them in the first place). [I860] Better trap handling code, adopted from Intel's NX OS. [I860] Use new (delta-compatible) booting technology. [I386] Use new (delta-compatible) booting technology. Organizational changes: -------------- ------- Renamed NORMA conditionals; for example, MACH_CLPORT becomes NORMA_IPC. Better support for partial enabling of NORMA support; for example, one should now be able to build with just NORMA_IPC. Moved NORMA ipc support from ipc directory to norma directory. [I860] Rearranged dev_forward_name.c table for non-integrated I/O nodes. Special notes: ------- ----- Everything in this merge is either i860 dependent or hidden under NORMA conditionals. I built and tested on i860 (dimitri), i386 (dimitri and ubik), andmips (jsb). The i860ipsc console driver is flaky. This will be fixed in the next merge, when I pick up the newest Intel code. Log messages: --- -------- [ ./conf/version.edit ] 49 [ ./kernel/conf/MASTER ] Rearranged and renamed NORMA options. [91/06/17 09:54:37 jsb] [ ./kernel/conf/Makefile.template ] NORMA_VM: added rule for xmm_proxy.defs. [91/06/17 13:49:10 jsb] [ ./kernel/conf/files ] Moved files from ipc to norma; added norma xmm files. [91/06/17 13:51:16 jsb] [ ./kernel/conf/files.i860 ] Added fpe* files; moved read_fault.c to intel directory; added new dcm support. [91/06/17 09:56:47 jsb] [ ./kernel/ddb/db_command.c ] Renamed NORMA conditionals. [91/06/17 09:57:51 jsb] [ ./kernel/device/dev_pager.c ] NORMA_VM: use xmm_vm_object_lookup, since we really need a vm_object_t; use xmm_add_exception to mark device pagers as non-interposable. [91/06/17 13:22:58 jsb] [ ./kernel/device/device_init.c ] Renamed NORMA conditionals. [91/06/17 09:58:32 jsb] [ ./kernel/device/ds_routines.c ] Renamed NORMA conditionals. [91/06/17 09:58:59 jsb] [ ./kernel/i386ipsc/asm_startup.h ] Enabled support for new boot protocol, and eliminated support for old. [91/06/17 10:00:10 jsb] [ ./kernel/i386ipsc/dcm_input.c ] Changed include of renamed norma file. Changed call to vm_page_init to match its redefinition (it lost two parameters). [91/06/17 10:06:40 jsb] [ ./kernel/i386ipsc/dcm_output.c ] Changed include of renamed norma file. [91/06/17 10:07:18 jsb] [ ./kernel/i386ipsc/model_dep.c ] Changed intialization printf. [91/06/17 10:08:20 jsb] [ ./kernel/i860/db_disasm.c ] Fixed call to db_find_sym_and_offset. [91/06/17 10:22:41 jsb] [ ./kernel/i860/db_interface.c ] An attempts to follow recent i386 changes. [91/06/17 10:24:55 jsb] [ ./kernel/i860/db_machdep.h ] Added inst_load, inst_store definitions. [91/06/17 10:25:34 jsb] [ ./kernel/i860/exec.c ] First functional version. [91/06/17 10:27:30 jsb] [ ./kernel/i860/exec.h ] First checkin. [91/06/17 10:31:12 jsb] [ ./kernel/i860/fpdefs.h ] From Paul Pierce: created from iPSC/860 NX code. [91/06/17 13:43:28 jsb] [ ./kernel/i860/fpeh.c ] From Paul Pierce: created from iPSC/860 NX code. [91/06/17 13:42:50 jsb] [ ./kernel/i860/fpehutila.s ] From Paul Pierce: created from iPSC/860 NX code. [91/06/17 13:41:58 jsb] [ ./kernel/i860/fpehutils.c ] From Paul Pierce: created from iPSC/860 NX code. [91/06/17 13:40:37 jsb] [ ./kernel/i860/hardclock.c ] Use machine/thread.h instead of machine/reg.h. [91/06/17 10:12:13 jsb] [ ./kernel/i860/pcb.c ] Added stack_attach, stack_detach, etc. for continuation support. [91/06/17 10:13:46 jsb] [ ./kernel/i860/psl.h ] Corrected USERMODE definition; eliminated ptrace garbage. [91/06/17 10:14:34 jsb] [ ./kernel/i860/start.s ] Use r26 in place of r20. [91/06/17 10:15:36 jsb] [ ./kernel/i860/state.h ] First checkin. [91/06/17 10:16:53 jsb] [ ./kernel/i860/thread.h ] From Paul Pierce: modified for new trap handler. [91/06/17 13:38:29 jsb] [ ./kernel/i860/trap.c ] From Paul Pierce: replaced with new version created from i386. [91/06/17 13:37:26 jsb] [ ./kernel/i860/trap.h ] Cleaned up. [91/06/17 10:21:15 jsb] [ ./kernel/i860/ttrap.s ] From prp: replaced entirely. [91/06/17 13:35:50 jsb] [ ./kernel/i860/user.s ] Changes to copyin, copyout. Also added copy{in,out}msg aliases. [91/06/17 10:30:42 jsb] [ ./kernel/i860ipsc/autoconf.c ] Changed to match i386ipsc autoconf.c. [91/06/17 10:35:07 jsb] [ ./kernel/i860ipsc/dcm_input.c ] Removed bogus bcopy definition. [91/06/17 15:28:56 jsb] Updated for newer, faster internode IPC implementation. [91/06/17 10:41:40 jsb] [ ./kernel/i860ipsc/dcm_output.c ] Updated for newer, faster internode IPC implementation. [91/06/17 10:41:59 jsb] [ ./kernel/i860ipsc/i860_init.c ] From Paul Pierce: support for new boot protocol. [91/06/17 13:33:44 jsb] [ ./kernel/i860ipsc/intr.c ] From Paul Pierce: replaced old dcm intr callouts with new. [91/06/17 13:29:23 jsb] [ ./kernel/i860ipsc/led.c ] Added led_idle, led_active definitions. [91/06/17 10:39:38 jsb] [ ./kernel/intel/pmap.c ] Fixed reference to XEOD_OFF_PH for i860ipsc dcm module. [91/06/17 10:43:40 jsb] [ ./kernel/ipc/ipc_init.c ] Renamed NORMA conditionals. [91/06/17 10:45:48 jsb] [ ./kernel/ipc/ipc_kmsg.c ] Renamed NORMA conditionals. [91/06/17 10:45:05 jsb] [ ./kernel/ipc/ipc_kmsg.h ] Renamed NORMA conditionals. [91/06/17 10:46:12 jsb] [ ./kernel/ipc/ipc_mqueue.c ] Renamed NORMA conditionals. [91/06/17 10:44:39 jsb] [ ./kernel/ipc/ipc_port.c ] Renamed NORMA conditionals. [91/06/17 10:44:21 jsb] [ ./kernel/ipc/ipc_port.h ] Renamed NORMA conditionals. [91/06/17 10:44:06 jsb] [ ./kernel/ipc/ipc_space.h ] Renamed NORMA conditionals. [91/06/17 10:45:36 jsb] [ ./kernel/ipc/mach_msg.c ] Renamed NORMA conditionals. [91/06/17 10:46:35 jsb] [ ./kernel/ipsc/dcmcom.c ] Renamed NORMA conditionals. Updated i860 dcm_init(). [91/06/17 10:47:15 jsb] [ ./kernel/ipsc/dev_forward_name.c ] Renamed NORMA conditionals. Modified for non-integrated I/O nodes. [91/06/17 13:48:13 jsb] [ ./kernel/ipsc/node.c ] Renamed NORMA conditionals. Redefined master node. [91/06/17 10:48:32 jsb] [ ./kernel/kern/ast.c ] Renamed NORMA conditionals. [91/06/17 10:48:46 jsb] [ ./kernel/kern/bootstrap.c ] Renamed NORMA conditionals. [91/06/17 10:49:04 jsb] [ ./kernel/kern/debug.c ] Renamed NORMA conditionals. [91/06/17 10:49:18 jsb] [ ./kernel/kern/ipc_host.c ] Renamed NORMA conditionals. [91/06/17 10:49:34 jsb] [ ./kernel/kern/ipc_kobject.c ] Renamed NORMA conditionals. Added NORMA_VM support. [91/06/17 13:46:55 jsb] [ ./kernel/kern/ipc_mig.c ] Renamed NORMA conditionals. [91/06/17 10:50:07 jsb] [ ./kernel/kern/ipc_tt.c ] Renamed NORMA conditionals. Moved norma code to norma/kern_task.c. [91/06/17 10:50:57 jsb] [ ./kernel/kern/startup.c ] Renamed NORMA conditionals. [91/06/17 10:51:38 jsb] [ ./kernel/kern/task.c ] Added norma_task hooks. See norma/kern_task.c for code. [91/06/17 10:53:30 jsb] [ ./kernel/mach/memory_object.defs ] If KERNEL and NORMA_VM, then use a userprefix (to allow interposition). [91/06/17 10:55:06 jsb] [ ./kernel/man/ddb.man ] Added documentation for continue/c, match, search, and watchpoints. I've not actually explained what a watchpoint is; maybe Rich can do that (hint, hint). [91/06/17 10:58:08 jsb] [ ./kernel/norma/clport_ether.c ] Use a less bogus conditional to enable code. [91/06/17 10:59:36 jsb] [ ./kernel/norma/ipc_defs.h ] Moved here from ipc/ipc_cldefs.h. [91/06/17 11:04:33 jsb] [ ./kernel/norma/ipc_input.c ] Moved here from ipc/ipc_clinput.c. [91/06/17 11:02:28 jsb] [ ./kernel/norma/ipc_kserver.c ] Moved here from ipc/ipc_clkobject.c. [91/06/17 11:05:35 jsb] [ ./kernel/norma/ipc_output.c ] Moved here from ipc/ipc_cloutput.c. [91/06/17 11:06:38 jsb] [ ./kernel/norma/ipc_packet.h ] Moved here from ipc/ipc_clpacket.h. [91/06/17 11:07:00 jsb] [ ./kernel/norma/ipc_port.h ] Moved here from ipc/ipc_clport.h. [91/06/17 11:08:34 jsb] [ ./kernel/norma/ipc_vm.c ] Moved here from ipc/ipc_clvm.c. [91/06/17 11:07:45 jsb] [ ./kernel/norma/ipc_wait.c ] Changed norma include. [91/06/17 11:01:02 jsb] [ ./kernel/norma/ipc_xxx.c ] Moved here from ipc/ipc_clport.c. [91/06/17 11:07:25 jsb] [ ./kernel/norma/kern_task.c ] Moved routines here from kern/ipc_tt.c and kern/task.c. [91/06/17 11:01:51 jsb] [ ./kernel/norma/xmm.c ] First checkin. [91/06/17 10:58:38 jsb] [ ./kernel/norma/xmm_debug.c ] First checkin. [91/06/17 11:05:55 jsb] [ ./kernel/norma/xmm_export.c ] First checkin. [91/06/17 11:06:11 jsb] [ ./kernel/norma/xmm_import.c ] First checkin. [91/06/17 11:03:28 jsb] [ ./kernel/norma/xmm_interpose.c ] First checkin. [91/06/17 11:08:05 jsb] [ ./kernel/norma/xmm_invalid.c ] First checkin. [91/06/17 11:03:08 jsb] [ ./kernel/norma/xmm_obj.h ] First checkin. [91/06/17 11:03:46 jsb] [ ./kernel/norma/xmm_proxy.defs ] First checkin. [91/06/17 13:45:41 jsb] [ ./kernel/norma/xmm_server.c ] First checkin. [91/06/17 11:05:10 jsb] [ ./kernel/norma/xmm_server_rename.h ] First checkin. [91/06/17 11:09:08 jsb] [ ./kernel/norma/xmm_split.c ] First checkin. [91/06/17 11:04:50 jsb] [ ./kernel/norma/xmm_svm.c ] First checkin. [91/06/17 11:04:03 jsb] [ ./kernel/norma/xmm_user.c ] Renamed xmm_vm_object_lookup. [91/06/17 13:20:06 jsb] First checkin. [91/06/17 11:02:47 jsb] [ ./kernel/norma/xmm_user_rename.h ] First checkin. [91/06/17 11:08:51 jsb] [ ./kernel/vm/memory_object.c ] NORMA_VM: include xmm_server_rename.h, for interposition. [91/06/17 11:09:52 jsb] [ ./kernel/vm/vm_map.c ] Renamed NORMA conditionals. [91/06/17 11:11:13 jsb] [ ./kernel/vm/vm_object.c ] Added NORMA_VM support. [91/06/17 15:28:16 jsb] [ ./kernel/vm/vm_pageout.c ] NORMA_VM: declare definitions for memory_object_data_{initialize,write} since they won't be provided by interposed-on memory_object_user.h. [91/06/17 11:13:22 jsb] [ ./kernel/vm/vm_resident.c ] Renamed NORMA conditionals. Fixed vm_page_rename implementation. [91/06/17 11:25:16 jsb] [ ./kernel/ipc/ipc_cldefs.h ] Moved to norma/ipc_defs.h. [ ./kernel/ipc/ipc_clinput.c ] Moved to norma/ipc_input.c. [ ./kernel/ipc/ipc_clkobject.c ] Moved to norma/ipc_kserver.c. [ ./kernel/ipc/ipc_cloutput.c ] Moved to norma/ipc_output.c. [ ./kernel/ipc/ipc_clpacket.h ] Moved to norma/ipc_packet.h. [ ./kernel/ipc/ipc_clport.c ] Moved to norma/ipc_xxx.c. [ ./kernel/ipc/ipc_clport.h ] Moved to norma/ipc_clport.h. [ ./kernel/ipc/ipc_clvm.c ] Moved to norma/ipc_vm.c. [ ./kernel/i860ipsc/dcm.c ] Replaced by dcm_input.c and dcm_output.c. ========================================================================== ***** MK Version MK50 (jsb) ***** New copyright from Intel: i860, i860ipsc, i386ipsc, and ipsc directories now contain freely distributable files. Unfortunately, the i386ipsc ethernet driver is still encumbered, so I've stuffed it into its own directory, i386ipsc/cnp. Also picked up recent i860 fixes from Intel. Bug fixes: --- ----- [I860] Many. Organizational changes: -------------- ------- [I386] Moved i386ipsc/if_cnp.[ch] to i386ipsc/cnp/if_cnp.[ch]. Tested On: ------ -- [I386] dimitri (i386ipsc), ubik. [I860] dimitri. [PMAX] jsb. Log Messages: --- -------- [ ./conf/version.edit ] 50 [ ./kernel/conf/Makefile.template ] Moved mach/proxy.defs to norma/xmm_proxy.defs. [91/06/18 18:46:36 jsb] [ ./kernel/conf/files.i386 ] Moved i386ipsc/if_cnp.c into cnp subdirectory for licensing reasons. [91/06/18 20:21:15 jsb] [ ./kernel/conf/files.i860 ] For now, use i860ipsc/usm.c instead of ipsc/usm.c. [91/06/18 18:47:06 jsb] [ ./kernel/device/dev_pager.c ] Removed extra include of norma_vm.h. [91/06/18 18:47:29 jsb] [ ./kernel/i386ipsc/asm_startup.h ] New copyright from Intel. [91/06/18 20:05:19 jsb] [ ./kernel/i386ipsc/autoconf.c ] New copyright from Intel. [91/06/18 20:05:31 jsb] [ ./kernel/i386ipsc/bia.h ] New copyright from Intel. [91/06/18 20:05:41 jsb] [ ./kernel/i386ipsc/cnp/if_cnp.c ] Corrected include of if_cnp.h to reflect new i386ipsc/cnp directory. [91/06/18 19:49:46 jsb] Moved here from i386ipsc for licensing reasons. [91/06/18 19:44:34 jsb] [ ./kernel/i386ipsc/cnp/if_cnp.h ] Moved here from i386ipsc for licensing reasons. [91/06/18 19:45:04 jsb] [ ./kernel/i386ipsc/conf.c ] New copyright from Intel. [91/06/18 20:05:51 jsb] [ ./kernel/i386ipsc/dcm.h ] New copyright from Intel. [91/06/18 20:06:00 jsb] [ ./kernel/i386ipsc/dcm_input.c ] New copyright from Intel. [91/06/18 20:06:09 jsb] [ ./kernel/i386ipsc/dcm_output.c ] New copyright from Intel. [91/06/18 20:06:21 jsb] [ ./kernel/i386ipsc/dcm_route.s ] New copyright from Intel. [91/06/18 20:06:30 jsb] [ ./kernel/i386ipsc/iopl.c ] New copyright from Intel. [91/06/18 20:06:41 jsb] [ ./kernel/i386ipsc/led.c ] New copyright from Intel. [91/06/18 20:06:51 jsb] [ ./kernel/i386ipsc/model_dep.c ] New copyright from Intel. [91/06/18 20:07:00 jsb] [ ./kernel/i386ipsc/pic_ipsc.c ] New copyright from Intel. [91/06/18 20:07:09 jsb] [ ./kernel/i386ipsc/port.h ] New copyright from Intel. [91/06/18 20:07:23 jsb] [ ./kernel/i386ipsc/scsi.h ] New copyright from Intel. [91/06/18 20:07:32 jsb] [ ./kernel/i386ipsc/sd.c ] New copyright from Intel. [91/06/18 20:07:42 jsb] [ ./kernel/i386ipsc/sd.h ] New copyright from Intel. [91/06/18 20:07:53 jsb] [ ./kernel/i386ipsc/sdintr.c ] New copyright from Intel. [91/06/18 20:08:01 jsb] [ ./kernel/i860/_setjmp.s ] New code and copyright from Intel. [91/06/18 18:48:26 jsb] [ ./kernel/i860/ast.h ] New copyright from Intel. [91/06/18 18:48:39 jsb] [ ./kernel/i860/bcopy.s ] New code and copyright from Intel. [91/06/18 18:49:00 jsb] [ ./kernel/i860/cswitch.c ] New copyright from Intel. [91/06/18 18:49:12 jsb] [ ./kernel/i860/db_disasm.c ] New code and copyright from Intel. [91/06/18 18:49:32 jsb] [ ./kernel/i860/db_interface.c ] New code and copyright from Intel. [91/06/18 18:50:15 jsb] [ ./kernel/i860/db_machdep.h ] New copyright, and support for single stepping, from Intel. [91/06/18 18:50:45 jsb] [ ./kernel/i860/db_trace.c ] New code and copyright from Intel. [91/06/18 18:50:59 jsb] [ ./kernel/i860/exec.c ] New copyright from Intel. Corrected setting of regs.sp. Printfs ifdef'd out. [91/06/18 18:52:42 jsb] [ ./kernel/i860/exec.h ] New copyright from Intel. [91/06/18 18:52:53 jsb] [ ./kernel/i860/fpdefs.h ] New copyright from Intel. [91/06/18 18:53:12 jsb] [ ./kernel/i860/fpeh.c ] New code and copyright from Intel. [91/06/18 18:53:32 jsb] [ ./kernel/i860/fpehutila.s ] New code and copyright from Intel. [91/06/18 18:53:50 jsb] [ ./kernel/i860/fpehutils.c ] New code and copyright from Intel. [91/06/18 18:54:12 jsb] [ ./kernel/i860/genassym.c ] New copyright from Intel. [91/06/18 18:54:28 jsb] [ ./kernel/i860/hardclock.c ] New code and copyright from Intel. [91/06/18 18:54:42 jsb] [ ./kernel/i860/init.c ] New copyright from Intel. [91/06/18 18:55:41 jsb] [ ./kernel/i860/ipl.h ] New copyright from Intel. [91/06/18 18:56:14 jsb] [ ./kernel/i860/loose_ends.c ] New copyright from Intel. [91/06/18 18:56:25 jsb] [ ./kernel/i860/mach_param.h ] New copyright from Intel. [91/06/18 18:56:40 jsb] [ ./kernel/i860/machparam.h ] New copyright from Intel. [91/06/18 18:56:52 jsb] [ ./kernel/i860/ntoh.s ] New copyright from Intel. [91/06/18 18:57:02 jsb] [ ./kernel/i860/pcb.c ] New copyright from Intel. [91/06/18 18:57:14 jsb] [ ./kernel/i860/phys.c ] New copyright from Intel. [91/06/18 18:57:26 jsb] [ ./kernel/i860/pmap.h ] New copyright from Intel. [91/06/18 18:57:35 jsb] [ ./kernel/i860/psl.h ] New copyright from Intel. [91/06/18 18:57:44 jsb] [ ./kernel/i860/reg.h ] New copyright from Intel. Fixed i860REGCOUNT definition. [91/06/18 18:58:15 jsb] [ ./kernel/i860/setjmp.h ] New copyright from Intel. [91/06/18 18:58:28 jsb] [ ./kernel/i860/start.s ] New code and copyright from Intel. [91/06/18 18:58:42 jsb] [ ./kernel/i860/state.h ] New copyright from Intel. [91/06/18 18:58:53 jsb] [ ./kernel/i860/swapgeneric.c ] New copyright from Intel. [91/06/18 18:59:02 jsb] [ ./kernel/i860/thread.h ] New copyright from Intel. [91/06/18 18:59:12 jsb] [ ./kernel/i860/time_stamp.h ] New copyright from Intel. [91/06/18 18:59:22 jsb] [ ./kernel/i860/trap.c ] New copyright from Intel. [91/06/18 18:59:43 jsb] [ ./kernel/i860/trap.h ] New copyright from Intel. [91/06/18 18:59:54 jsb] [ ./kernel/i860/ttrap.s ] New copyright from Intel. [91/06/18 19:00:11 jsb] [ ./kernel/i860/user.s ] New copyright from Intel. [91/06/18 19:00:26 jsb] [ ./kernel/i860/vm_tuning.h ] New copyright from Intel. [91/06/18 19:00:35 jsb] [ ./kernel/i860/xpr.h ] New copyright from Intel. [91/06/18 19:00:44 jsb] [ ./kernel/i860ipsc/autoconf.c ] New copyright from Intel. [91/06/18 19:00:55 jsb] [ ./kernel/i860ipsc/conf.c ] New copyright from Intel. [91/06/18 19:01:05 jsb] [ ./kernel/i860ipsc/ctlreg.h ] New copyright from Intel. [91/06/18 19:01:18 jsb] [ ./kernel/i860ipsc/dcm_input.c ] New copyright from Intel. [91/06/18 19:01:38 jsb] From Paul Pierce: first implementation of this module. [91/01/07 10:49:00 jsb] [ ./kernel/i860ipsc/dcm_output.c ] New copyright from Intel. [91/06/18 19:01:51 jsb] From Paul Pierce: first implementation of this module. [91/01/07 10:49:00 jsb] [ ./kernel/i860ipsc/i860_init.c ] New code and copyright from Intel. [91/06/18 19:02:12 jsb] [ ./kernel/i860ipsc/intr.c ] New code and copyright from Intel. [91/06/18 19:02:30 jsb] [ ./kernel/i860ipsc/led.c ] New code and copyright from Intel. [91/06/18 19:02:45 jsb] [ ./kernel/i860ipsc/nodehw.h ] New copyright from Intel. [91/06/18 19:02:57 jsb] [ ./kernel/i860ipsc/spl.c ] New code and copyright from Intel. [91/06/18 19:03:22 jsb] [ ./kernel/i860ipsc/spl.h ] First checkin. [91/06/18 19:04:29 jsb] [ ./kernel/i860ipsc/usm.c ] First checkin. Just a hack until ipsc/usm.c gets merged again. [91/06/18 19:04:14 jsb] [ ./kernel/ipsc/dcmcom.c ] New copyright from Intel. [91/06/18 19:04:41 jsb] [ ./kernel/ipsc/dcmcom.h ] New copyright from Intel. [91/06/18 19:04:53 jsb] [ ./kernel/ipsc/dev_forward_name.c ] New copyright from Intel. [91/06/18 19:05:03 jsb] [ ./kernel/ipsc/node.c ] New copyright from Intel. [91/06/18 19:05:13 jsb] [ ./kernel/ipsc/rtc.c ] New copyright from Intel. [91/06/18 19:05:32 jsb] [ ./kernel/ipsc/usm.c ] New copyright from Intel. [91/06/18 19:05:52 jsb] [ ./kernel/ipsc/usm.h ] New copyright from Intel. [91/06/18 19:06:07 jsb] [ ./kernel/norma/xmm_obj.h ] Removed bogus include. [91/06/18 19:06:29 jsb] [ ./kernel/sys/varargs.h ] Moved i860 varargs code here from i860/i860_varargs.h, thanks to new copyright from Intel. [91/06/18 19:15:02 jsb] ========================================================================== ***** MK Version MK51 (rvb) ***** New features: --- -------- [VAX] We now support the VAXSTATION 3100. This is a Vax processor with PMAX peripherals Bug fixes: --- ----- [SUN3] [VAX] Now build again. And I build a STD+BI+16 and discovered that it could never have been built; it now can. Organizational changes: -------------- ------- Two big ones: 1. Since the pmax and vaxstation 3100 now share the same devices and since we believe that in the future that machines will be made of off the shelf chips, we pulled out almost all of the files in mips/PMAX and moved them to either the scsi/ toplevel directory or the chips/ toplevel directory. Note also that scsi/ has an "adapters" subdirectory. 2. In setting up the chips/ directory, we puked over having to include "cputypes.h" so that we could differentiate some lines of code that were necessary for DECSTATIONS vs VAXSTATION. So we globally changes cputypes.h to platforms.h. Special notes: ------- ----- ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 51 [ ./kernel/mips/PMAX/bt459.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/bt459.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/bt478.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/bt478.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/build_font.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/cfb_hdw.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/cfb_misc.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/compat_30.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/dc503.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/dc503.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/dz_7085.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/dz_defs.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/dz_hdw.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/dz_tty.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/if_se.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/if_se.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/if_se_mapped.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/kernel_font.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/kernel_font.data ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/lk201.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/lk201.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/mapped_scsi.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/mapped_scsi.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/mc_clock.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/mc_clock.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/mouse.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/pm_defs.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/pm_hdw.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/pm_misc.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/rz.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/rz.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/rz_disk.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/rz_disk_bbr.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/rz_labels.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/rz_tape.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/screen.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/screen.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/screen_defs.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/screen_switch.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/screen_switch.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi2.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_53C94.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_53C94_hdw.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_7061.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_7061_hdw.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_alldevs.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_comm.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_cpu.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_defs.h ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_disk.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_jukebox.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_optical.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_printer.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_rom.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_scanner.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_tape.c ] defunct; moved to chips/ or scsi/ [ ./kernel/mips/PMAX/scsi_worm.c ] defunct; moved to chips/ or scsi/ [ ./kernel/i386ipsc/if_cnp.c ] if_cnp.? -> cnp/ & varargs to sys [ ./kernel/i386ipsc/if_cnp.h ] if_cnp.? -> cnp/ & varargs to sys [ ./kernel/i860/i860_varargs.h ] if_cnp.? -> cnp/ & varargs to sys [ ./Directories/ALL ] new: kernel/{chips,scsi{,/adapter},i386ipsc/cnp} [ ./Directories/i386 ] new: kernel/{chips,scsi{,/adapter},i386ipsc/cnp} [ ./Directories/mips ] new: kernel/{chips,scsi{,/adapter},i386ipsc/cnp} [ ./Directories/vax ] new: kernel/{chips,scsi{,/adapter},i386ipsc/cnp} [ ./kernel/chips/bt459.c ] File moved here from mips/PMAX since it tries to be generic. [91/06/04 rvb] [ ./kernel/chips/bt459.h ] File moved here from mips/PMAX since it tries to be generic. [91/06/04 rvb] [ ./kernel/chips/bt478.c ] File moved here from mips/PMAX since it tries to be generic. [91/06/04 rvb] [ ./kernel/chips/bt478.h ] File moved here from mips/PMAX since it tries to be generic. [91/06/04 rvb] [ ./kernel/chips/build_font.c ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/busses.c ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] Added check in configure_bus_master for device's controller# to match the controller's unit#, if not wildcarded. Also, made device->ctlr correct *before* calling the slave function. [91/06/02 af] [ ./kernel/chips/busses.h ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/cfb_misc.c ] File moved here from mips/PMAX since it tries to be generic. [91/06/04 rvb] [ ./kernel/chips/dc503.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:22 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/dc503.h ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/dz_7085.h ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:26 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] Split out machine specific details to machine/dev/dz_7085.h [91/05/20 rvb] [ ./kernel/chips/dz_defs.h ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/dz_hdw.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:30 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/dz_tty.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:35 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/kernel_font.c ] File moved here from mips/PMAX since it tries to be generic. [91/06/04 rvb] [ ./kernel/chips/kernel_font.data ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/lance.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:39 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/lance.h ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/lance_mapped.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:45 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and could be used on the Vax3100. [91/06/04 rvb] [ ./kernel/chips/lk201.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:50 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/lk201.h ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/mc_clock.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:54 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and could be used on the Vax3100. It would need a few ifdef vax & ifdef mips for the latter. [91/06/04 rvb] [ ./kernel/chips/mc_clock.h ] File moved here from mips/PMAX since it tries to be generic. [91/06/04 rvb] [ ./kernel/chips/mouse.c ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/pm_defs.h ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:57 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/pm_hdw.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:01 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/pm_misc.c ] X support [91/06/18 21:36:46 rvb] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:05 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/screen.c ] X support [91/06/18 21:36:53 rvb] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:09 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/screen.h ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/screen_defs.h ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/screen_switch.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:13 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/screen_switch.h ] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/vs42x_rb.h ] Created, from the DEC specs: "VS42X-RB Storage Controller, Engineering Specification" January 1989, DEC Maynard Ma. [91/04/23 af] [ ./kernel/conf/MASTER.i386 ] cputypes.h->platforms.h [91/06/12 13:44:24 rvb] [ ./kernel/conf/MASTER.i860 ] cputypes.h->platforms.h [91/06/12 13:44:33 rvb] [ ./kernel/conf/MASTER.mips ] dz got renamed dz_, because the driver was renamed. [91/06/07 rvb] [ ./kernel/conf/MASTER.sun3 ] cputypes.h->platforms.h [91/06/12 13:44:29 rvb] [ ./kernel/conf/MASTER.vax ] Support for VaxStation 3100 [91/06/07 rvb] [ ./kernel/conf/files.mips ] Most files in mips/PMAX got moved to scsi/ or chips/. [91/06/07 rvb] [ ./kernel/conf/files.vax ] Support for VaxStation 3100 [91/06/07 rvb] [ ./kernel/i386/cswitch.s ] cputypes.h->platforms.h [91/06/12 13:44:37 rvb] [ ./kernel/i386/fpu.c ] cputypes.h->platforms.h [91/06/12 13:44:41 rvb] [ ./kernel/i386/genassym.c ] cputypes.h->platforms.h [91/06/12 13:44:45 rvb] [ ./kernel/i386/hardclock.c ] cputypes.h->platforms.h [91/06/12 13:44:49 rvb] [ ./kernel/i386/interrupt.s ] cputypes.h->platforms.h [91/06/12 13:44:55 rvb] [ ./kernel/i386/locore.s ] cputypes.h->platforms.h [91/06/12 13:44:59 rvb] [ ./kernel/i386/pic.c ] cputypes.h->platforms.h [91/06/12 13:45:08 rvb] [ ./kernel/i386/pic.h ] cputypes.h->platforms.h [91/06/12 13:45:13 rvb] [ ./kernel/i386/pit.c ] cputypes.h->platforms.h [91/06/12 13:45:16 rvb] [ ./kernel/i386/pit.h ] cputypes.h->platforms.h [91/06/12 13:45:21 rvb] [ ./kernel/i386/setroot.c ] cputypes.h->platforms.h [91/06/12 13:45:24 rvb] [ ./kernel/i386/start.s ] cputypes.h->platforms.h [91/06/12 13:45:27 rvb] [ ./kernel/i386at/autoconf.c ] cputypes.h->platforms.h [91/06/12 13:45:33 rvb] [ ./kernel/i386at/model_dep.c ] cputypes.h->platforms.h [91/06/12 13:45:37 rvb] [ ./kernel/i386ipsc/model_dep.c ] cputypes.h->platforms.h [91/06/12 13:45:41 rvb] [ ./kernel/kern/bootstrap.c ] Ask for startup program to override default. [91/06/18 21:39:17 rvb] [ ./kernel/mips/PMAX/ga_hdw.c ] The busses.h and other header files have moved to the "chips" directory. [91/06/07 rvb] [ ./kernel/mips/PMAX/gq_hdw.c ] The busses.h and other header files have moved to the "chips" directory. [91/06/07 rvb] [ ./kernel/mips/PMAX/mips_box.c ] The busses.h and other header files have moved to the "chips" directory. [91/06/07 rvb] [ ./kernel/mips/PMAX/tc.c ] The busses.h and other header files have moved to the "chips" directory. [91/06/07 rvb] [ ./kernel/mips/autoconf.c ] #ifdef PMAX -> #ifdef DECSTATION and we include [91/06/12 14:08:42 rvb] [ ./kernel/mips/mach_param.h ] #ifdef PMAX -> #ifdef DECSTATION and we include [91/06/12 14:08:46 rvb] [ ./kernel/mips/mips_box.h ] #ifdef PMAX -> #ifdef DECSTATION and we include [91/06/12 14:08:49 rvb] [ ./kernel/mips/mips_init.c ] #ifdef PMAX -> #ifdef DECSTATION and we include [91/06/12 14:09:50 rvb] cons_enable() now takes an argument -- which should be 1. [91/06/07 rvb] [ ./kernel/mips/pmap.c ] #ifdef PMAX -> #ifdef DECSTATION and we include [91/06/12 14:08:54 rvb] [ ./kernel/mips/prom_interface.h ] #ifdef PMAX -> #ifdef DECSTATION and we include [91/06/12 14:09:01 rvb] [ ./kernel/scsi/compat_30.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/mapped_scsi.c ] minor improvements [91/06/18 21:34:58 rvb] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:17 rvb] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/mapped_scsi.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/rz.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/rz.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] A couple of macros were not fully parenthesized, which screwed up the second scsi bus on Vaxen. [This was the only bug in the multi-bus code, amazing]. [91/05/30 af] [ ./kernel/scsi/rz_disk.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/rz_disk_bbr.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/rz_labels.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/rz_tape.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:21 rvb] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] Printing of 'unsupported..' in scsi_slave was screwed cuz ui->mi and ui->unit could be bogus at that point in time. [91/05/30 af] [ ./kernel/scsi/scsi.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi2.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_alldevs.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_comm.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_cpu.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_defs.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_disk.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_jukebox.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_optical.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_printer.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_rom.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_scanner.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_tape.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/scsi_worm.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/src/config/config.h ] cputypes.h->platforms.h [91/06/12 13:45:45 rvb] [ ./kernel/src/config/config.l ] cputypes.h->platforms.h [91/06/12 13:45:50 rvb] [ ./kernel/src/config/config.y ] cputypes.h->platforms.h [91/06/12 13:45:55 rvb] [ ./kernel/src/config/main.c ] cputypes.h->platforms.h [91/06/12 13:46:00 rvb] [ ./kernel/src/config/mkglue.c ] cputypes.h->platforms.h [91/06/12 13:46:04 rvb] [ ./kernel/src/config/mkheaders.c ] cputypes.h->platforms.h [91/06/12 13:46:08 rvb] [ ./kernel/src/config/mkioconf.c ] cputypes.h->platforms.h [91/06/12 13:46:13 rvb] [ ./kernel/src/config/mkmakefile.c ] cputypes.h->platforms.h [91/06/12 13:46:20 rvb] [ ./kernel/src/config/mkswapconf.c ] cputypes.h->platforms.h [91/06/12 13:46:26 rvb] [ ./kernel/sun3/autoconf.c ] cputypes.h->platforms.h [91/06/12 13:46:30 rvb] [ ./kernel/sun3/cpu.h ] cputypes.h->platforms.h [91/06/12 13:46:34 rvb] [ ./kernel/sun3/map.s ] cputypes.h->platforms.h [91/06/12 13:46:38 rvb] [ ./kernel/sun3/model_dep.c ] cputypes.h->platforms.h [91/06/12 13:46:41 rvb] [ ./kernel/sun3/pmap.c ] cputypes.h->platforms.h [91/06/12 13:46:46 rvb] [ ./kernel/sun3/sun_init.c ] cputypes.h->platforms.h [91/06/12 13:46:53 rvb] [ ./kernel/sun3/trap.c ] cputypes.h->platforms.h [91/06/12 13:46:56 rvb] [ ./kernel/sundev/mb.c ] cputypes.h->platforms.h [91/06/12 13:47:02 rvb] [ ./kernel/sys/reboot.h ] Second byte of boothowto is flags for "startup" program. [91/06/18 rvb] Add ifndef ASSEMBLER so that vax_init.s can include it. [91/06/11 rvb] [ ./kernel/vax/Locore.c ] cputypes.h->platforms.h [91/06/12 13:57:39 rvb] Support for VaxStation 3100: cvax like VAX6x0 [91/06/04 rvb] [ ./kernel/vax/autoconf.c ] cputypes.h->platforms.h [91/06/12 13:47:08 rvb] [ ./kernel/vax/clock.c ] cputypes.h->platforms.h [91/06/12 13:57:41 rvb] Support for VaxStation 3100: like Cvax II [91/06/04 rvb] [ ./kernel/vax/conf.c ] X support [91/06/18 21:36:41 rvb] Support for VaxStation 3100: devices like DEC Station 3100 [91/06/04 rvb] [ ./kernel/vax/cons.c ] cputypes.h->platforms.h [91/06/12 13:57:44 rvb] Support for VaxStation 3100: NO STANDARD CONSOLE, NO ROM PRINT CALLOUT, console is like the DEC Station 3100 [91/06/04 rvb] [ ./kernel/vax/cons.h ] cputypes.h->platforms.h [91/06/12 13:47:17 rvb] [ ./kernel/vax/cpmbx.h ] cputypes.h->platforms.h [91/06/12 13:57:47 rvb] Support for VaxStation 3100: cvax like VAX6x0 [91/06/04 rvb] [ ./kernel/vax/cpu_data.c ] cputypes.h->platforms.h [91/06/12 13:57:50 rvb] Support for VaxStation 3100: new processor cvax + different memory and bus. [91/06/04 rvb] [ ./kernel/vax/cpu_data.h ] Support for VaxStation 3100: new processor number [91/06/04 rvb] [ ./kernel/vax/ka3100.c ] cputypes.h->platforms.h [91/06/12 13:57:52 rvb] Support for VaxStation 3100: new processor cvax + different memory and bus. [91/06/04 rvb] Created. [91/05/24 rvb] [ ./kernel/vax/ka3100.h ] Support for VaxStation 3100: new processor cvax + different memory and bus. [91/06/04 rvb] Created [91/04/26 rvb] [ ./kernel/vax/ka6200.c ] cputypes.h->platforms.h [91/06/12 13:47:56 rvb] [ ./kernel/vax/ka630.c ] cputypes.h->platforms.h [91/06/12 13:48:01 rvb] [ ./kernel/vax/ka630.h ] cputypes.h->platforms.h [91/06/12 13:48:11 rvb] [ ./kernel/vax/ka650.c ] cputypes.h->platforms.h [91/06/12 13:48:15 rvb] [ ./kernel/vax/ka7xx.c ] cputypes.h->platforms.h [91/06/12 13:49:49 rvb] [ ./kernel/vax/ka820.c ] cputypes.h->platforms.h [91/06/12 13:49:53 rvb] [ ./kernel/vax/ka8600.c ] cputypes.h->platforms.h [91/06/12 13:49:58 rvb] [ ./kernel/vax/locore.s ] Support for VaxStation 3100: new processor number added to tables and ka42_<> interrupt trampoline. [91/06/04 rvb] [ ./kernel/vax/mem.h ] cputypes.h->platforms.h [91/06/12 13:50:01 rvb] [ ./kernel/vax/model_dep.c ] cputypes.h->platforms.h [91/06/12 13:57:55 rvb] Support for VaxStation 3100: new processor [91/06/04 rvb] [ ./kernel/vax/mtpr.h ] cputypes.h->platforms.h [91/06/12 13:50:07 rvb] [ ./kernel/vax/nexus.h ] cputypes.h->platforms.h [91/06/12 13:50:11 rvb] [ ./kernel/vax/qbus.c ] cputypes.h->platforms.h [91/06/12 13:50:15 rvb] [ ./kernel/vax/scb.s ] cputypes.h->platforms.h [91/06/12 13:50:19 rvb] [ ./kernel/vax/setroot.c ] a kinder gentler setroot [91/06/18 21:37:37 rvb] Fix setroot for scsi device. [91/06/11 rvb] Support for VaxStation 3100: use rz disk and two digit unit number [91/06/04 rvb] [ ./kernel/vax/vax_init.s ] cputypes.h->platforms.h [91/06/12 13:58:02 rvb] VAX3100: Get device and mem_bitmap parameters from ultrix. [91/06/11 rvb] Support for VaxStation 3100: new processor number [91/06/04 rvb] [ ./kernel/vax/watch_chip.c ] Support for VaxStation 3100: shift two bits [91/06/04 rvb] [ ./kernel/vax/watch_chip.h ] Support for VaxStation 3100: shift two bits [91/06/04 rvb] [ ./kernel/vaxmba/mba.c ] cputypes.h->platforms.h [91/06/12 13:50:27 rvb] [ ./kernel/vaxuba/ubareg.h ] cputypes.h->platforms.h [91/06/12 13:50:33 rvb] [ ./kernel/vaxuba/ubavar.h ] cputypes.h->platforms.h [91/06/12 13:50:37 rvb] [ ./kernel/vaxuba/uda_umd.c ] cputypes.h->platforms.h [91/06/12 13:50:44 rvb] [ ./kernel/conf/MASTER.vax ] Support for VaxStation 3100 [91/06/07 rvb] [ ./kernel/conf/MASTER.mips ] dz got renamed dz_, because the driver was renamed. [91/06/07 rvb] [ ./kernel/chips/lance.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:39 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/lance_mapped.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:45 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and could be used on the Vax3100. [91/06/04 rvb] [ ./kernel/scsi/scsi_endian.h ] Created. [91/06/11 af] [ ./kernel/conf/files.vax ] Support for VaxStation 3100 [91/06/07 rvb] [ ./kernel/conf/files.mips ] Most files in mips/PMAX got moved to scsi/ or chips/. [91/06/07 rvb] [ ./kernel/conf/MASTER.vax ] Support for VaxStation 3100 [91/06/07 rvb] [ ./kernel/conf/MASTER.mips ] dz got renamed dz_, because the driver was renamed. ln got renamed se_, because the driver was renamed. [91/06/07 rvb] [ ./kernel/chips/lance.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:39 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/lance_mapped.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:01:45 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and could be used on the Vax3100. [91/06/04 rvb] [ ./kernel/scsi/adapters/scsi_5380.h ] From the NCR data sheets "NCR 5380 Family, SCSI Protocol Controller Data Manual" NCR Microelectronics Division, Colorado Spring, 6/98 T01891L [91/04/21 af] [ ./kernel/scsi/adapters/scsi_5380_hdw.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:28 rvb] Created, from the NCR specs: "NCR 5380 Family, SCSI Protocol Controller Data Manual" NCR Microelectronics Division, Colorado Spring, 6/98 T01891L and from code taken from the scsi_7061_hdw.c file [91/04/23 af] [ ./kernel/scsi/adapters/scsi_53C94.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/adapters/scsi_53C94_hdw.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:35 rvb] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/07 rvb] [ ./kernel/scsi/adapters/scsi_7061.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/adapters/scsi_7061_hdw.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/conf/files.vax ] Support for VaxStation 3100 [91/06/07 rvb] [ ./kernel/conf/files.mips ] Most files in mips/PMAX got moved to scsi/ or chips/. [91/06/07 rvb] [ ./kernel/sun3/setroot.c ] gets() must be static to not conflict with kern/printf:gets() [ ./kernel/scsi/adapters/scsi_5380.h ] From the NCR data sheets "NCR 5380 Family, SCSI Protocol Controller Data Manual" NCR Microelectronics Division, Colorado Spring, 6/98 T01891L [91/04/21 af] [ ./kernel/scsi/adapters/scsi_5380_hdw.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:28 rvb] Created, from the NCR specs: "NCR 5380 Family, SCSI Protocol Controller Data Manual" NCR Microelectronics Division, Colorado Spring, 6/98 T01891L and from code taken from the scsi_7061_hdw.c file [91/04/23 af] [ ./kernel/scsi/adapters/scsi_53C94.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/adapters/scsi_53C94_hdw.c ] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:35 rvb] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/07 rvb] [ ./kernel/scsi/adapters/scsi_7061.h ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/scsi/adapters/scsi_7061_hdw.c ] File moved here from mips/PMAX since it is now "MI" code, also used by Vax3100 and soon -- the omron luna88k. [91/06/04 rvb] [ ./kernel/chips/pm_misc.c ] X support [91/06/18 21:36:46 rvb] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:05 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/cfb_hdw.c ] File moved here from mips/PMAX since it tries to be generic. [91/06/04 rvb] [ ./kernel/vax/ka3100.c ] Changes from sandro [91/06/19 rvb] cputypes.h->platformsh. [91/06/12 rvb] Support for VaxStation 3100: new processor cvax + different memory and bus. [91/06/04 rvb] Created. [91/05/24 rvb] [ ./kernel/vax/ka3100.h ] Changes from sandro [91/06/19 rvb] Support for VaxStation 3100: new processor cvax + different memory and bus. [91/06/04 rvb] Created [91/04/26 rvb] [ ./kernel/vax/setroot.c ] gets() defined in kern/printf strikes again. [ ./kernel/scsi/adapters/scsi_5380_hdw.c ] Only one interrupt to be cleared on reset for now [ ./kernel/scsi/adapters/scsi_5380_hdw.c ] Don't allow disconnects for now. [ ./kernel/vm/vm_resident.c ] Add pmap_page_grap_phys_addr() so that we don't have to export vm_page_t. [ ./kernel/chips/pm_misc.c ] X support [91/06/18 21:36:46 rvb] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:05 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/chips/pm_misc.c ] X support [91/06/18 21:36:46 rvb] mips->DECSTATION; vax->VAXSTATION [91/06/12 14:02:05 rvb] File moved here from mips/PMAX since it tries to be generic; it is used on the PMAX and the Vax3100. [91/06/04 rvb] [ ./kernel/vax/clock.c ] funny thing: before you could not build STD+BI because ka650.h was necessary to define ssc [ ./kernel/vax/locore.s ] funny thing: before you could not build STD+BI because ka650.h was necessary to define ssc [ ./kernel/vax/genassym.c ] funny thing: before you could not build STD+BI because ka650.h was necessary to define ssc [ ./kernel/vax/conf.c ] X support [91/06/18 21:36:41 rvb] Support for VaxStation 3100: devices like DEC Station 3100 [91/06/04 rvb] [ ./kernel/vax/ka3100.c ] cputypes.h->platforms.h [91/06/12 13:57:52 rvb] Support for VaxStation 3100: new processor cvax + different memory and bus. [91/06/04 rvb] ========================================================================== ***** MK Version MK52 (rvb) ***** THESE CHANGES ARE MIPS AND VAX ONLY. Mainly we forgot to export the include files into the release/chips and release/scsi directories that had been in release/mips/PMAX. This means trouble for the unix server and other users of release. Also a few tweaks from sandro for mips. NOTE: only the 3100 platforms were compiled for. ALSO NOTE: on the previous release MK51, we build for sun3, i386, sqt, mips, vax6bb and r2d2. We tested on mips and vax6bb. [ ./conf/version.edit ] 52 [ ./kernel/mips/busses.c ] defunct; now in chips [ ./kernel/mips/busses.h ] defunct; now in chips [ ./kernel/mips/busses.c ] defunct; now in chips [ ./kernel/mips/busses.h ] defunct; now in chips [ ./kernel/mips/start.s ] Make it assemble with the 2.1 compiler [ ./kernel/mips/PMAX/boot/c_misc.c ] Scsi include files have moved, plus we use BSD label defs from disk_status.h [91/06/20 af] [ ./kernel/mips/PMAX/boot/mkboot.c ] Scsi include files have moved, plus we use BSD label defs from disk_status.h [91/06/20 af] [ ./include/Makefile ] Account for the new chips/ and scsi/ directories. [ ./include/Makefile ] Account for new scsi/ and chips/ directories. ========================================================================== ***** MK Version MK53 (rvb) ***** Bug fixes: --- ----- Organizational changes: -------------- ------- [VAX] [PMAX] Well, the last release defuncted busses.[ch] from the mips/PMAX/ directory and as luck would have it there was still one reference in the tree to it. ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 53 [ ./kernel/chips/busses.c ] Sigh, busses.h really is in chips/ and until MK52 it was also in mips/ ========================================================================== ***** MK Version MK54 (rpd) ***** New features: --- -------- Mig now understands a new option, "-sheader ", which causes it to output a header file containing declarations/prototypes of server-side functions. I restored the prototypes in the standard header file ("-header "), which contains declarations for the user-side stubs. I removed some old code which caused Mig to produce an "init_" function in the user file. It hasn't done anything in a long time and nobody should be calling it. I hacked Mig to use the type "ipc_port_t" instead of "mach_port_t" in appropriate places when generating files for the kernel. This way prototypes use the right type and I could remove a bunch of casts from the kernel, especially in the vm system. Bug fixes: --- ----- I fixed a bug in the message-buffer caching code from MK43. I picked up a fix from dlb for no-op assignments of threads to processor sets. In MK47, I changed the kernel so that syscall forms of kernel RPCs return MACH_SEND_INTERRUPTED to indicate that libmach should retry. In this merge, I made the companion fix to libmach to check for MACH_SEND_INTERRUPTED instead of any non-success return code. A Unix server built with this release won't work on pre-MK47 kernels. I picked up some minor changes from jsb so that the norma/ directory is only used when building NORMA configurations. [VAX] I fixed files in the chips/ and scsi/ directories so that they compile with gcc. I fixed a problem with the recent vaxstation support that screwed up r2d2. [I386] A minor fix so that STD+WS+TEST works. I added kernel/src/makeboot to the appropriate Directories/ files. [PMAX] I fixed the mips/PMAX/boot/ directory so that people without dot in their paths can build it. Special notes: ------- ----- I tested the following configurations: vax STD+VAX6bb+gcc nova, sf STD+16+fixpri+VAX6bb+BI+de+gcc r2d2 i386 STD+WS waldo STD+SQT+32 boris STD+iPSC+NORMA dimitri sun3 STD+SWS rocky pmax STD+ANY rpd ========================================================================== ***** MK Version MK55 (jsb) ***** Bug fixes: --- ----- NORMA_VM: Eliminated leaks; cleaned up implementation. NORMA_IPC: Improved buffer management code. New features: --- -------- From David Black: memory_object_data_supply, and generalization of NORMA_IPC page list technology. Code currently turned off by default. More details when I pick up the rest of David's work. Special notes: ------- ----- Built for and tested on ubik i386 STD+WS jsb pmax STD+ANY dimitri i386ipsc STD+iPSC+NORMA Build, not tested: vax STD+16+fixpri+VAX6bb+BI+de sun3 STD+SWS I could not build STD+16+fixpri+VAX6bb+BI+de+gcc because the build died on gcc -ES ... locore.s. It looks like gcc doesn't know what a '-ES' means. (Perhaps ius3 has an old gcc?) Log messages: --- -------- [ ./conf/version.edit ] 55 [ ./kernel/ddb/db_command.c ] Added support for 'show all slocks'. [91/06/29 15:59:01 jsb] [ ./kernel/i386ipsc/autoconf.c ] Call ask_bootstrap_server. [91/06/29 16:39:11 jsb] [ ./kernel/i386ipsc/dcm_input.c ] Use clport_page_grab instead of vm_page_grab. Removed bogus null definition of clport_replenish. [91/06/29 16:08:08 jsb] [ ./kernel/i386ipsc/model_dep.c ] Temporary hack to prevent kernel text and data from being used as free memory. [91/06/29 17:48:16 jsb] [ ./kernel/i386ipsc/sd.c ] Replaced first_sdopen_ever with sd_initialized. [91/06/29 16:09:42 jsb] [ ./kernel/i386ipsc/sdintr.c ] Replace "Wrong direction DATAOUT" assertion with printf. I seem to hit this a lot when running a STD+iPSC+NORMA+TEST kernel. [91/06/29 16:13:34 jsb] [ ./kernel/i860ipsc/autoconf.c ] Call ask_bootstrap_server. [91/06/29 16:39:30 jsb] [ ./kernel/ipc/ipc_kmsg.c ] From David Black at OSF: generalized page list support. [91/06/29 16:29:29 jsb] [ ./kernel/ipsc/dcmcom.c ] Implemented clport_replenish and clport_page_grab. [91/06/29 16:49:46 jsb] [ ./kernel/ipsc/node.c ] Removed master_node(). Added ask_bootstrap_server. [91/06/29 16:32:06 jsb] [ ./kernel/ipsc/usm.c ] Fixed usmopen to call ttychars with the tty unlocked. [91/06/29 16:33:36 jsb] [ ./kernel/kern/bootstrap.c ] Removed notion of master/slave. Instead, refuse to start up a bootstrap task whenever startup_name is null. [91/06/29 16:48:14 jsb] [ ./kernel/kern/ipc_kobject.h ] For NORMA_VM: added IKOT_XMM_PAGER, for memory_objects mapped only by other kernels. From David Black at OSF: added ipc_kobject_vm_special. [91/06/29 14:33:34 jsb] [ ./kernel/kern/lock.c ] Implemented db_show_all_slocks. [91/06/29 16:52:53 jsb] [ ./kernel/mach/mach.defs ] From David Black at OSF: added memory_object_data_supply. [91/06/29 14:59:47 jsb] [ ./kernel/mach/memory_object.defs ] From David Black at OSF: added memory_object_supply_completed and memory_object_data_return. [91/06/29 14:54:47 jsb] [ ./kernel/mach/memory_object_default.defs ] If KERNEL and NORMA_VM, then use a userprefix (to allow interposition). [91/06/29 16:35:53 jsb] [ ./kernel/norma/ipc_kserver.c ] Changes for new vm_map_copy_t definition. [91/06/29 16:38:27 jsb] [ ./kernel/norma/ipc_output.c ] Changes for new vm_map_copy_t definition. Locking changes in ipc_clport_send. [91/06/29 15:06:45 jsb] [ ./kernel/norma/ipc_vm.c ] Changes for new vm_map_copy_t definition. [91/06/29 15:08:54 jsb] [ ./kernel/norma/ipc_xxx.c ] Some locking changes. [91/06/29 15:10:46 jsb] [ ./kernel/norma/xmm.c ] Removed non-KERNEL code. Replaced Xobj_allocate with xmm_obj_allocate. Added xmm_obj_deallocate. Use per-class zone for obj allocation. [91/06/29 15:21:33 jsb] [ ./kernel/norma/xmm_debug.c ] Collect garbage. Return valid return values. [91/06/29 15:25:16 jsb] [ ./kernel/norma/xmm_export.c ] Fixed object importation protocol. Corrected declaration of _proxy_lock_completed. [91/06/29 15:28:46 jsb] [ ./kernel/norma/xmm_import.c ] Fixed object importation protocol. Return valid return values. [91/06/29 15:30:10 jsb] [ ./kernel/norma/xmm_interpose.c ] Collect garbage. Return valid return values. [91/06/29 15:31:20 jsb] [ ./kernel/norma/xmm_invalid.c ] Added declaration of invalid_mclass, for debugging use. [91/06/29 15:32:54 jsb] [ ./kernel/norma/xmm_obj.h ] Removed malloc, free definitions. Added xmm_decl macro. Renamed Xobj_allocate to xmm_obj_allocate. Added zone element to xmm_class structure. [91/06/29 14:41:25 jsb] [ ./kernel/norma/xmm_server.c ] Added support for memory_object_create. Now export normal memory_object_init with standard arguments. Improved object initialization logic. Added garbage collection. [91/06/29 15:39:01 jsb] [ ./kernel/norma/xmm_split.c ] Use zone for requests. [91/06/29 15:34:20 jsb] [ ./kernel/norma/xmm_svm.c ] Now allow objects to grow in size (as temporary objects do). Merged user_t and kobj structures. Do garbage collection. Now pass up all set_attribute calls, not just first. Use zone for request structures. [91/06/29 15:43:16 jsb] [ ./kernel/norma/xmm_user.c ] Collect garbage. Support memory_object_create. Disassociate kobj from memory_control before calling memory_object_terminate to prevent upcalls on terminated kobj. [91/06/29 15:51:50 jsb] [ ./kernel/vm/memory_object.c ] 21-Jun-91 David L. Black (dlb) at Open Software Foundation Add memory_object_data_supply. [91/06/29 16:36:43 jsb] [ ./kernel/vm/vm_fault.c ] Changed remaining pager_* references to memory_object_*. [91/06/29 16:26:22 jsb] [ ./kernel/vm/vm_map.c ] 20-Jun-91 David L. Black (dlb) at Open Software Foundation Add support for page list format map copies. NORMA/CLPORT code will be cut over later. 18-Jun-91 David L. Black (dlb) at Open Software Foundation Convert to use multiple format map copies. [91/06/29 16:37:03 jsb] [ ./kernel/vm/vm_map.h ] 18-Jun-91 David L. Black (dlb) at Open Software Foundation Declarations for multiple-format vm map copy support. [91/06/29 14:36:42 jsb] [ ./kernel/vm/vm_object.c ] Improved NORMA_VM support, including support for memory_object_create. [91/06/29 17:06:11 jsb] [ ./kernel/vm/vm_page.h ] 28-Jun-91 David L. Black (dlb) at Open Software Foundation Change unused was_absent field to precious field. 21-Jun-91 David L. Black (dlb) at Open Software Foundation Remove extraneous include of kern/thread.h. [91/06/29 14:39:05 jsb] [ ./kernel/vm/vm_pageout.c ] 18-Jun-91 David L. Black (dlb) at Open Software Foundation Add missing includes of vm/vm_map.h and kern/thread.h. [91/06/29 16:53:36 jsb] [ ./kernel/vm/vm_resident.c ] Removed accidently merged hack. [91/06/29 17:47:21 jsb] 20-Jun-91 David L. Black (dlb) at Open Software Foundation Need vm_page_replace in all configurations. [91/06/29 16:37:31 jsb] [ ./kernel/vm/memory_object.c ] Changed mach_port_t to ipc_port_t in memory_object_data_supply. ========================================================================== ***** MK Version MK56 (danner) ***** New features: --- -------- The purpose of this release is essentially to get the luna88k code under source control. Other minor upgrades occured in the process. The code is incomplete and currently broken. The luna build environment is still less than ideal. If your are interested in building such kernels, please contact me or bob. The software single step code is now smart enough to avoid putting breakpoints directly after unconditional flow transfer instructions. This causes problems on both the pmax and luna. DDB can now take a table of machine specific commands to be installed in addition to the normal commands under the command prefix "machine". This necessitated some changes to the ddb header files. See luna88k/db_interface.c for a use of the functionality. The SSSCSI (Sandro Spiffy SCSI) code now understands dec, omron and bsd labels, which form a maze of disk labels, all alike. Copyrights on the omron code are somewhat suspect, and I expect I caused retrograde motion on several MI file copyrights. Apologies in advance. Built on amalia.mach (luna), and booted single, dual, and quad cpu. Works as well as ever. (gets through SCSI autoconfig, finds paging file, dies). Built and booted on rvb4.mach.cs.cmu.edu (Decstation 5000). DDB changes tested. Comes up multiuser. Built STD+VAX6bb on sf.mach.cs.cmu.edu. Bug fixes: --- ----- Organizational changes: -------------- ------- A bunch of luna specific directories were created. Special notes: ------- ----- I created an new version of the utils/mktree.sh script that is used to create kernel trees. Gratitously replicated directory creation code has been collapsed to loops. Until Mary or someone can figure out how to install this in its proper place (/afs/cs/project/mach-7/mk/bin/mktree), please manually pull the script out of /afs/cs/project/mach-7/mk/src/latest/utils/mktree.sh. ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 56 [ ./kernel/mach/luna88k/thread_status.h ] Initial Checkin [91/06/26 12:40:20 danner] [ ./kernel/mach/luna88k/vm_param.h ] Initial Checkin [91/06/26 12:40:27 danner] Added some macros which be related to m88k segment. [89/08/16 kick] Changed the vax declarations for M88000. note: incomplete MIN_ADDRESS, MAX_ADDRESS and STACH_SIZE. [89/08/12 kick] [ ./kernel/mach/luna88k/vm_types.h ] Initial Checkin [91/06/26 12:40:33 danner] [ ./kernel/src/config/config.h ] Luna88k support. [91/06/26 danner] [ ./kernel/src/config/config.l ] Luna88k support. [91/06/26 danner] [ ./kernel/src/config/config.y ] Luna88k support. [91/06/26 danner] [ ./kernel/src/config/main.c ] Luna88k support. [91/06/26 danner] [ ./kernel/src/config/mkglue.c ] Luna88k support. [91/06/26 danner] [ ./kernel/src/config/mkheaders.c ] Luna88k support. [91/06/26 danner] [ ./kernel/src/config/mkioconf.c ] Luna88k support. [91/06/26 danner] [ ./kernel/src/config/mkmakefile.c ] Luna88k support. [91/06/26 danner] [ ./kernel/src/config/mkswapconf.c ] Added support for null ioconf.c for luna88k. [91/07/08 16:16:56 danner] [ ./utils/mktree.sh ] Added luna88k support. Reorganized code to use loops instead of endlessly repeated code. [91/06/26 danner] [ ./kernel/mips/mips_instruction.c ] Add inst_unconditional_flow_transfer to support ddb. [91/07/09 danner] [ ./kernel/mips/mips_instruction.c ] Fixed bug in inst_unconditional_flow_transfer. [ ./kernel/conf/files.vax ] Added scsi/rz_labels.c [91/07/09 danner] [ ./Directories/luna88k ] Few more luna specific directories. [91/06/26 11:25:53 danner] Created from Mips [91/06/26 danner] [ ./kernel/Makeconf ] Luna88k support. [91/06/26 danner] [ ./kernel/Makefile ] Luna88k support. [91/06/26 danner] [ ./kernel/conf/MASTER ] Added support for luna88k (pseudo-device cpus 4). [91/05/06 danner] [ ./kernel/conf/MASTER.luna88k ] Created Revision 2.2 91/04/05 13:53:25 mbj Stripped out all vax stuff [91/03/17 22:49:26 rvb] Revision 2.1 91/03/07 12:06:45 rvb to 2.1 [ ./kernel/conf/Makefile.luna88k ] Created [91/06/26 10:58:58 danner] [ ./kernel/conf/devices.luna88k ] Created Revision 2.2 91/04/05 13:55:17 mbj install on branch too [91/03/17 22:54:22 rvb] [ ./kernel/conf/files.luna88k ] Added scsi/rz_labels.c [91/07/08 22:55:54 danner] Initial Checkin Revision 2.2 91/04/05 13:55:21 mbj No more db_obsolete. [91/03/15 18:04:58 rvb] Added kern/printf.c (on mach_kdb) to support ddb. Added db_obsolete.c in support of iprintf.c [91/03/14 danner] Added ddb support files; obsoleted kdb which never was in use [91/03/08 danner] [ ./kernel/conf/files.mips ] Added scsi/rz_labels.c to support new label technology. [ ./kernel/ddb/db_aout.c ] On luna, kdb_init needs to be called ddb_init. Add ifndef DB_SYMBOLS_PRELOADED for machines that use a.out format but whose prom loaders load generously load the symbol table. [91/07/08 danner] [ ./kernel/ddb/db_break.c ] Conditionalized db_map_addr to work right on the luna. Used a ifdef luna88k. This is evil, and needs to be fixed. [91/07/08 danner] [ ./kernel/ddb/db_command.c ] Modified the command loop to include the cpu number in the command prompt on multicpu machines, and node number in norma systems. [91/04/12 danner] [ ./kernel/ddb/db_command.h ] Grabbed up to date copyright. [91/07/08 danner] [ ./kernel/ddb/db_input.c ] Add include of machine/db_machdep.h to allow machine-specific overrides via defines. [91/07/08 danner] [ ./kernel/ddb/db_output.c ] Include machine/db_machdep.c. When db_printf is invoked, call db_printing on luna. This is used to trigger a screen clear. Under luna88k conditional. [91/07/08 danner] [ ./kernel/ddb/db_print.c ] Fixed a few printf that should be db_printfs. [91/07/08 danner] [ ./kernel/ddb/db_run.c ] Added logic to db_set_single_step not to set a breakpoint at the next sequential instruction if the current instruction is an unconditional transfer of flow of control instruction. This avoids problems with the debugger overwriting data or clobbering routines that the debugger itself might need. This is determined by calling the predicate inst_unconditional_flow_transfer. This predicate now needs to be defined for all architectures using the software single step. Added include of ddb/db_run.h, where all the STEP defines have been moved. [91/07/08 danner] [ ./kernel/ddb/db_run.h ] Broken out of db_run.c because I needed access to the step mode in the machine dependent luna88k debugger code. [91/07/09 00:47:31 danner] [ ./kernel/ddb/db_sym.c ] Changed a printf. [91/07/08 danner] [ ./kernel/device/tty.h ] Added omron tty specific flags; conditionalized under luna88k. [91/05/25 danner] [ ./kernel/kern/debug.c ] Luna88k support. [91/06/26 danner] [ ./kernel/luna88k/asm.h ] Initial 3.0 Checkin [91/06/26 11:57:57 danner] [ ./kernel/luna88k/asm_macro.h ] Initial Checkin. Currently unused. In fact, I'm not sure where this file came from. [91/07/08 danner] [ ./kernel/luna88k/ast.h ] Taken from mips. [91/07/08 danner] [ ./kernel/luna88k/ast_types.h ] 3.0 Initial Checkin [91/07/09 10:26:02 danner] [ ./kernel/luna88k/autoconf.c ] cputypes.h -> platforms.h [91/06/24 danner] Butchered for 3.0 [91/05/06 danner] [ ./kernel/luna88k/board.h ] Initial 3.0 Checkin [91/06/26 11:58:14 danner] [ ./kernel/luna88k/clock.c ] cputypes.h -> platforms.h [91/06/24 danner] Butchered for 3.0 [91/05/06 danner] [ ./kernel/luna88k/clock.h ] Added CLOCK_INTR_HZ, the frequency of the system interrupt clock. [91/05/10 danner] [ ./kernel/luna88k/cmmu.c ] Initial 3.0 Checkin [91/06/26 11:58:39 danner] [ ./kernel/luna88k/conf.c ] Initial 3.0 Checkin [91/06/26 11:58:45 danner] [ ./kernel/luna88k/cpu.h ] Initial 3.0 Checkin [91/06/26 11:58:51 danner] [ ./kernel/luna88k/cpu_number.h ] Created for luna. [91/07/08 danner] [ ./kernel/luna88k/db_disasm.c ] Initial 3.0 Checkin [91/06/26 12:01:05 danner] [ ./kernel/luna88k/db_interface.c ] Picked up include of assym.s [91/07/09 danner] Added printing of epsr, vector to frame printing routine. Disabled frame crawling support, since locore support is gone. [91/07/08 danner] Changed db_interface to use ENTRY_ASM in gimmeabreak. [91/07/08 danner] Conditionalized db_read_bytes, db_write_bytes to deal with unitialized pmap subsystem. [91/05/13 danner] [ ./kernel/luna88k/db_machdep.h ] Removed unnecessary include of assym.s [91/07/09 danner] Purged 2.5 RCS log. Added ENTRY_ASM for neatness. [91/07/08 danner] Added include of assym.s (really a C header file). [91/07/05 danner] Initial 3.0 Checkin [91/06/26 11:59:14 danner] [ ./kernel/luna88k/db_sstep.c ] Initial 3.0 Checkin [91/06/26 11:59:21 danner] [ ./kernel/luna88k/db_trace.c ] Initial 3.0 Checkin [91/06/26 11:59:31 danner] [ ./kernel/luna88k/exec.c ] Created (borrowed from Sandro) [91/05/10 danner] [ ./kernel/luna88k/genassym.c ] Added generation of ENTRY_ASM, the assembly instruction to enter the debugger. [91/07/08 danner] Added THREAD_SWAP_FUNC for switch_to_shutdown_context [91/06/25 danner] [ ./kernel/luna88k/jtermio.h ] Initial 3.0 Checkin [91/06/26 11:59:47 danner] [ ./kernel/luna88k/lock.h ] Created. [91/06/24 danner] [ ./kernel/luna88k/locore/asm_utils.h ] Initial 3.0 Checkin [91/06/26 11:59:58 danner] [ ./kernel/luna88k/locore/debug_msg.c ] Initial 3.0 Checkin [91/06/26 12:00:05 danner] [ ./kernel/luna88k/locore/eh.c ] Reorganized to support stack handoff. All exceptions from user mode now store registers in the pcb in the thread structure. This has increased ugliness, esp. in the case when turning on the FPU causes an exception. Removed stack crawling support because the exception frame is now not always on the stack. Sigh Still a bug in cleaning up DMT0. [91/07/04 danner] Upgraded to last pre_trap and pre_ext_int technology [91/05/13 danner] [ ./kernel/luna88k/locore/exception_vectors.h ] Initial 3.0 Checkin [91/06/26 12:00:23 danner] Flush jkdb. [91/04/01 rvb] [ ./kernel/luna88k/locore/locore.c ] Removed OLD_MACH2_5 code (where did it come from). Also switch_task_context, which is obsolete. [91/07/08 danner] Updated save_context to use new pcb definition. [91/07/05 danner] Added switch_to_shutdown_context [91/06/25 danner] Added intstack definition for boot. [91/05/09 danner] Removed sigcode (2.5 trampoline code) Other 2.5isms ifdef 0 out. [91/05/05 danner] Removed include of sys/syscall.h [91/05/05 danner] Flush jkdb. [91/04/01 rvb] Removed a comma that violated motorola assembler syntax [91/03/07 danner] [ ./kernel/luna88k/locore/locore.h ] Removed old OMRON RCS Log, SIZEOF_EF [91/07/08 danner] Removed SIZEOF_EF. Now generated by genasssym. [91/07/04 danner] Added USERMODE definition [91/05/10 danner] [ ./kernel/luna88k/locore/locore_asm_routines.c ] Copyinmsg and copyoutmsg aliased to copyin and copyout, resp. [91/05/08 danner] Removed include of sys/errno.h and copyinstr, copyoutstr, addupc, copystr. [91/05/05 danner] Removed include sys/syscall.h [91/05/05 danner] Flush jkdb. [91/04/01 rvb] We will now use gcc routines for copy/zero. [91/04/01 rvb] Add are_interrupts_disabled for the debugger. [91/03/12 danner] add simple_lock_held for debugger [91/03/12 danner] fixed a bcnd statement that use ne as the test instead of ne0 [91/03/07 danner] Replaced \\ with NEWLINE for ENTRY macro [91/03/07 danner] [ ./kernel/luna88k/locore/locore_c_routines.c ] Initial Checkin [91/06/26 12:23:24 danner] [ ./kernel/luna88k/locore/vsnprintf.c ] Initial Checkin. [91/06/26 12:24:19 danner] [ ./kernel/luna88k/luna_fp.c ] Added inclusion of assym.s [91/07/04 danner] Initial Checkin [91/06/26 12:25:30 danner] [ ./kernel/luna88k/luna_init.c ] Added avail_next. [91/06/25 danner] Moved kdb_init here from machdep. [91/05/13 danner] [ ./kernel/luna88k/m88k.h ] Removed all the EF_* defines - they are now created by genassym. [91/07/04 danner] Initial Checkin [91/06/26 12:25:58 danner] [ ./kernel/luna88k/mach_param.h ] Snarfed from 386 [91/05/06 danner] [ ./kernel/luna88k/machdep.c ] Support for remunged pcb. Untested. [91/07/05 danner] cputypes.h -> platforms.h [91/06/24 danner] Added halt_all_cpus. [91/05/10 danner] [ ./kernel/luna88k/machine_thread.c ] Created [91/05/10 danner] [ ./kernel/luna88k/machparam.h ] Created for luna88k. [91/05/06 danner] [ ./kernel/luna88k/mem.c ] Initial Checkin [91/06/26 12:29:15 danner] [ ./kernel/luna88k/nvram.h ] Initial Checkin [91/06/26 12:29:22 danner] [ ./kernel/luna88k/pcb.c ] Support for 3.0 style pcb's, where the user registers are dumped into the pcb on all traps/interrupts from user mode. [91/07/08 danner] Nuked thread dup [91/05/07 danner] [ ./kernel/luna88k/pcb.h ] Modified to include thread.h instead of redefining the pcb structure. [91/07/03 danner] Initial Checkin [91/06/26 12:30:20 danner] [ ./kernel/luna88k/pio.h ] Initial Checkin [91/06/26 12:30:36 danner] [ ./kernel/luna88k/pmap.c ] Added pmap_virtual_space, pmap_free_pages, and pmap_next_page. [91/06/25 danner] Modified to protect the page which has the exception vector table. (SYSV_BASE). [91/05/22 danner] ASSERT -> assert [91/05/10 danner] Removed mach_xp include and conditionals. [91/05/07 danner] [ ./kernel/luna88k/pmap.h ] Added noops for pmap_list_resident_pages and pmap_remove_attributes. [91/05/09 danner] [ ./kernel/luna88k/psl.h ] Initial Checkin [91/06/26 12:31:10 danner] [ ./kernel/luna88k/pte.h ] Initial Checkin [91/06/26 12:31:16 danner] [ ./kernel/luna88k/reg.h ] Initial Checkin [91/06/26 12:31:22 danner] [ ./kernel/luna88k/rom1ep.h ] Initial Checkin [91/06/26 12:31:29 danner] [ ./kernel/luna88k/scb.h ] Initial Checkin [91/06/26 12:31:36 danner] [ ./kernel/luna88k/scr.h ] Initial Checkin [91/06/26 12:31:46 danner] [ ./kernel/luna88k/setjmp.h ] Initial 3.0 Checkin. [91/07/09 09:55:58 danner] [ ./kernel/luna88k/setroot.c ] Lifted from i386at directory. [91/05/09 danner] [ ./kernel/luna88k/softint.c ] Initial Checkin [91/06/26 12:32:00 danner] [ ./kernel/luna88k/softint.h ] Initial Checkin [91/06/26 12:32:06 danner] [ ./kernel/luna88k/sys_machdep.c ] Initial Checkin [91/06/26 12:32:15 danner] [ ./kernel/luna88k/thread.h ] Keep_Stacks currently defined. [91/07/08 danner] Added include of mach/kern_return.h [91/05/06 danner] [ ./kernel/luna88k/time_stamp.h ] Snarfed from i386 [91/05/06 danner] [ ./kernel/luna88k/trap.c ] Removed frame is bogus warning that depended on scribbling magic constants into frames. [91/07/08 danner] Initial Checkin [91/06/26 12:32:46 danner] [ ./kernel/luna88k/trap.h ] Initial Checkin [91/06/26 12:32:53 danner] [ ./kernel/luna88k/ufs_machdep.c ] Initial Checkin [91/06/26 12:33:37 danner] [ ./kernel/luna88k/varargs.h ] Typo fixup. [91/06/26 danner] Initial Checkin [91/06/26 12:37:40 danner] [ ./kernel/luna88k/vm_machdep.c ] Initial Checkin [91/06/26 12:38:33 danner] [ ./kernel/luna88k/vm_tuning.h ] 3.0 Checkin. [91/07/09 10:48:44 danner] [ ./kernel/luna88k/vmparam.h ] Initial Checkin [91/06/26 12:38:41 danner] [ ./kernel/luna88k/xpr.h ] Initial 3.0 Checkin. [91/07/09 10:38:06 danner] [ ./kernel/luna88kdev/codetbl.t ] Initial Checkin [91/06/26 11:43:05 danner] [ ./kernel/luna88kdev/compat_25.h ] Initial Checkin [91/06/26 11:43:15 danner] [ ./kernel/luna88kdev/cons.c ] Initial Checkin [91/06/26 11:42:24 danner] [ ./kernel/luna88kdev/cons.h ] Initial Checkin [91/06/26 11:42:30 danner] [ ./kernel/luna88kdev/deftbl.t ] Initial Checkin [91/06/26 11:43:25 danner] [ ./kernel/luna88kdev/esctbl.t ] Initial Checkin [91/06/26 11:43:36 danner] [ ./kernel/luna88kdev/kbmain.c ] Initial Checkin [91/06/26 11:47:02 danner] [ ./kernel/luna88kdev/kbms.h ] Initial Checkin [91/06/26 11:42:36 danner] [ ./kernel/luna88kdev/keymap.t ] Initial Checkin [91/06/26 11:45:36 danner] [ ./kernel/luna88kdev/msmain.c ] Initial Checkin [91/06/26 11:46:02 danner] [ ./kernel/luna88kdev/ramdisk.h ] Initial Checkin [91/06/26 11:45:55 danner] [ ./kernel/luna88kdev/table.h ] Initial Checkin [91/06/26 11:45:46 danner] [ ./kernel/luna88kdev/uart.c ] Initial Checkin [91/06/26 11:46:18 danner] [ ./kernel/luna88kdev/uart.h ] Initial Checkin [91/06/26 11:46:09 danner] [ ./kernel/luna88kif/if_qb.h ] Initial Checkin [91/06/26 12:40:42 danner] [ ./kernel/mach/luna88k/boolean.h ] Created [91/07/08 22:38:27 danner] [ ./kernel/mach/luna88k/exception.h ] Created [91/07/08 22:40:45 danner] Rearranged. [89/08/16 hattori] [ ./kernel/mach/luna88k/kern_return.h ] Created [91/07/08 22:39:30 danner] [ ./kernel/mach/luna88k/syscall_sw.h ] Created [91/07/08 22:39:56 danner] [ ./kernel/mach/luna88k/vm_param.h ] Initial Checkin [91/06/26 12:40:27 danner] [ ./kernel/mach/machine.h ] Added CPU_SUBTYPE_LUNA88K [91/05/06 danner] [ ./kernel/scsi/adapters/scsi_89352.h ] <<>> 28,31c28 < * $Log: MERGE_HISTORY,v $ NONERevision 2.30 91/07/30 15:52:01 rvb NONE MK Version MK58 NONE NONERevision 2.29 91/07/11 11:07:47 danner NONE MK Version MK57 NONE NONERevision 2.28 91/07/09 23:44:42 danner NONE MK Version MK56 NONE < * Revision 2.1 91/07/09 10:58:05 danner < * Created. < * --- > * $Log: MERGE_HISTORY,v $ NONERevision 2.30 91/07/30 15:52:01 rvb NONE MK Version MK58 NONE NONERevision 2.29 91/07/11 11:07:47 danner NONE MK Version MK57 NONE NONERevision 2.28 91/07/09 23:44:42 danner NONE MK Version MK56 NONE ... Created from the Fujitsu specs: "SCSI Processor Manual MB89352", EM11-03319-2, Japan 1987, and "MB87033B SCSI Protocol Controller (SPC) With On-Chip Drivers/Receivers" Fujitsu Limited, August 1989, Ed 1.0 and later from information in "Fast Track to SCSI", Fujitsu ISBN 0-13-307000-X, 1991 Prentice Hall, NJ [91/07/09 10:59:31 danner] [ ./kernel/scsi/adapters/scsi_89352_hdw.c ] 3.0 SCSI Chip support for the Fujistu MB89352, the SCSI chip present on the Omron Luna88k motherboard. This chip is a first generation SCSI controller, and does not support synchronous SCSI. [91/07/09 danner] ... Created from the Fujitsu specs: "SCSI Processor Manual MB89352", EM11-03319-2, Japan 1987, and "MB87033B SCSI Protocol Controller (SP) With On-Chip Drivers/Receivers" Fujitsu Limited, August 1989, Ed 1.0 [91/07/09 10:56:03 danner] [ ./kernel/scsi/rz.c ] Added gross ifdef luna88k to use instead of . Will be fixed as soon as I figure out the configuration tools. [91/07/09 danner] <<>> [91/07/09 11:05:28 danner] [ ./kernel/scsi/rz_disk.c ] Upgraded to support new label technology. [91/07/09 11:15:50 danner] [ ./kernel/scsi/rz_disk_bbr.c ] Upgraded to new label technology. [91/07/09 11:16:12 danner] [ ./kernel/scsi/rz_labels.c ] Created, splitting out DEC-specific code from rz_disk.c and adding some more. [91/06/26 af] [ ./kernel/scsi/rz_labels.h ] Support for DEC, BSD, Omron labels. [91/07/09 11:15:23 danner] [ ./kernel/scsi/scsi.c ] Added gross luna88k ifdef to use instead of . Will be fixed when I understand how to use the configuration tools. [91/07/09 11:08:15 danner] [ ./kernel/scsi/scsi_defs.h ] Added include of [91/07/09 11:16:30 danner] [ ./kernel/sys/varargs.h ] Added luna88k support. [91/06/24 danner] [ ./user/libmach/Makefile ] Added LUNA88K cpp override. [91/07/08 22:59:09 danner] [ ./user/libmach/luna88k/_setjmp.h ] Created. Incomplete [91/07/08 23:01:08 danner] [ ./user/libmach/luna88k/bcopy.c ] Additions. [91/07/08 23:01:44 danner] [ ./user/libmach/setjmp.h ] Added luna88k support, some missing comments. [91/06/27 danner] ========================================================================== ***** MK Version MK57 (danner) ***** Bug fixes: --- ----- Fixed Copyrights for mrt. Built nowhere. Tested nowhere. ******** CUT HERE ******** summary of log messages ******** CUT HERE ******** [ ./conf/version.edit ] 57 [ ./kernel/conf/Makefile.luna88k ] Copyright Fixes [ ./kernel/ddb/db_command.c ] Copyright Fixes [ ./kernel/ddb/db_run.h ] Copyright Fixes [ ./kernel/luna88k/ast.h ] Copyright Fixes [ ./kernel/luna88k/conf.c ] Copyright Fixes [ ./kernel/luna88k/cpu_number.h ] Copyright Fixes [ ./kernel/luna88k/genassym.c ] Copyright Fixes [ ./kernel/luna88k/mach_param.h ] Copyright Fixes [ ./kernel/luna88k/machparam.h ] Copyright Fixes [ ./kernel/luna88k/pcb.h ] Copyright Fixes [ ./kernel/luna88k/setroot.c ] Copyright Fixes [ ./kernel/luna88k/thread.h ] Copyright Fixes [ ./kernel/luna88k/time_stamp.h ] Copyright Fixes [ ./kernel/luna88k/ufs_machdep.c ] Copyright Fixes [ ./kernel/luna88k/varargs.h ] Copyright Fixes [ ./kernel/luna88k/vm_machdep.c ] Copyright Fixes [ ./kernel/mach/luna88k/thread_status.h ] Copyright Fixes [ ./kernel/mach/luna88k/vm_param.h ] Copyright Fixes [ ./kernel/mach/luna88k/vm_types.h ] Copyright Fixes [ ./kernel/scsi/adapters/scsi_89352.h ] Copyright Fixes [ ./kernel/scsi/adapters/scsi_89352_hdw.c ] Copyright Fixes [ ./utils/mktree.sh ] Copyright Fixes ========================================================================== ***** MK Version MK58 (rvb) ***** UX25 and MK58 have been built and tested together on all 4 major(?) architectures, i386, pmax, vax, sun3. They can be built and they are consistent. (Also we added a few minor changes.)