2009-04-19 Zheng Da * boot.c (init_kernel_task): Create a pseudo kernel task. (main): Create the port bucket, initialize the kernel task and fork a thread after the arguments of boot are parsed. 2009-04-19 Zheng Da * boot.c (thread_portclass): Removed variable. (is_user): Added variable. (options): Add option 'u'. (parse_opt): Handle option 'u'. (logfile): Added variabled. (main): Handle the cases differently when the user is root. (do_bootstrap_privileged_ports): Likewise. (bootstrap_compat): Likewise. (do_mach_notify_no_senders): Likewise. (ds_device_open): If the user is root, open the kernel device directly. * userland-boot.c (boot_script_task_create): Create the pseudo task port if it's the normal user. (boot_script_free_task): Deallocate the task port if it's root. 2009-04-05 Zheng Da * Makefile (SRCS): Add list.c, mach_proxy.c. (COMMON-OBJS): Add ourmach_hostServer.o, ourmachServer.o, ourmach_portServer.o, excServer.o. (OBJS): Add mach_host_impl.o, mach_impl.o, mach_port_impl.o, exc_impl.o, list.o, mach_proxy.o. (LCLHDRS): Add util.h. (HURDLIBS): Add ports. * boot.c: Include hurd/ports.h, util.h, mach_proxy.h. (port_bucket): New variable. (task_portclass): Likewise. (thread_portclass): Likewise. (privileged_host_port): Removed variable. (master_device_port): Likewise. (pseudo_privileged_host_port): New variable. (request_server): Call mach_host_server() and mach_server(). (mach_proxy_demuxer): New function. (mach_proxy_thread): Likewise. (options): Add option -p. (pager_file): New variable. (parse_opt): Handle option -p. (init_kernel_task): New function. (main): Create port bucket, port class, new thread; get default memory manager; get the pseudo privileged host port; set 'host-port' with the pseudo privileged host port. (do_bootstrap_privileged_ports): Return the pseudo privileged host port. (bootstrap_compat): Use the pseudo privileged host port. (ds_device_open): Return D_NO_SUCH_DEVICE if the device isn't specified. (do_mach_notify_no_senders): Call ports_do_mach_notify_no_senders(); check the pseudo privileged host port. * boot_script.c (add_arg): Convert 'cmd->args' to 'void *' pointer first. (sym_enter): Convert 'symtab' to 'void *' pointer first. (boot_script_parse_line): Convert 'cmds' to to 'void *' pointer first; Convert 'cmd->exec_funcs' to to 'void *' pointer first. * exc_impl.c: New file. Implement the server-side RPCs of exc. * list.c: New file. Implement a double linked list. * list.h: New file. Define a double linked list. * mach_host_impl.c: New file. Implement the server-side RPCs of mach_host. * mach_impl.c: New file. Implement the server-side RPCs of mach. * mach_port_impl.c: New file. Implement the server-side RPCs of mach_port. * mach_proxy.c: New file. * mach_proxy.h: New file. * ourmach.defs: New file. A modified mach/mach.defs. * ourmach_host.defs: New file. A modified mach/mach_host.defs. * ourmach_port.defs: New file. A modified mach/mach_port.defs. * userland-boot.c: Include mach_proxy.h and util.h. (boot_script_task_create): Create a pseudo task port. (boot_script_free_task): Don't deallocate the task port. * util.h: New file. 2008-09-21 Zheng Da * boot.c (options): Change the long option and the description of its argument. 2008-08-28 Zheng Da * boot.c: Add '-m' option. (dev_map): New structure. (dev_map_head): New variable. (add_dev_map): New function. (lookup_dev): New function. (parse_opt): Handle the '-m' option. (ds_device_open): Open the device from the device file. 2006-03-15 Thomas Schwinge * boot.c (boot_script_exec_cmd): Fix invalid lvalues. 2003-01-04 Roland McGrath * boot_script.c (boot_script_parse_line): Copy the file name into malloc'd storage. (add_arg): New arg TEXTLEN. Store malloc'd copy of TEXT. (boot_script_parse_line): Update callers. 2002-06-13 Roland McGrath * boot.c (ds_device_write): int -> size_t in store_write call. (ds_device_write_inband): Likewise. 2002-06-08 Roland McGrath * boot.c (S_io_identity): Use ino_t for FILENO. 2002-05-31 Roland McGrath * boot.c: Don't include "exec_S.h". * boot.c (boot_script_exec_cmd): Fix typos: {I386,ALPHA}_THREAD_STATE -> {i386,ALPHA}_THREAD_STATE_COUNT 2002-05-28 Roland McGrath * boot_script.c (boot_script_set_variable): Values int -> integer_t. (boot_script_define_function): Likewise. (boot_script_parse_line): Likewise. (struct sym, struct arg): Likewise. (boot_script_exec): Likewise. (builtin_symbols): Likewise. * boot.c (main): Likewise. * boot_script.h: Update decls. * boot.c (boot_script_exec_cmd) [I386_THREAD_STATE]: Conditionalize i386 thread setup code on this. [ALPHA_THREAD_STATE]: Add Alpha thread setup code. (set_mach_stack_args): Obsolete function removed. * boot.c (load_image): u_int -> vm_address_t (ds_xxx_device_get_status, ds_xxx_device_set_status): u_int -> size_t (S_io_restrict_auth, S_io_reauthenticate): Likewise. (ds_device_write, ds_device_read_inband): Likewise. (ds_device_get_status): Likewise. (ds_device_set_status): Likewise. (boot_script_exec_cmd): Likewise. (ds_device_read, ds_device_write_inband): Likewise. (ds_xxx_device_set_filter): Likewise. (ds_device_set_filter): Likewise. 2002-05-13 Marcus Brinkmann * boot.c: Include (argp_program_version): New variable. 2002-03-23 James A. Morrison * boot.c (main): Use error, not perror and exit. 2001-10-07 Neal H Walfield * boot.c (main): Set the boot script variables based on the KERNEL_COMMAND_LINE value. 2001-08-23 Roland McGrath * boot.c (kernel_command_line): New variable. (options): Add --kernel-command-line/-K. (parse_opt): Parse it, set kernel_command_line. (main): If unset, default it to "argv[0] bootstrap_args bootdevice". Set ${kernel-command-line} boot script variable to kernel_command_line. 2001-08-17 Neal H Walfield * userland-boot.c (boot_script_task_create): Suspend the newly created task as the protocol requires. (boot_script_insert_right): Fix the error message. 2001-08-17 Roland McGrath * userland-boot.c (boot_script_insert_right): Take new result parameter for send right name in target task. (boot_script_insert_task_port): New function. * boot_script.h: Update those two decls. (VAL_TASK): New macro. * boot_script.c (VAL_SYM, VAL_FUNC): Increase these constants. (builtin_symbols): Use VAL_TASK for "task-create". (boot_script_exec): Update caller of boot_script_insert_right. Treat VAL_TASK like VAL_PORT, but call boot_script_insert_task_port. * boot_script.h: size_t -> unsigned int * boot_script.c: Don't #include . 2001-08-16 Roland McGrath * userland-boot.c (boot_script_insert_right): New function. * boot_script.h: Declare it. * boot_script.c (boot_script_exec): Use that instead of mach_port_insert_right. * boot_script.h: Protect from multiple inclusion. (safe_gets): Remove decl. * boot_script.h (boot_script_exec_cmd): Change TASK arg type to task_t. * userland-boot.c: Likewise. * boot_script.h (struct cmd): Change `task' member type to `task_t'. (boot_script_task_create, boot_script_task_resume, boot_script_prompt_task_resume, boot_script_free_task): Declare new functions that callers must define. * userland-boot.c: Define those. * boot_script.c (create_task, resume_task, prompt_resume_task): Use those instead of direct Mach calls. (free_cmd): Likewise. (read_file): Function removed. (builtin_symbols): Remove the "read-file" element. * boot_script.h (boot_script_malloc, boot_script_free): Declare new functions that callers must define. * boot_script.c: All uses of malloc/free changed to use those instead. * userland-boot.c: New file. Defines them using malloc/free. * Makefile (SRCS, OBJS): Add it. * boot.c (boot_script_malloc, boot_script_free): Old cruft functions removed. * boot_script.c (boot_script_parse_line): Take new first argument HOOK. Store it in CMD->hook. (main): Update caller. (boot_script_exec): Pass CMD->hook as 1st arg to boot_script_exec_cmd. (boot_script_exec_cmd): Take new first argument HOOK. * boot.c (boot_script_exec_cmd): Likewise. * boot_script.h (struct cmd): New member `void *hook'. Update decls for HOOK arguments added. 2001-02-25 Roland McGrath * Makefile (ourdevice.defs): Loosen up regexp since some whitespace in the file changed. 2000-12-21 Marcus Brinkmann * boot.c (main): If malloc or realloc fails, print diagnostic message and exit. (queue_read): Change return type from void to kern_return_t. If malloc fails, return D_NO_MEMORY, otherwise D_SUCCESS (to simplify code flow, malloc before acquiring the queuelock). (ds_device_read): New variable err (local to the block in which it is used). If queue_read fails, pass through error. (ds_device_read_inband): Likewise. (S_io_read): Likewise. Reported by Igor Khavkine . 2000-03-17 Roland McGrath * boot.c (S_io_reauthenticate): Check mach_port_insert_right result with assert_perror. 2000-03-17 Thomas Bushnell, BSG * boot.c (S_io_reauthenticate): Don't use MACH_MSG_TYPE_MAKE_SEND in Hurd RPC. 2000-02-28 Roland McGrath * boot.c (ds_device_get_status): Accept *STATUSLEN greater than needed. 1999-09-13 Roland McGrath * boot.c: Reverted changes related to io_map_segment. 1999-09-07 Thomas Bushnell, BSG * boot.c (S_io_map_segment): New function. 1999-07-11 Roland McGrath * boot.c (ds_device_read, S_io_read): Fix sloppy bugs in last change. 1999-07-06 Thomas Bushnell, BSG * boot.c (load_image): Use mmap instead of vm_allocate, when allocating in mach_task_self (). (boot_script_exec_cmd): Likewise. (set_mach_stack_args): Likewise. (read_reply): Likewise. (S_io_read): Likewise. 1999-07-10 Roland McGrath * boot.c: Add #include for munmap decl. Mon Jul 5 20:04:06 1999 Thomas Bushnell, BSG * boot.c (load_image): Fix typo in cast. Reported by Yamashita TAKAO . 1999-07-03 Thomas Bushnell, BSG * boot.c (load_image): Use munmap instead of vm_deallocate when it's from our own task. (boot_script_read_file): Likewise. (boot_script_exec_cmd): Likewise. (set_mach_stack_args): Likewise. (ds_device_read_inband): Likewise. 1999-03-20 Roland McGrath * boot.c (S_term_get_peername): New function. 1999-03-14 Roland McGrath * boot.c: Fix typo in last change. 1999-03-10 Roland McGrath * boot.c (main): Only use real device name if root_store is for an enforced single run starting at the beginning of the device. 1999-03-09 Roland McGrath * boot.c (main): Add newline to error msg. Patch by Marcus Brinkmann . 1999-02-16 Roland McGrath * boot.c (S_io_revoke): Add reply, replyPoly args. Tue Feb 16 05:06:12 1999 Thomas Bushnell, BSG * boot.c (S_io_revoke): New (unsupported) routine. 1998-12-26 Roland McGrath * boot.c (isig): New variable. (init_termstate): If it's set, set ISIG flag in c_lflag. (options): New option -I/--isig. (parse_opt): Make -I set `isig'. (boot_script_exec_cmd): Print out args as well as file name. 1998-09-04 Roland McGrath * boot_script.c: Include instead of declaring memset here. Include instead of declaring malloc, free here. 1997-07-08 Miles Bader * boot_script.c (prompt_resume_task): Pass more than a single character buffer to safe_gets. Mon Jul 7 16:25:49 1997 Thomas Bushnell, n/BSG * boot.c: Include instead of . Suggested by Marcus G. Daniels (marcus@cathcart.sysc.pdx.edu). 1997-06-20 Miles Bader * boot.c (bootscript): Made global. (parse_opt): New function. (options, doc, args_doc): New variables. (bootscript_args): Now an array. (ds_device_open, ds_device_close, ds_device_write, ds_device_write_inband, ds_device_read, ds_device_read_inband, ds_device_get_status, ds_device_set_status, ds_device_map, ds_xxx_device_set_filter, ds_xxx_device_get_status, ds_xxx_device_set_status, ds_device_set_filter): Handle "pseudo-root" device. (pseudo_root, root_store): New variables. (main): Use argp to parse args, and implement the pseudo-root device. Include & * Makefile (HURDLIBS): Include libstore & libshouldbeinlibc. Thu Apr 10 11:53:57 1997 Thomas Bushnell, n/BSG * boot.c: Don't include varargs.h. (set_mach_stack_args): Use stdarg instead of vararg. Mon Mar 17 13:12:45 1997 Thomas Bushnell, n/BSG * boot_script.c (boot_script_parse_line): Don't print gratuitous output noise. Thu Sep 12 16:28:47 1996 Thomas Bushnell, n/BSG * Makefile (HURDLIBS): New variable. (boot): Delete special depedencies. Tue Aug 13 16:57:22 1996 Miles Bader * Makefile (device.defs): Rule removed. (ourdevice.defs): Fix rule to work with Makeconf-generated device.defs. Tue Aug 13 15:09:45 1996 Thomas Bushnell, n/BSG * Makefile (ourdevice.defs): Depend on local device.defs. (device.defs): New rule. Mon Aug 12 11:11:08 1996 Thomas Bushnell, n/BSG * Makefile (ourdevice.defs): Find device.defs under install_includedir now. * Makefile (all): No longer build uxboot by default. Thu Aug 1 14:38:38 1996 Thomas Bushnell, n/BSG * boot_script.h (safe_gets): Declare second parm as type `int'. * boot.c (safe_gets): Likewise. 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.