1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
|
2002-05-28 Roland McGrath <roland@frob.com>
* 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 <marcus@gnu.org>
* boot.c: Include <version.h>
(argp_program_version): New variable.
2002-03-23 James A. Morrison <ja2morri@uwaterloo.ca>
* boot.c (main): Use error, not perror and exit.
2001-10-07 Neal H Walfield <neal@cs.uml.edu>
* boot.c (main): Set the boot script variables based on
the KERNEL_COMMAND_LINE value.
2001-08-23 Roland McGrath <roland@frob.com>
* 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 <neal@cs.uml.edu>
* 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 <roland@frob.com>
* 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 <string.h>.
2001-08-16 Roland McGrath <roland@frob.com>
* 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 <roland@frob.com>
* Makefile (ourdevice.defs): Loosen up regexp since some whitespace in
the file changed.
2000-12-21 Marcus Brinkmann <marcus@gnu.org>
* 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>.
2000-03-17 Roland McGrath <roland@baalperazim.frob.com>
* boot.c (S_io_reauthenticate): Check mach_port_insert_right result
with assert_perror.
2000-03-17 Thomas Bushnell, BSG <tb@mit.edu>
* boot.c (S_io_reauthenticate): Don't use MACH_MSG_TYPE_MAKE_SEND
in Hurd RPC.
2000-02-28 Roland McGrath <roland@baalperazim.frob.com>
* boot.c (ds_device_get_status): Accept *STATUSLEN greater than needed.
1999-09-13 Roland McGrath <roland@baalperazim.frob.com>
* boot.c: Reverted changes related to io_map_segment.
1999-09-07 Thomas Bushnell, BSG <tb@mit.edu>
* boot.c (S_io_map_segment): New function.
1999-07-11 Roland McGrath <roland@baalperazim.frob.com>
* boot.c (ds_device_read, S_io_read): Fix sloppy bugs in last change.
1999-07-06 Thomas Bushnell, BSG <tb@mit.edu>
* 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 <roland@baalperazim.frob.com>
* boot.c: Add #include <sys/mman.h> for munmap decl.
Mon Jul 5 20:04:06 1999 Thomas Bushnell, BSG <tb@mit.edu>
* boot.c (load_image): Fix typo in cast. Reported by Yamashita
TAKAO <jargon@lares.dti.ne.jp>.
1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>
* 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 <roland@baalperazim.frob.com>
* boot.c (S_term_get_peername): New function.
1999-03-14 Roland McGrath <roland@baalperazim.frob.com>
* boot.c: Fix typo in last change.
1999-03-10 Roland McGrath <roland@baalperazim.frob.com>
* 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 <roland@baalperazim.frob.com>
* boot.c (main): Add newline to error msg.
Patch by Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.
1999-02-16 Roland McGrath <roland@baalperazim.frob.com>
* boot.c (S_io_revoke): Add reply, replyPoly args.
Tue Feb 16 05:06:12 1999 Thomas Bushnell, BSG <tb@mit.edu>
* boot.c (S_io_revoke): New (unsupported) routine.
1998-12-26 Roland McGrath <roland@baalperazim.frob.com>
* 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 <roland@baalperazim.frob.com>
* boot_script.c: Include <string.h> instead of declaring memset here.
Include <stdlib.h> instead of declaring malloc, free here.
1997-07-08 Miles Bader <miles@gnu.ai.mit.edu>
* 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 <thomas@gnu.ai.mit.edu>
* boot.c: Include <fcntl.h> instead of <fcntlbits.h>. Suggested
by Marcus G. Daniels (marcus@cathcart.sysc.pdx.edu).
1997-06-20 Miles Bader <miles@gnu.ai.mit.edu>
* 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 <argp.h> & <hurd/store.h>
* Makefile (HURDLIBS): Include libstore & libshouldbeinlibc.
Thu Apr 10 11:53:57 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* 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 <thomas@gnu.ai.mit.edu>
* boot_script.c (boot_script_parse_line): Don't print gratuitous
output noise.
Thu Sep 12 16:28:47 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* Makefile (HURDLIBS): New variable.
(boot): Delete special depedencies.
Tue Aug 13 16:57:22 1996 Miles Bader <miles@gnu.ai.mit.edu>
* 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 <thomas@gnu.ai.mit.edu>
* Makefile (ourdevice.defs): Depend on local device.defs.
(device.defs): New rule.
Mon Aug 12 11:11:08 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* 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 <thomas@gnu.ai.mit.edu>
* 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 <mib@gnu.ai.mit.edu>
* boot.c (S_io_reauthenticate): Don't use unsafe MOVE_SEND in
auth_server_authenticate.
Fri May 10 16:11:49 1996 Miles Bader <miles@gnu.ai.mit.edu>
* boot.c (S_io_identity): Typo.
Fri May 10 09:18:53 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* boot.c (S_io_identity): New function.
Thu May 9 18:57:34 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* 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 <miles@gnu.ai.mit.edu>
* boot.c (main): Use select instead of SIGIO.
Mon Apr 15 12:57:29 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
* 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 <stdio.h>.
Wed Apr 3 18:54:22 1996 Miles Bader <miles@gnu.ai.mit.edu>
* ux.c (printf): Add %d.
Wed Mar 27 11:30:29 1996 Miles Bader <miles@gnu.ai.mit.edu>
* 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 <roland@charlie-brown.gnu.ai.mit.edu>
* 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 <miles@gnu.ai.mit.edu>
* 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 <miles@gnu.ai.mit.edu>
* 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 <miles@gnu.ai.mit.edu>
* 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 <miles@gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
* 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 <mib@gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
* Makefile (OBJS): Remove execServer.o.
Thu Sep 28 14:47:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
* mach-crt0.c (__data_start): New variable.
Tue Aug 29 10:41:29 1995 Michael I. Bushnell, p/BSG <mib@duality.gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
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 <mib@geech.gnu.ai.mit.edu>
* Makefile: DISTFILES -> DIST_FILES.
Sat Jul 8 11:37:32 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* 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 <miles@churchy.gnu.ai.mit.edu>
* 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 <mib@duality.gnu.ai.mit.edu>
* Makefile (boot.1, boot.a): Use $(LD) and $(OBJCOPY) instead of
explicit names.
* boot.c: Include <mach/mig_support.h>.
(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 <roland@churchy.gnu.ai.mit.edu>
* 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 <mib@duality.gnu.ai.mit.edu>
* sigvec.S: Remove copyright notice.
Wed May 17 13:10:27 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* 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 <i386/asm.h>. Also, return
errors correctly. [Also added a copyright notice]
Sat May 13 03:37:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
* 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 <miles@churchy.gnu.ai.mit.edu>
* Makefile: Don't try and install boot in /usr/local/bin.
Wed Apr 5 17:25:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* boot.c: Don't include <errno.h>. 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 <roland@churchy.gnu.ai.mit.edu>
* boot.c (S_io_select): Updated to new io_select protocol.
Fri Dec 9 01:23:22 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* 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 <mib@churchy.gnu.ai.mit.edu>
* 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 <mib@geech.gnu.ai.mit.edu>
* Makefile (boot.o): Depend on bootstrap_S.h.
Fri Oct 28 17:08:12 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* 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 <mib@churchy.gnu.ai.mit.edu>
* 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 <mib@geech.gnu.ai.mit.edu>
* boot.c (S_io_reauthenticate): Use new authentication protocol.
Mon Aug 22 13:43:32 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* boot.c: Include <cthreads.h>.
(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 <mib@geech.gnu.ai.mit.edu>
* 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 <roland@churchy.gnu.ai.mit.edu>
* Makefile (io-MIGSFLAGS): Renamed from ioMIGSFLAGS.
Fri Jul 22 15:10:45 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* boot.c (request_server): Remove S_ from io_server and
term_server.
Thu Jul 21 19:00:36 1994 Michael I Bushnell <mib@geech.gnu.ai.mit.edu>
* 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 <mib@geech.gnu.ai.mit.edu>
* 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 <stdlib.h> for malloc and free prototypes.
Include <string.h> for bcopy and bzero prototypes.
Include <stdio.h> 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.
|