Age | Commit message (Collapse) | Author |
|
* boot.c: Include <version.h>
(argp_program_version): New variable.
|
|
* boot.c (main): Use error, not perror and exit.
|
|
* boot.c (main): Set the boot script variables based on
the KERNEL_COMMAND_LINE value.
|
|
* 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.
|
|
* 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.
|
|
* 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 <i_khavki@alcor.concordia.ca>.
|
|
* boot.c (S_io_reauthenticate): Check mach_port_insert_right result
with assert_perror.
|
|
* boot.c (S_io_reauthenticate): Don't use MACH_MSG_TYPE_MAKE_SEND
in Hurd RPC.
|
|
* boot.c (ds_device_get_status): Accept *STATUSLEN greater than needed.
|
|
|
|
* boot.c (S_io_map_segment): New function.
|
|
* boot.c (ds_device_read, S_io_read): Fix sloppy bugs in last change.
|
|
* 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.
|
|
* boot.c: Add #include <sys/mman.h> for munmap decl.
|
|
* boot.c (load_image): Fix typo in cast. Reported by Yamashita
TAKAO <jargon@lares.dti.ne.jp>.
|
|
* 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.
|
|
* boot.c (S_term_get_peername): New function.
|
|
* boot.c: Fix typo in last change.
|
|
* boot.c (main): Only use real device name if root_store is for an
enforced single run starting at the beginning of the device.
|
|
* boot.c (main): Add newline to error msg.
Patch by Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.
|
|
* boot.c (S_io_revoke): Add reply, replyPoly args.
|
|
* boot.c (S_io_revoke): New (unsupported) routine.
|
|
* 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.
|
|
* boot.c: Include <fcntl.h> instead of <fcntlbits.h>. Suggested
by Marcus G. Daniels (marcus@cathcart.sysc.pdx.edu).
|
|
New function.
(pseudo_root, root_store):
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.
(main):
Use argp to parse args, and implement the pseudo-root device.
Include <argp.h> & <hurd/store.h>
(options, doc, args_doc):
New variables.
(bootscript):
Made global.
|
|
* boot.c: Don't include varargs.h.
(set_mach_stack_args): Use stdarg instead of vararg.
|
|
|
|
auth_server_authenticate.
|
|
|
|
|
|
(S_io_reauthenticate): Use new interface.
|
|
|
|
(S_tioctl_tiocgeta, S_tioctl_tiocseta, S_tioctl_tiocsetaf, term_modes,
term_ccs, term_speeds):
Functions & variables removed.
|
|
[!UX] (init_termstate, restore_termstate): New hurd versions of these funcs.
|
|
Use O_RDONLY, not 0 (kind of ironic, this...).
(load_image):
Give the filename with the error message (and a newline).
|
|
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 field in struct sgttyb.
|
|
(read_reply):
Set SHOULD_READ before attempting lock.
Use spin_try_lock() instead of spin_lock(), and abort if we can't get it.
Clear SHOULD_READ after getting the lock.
(ds_device_read, ds_device_read_inband, S_io_read):
Call unlock_readlock instead of directly unlocking READLOCK.
Don't block SIGIO.
(unlock_readlock): New function.
(main): Don't trap SIGMSG & SIGEMSG.
(SIGMSG, SIGEMSG): Macros deleted.
|
|
Deallocate our send right to it when we no longer need it.
(ds_device_read_inband): Unlock readlock properly.
(do_mach_notify_no_senders): Exit only when both pseudo_console and
pseudo_master_device_port have no senders.
|
|
|
|
(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.
|
|
(S_exec_*): Functions removed.
(boot_script_task_port): Variable removed.
(boot_script_task_*, boot_script_port_*): Functions removed.
|
|
(uxfstat): Renamed from fstat; use struct uxstat * for arg.
(boot_script_read_file): Use those.
Return the memory object port, not zero.
|
|
|
|
(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.
|
|
On boot script error, write script line with error msg.
|
|
|
|
(__mig_dealloc_reply_port): Remove __ from call to mach_port_mod_refs.
(main): Check for `d' in BOOTSTRAP_ARGS, not BOOT_ARGS. Don't declar
MSG static.
|
|
(ds_device_read): Block SIGIO around critical section.
(ds_device_read_inband): Likewise.
(S_io_read): Likewise.
|
|
(main): Use boot_script_set_variable instead of various magic variables.
Under -d, pause between parsing bootscript and executing it.
|
|
(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.
|