Sun Jul 7 21:10:08 1996 Michael I. Bushnell, p/BSG * boot.c (S_io_reauthenticate): Don't use unsafe MOVE_SEND in auth_server_authenticate. Fri May 10 16:11:49 1996 Miles Bader * boot.c (S_io_identity): Typo. Fri May 10 09:18:53 1996 Michael I. Bushnell, p/BSG * boot.c (S_io_identity): New function. Thu May 9 18:57:34 1996 Michael I. Bushnell, p/BSG * boot.c (S_io_select): No longer has TAG parm. * boot.c (S_io_reauthenticate): Use new interface. Sun Apr 28 22:50:38 1996 Miles Bader * boot.c (main): Use select instead of SIGIO. Mon Apr 15 12:57:29 1996 Michael I. Bushnell, p/BSG * Makefile (uxboot): Permit errors because people might not have the a.out-mach3 target installed, and that's OK for many users. * Makefile (uxboot.0): Find frank1.ld in #(srcdir). * boot_script.h (safe_gets): Add decl. * boot_script.c: Include . Wed Apr 3 18:54:22 1996 Miles Bader * ux.c (printf): Add %d. Wed Mar 27 11:30:29 1996 Miles Bader * boot.c [notanymore] (S_tioctl_tiocgeta, S_tioctl_tiocseta, S_tioctl_tiocsetaf, term_modes, term_ccs, term_speeds): Functions & variables removed. * Makefile (COMMON-OBJS): Remove tcattr.o. (SRCS): Remove tcattr.c. Thu Mar 14 10:10:20 1996 Roland McGrath * Makefile (boot): Depend on libthreads.so, nothing wrong with shared libs. (uxboot.0, uxboot.1): Use automatic vars in cmds instead of gratuitous redundancy. (LDFLAGS-uxboot.0): Remove useless indirection through variable. Wed Feb 14 16:50:05 1996 Miles Bader * boot.c [!UX] (orig_tty_state): New variable. (init_termstate, restore_termstate): New hurd versions of these funcs. * ux.c (init_termstate, restore_termstate, term_sgb, localbits): Moved here from boot.c Tue Feb 13 18:49:26 1996 Miles Bader * boot.c (load_image, boot_script_read_file, main): Use O_RDONLY, not 0 (kind of ironic, this...). (load_image): Give the filename with the error message (and a newline). * ux.h (O_RDONLY, O_WRONLY, O_RDWR): New macros. * ux.c, ux.h: New files. * boot.c: Move all the ux-specific grot into ux.c & ux.h. If UX is defined, include "ux.h", else define hurdish stuff. (main): Use get_privileged_ports instead of task_by_pid. (load_image, boot_script_read_file, main, do_mach_notify_no_senders, do_mach_notify_dead_name): Use host_exit instead of uxexit. (boot_script_read_file): Use host_stat instead of uxstat. (init_termstate, S_tioctl_tiocseta): Use sg_flags fld in struct sgttyb. * Makefile (all): Depend on `boot' and `uxboot'. (COMMON-OBJS, UX-OBJS): New macros. (OBJS): Inherit most names from $(COMMON-OBJS). (LCLHDRS): Add ux.h. (LDFLAGS): Use target-specific value. (uxboot.0-LDFLAGS): New macro (with contents from old LDFLAGS). (uxboot.o, uxboot.0): New targets. (uxboot): Target renamed from boot.a. Sun Dec 10 18:05:14 1995 Miles Bader * boot.c (read_reply): Don't call clear_should_read(), just do things ourselves. (should_read_lock): Variable deleted. (service_sigio): Function deleted. (main): Use read_reply to service SIGIO again, not service_sigio. * boot.c (service_sigio): New function, replacing set_should_read. Calls read_reply() itself too. (unlock_readlock): New function. (ds_device_read, ds_device_read_inband, S_io_read): Call unlock_readlock instead of directly unlocking READLOCK. (request_server, main): Don't call read_reply() anymore. * boot.c (should_read): New variable. (main): SIGIO uses set_should_read instead of read_reply. Call read_reply() after sigpause() returns. (read_reply): Call clear_should_read(), and don't do anything if SHOULD_READ wasn't set. (set_should_read): New function. (clear_should_read): New function. (request_server): Call read_reply() before returning. Sat Dec 9 19:01:10 1995 Miles Bader * boot.c (S_io_read, ds_device_read_inband, ds_device_read): Don't block SIGIO. (main): Don't trap SIGMSG & SIGEMSG. Mon Dec 4 23:54:18 1995 Roland McGrath * boot.c (main): Request no-senders notification on pseudo_master_device_port. Deallocate our send right to it when we no longer need it. (do_mach_notify_no_senders): Exit only when both pseudo_console and pseudo_master_device_port have no senders. (ds_device_read_inband): Unlock readlock properly. Thu Nov 30 15:58:47 1995 Michael I. Bushnell, p/BSG * boot.c (readlock): New variable. (read_reply): Check FIONREAD before dequeueing QR so that we don't abandon requests. Lock READLOCK around FIONREAD/read pair. (ds_device_read): Lock READLOCK around FIONREAD/read pair. (ds_device_read_inband): Likewise. (S_io_read): Likewise. Nov 22 16:25:01 1995 Roland McGrath * boot.c (request_server): Don't call exec_server. (S_exec_*): Functions removed. (boot_script_task_port): Variable removed. (boot_script_task_*, boot_script_port_*): Functions removed. Tue Nov 14 12:07:24 1995 Roland McGrath * Makefile (OBJS): Remove execServer.o. Thu Sep 28 14:47:46 1995 Roland McGrath * boot_script.c (read_file): Pass CMD->path for file name. (CHECK_CMDLINE_LEN): Update ARGV pointers after reallocating the line buffer. Wed Sep 27 14:01:03 1995 Roland McGrath * boot.c (struct uxstat): New type. (uxfstat): Renamed from fstat; use struct uxstat * for arg. (boot_script_read_file): Use those. Return the memory object port, not zero. * boot.c (fstat): New syscall function. * boot_script.c (read_file): New function. (builtin_symbols): Add $(read-file) builtin. * boot_script.h (boot_script_read_file): Declare it. * boot.c (close): New syscall function. (defpager): New variable. (main): Set it up. (boot_script_read_file): New function. (useropen_dir): New variable. (useropen): New function. (load_image): Call it instead of open. (main): Grok -D arg to set useropen_dir. Sat Sep 23 00:53:51 1995 Roland McGrath * syscall.S: Restore entry SP before return. * boot.c (main): Use static const for constant strings. On boot script error, write script line with error msg. * boot_script.c (boot_script_parse_line): Ignore line beginning with #. * boot.c (S_io_pathconf): New function. * Makefile (LDFLAGS): Add -static. Fri Sep 22 14:14:23 1995 Roland McGrath * mach-crt0.c (__data_start): New variable. Tue Aug 29 10:41:29 1995 Michael I. Bushnell, p/BSG * boot.c (mig_dealloc_reply_port): Remove __ from call to mach_port_mod_refs. (main): Look for -d in bootstrap_args, not (nonexistent) boot_args. Remove `const' keyword from decl of MSG. * boot.c (sigblock, sigsetmask): New functions. (sigmask): New macro. (ds_device_read): Block SIGIO around critical section. (ds_device_read_inband): Likewise. (S_io_read): Likewise. Mon Aug 28 17:16:48 1995 Roland McGrath * boot_script.h, boot_script.c: Updated by Shantanu Goel, to accept action keywords only inside $(...) and only variable values inside ${...}. * boot.c: Updated for changes in boot_script.h protocol by Shantanu Goel. (main): Use boot_script_set_variable instead of magic variables. Under -d, pause between parsing bootscript and executing it. Wed Aug 23 16:08:04 1995 Roland McGrath New script-driven boot mechanism, mostly implemented by Shantanu Goel. * Makefile (SRCS): Add boot_script.c. (OBJS): Add boot_script.o. (LCLHDRS): New variable. (HURDLIBS): Variable removed. (boot): Depend on ../libthreads/libthreads.a. * boot_script.c, boot_script.h: New files. * boot.c (boot_like_kernel, boot_like_cmudef, boot_like_hurd): Variables removed. (main): Don't interpret switches. Instead of servers, take command line argument of boot script file name. Read the file and use boot_script functions to parse and execute its directives. (boot_script_*): New variables and functions for boot_script callbacks. Sun Jul 30 23:50:53 1995 Michael I. Bushnell, p/BSG * Makefile: DISTFILES -> DIST_FILES. Sat Jul 8 11:37:32 1995 Miles Bader * boot.c (free_reply_ports, free_reply_ports_lock): New variables. (__mig_get_reply_port, __mig_put_reply_port, __mig_dealloc_reply_port, mig_get_reply_port, mig_put_reply_port, mig_dealloc_reply_port): Provide better versions of these routines that won't leak reply ports. Fri Jul 7 15:55:18 1995 Miles Bader * mach-crt0.c: New file, from mach4-i386/libmach/standalone. * boot.c (mach_init_routine): New variable, wanted by mach-crt0.o. (__mig_get_reply_port, __mig_dealloc_reply_port, __mig_put_reply_port): New functions, to avoid using hurdish versions. * Makefile (OBJS): Add mach-crt0.o. (SRCS): Add mach-crt0.c. (LDFLAGS): Add -nostartfiles (as we now use mach-crt0.o). Thu Jul 6 15:30:18 1995 Michael I Bushnell * Makefile (boot.1, boot.a): Use $(LD) and $(OBJCOPY) instead of explicit names. * boot.c: Include . (S_io_reauthenticate): Cast first arg to mig_deallocate. (load_image): Cast second arg to read. * tcattr.c: Undo last change; add private decl of ioctl. * boot.c (bootdevice): Initialize to hard-coded `sd0a' instead of DEFAULT_BOOTDEVICE. * Makefile (all): Depend on boot.a too. * Makefile: Removed dependencies that are now automatically generated. Wed May 31 10:02:11 1995 Roland McGrath * Makefile (DISTFILES): New variable; include frank1.ld and frankemul.ld. (CPPFLAGS): Variable removed. (LDFLAGS): Append -T frank1.ld. (boot.1, boot.a): New targets. * syscall.S: Omit .globl decl for errno; it caused some as complaint. Mon May 22 11:48:58 1995 Michael I Bushnell * sigvec.S: Remove copyright notice. Wed May 17 13:10:27 1995 Miles Bader * boot.c (load_image): Make sure we actually allocate enough memory to read into, including the offset into the buffer at which the segment is read. * sigvec.S (sigreturn, _sigreturn, sigvec): Remove the explicit underscore prefixes from these names, now that we're using elf. Instead we use the various macros from . Also, return errors correctly. [Also added a copyright notice] Sat May 13 03:37:24 1995 Roland McGrath * boot.c (load_image): Fixed alignment calculation in ELF segment loading. * syscall.S: Include i386/asm.h and use ENTRY and EXT macros, instead of explicit _s. Fri May 12 18:36:39 1995 Roland McGrath * boot.c (load_image): Grok ELF executables as well as a.out. (main): Load multiple servers. Suspend all but the first. The first gets an extra arg, its name for the task port of the second. Wed Apr 12 09:18:50 1995 Miles Bader * Makefile: Don't try and install boot in /usr/local/bin. Wed Apr 5 17:25:19 1995 Roland McGrath * boot.c: Don't include . Define `errno' variable. * Makefile (SRCS): Add syscall.S. (OBJS): Add syscall.o. * syscall.S: Check for errors. Thu Jan 19 01:21:24 1995 Roland McGrath * boot.c (S_io_select): Updated to new io_select protocol. Fri Dec 9 01:23:22 1994 Roland McGrath * boot.c: Use mach_msg_type_number_t in place of unsigned int and int. Fri Nov 11 14:05:43 1994 Michael I Bushnell * boot.c (main): Always set `f' flag (signifying "fake" because we aren't a real native bootstrap). Thu Nov 3 17:26:37 1994 Michael I Bushnell * Makefile (boot.o): Depend on bootstrap_S.h. Fri Oct 28 17:08:12 1994 Roland McGrath * boot.c (main): Create the thread before setting it up. (bootstrap_compat): Make a send right for psuedo_master_device_port. (main): Explicitly clear NEWTASK's bootstrap port for boot_like_kernel. (main): Format strings for port names for boot_like_kernel. Fri Oct 28 15:26:48 1994 Michael I Bushnell * boot.c (boot_like_kernel, boot_like_cmudef, boot_like_hurd): New global vars. (set_mach_stack_args): New function. (main): If the -k flag is given, set BOOT_LIKE_KERNEL. If the -p flag is given, set BOOT_LIKE_CMUDEF. If neither is given, set BOOT_LIKE_HURD. Only set a bootstrap port if BOOT_LIKE_CMUDEF or BOOT_LIKE_HURD. If BOOT_LIKE_KERNEL or BOOT_LIKE_CMUDEF, set up the stack the Mach way using set_mach_stack_args. (request_server): Declare and call bootstrap_server. (do_bootstrap_priveleged_ports, bootstrap_compat): New functions. * Makefile (OBJS): Require bootstrapServer.o. * bootstrap.defs: New file. Tue Aug 30 11:41:33 1994 Michael I Bushnell * boot.c (S_io_reauthenticate): Use new authentication protocol. Mon Aug 22 13:43:32 1994 Michael I Bushnell * boot.c: Include . (main): Run msg_thread fork; don't call mach_msg_server_timeout here. Use sigpause instead of getpid. (msg_thread): New function. (queuelock): New variable. (queue_read): Acquire queuelock. (read_reply): Acquire queuelock. * Makefile (HURDLIBS): New var to get threads. Thu Aug 18 18:04:36 1994 Michael I Bushnell * boot.c (restore_termstate): New function. (do_mach_notify_no_senders): Call restore_termstate before exiting. * boot.c (main): New var `usagemsg'; print it if args are wrong. Allow flags and disk device to be given on command line. New var `bootfile'. (bootdevice, bootstrap_args): New vars. (load_image): Exit nicely if the startup file can't be found. (S_exec_startup): Use `bootdevice' instead of hardcoded name. Use `bootstrap_args' instead of hardcoded "-x". (main): Only do `pausing' hack if -d was provided. * Makefile (CPPFLAGS): Define DEFAULT_BOOTDEVICE. * Makefile (/usr/local/bin/boot): Depend on boot. * boot.c (S_termctty_open_terminal): New "function". (S_io_select): Added `rettype' arg. Sat Jul 23 02:58:05 1994 Roland McGrath * Makefile (io-MIGSFLAGS): Renamed from ioMIGSFLAGS. Fri Jul 22 15:10:45 1994 Michael I Bushnell * boot.c (request_server): Remove S_ from io_server and term_server. Thu Jul 21 19:00:36 1994 Michael I Bushnell * Makefile: Rewritten to use new scheme. * boot.c: Include io_reply_U.h and device_reply_U.h instead of io_repl.h and device_reply.h. Wed Jul 20 13:19:45 1994 Michael I Bushnell * boot.c: Comment out bits relating to tioctl interface. * Makefile: Likewise. Tue Jul 19 12:41:46 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) * Makefile (boot): Don't use variable $(link) anymore. Tue Jul 5 14:19:36 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) * Makefile (SRCS): New variable. Sun Jul 3 17:20:07 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * tcattr.c: New file. * boot.c (S_tioctl_tiocgeta): Call tcgetattr. (S_tioctl_tiocseta): Call tcsetattr. * Makefile (OBJS): Add tcattr.o. (DIST_FILES): Add tcattr.c. Fri Jul 1 11:16:27 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) * boot.c (init_termstate): Enter raw mode here. Fri Jun 24 14:27:56 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) * boot.c (S_term_open_ctty): Renamed from term_become_ctty. Deleted SIGPT arg. Add msg type arg for NEWTTY. Fri Jun 17 13:46:07 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) * boot.c (request_server): Remove S_ prefix from exec_server and notify_server. Fri Jun 17 00:12:16 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) * Makefile (boot.o): Depend on term_S.h. Tue Jun 14 01:28:10 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) * boot.c (request_server): Add S_ prefix to demuxer functions. Wed Jun 8 18:02:19 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) * boot.c (S_tioctl_tiocseta): Turn off ECHO. (S_io_select): Implement. Tue Jun 7 04:33:42 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) * Makefile (tioctlServer.o): Depend on ../hurd/ioctl_types.h. Mon Jun 6 20:33:39 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) * boot.c (authserver): New variable. (S_io_reauthenticate): Do auth_server_authenticate and throw away the returned info. (S_exec_init): Set authserver to the passed port. Sat Jun 4 02:32:03 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) * boot.c: Include term_S.h and tioctl_S.h. (S_term_getctty): New function. (S_term_*): Stub functions. (request_server): Use S_term_server. * Makefile (termServer.c term_S.h): New rule. (OBJS): Add termServer.o. * boot.c (S_exec_setexecdata, S_exec_exec): Fix prototypes. Tue May 17 18:44:29 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) * boot.c (ds_device_write): DATA arg is char *; don't dereference it in call to write. Mon May 16 14:34:15 1994 Michael I Bushnell (mib@churchy.gnu.ai.mit.edu) * boot.c (fsname): New variable. (main): Set fsname to argv[1]. (S_exec_startup): Include fsname in child's argv[0]. * boot.c (init_termstate): Add forward declaration. (struct sigvec): Make SV_HANDLER member void (*)(). (sigvec): Add declaration to avoid warning. Tue May 10 18:14:39 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) * boot.c (tioctl_tiocseta, tioctl_tiocsetw, tioctl_tiocsetf, tioctl_tiocgeta, init_termstate): New functions. (term_modes, term_ccs, term_speeds, term_sgb, localbits): Nev vars. Also added new bits from ioctl.h. (main): Call init_termstate. (request_server): Call tioctl_server. * Makefile (tioctlServer.c tioctl_S.h): New targets. (OBJS): Include tioctlServer.o. (boot.o): Depend on tioctl_S.h Fri May 6 13:56:58 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) * boot.c (main): Restore braindamage of yesterday relating to signals; that is, restore declaration of VEC and calls to sigvec. * Makefile (DIST_FILES): Add sigvec.S. Thu May 5 13:16:42 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) * Makefile (device_replyUser.c): Mention that this build device_reply.h as well. (boot.o): Add dependency on device_reply.h and io_repl.h. * boot.c: Include for malloc and free prototypes. Include for bcopy and bzero prototypes. Include for sprintf prototype. Include "device_reply.h" for its prototypes. Include "io_reply.h" for its prototypes. Declare return type for all the server functions that were lacking such. (sigpause): Declare type of MASK. (ioctl): Declare third arg to be generic pointer, not char *. (request_server): Declare MiG functions we call. (load_image): Delete unused variable STACKADDR. (main): Comment out declaration of VEC. Comment out calls to sigvec. Cast STARTPC in call to __mach_setup_thread. Delete unused variable TIMEOUT. (read_reply): Cast BUF correctly in call to ds_device_read_reply. (S_exec_startup): Delete unused variable DTABLE. (ds_device_write): Double cast arg to write to avoid warning. (S_io_read): Order args to vm_allocate properly; cast DATA arg. Check *datalen properly for unsigned type. * boot.c: Renamed _exit to uxexit to avoid library name clash. (do_mach_notify_dead_name, do_mach_notify_no_senders): Call uxexit instead of _exit. * boot.c (S_io_async, S_io_get_icky_async_id, S_io_map_cntl): Expect new type arg for returned port. (S_io_prenotify, S_io_postnotify): START and END args are now vm_offset_t. * boot.c: Change error_t to kern_return_t because error_t is now unsigned and conflicts with MiG's use of kern_return_t. * Makefile (io_S.h, ioServer.c): Punt mungio hack; use -DREPLY_PORTS. * boot.c: Changed all io server stubs to expect reply ports. * mungio: removed file. * Makefile (DIST_FILES): Removed mungio. * boot.c (load_image): Only read from the image file the actual amount being read, not that amount rounded to the nearest page. Otherwise, the first bit of the BSS will not be zero, but will be whatever is in the front of the symbol section of the a.out. Thu May 5 07:43:06 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Makefile: Change uses of $(headers) to $(includedir). Mon May 2 16:47:49 1994 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) * boot.c (S_io_readable): Implement io_readable fully. Fri Apr 1 17:55:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Makefile (OBJS): Remove boot_machdep.o.