summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: aaeb4947bb42b7579c44b7111175140ae073d7bb (plain)
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
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
2007-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* doc/mach.texi: Many typos fixed.

2004-01-15  Alfred M. Szmidt  <ams@kemisten.nu>

	* Makefile.in (%-undef: %.o): Match new output format from
	nm (binutils) 2.14.x.

2003-03-05  Roland McGrath  <roland@frob.com>

	* Makefile.in (tool_prefix): Variable removed.
	(version): @VERSION@ -> @PACKAGE_VERSION@
	* version.c.in: Use @PACKAGE_NAME@ and @PACKAGE_VERSION@.

	* configure.in: Require 2.54 and use new form of AC_INIT.
	Add descriptions to all AC_DEFINE and AC_DEFINE_UNQUOTED.
	Punt AC_PROG_CC_LOCAL, just use vanilla AC_PROG_CC.
	AC_TRY_CPP -> AC_PREPROC_IFELSE for oskit version check.
	AC_LINK_FILES -> AC_CONFIG_LINKS.
	Use new form of AC_OUTPUT with AC_CONFIG_FILES.
	* acconfig.h, aclocal.m4: Files removed.
	* configure. config.h.in: Regenerated with version 2.57.
	* Makefile.in ($(srcdir)/config.h.in): Depend on configure.in
	instead of acconfig.h.

2003-03-05  Roland McGrath  <roland@frob.com>

	* configure.in (HAVE_I8042): New check for oskit_dev_init_i8042.
	* oskit/ds_osenv.c (ds_osenv_init) [HAVE_I8042]: Call it.
	* config.h.in: Add #undef.
	* configure: Regenerated.

2003-02-28  Roland McGrath  <roland@frob.com>

	* oskit/osenv_irq.c (console_irq, console_irq_handler): New variables.
	(irq_alloc, irq_free): Implement special kludge with console_irq.
	* oskit/ds_osenv.c (ds_osenv_init): Set console_irq before
	initializing the minimal interrupt-driven console.

2002-11-20  Marcus Brinkmann  <marcus@gnu.org>

	* i386/i386/io_perm.c (io_perm_device_ops): New static variable.
	(i386_io_perm_create): Use the io_perm_device_ops for the device.
	(i386_io_perm_modify): Check that this is really an io_perm device.
	* iopb.h, iopb.c: Obsolete files removed.

2002-11-12  Roland McGrath  <roland@frob.com>

	* oskit/ds_routines.c (dev_open_com): Revert last change.
	The hash table should not hold a reference.

2002-11-09  Roland McGrath  <roland@frob.com>

	* Makefile.in (clib-routines.o): Add `-x none' before -lc.

	* oskit/ds_routines.c (ds_notify): Deallocate two refs, not one.
	(dev_open_com): Bump the ref_count on a new device to account for
	the reference held in the hash table as well as the one returned.

	* i386/i386/idt.c: Include "gdt.h" instead of <oskit/x86/base_gdt.h>
	and <oskit/x86/base_trap.h>.

2002-11-09  Marcus Brinkmann  <marcus@gnu.org>

	* i386/i386/pcb.c (switch_context): Update the I/O permission
	bitmap from stack_handoff() here (not only in stack_handoff()).

2002-11-05  Roland McGrath  <roland@frob.com>

	* oskit/pc/osenv_bell.c (direct_cons_bell): Use a private timer
	instead of calling `timeout'.  If a bell is already ringing,
	turn it off for an instant before setting the new one.

2002-10-21  Roland McGrath  <roland@frob.com>

	* configure.in: Check for oskit/dev/stream.h.
	* configure, config.h.in: Regenerated.
	* oskit/ds_routines.c (dev_open_com): Query for an oskit_streamdev_t
	and open it.

2002-10-03  Roland McGrath  <roland@frob.com>

	* i386/include/mach/i386/mach_i386.defs (i386_set_gdt, i386_get_gdt):
	New routines.
	* i386/i386/user_ldt.c (i386_set_gdt, i386_get_gdt): New functions.
	* i386/i386/gdt.h (USER_GDT, USER_GDT_SLOTS): New macros.
	* i386/i386/thread.h (struct i386_machine_state): New member user_gdt.
	* i386/i386/pcb.c (switch_ktss): Copy those slots into the GDT.

	* i386/i386/gdt.h (KERNEL_CS, KERNEL_DS, KERNEL_TSS, KERNEL_LDT):
	Values changed, new GDT layout not matching oskit base_gdt.h defaults.
	(BASE_KERNEL_CS, BASE_KERNEL_DS): New macros with to oskit's values.
	* oskit/x86/main.c (ktss): Variable moved to gdt.c.
	(main): Don't diddle the tss here.
	* i386/i386/gdt.c (gdt_init): Do it here instead.
	* oskit/x86/main.c (my_exit): Restore oskit's base_gdt.

	* oskit/x86/main.c (main): BASE_TSS -> KERNEL_TSS
	* i386/i386/mp_desc.c (mp_desc_load): Likewise.

	* i386/i386/gdt.h (USER_TSS): Macro removed (was unused).
	(KERNEL_GS): Macro removed (value was bogus!--fix SMP later).
	* i386/i386/i386asm.sym: Comment out KERNEL_GS.

	Remove magic %gs:0 pseudo-register support.
	* i386/i386/ldt.h (USER_GS): Macro removed.
	* i386/i386/pcb.c (pcb_init): Set gs to USER_DS, not USER_GS.
	(thread_setstatus): Likewise.
	* i386/i386/mp_desc.h (struct mp_desc_table): Remove member
	`user_thread_register'.
	* i386/i386/thread.h (struct i386_machine_state): Likewise.
	* i386/i386/mp_desc.c (mp_desc_init): Don't set up USER_GS in LDT.
	* i386/i386/ldt.c (ldt_init): Likewise.
	* i386/intel/pmap.c (pmap_bootstrap): Don't give users access to
	direct-mapped pages.
	* i386/i386/user_ldt.c (i386_set_ldt): Don't cap segment limits.

2002-07-19  Roland McGrath  <roland@frob.com>

	* configure.in (force_install): New substituted variable,
	set to yes/no by --enable-force-install.
	* Makefile.in (force-install): New variable from configure.
	[$(force_install) = yes]: Make installed headers depend on a force
	target.
	* configure: Regenerated.

2002-07-05  Roland McGrath  <roland@frob.com>

	* Makefile.in (kernel-%.o): Use -L$(OSKIT_LIBDIR)/.. switch.
	Reoprted by James Morrison <rocketmail_com@rocketmail.com>.

2002-06-23  Roland McGrath  <roland@frob.com>

	* kern/sched_prim.c (wait_hash): Macro replaced with static inline
	function.  Use oskit_sreg_t instead of int.

	* ipc/mach_port.c (mach_port_insert_right): Type fiddle in argument
	passing.

	* bogus/mach_ipc_compat.h (MACH_IPC_COMPAT): Define to 0.

	* alpha/alpha/pmap.h (kvtophys): Remove decl (now a macro in oskit).

	* device/net_io.c (EXTRACT_LONG, EXTRACT_SHORT, bpf_do_filter): Use
	oskit_u32_t/s32/u16 in place of u_long/long/u_short.

	* i386/i386/mach_machine_routines.h: New file.
	* bogus/mach_machine_routines.h (MACH_MACHINE_ROUTINES): Define to 0.

	* alpha/alpha/cpu_number.h (cpu_number): Declare only if [NCPUS > 1].
	[! ASSEMBLER]: Include kern/cpu_number.h like i386 file does.

	* ipc/ipc_object.h: Uncomment prototypes in all decls.
	Include "ipc_types.h" for types they use.

	* ipc/ipc_port.h: Uncomment prototypes in all decls.

	* ipc/ipc_hash.c (ipc_hash_index_t): Move typedef to ...
	* ipc/ipc_hash.h: ... here.
	(ipc_hash_info): Fix return and argument types in decl.

2002-06-17  Roland McGrath  <roland@frob.com>

	* device/if_hdr.h: Replace ancient UCB copyright terms with current
	approved UCB terms.
	* include/sys/reboot.h: Likewise.
	* include/device/disk_status.h: Likewise.
	* include/device/tape_status.h: Likewise.

	* device/net_io.c: Remove advertising clause from UCB copyright terms.
	* include/device/audio_status.h: Likewise.
	* include/device/bpf.h: Likewise.

2002-06-14  Roland McGrath  <roland@frob.com>

	* oskit/ds_routines.c: Fix copyright: Utah -> CMU.
	I wrote this file and copied a little bit of CMU code, no Utah code.

	* oskit/ds_routines.c (ds_device_write): Fix typo:
	mach_msg_number_t -> mach_msg_type_number_t

2002-06-05  Roland McGrath  <roland@frob.com>

	* ipc/ipc_hash.h: Include "ipc_types.h", "ipc_object.h" for types.
	[MACH_IPC_DEBUG]: Include <mach_debug/hash_info.h> for types.

2002-06-02  Roland McGrath  <roland@frob.com>

	* oskit/ds_routines.c (DEV_PTR_HASH): uintptr_t -> natural_t

	* oskit/ds_routines.c (DEV_PTR_HASH): unsigned int -> uintptr_t
	(ds_device_write): unsigned int -> mach_msg_number_t

	* alpha/alpha/ast.h: Fix obsolescent #endif syntax.

2002-06-01  Roland McGrath  <roland@frob.com>

	* ipc/ipc_hash.h (ipc_hash_local_delete): Uncomment prototype decls.

	* kern/mach_clock.c (clock_interrupt): Remove bogus debugging hack.

2002-05-28  Roland McGrath  <roland@frob.com>

	* include/device/device.defs
	(xxx_device_set_status, xxx_device_get_status, xxx_device_set_filter):
	Replace these routines with skips.
	[MACH_KERNEL]: Remove simport <kern/compat_xxx_defs.h>.

	* kern/boot_script.c, kern/boot_script.h: Files updated from
	versions in hurd/boot (64 bit fixes).

	* alpha/alpha/alpha_cpu.S: Use "alphaasm.h" instead of "assym.s".
	* alpha/alpha/context.S: Likewise.
	* alpha/alpha/locore.S: Likewise.

	* Makefile.in (objs): New target.

	* alpha/alpha/alphaasm.sym: New file.
	* alpha/alpha/task.h: New file.
	* alpha/alpha/context.h (jmp_buf): Define as `struct jmp_buf' too.

	* kern/zalloc.h: Remove #include <machine/zalloc.h>.

	* alpha/alpha/prom_interface.h: Fix obsolescent #else/#endif syntax.
	* alpha/alpha/pmap.c: Likewise.
	* alpha/alpha/pmap.h: Likewise.
	* alpha/alpha/pcb.c: Likewise.
	* alpha/alpha/context.h: Likewise.
	* alpha/alpha/thread.h: Likewise.
	* alpha/include/mach/alpha/alpha_instruction.h: Likewise.
	* alpha/include/mach/alpha/vm_param.h: Likewise.
	* alpha/include/mach/alpha/vm_types.h: Likewise.
	* alpha/include/mach/alpha/boolean.h: Likewise.
	* alpha/include/mach/alpha/kern_return.h: Likewise.
	* alpha/include/mach/alpha/thread_status.h: Likewise.
	* alpha/include/mach/alpha/syscall_sw.h: Likewise.
	* alpha/include/mach/alpha/exception.h: Likewise.
	* alpha/alpha/alpha_copyin.S: Likewise.
	* alpha/alpha/machspl.h: Likewise.
	* alpha/alpha/trap.c: Likewise.
	* alpha/alpha/alpha_instruction.c: Likewise.
	* alpha/alpha/alpha_init.c: Likewise.
	* alpha/alpha/setjmp.h: Likewise.
	* alpha/alpha/vm_tuning.h: Likewise.

	* alpha/Makefrag: New file.
	* alpha/Files: New file.
	* alpha/Subdirs: New file.

	Alpha support files verbatim from CMU release MK83a.
	* alpha/include/mach/alpha/alpha_instruction.h: New file.
	* alpha/include/mach/alpha/asm.h: New file.
	* alpha/include/mach/alpha/boolean.h: New file.
	* alpha/include/mach/alpha/exception.h: New file.
	* alpha/include/mach/alpha/kern_return.h: New file.
	* alpha/include/mach/alpha/machine_types.defs: New file.
	* alpha/include/mach/alpha/syscall_sw.h: New file.
	* alpha/include/mach/alpha/thread_status.h: New file.
	* alpha/include/mach/alpha/vm_param.h: New file.
	* alpha/include/mach/alpha/vm_types.h: New file.
	* alpha/alpha/alpha_cache.S: New file.
	* alpha/alpha/alpha_copyin.S: New file.
	* alpha/alpha/alpha_cpu.S: New file.
	* alpha/alpha/alpha_cpu.h: New file.
	* alpha/alpha/alpha_init.c: New file.
	* alpha/alpha/alpha_instruction.c: New file.
	* alpha/alpha/alpha_lock.S: New file.
	* alpha/alpha/alpha_mem_ops.c: New file.
	* alpha/alpha/alpha_misc.c: New file.
	* alpha/alpha/alpha_scb.c: New file.
	* alpha/alpha/alpha_scb.h: New file.
	* alpha/alpha/alpha_startup.c: New file.
	* alpha/alpha/ast.h: New file.
	* alpha/alpha/ast_check.c: New file.
	* alpha/alpha/ast_types.h: New file.
	* alpha/alpha/autoconf.c: New file.
	* alpha/alpha/c_misc.c: New file.
	* alpha/alpha/clock.c: New file.
	* alpha/alpha/clock.h: New file.
	* alpha/alpha/context.S: New file.
	* alpha/alpha/context.h: New file.
	* alpha/alpha/cpu_number.h: New file.
	* alpha/alpha/frame.h: New file.
	* alpha/alpha/lock.h: New file.
	* alpha/alpha/locore.S: New file.
	* alpha/alpha/mach_param.h: New file.
	* alpha/alpha/machspl.h: New file.
	* alpha/alpha/parse_args.c: New file.
	* alpha/alpha/pcb.c: New file.
	* alpha/alpha/pmap.c: New file.
	* alpha/alpha/pmap.h: New file.
	* alpha/alpha/prom_interface.S: New file.
	* alpha/alpha/prom_interface.h: New file.
	* alpha/alpha/prom_routines.S: New file.
	* alpha/alpha/prom_routines.h: New file.
	* alpha/alpha/setjmp.h: New file.
	* alpha/alpha/start.S: New file.
	* alpha/alpha/supage.S: New file.
	* alpha/alpha/thread.h: New file.
	* alpha/alpha/time_stamp.h: New file.
	* alpha/alpha/trap.c: New file.
	* alpha/alpha/trap.h: New file.
	* alpha/alpha/vm_tuning.h: New file.
	* alpha/dec/ln_copy.c: New file.

	* configure.in (VERSION): Set to 1.90 for mainlining of OSKit-Mach.
	* configure: Regenerated.

2002-05-22  Roland McGrath  <roland@frob.com>

	* oskit/x86/main.c (machine_idle): New function.
	* bogus/power_save.h (POWER_SAVE): Define to 1.

	* oskit/x86/main.c (iopb_init, iopb_destroy): Functions removed.
	(i386_io_port_add, i386_io_port_remove, i386_io_port_list): Likewise.

2002-05-20  Roland McGrath  <roland@frob.com>

	* configure.in (systype): Grok alpha.
	* configure: Regenerated.
	* Makefile.in (all-archs): Add alpha.
	(oskit-dirs-alpha): New variable.

2002-04-28  Roland McGrath  <roland@frob.com>

	* configure.in [$MAXCPUS > 1] (SMP_LIBS): Substitute this after
	checking for -loskit_smp.
	* configure: Regenerated.
	* Makefile.in (SMP_LIBS): New variable, substituted by configure.
	(OSKIT_LIBS): Use it in place of literal -loskit_smp.

2002-04-21  Roland McGrath  <roland@frob.com>

	* i386/i386/mp_desc.c (mp_desc_load): Avoid newlines inside strings.

2002-04-21  Roland McGrath  <roland@frob.com>

	* i386/intel/pmap.c (pmap_bootstrap): Set INTEL_PTE_USER in pte
	entries as well as pde entries.
	Reported by Jeroen Dekkers <jeroen@dekkers.cx>.

2002-04-07  Roland McGrath  <roland@frob.com>

	Provide a new special segment to user tasks so %gs:0 points to one
	writable word, a different word on each CPU, saved by thread switching.
	* i386/i386/ldt.h (USER_GS): New macro.
	* i386/i386/ldt.c (ldt_init): Set USER_GS to point at global variable
	`user_thread_register'.
	* i386/i386/mp_desc.h (struct mp_desc_table): New member
	`user_thread_register'.
	* i386/i386/mp_desc.c (mp_desc_init): Set USER_GS descriptor in LDT to
	point at that member.
	* i386/intel/pmap.c (pmap_bootstrap): Make direct-mapped pages
	accessible in user mode.
	* i386/i386/user_ldt.c (i386_set_ldt): Silently cap user segment
	limits to VM_MAX_ADDRESS.
	* i386/i386/thread.h (struct i386_machine_state): New member
	`user_thread_register'.
	* i386/i386/pcb.c (pcb_init, thread_setstatus): Set user threads' %gs
	register to USER_GS rather than USER_DS.
	(switch_ktss): Take new arg OLD_PCB.
	Don't do set_ldt at all if old and new match.
	Switch the per-CPU user thread variable into OLD_PCB and out of PCB.
	(stack_handoff, load_context, switch_context): Update callers.
	* i386/i386/user_ldt.c (i386_set_ldt): Likewise.

2002-03-11  Marcus Brinkmann  <marcus@gnu.org>

	* i386/i386/machine_task.c (machine_task_module_init): Set
	ZONE_COLLECTABLE and ZONE_EXHAUSTIBLE flags for the iopb zone.
	Requested by Roland McGrath <roland@frob.com>.

2002-02-27  Marcus Brinkmann  <marcus@gnu.org>

	* bogus/mach_machine_routines.h (MACH_MACHINE_ROUTINES): Set to 1.
	* i386/i386/io_perm.h: New file.
	* i386/i386/io_perm.c: New file.
	* i386/i386/machine_task.c: New file.
	* i386/Makefrag (i386-files): Add io_perm.c and machine_task.c.
	* i386/i386/mp_desc.h: Include `machine/tss.h' instead
	`oskit/x86/tss.h'.
	(struct mp_desc_table): Change type of ktss to struct task_tss.
	(mp_ktss): Likewise for array of pointers to the struct.
	* i386/i386/mp_desc.c: Include `machine/tss.h' and `machine/io_perm.h'.
	(mp_ktss): Change type to array of struct task_tss.
	(mp_desc_init): Cast pointer to x86_tss into pointer to task_tss,
	and use size of struct task_tss instead size of struct x86_tss.
	Initialize the task_tss structure.
	* i386/i386/pcb.c: Include `stddef.h' and `machine/tss.h'.
	(iopb_create, iopb_destroy): Prototypes removed.
	(curr_ktss): Cast pointer to base_tss to pointer to struct
	task_tss.
	(switch_ktss): Always use kernel TSS.
	(update_ktss_iopb): New function.
	(stack_handoff): Call update_ktss_iopb.
	(pcb_module_init): Do not call iopb_init.
	(pcb_terminate): Do not call iopb_destroy.
	(thread_setstatus): Remove local variable tss.
	(thread_getstatus): Rewrite i386_ISA_PORT_MAP_STATE case handler.
	* i386/i386/task.h: New file.
	* i386/i386/thread.h: Do not include `i386/iopb.h'.
	(struct i386_machine_state): Remove member io_tss.
	* i386/i386/tss.h: New file.
	* i386/include/mach/i386/mach_i386.defs: Do not include
	`mach/machine/mach_i386_types.h'.
	[KERNEL_SERVER]: Include `machine/io_perm.h'.  Define intran,
	outtran and destructor.
	(io_port_t): New type.
	(io_perm_t): Likewise.
	(i386_io_port_add): Interface removed.
	(i386_io_port_remove): Likewise.
	(i386_io_port_list): Likewise.
	(i386_io_perm_create): New interface.
	(i386_io_perm_modify): Likewise.
	* i386/include/mach/i386/mach_i386_types.h [MACH_KERNEL]: Include
	`i386/io_perm.h'.
	[!MACH_KERNEL]: Define types io_port_t and io_perm_t.
	* kern/task.c (task_init): Call machine_task_module_init.
	(task_create): Call machine_task_init.
	(task_deallocate): Call machine_task_terminate.
	(task_collect_scan): Call machine_task_collect.
	* task.h: Include `machine/task.h'.
	(struct task): Add member machine.
	* oskit/x86/main.c: Include `i386/io_perm.h' and `machine/tss.h'.
	(ktss): New static global variable that replaces base_tss at link
	time.
	(main): Rename base_tss to ktss and set it up to include an I/O
	permission bitmap.
	* oskit/ds_oskit.h [__i386__]: Include `machine/io_perm.h'.
	(struct device) [__i386__]: Add a structure with io_perm range
	to the com union.
	* oskit/ds_routines.c (dev_open_alloc): Remove static attribute.
	(setup_no_senders): Likewise.

2002-02-28  Marcus Brinkmann <marcus@gnu.org>

        * oskit/ds_routines.c (device_deallocate): Allow DEVICE->com_device
        to be NULL for simple pseudo device handlers.

2002-03-05  Roland McGrath  <roland@frob.com>

	* oskit/ds_request.h (ds_request_init, ds_asyncio_ready): Declare them.
	* oskit/ds_oskit.h (oskit_softint, kmsg_init, ds_netdev_open):
	Declare them.
	* oskit/kmsg.c (kmsg_init): Fix declaration.

	* oskit/ds_mem.c (ds_mem_map): If OFFSET and SIZE are both zero,
	map the whole thing.

2002-03-04  Roland McGrath  <roland@frob.com>

	* oskit/ds_routines.c (ds_device_write): If the write_inband routine
	returns an error other than MIG_NO_REPLY, send an asynchronous reply
	and return MIG_NO_REPLY to prevent caller from destroying the message.

2002-03-03  Michael Teichgraeber  <gnubert@web.de>

        * include/device/device_error_reply.defs: Changed subsystem name
        to device_error_reply.
        * oskit/ds_asyncio.c: Include "device_reply.h", "device_error_reply.h".

	* oskit/ds_asyncio.c (new_request): Removed unused variable(s).
	(ds_asyncio_complete_write_inband_1): Likewise.
	(ds_asyncio_write_inband): Likewise.
	* oskit/ds_partition.c (ds_blkpart_get_status): Likewise.
	* oskit/ds_net.c (ds_netdev_open): Likewise.
	* oskit/ds_stream.c (ds_stream_read_inband): Likewise.

2002-02-28  Roland McGrath  <roland@frob.com>

	* oskit/ds_osenv.c (ds_osenv_init): Pass missing argument to
	oskit_create_osenv_sleep.

	* oskit/ds_asyncio.c (listener_notify): Add missing return.

	* oskit/ds_net.c (ds_net_get_status): Remove unused variable.

	* oskit/ds_osenv.c: Include <oskit/dev/dev.h>,
	<oskit/dev/osenv_irq.h>,<oskit/dev/osenv_intr.h>,
	<oskit/dev/osenv_sleep.h>.

	* oskit/x86/main.c: Include <string.h>.
	* oskit/ds_block.c: Likewise.
	* oskit/osenv_irq.c: Likewise.
	* oskit/ds_mem.c: Likewise.
	* oskit/ds_net.c: Likewise.
	* oskit/ds_asyncio.c: Likewise.

	* oskit/osenv_log.c: Include <string.h>, <oskit/c/stdio.h>,
	<oskit/base_critical.h>.

	* oskit/osenv_mem.c: Include <string.h>.
	(pmap_startup): Remove unused variable.

	* ipc/ipc_entry.c: Terminate comment.
	* i386/i386/locore.S: Likewise.
	* ipc/fipc.c: Likewise.

2002-02-18  Roland McGrath  <roland@frob.com>

	* i386/i386/mp_desc.c (mp_desc_load): Set %gs to KERNEL_GS, not zero.

2001-12-12  Roland McGrath  <roland@frob.com>

	* oskit/ds_routines.c (ds_device_read): Remove old debugging crap.

2001-12-10  Roland McGrath  <roland@frob.com>

	* oskit/ds_mem.c (ds_mem_read_inband, ds_mem_write_inband):
	Check RECNUM and COUNT so as not to be fooled by overflow.
	Apply offset to DEV->com.mem.pa before checking direct_mapped.
	Check that both ends of the range are direct_mapped.
	(ds_mem_map): Check OFFSET and SIZE so as not to be fooled by overflow.

	* oskit/ds_oskit.h (INVALREC): Disable panic definition.

2001-12-10  Roland McGrath  <roland@frob.com>

	* oskit/ds_routines.c (special_mem_device): New argument MODE;
	use that instead of hardcoding D_READ.
	(ds_device_open): Changed callers.

2001-11-23  Roland McGrath  <roland@frob.com>

	* oskit/ds_routines.c (device_deallocate): Do nothing if argument
	is DEVICE_NULL.

2001-10-20  Roland McGrath  <roland@frob.com>

	* Merged from gnumach: -j oskit-fork-20011007 -j oskit-fork-20011019.
	CVS tags oskit-premerge-20011019 and oskit-postmerge-20011019 mark the
	oskit-branch state before and after this merge.

2001-10-19  Roland McGrath  <roland@frob.com>

	* i386/i386/mp_desc.c (mp_desc_init): Use kvtolin on addresses in
	segment descriptors.

2001-10-10  Roland McGrath  <roland@frob.com>

	* oskit/ds_osenv.c (ds_osenv_init): Don't call direct_cons_set_flags.
	* oskit/ds_routines.c (ds_device_open): Call it here instead.
	Motivated by Kevin Kreamer <kkreamer@etherhogz.org>.

2001-10-07  Roland McGrath  <roland@frob.com>

	* Merged from gnumach: -j oskit-fork-20010405 -j oskit-fork-20011007.
	CVS tags oskit-premerge-20011007 and oskit-postmerge-20011007 mark the
	oskit-branch state before and after this merge.

2001-10-07  Roland McGrath  <roland@frob.com>

	* oskit/osenv_softirq.c: New file,
	contributed by Daniel Wagner <wagi@gmx.ch>
	* oskit/pc/osenv_timer.c (softclock_oskit): Call oskit_softint.
	* Makefile.in (osenv-overrides): Add osenv_softirq.

2001-10-03  Roland McGrath  <roland@frob.com>

	* oskit/ds_routines.c (no_device_ops): New variable.
	* oskit/ds_oskit.h: Declare it.

	* oskit/ds_routines.c (ds_device_write_inband): Check for D_WRITE here.

	* configure.in: Check for mbchk, set MBCHK.
	* Makefile.in (MBCHK): New variable, substituted by configure.
	(check): Run mbchk on the kernel.

	* cpus.h: Moved to ...
	* bogus/cpus.h: ... here.
	* Makefile.in (clean): Avoid removing config.h.
	These problems reported by Gordon Matzigkeit <gord@fig.org>.

2001-09-26  Roland McGrath  <roland@frob.com>

	* oskit/ds_mem.c (direct_mapped): Page 0 is not direct mapped.

2001-08-20  Roland McGrath  <roland@frob.com>

	* kern/bootstrap.c (bootstrap_create): Doc fix, whitespace cleanup.

2001-08-20  Roland McGrath  <roland@frob.com>

	* kern/bootstrap.c (bootstrap_create): Set ${kernel-command-line}
	rather than ${multiboot-cmdline}, to match Hurd's serverboot.

2001-08-20  Roland McGrath  <roland@frob.com>

	* kern/bootstrap.c (boot_read, read_exec): Use phystokv to access
	module data addresses.
	(boot_script_exec_cmd): Return a value.
	(boot_script_task_create, boot_script_task_resume): Add \n to err msg.
	(user_bootstrap): Remove spurious & in thread_wakeup arg.
	These bugs all reported by Neal H Walfield <neal@cs.uml.edu>.

2001-08-18  Roland McGrath  <roland@frob.com>

	* kern/bootstrap.c (bootstrap_create): Pass &BMODS[0] to
	bootstrap_exec_compat, not the module data address.

2001-08-17  Roland McGrath  <roland@frob.com>

	* kern/bootstrap.c (boot_script_exec_cmd, user_bootstrap):
	Synchronize so boot_script_exec_cmd doesn't return until
	the thread running user_bootstrap has done its job.
	(bootstrap_create): Set boot script variable "multiboot-cmdline".

	* kern/bootstrap.c (boot_script_insert_task_port): New function.
	(boot_script_insert_task_port): Rewritten using task_insert_send_right.
	(bootstrap_create): Set up boot script variable values.

	* kern/bootstrap.c: Largely rewritten, using Hurd boot_script code.

	* Makefile.in ($(srcdir)/configure, $(srcdir)/config.h.in):
	Use $(srcdir) in deps.
	(Makefile, config.h, config.status): Likewise.

	* kern/strings.c, kern/strings.h: Files removed.
	* Makefile.in (kern-cfiles): Remove strings.c.
	(kern-hfiles): Remove strings.h.
	* kern/bootstrap.c: <kern/strings.h> -> <string.h>

	* Makefile.in (DEFINES): Add -DOSKIT_MACH=1.

2001-08-16  Roland McGrath  <roland@frob.com>

	* Makefile.in (k%nel.o, kernel.o, oskit-kern%.o): Insert a
	-L$(OSKIT_LIBDIR)/.. switch before the oskit libraries.

2001-06-02  Roland McGrath  <roland@frob.com>

	* i386/i386/locore.S (alltraps): Don't conditionalize pushl %gs
	on [MULTIPROCESSOR].  Reported by Jeroen Dekkers <jeroen@dekkers.cx>.

	* i386/i386/locore.S (mach_call_call) [DEBUG]: Remove syscall_trace
	code.  Reported by Jeroen Dekkers <jeroen@dekkers.cx>.

2001-05-31  Roland McGrath  <roland@frob.com>

	* i386/i386/mp_desc.c (interrupt_stack, int_stack_top): Initialize
	these' first elements to &base_stack_start,&base_stack_end.
	(interrupt_stack_alloc): Remove counting loop with unused results.
	Problem found by Jeroen Dekkers <jeroen@dekkers.cx>.

2001-02-03  Roland McGrath  <roland@frob.com>

	* configure.in: Substitute LDFLAGS.
	* Makefile.in (LDFLAGS): Substitute configure value.

	* configure.in (OSKIT_LIBDIR): Don't override environment value.

	* Makefile.in (mach-headers): Remove boot.h, which is gone.
	(mach-exec-headers): Variable removed.
	(installed-headers): Don't use it.
	(mach-headers): Remove multiboot.h
	* i386/Makefrag (i386-installed-headers): Remove dead files.
	(installed-headers): Don't touch this.

2001-01-11  Roland McGrath  <roland@frob.com>

	* oskit/ds_block.c (ds_blkio_get_status): Implement DEV_GET_RECORDS.

2000-12-21  Roland McGrath  <roland@frob.com>

	* oskit/x86/main.c (CR4_PGE): #undef and define to 0x80,
	since the oskit's value is incorrect.

2000-10-29  Roland McGrath  <roland@frob.com>

	Remove numerous dead header files.
	Suggested by Igor Khavkine <i_khavki@alcor.concordia.ca>.
	* kern/elf-load.c: Dead file removed.
	* Makefile.in (kern-cfiles): Remove elf-load.c.
	(OSKIT_LIBS): Add -loskit_exec.
	* i386/i386/pcb.c: <mach/exec/exec.h> -> #include <oskit/exec/exec.h>
	* i386/i386/idt-gen.h: Dead file removed.
	* i386/i386at/idt.h: Dead file removed.
	* i386/include/mach/i386/exec/elf.h: Dead file removed.
	* i386/include/mach/i386/multiboot.h: Dead file removed.
	* include/mach/boot.h: Dead file removed.
	* include/mach/exec/a.out.h: Dead file removed.
	* include/mach/exec/elf.h: Dead file removed.
	* include/mach/exec/exec.h: Dead file removed.
	* include/mach/multiboot.h: Dead file removed.

	* Makefile.in (clib-routines): Add ffs, needed when not inlined.
	Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>.

2000-10-27  Roland McGrath  <roland@frob.com>

	* oskit/x86/main.c (main): Don't #define master_cpu here.
	* kern/cpu_number.h [NCPUS == 1] (master_cpu): Define as a macro.
	Move variable decl to [NCPUS != 1].

	* oskit/smp-glue.c: New file.
	* Makefile.in (oskit-cfiles): Add it.

	* configure.in (MAXCPUS): Fix quoting of [] pattern in case statement.
	* configure: Regenerated.

	* i386/Makefrag (i386-files): Add back ast_check.c.
	* i386/i386/ast_check.c (cause_ast_check): Call interrupt_processor.

	* i386/i386/mp_desc.c (interrupt_stack_alloc): Don't set
	int_stack_high here.  Call init_alloc separately for each CPU.
	* oskit/osenv_mem.c (init_alloc): New function.

	* i386/i386/cswitch.S: Use EXT macro on interrupt_stack.

	* i386/i386/cpu_number.h [NCPUS > 1] (cpu_number, CPU_NUMBER):
	Define these loading the value from %gs:0.
	* i386/i386/locore.S (all_traps, all_intrs, return_to_iret,
	ast_from_interrupt, syscall) [MULTIPROCESSOR]: When restoring
	kernel segment registers, put KERNEL_GS in %gs.
	* i386/i386/gdt.h (KERNEL_GS): New macro.
	* i386/i386/i386asm.sym: Emit KERNEL_GS.
	* i386/i386/gdt.c (gdt_init): Set up KERNEL_GS segment to point to
	master_cpu.
	* i386/i386/mp_desc.h (struct mp_desc_table): New member `cpu_number'.
	* i386/i386/mp_desc.c (mp_desc_init): Set up KERNEL_GS segment to
	point to this CPU's cpu_number slot, and store MYCPU there.

	* oskit/ds_oskit.h (DEV_LOCK_INIT, DEV_LOCK, DEV_UNLOCK): New macros.

	* oskit/osenv_mem.c (smp_map_range): Add necessary cast.

	* Makefile.in (OSKIT_LIBS): Add -loskit_smp.

	* oskit/ds_routines.c (device_deallocate):
	dev_number_lock -> dev_hash_lock

	* oskit/x86/main.c: Include <kern/cpu_number.h> for master_cpu decl.
	* i386/i386/mp_desc.h: Include <oskit/x86/base_idt.h> for IDTSZ decl.
	Include <oskit/base_stack.h>.
	Declare mp_desc_load to return void.
	* i386/i386/mp_desc.c: Use struct x86_desc instead of i386_desc.
	(mp_desc_init): Replace ktss with base_tss.
	(interrupt_stack_alloc): base_stack -> base_stack_start

2000-10-26  Roland McGrath  <roland@frob.com>

	* oskit/osenv_synch.c (osenv_intr_save_disable): New function.

	* i386/i386/mp_desc.h: Declare int_stack_high here.

2000-10-09  Roland McGrath  <roland@frob.com>

	On the road to getting NCPUS > 1 to work in oskit-mach.
	* oskit/x86/main.c (int_stack_top, int_stack_bottom): Remove defns.
	(setup_machine_slot): New function, broken out of main.
	(main): Call it.
	Include <oskit/smp.h>
	(main) [NCPUS > 1]: Initialize oskit smp library and our mp_desc
	structures.
	* i386/i386/mp_desc.c: Use oskit includes.
	(interrupt_stack, int_stack_top, int_stack_high): Make unconditional.
	(eintstack, eintstack): Decls removed.
	(interrupt_stack_alloc): Use base_stack instead.
	(mp_ktss, mp_gdt): Let these go in bss.
	(mp_desc_init): Use memcpy instead of bcopy.
	(mp_desc_load): New function.
	* oskit/osenv_mem.c [NCPUS > 1] (smp_map_range): New function.

2000-10-01  Roland McGrath  <roland@frob.com>

	* oskit/osenv_mem.c (free_for_oskit): Copy assert on FLAGS
	consistency from alloc_for_oskit.

2000-09-17  Roland McGrath  <roland@frob.com>

	* oskit/x86/main.c (main): Set CR4_PGE bit here, after paging_enable.
	* i386/intel/pmap.c (pmap_bootstrap): Not here, since it's before
	paging is enabled, and that is verboten.  Still check the feature
	flag and initialize kernel_pte_global here.

2000-03-20  Roland McGrath  <roland@baalperazim.frob.com>

	* Makefile.in (oskit-kern%.o): Pattern rule replaces oskit-kernel.o
	target rule.
	(kern%): Pattern rule replaces kernel target rule.
	(kernel-%.o): New pattern rule, like kernel.o rule.
	(init-%.c): New pattern rule.

2000-02-07  Roland McGrath  <roland@baalperazim.frob.com>

	* oskit/osenv_mem.c (alloc_for_oskit): Add to lmm_wants_pages, rather
	than resetting it.
	(consider_lmm_collect): Separate the conditions, so we always check
	vm_page_unqueued_count against lmm_wants_pages first.  As another
	separate condition, if lmm_want_pages is nonzero, clear it and then
	thread_wakeup on it.  Check to move pages into the VM system is now
	a final independent conditional.

2000-02-06  Roland McGrath  <roland@baalperazim.frob.com>

	* Drivers.macros: File removed; obsolete in this branch.

	* oskit/osenv_mem.c (consider_lmm_collect): Fix fencepost error in
	loop calling vm_page_grab.  After putting memory back into the LMM,
	wake up threads blocked on &lmm_wants_pages.
	(alloc_for_oskit): After waking from &lmm_wants_pages block, loop
	to retry LMM allocation.

2000-02-05  Roland McGrath  <roland@baalperazim.frob.com>

	* version.c (version): Call it 1.2.91-OSKit now.
	* debian/changelog: Likewise.

	* Makefile.in (device-files): Remove obsolete files ds_routines.c and
	dev_forward.defs.
	(dist): Punt old rules and just run dpkg-buildpackage.
	* Makefile.in (oskit-cfiles): Add ds_routines.c here.

	* Makefile.in (config.h): Depend on stamp-configh.
	(stamp-configh): New target to run config.status for config.h update.

	* i386/Makefrag (install-headers, i386-install-headers,
	install-kernel, i386-install-kernel): Rules removed.

	* i386/i386/locore.S (dr6, dr0, dr1, dr2, dr3, dr_msk, dr_addr):
	Remove these obsolete entry points and variables.
	(null_idt, null_idtr, cpu_shutdown): These too.

	* oskit/osenv_irq.c: Don't #include <stdio.h>!

2000-01-28  Roland McGrath  <roland@baalperazim.frob.com>

	* i386/i386/trap.c (user_page_fault_continue): Disable a debugging
	printf.

2000-01-25  Roland McGrath  <roland@baalperazim.frob.com>

	* configure.in: Remove check for host_os.  It does not matter.
	* configure: Regenerated.

1999-11-25  Roland McGrath  <roland@baalperazim.frob.com>

	Drastically revamp hardware support using the Flux OSKit.
	Numerous new and changed files, and many files and whole
	subdirectory trees removed.  All old device drivers are removed,
	replaced using the OSKit device driver libraries.
	All the changes on this page are a unified interdependent set
	of changes turning GNUmach into OSKit-Mach, but since there
	are so many changes I have put them in separate paragraphs
	roughly divided by topic.

	* oskit: New subdirectory of support code using OSKit interfaces,
	and providing OSKit bottom-end interfaces for using components in Mach.
	* oskit/ds_asyncio.c: New file.
	* oskit/ds_block.c: New file.
	* oskit/ds_bus.c: New file.
	* oskit/ds_mem.c: New file.
	* oskit/ds_net.c: New file.
	* oskit/ds_osenv.c: New file.
	* oskit/ds_oskit.h: New file.
	* oskit/ds_partition.c: New file.
	* oskit/ds_request.c: New file.
	* oskit/ds_request.h: New file.
	* oskit/ds_routines.c: New file.
	* oskit/ds_stream.c: New file.
	* oskit/osenv_irq.c: New file.
	* oskit/osenv_log.c: New file.
	* oskit/osenv_mem.c: New file.
	* oskit/osenv_sleep.c: New file.
	* oskit/osenv_synch.c: New file.
	* oskit/pc/osenv_bell.c: New file.
	* oskit/pc/osenv_timer.c: New file.
	* oskit/x86/main.c: New file.
	* oskit/kmsg.c: New file.  This is an oskit-based kernel logging
	device in the style of Linux's /proc/kmsg magical file.	 It is the
	backend used for all logging output from oskit components.

	Front-end changes for device and miscellaneous support code changes:
	* device/dev_hdr.h: Rewritten.
	* device/dev_pager.c: Revamped to support only the new uniform
	oskit-based device_t interface, one flavor of pager.
	Commented out unused routines.
	* device/device_init.c (device_service_create): Don't call
	dev_lookup_init.
	* device/net_io.c (if_init_queues): Moved here from defunct subrs.c.
	(net_set_filter): Call net_kmsg_more before successful return, to
	make sure the very first packet buffer gets allocated.
	* kern/startup.c: Remove XPR cruft, panic_init, printf_init.
	* kern/syscall_sw.c: Add some missing headers.
	* kern/mach_clock.c: Deliver oskit clock ticks at splsoftclock.

	Miscellaneous cleanups & changes to use convenient OSKit facilities.
	* i386/i386/cswitch.S: Assembler macro nits.
	* i386/i386/fpu.c, i386/i386/fpu.h: Magic instruction macro nits.
	* i386/i386/fpe_linkage.c: Use OSKit structure and constant names.
	* i386/i386/i386sym.sym: Likewise.
	* i386/i386/idt-gen.h: Likewise.
	* i386/i386/idt.c: Likewise.
	* i386/i386/idt_inittab.S: Likewise.
	* i386/i386/gdt.c: Likewise.
	* i386/i386/gdt.h: Likewise.
	* i386/i386/ldt.c: Likewise.
	* i386/i386/ldt.h: Likewise.
	* i386/i386/user_ldt.h: Likewise.
	* i386/i386/user_ldt.c: Likewise.
	* i386/i386/locore.S: Likewise.
	* i386/i386/iopb.c: Likewise.
	* i386/i386/iopb.h: Likewise.
	* i386/i386/mp_desc.c: Likewise.
	* i386/i386/mp_desc.h: Likewise.
	* i386/i386/io_emulate.c: Likewise.
	* i386/i386/io_emulate.h: Likewise.
	* i386/i386/pcb.c: Likewise.
	* i386/i386/pit.c: Likewise.
	* i386/i386/pic.c: Likewise.
	* i386/i386/spl.S: Likewise.
	* i386/i386/thread.h: Likewise.
	* i386/i386at/int_init.c: Likewise.
	* i386/i386at/interrupt.S: Likewise.
	* i386/i386at/pic_isa.c: Likewise.
	* kern/kalloc.c: Likewise.
	* i386/intel/pmap.h: Likewise.
	* i386/i386/trap.c: Likewise.  Remove much cruft, TTD & KDB.
	Call oskit gdb_trap handler if enabled.
	* i386/i386/vm_param.h: Use <oskit/x86/base_vm.h> for defns.
	* i386/i386/hardclock.c: Clean up unused PS2 & LINUX_DEV cruft.
	* i386/include/mach/i386/vm_param.h: #undef PAGE_SHIFT in case of
	conflicting defn from the oskit.
	* kern/assert.h: Rewritten using <oskit/c/assert.h>.
	* kern/debug.h: Use <oskit/gdb.h>.
	* kern/machine.c: Likewise.
	* kern/bootstrap.c: Use oskit headers for multiboot and exec stuff.
	(boot_info): Fix type, not a pointer.
	(bootstrap_create): Fix uses.
	(get_compat_strings): Initialize to "UNKNOWN" in case nothing seen.
	(user_bootstrap): Increase buffer sizes for device/file name prompts.
	* vm/vm_object.c: Remove XPR cruft.

	Changes to the physical page pool code to share a pool of available
	memory kept in contiguous chunks with oskit code (drivers).
	The pageout daemon moves memory between the shared pool (the LMM)
	and the vm_page_queue_free list to keep some available for either
	use, but vm_page_grab can always steal a page directly from the LMM
	if the pageout daemon is not keeping the free list full enough.
	The interesting action here goes on in oskit/osenv_mem.c.
	* vm/vm_page.h (vm_page_queue_free_count, vm_page_unqueued_count):
	Declare new variables.
	(vm_page_free_count): Now a macro.
	* vm/vm_pageout.c (vm_pageout_scan): Call consider_lmm_collect.
	* vm/vm_resident.c: Remove XPR cruft.
	(vm_page_queue_free_count, vm_page_unqueued_count): New variables.
	(vm_page_free_count): Variable removed.
	(pmap_startup): Commented out.
	(vm_page_grab): When the queue is empty, call vm_page_grab_oskit_page.
	Also wakeup the pageout daemon whenever
	vm_page_queue_free_count < vm_page_unqueued_count.
	(vm_page_release): Use vm_page_queue_free_count for vm_page_free_count.
	(vm_page_module_init): Make the vm_page_zone collectable.

	* i386/intel/pmap.c: Use oskit types, macros, and variables that apply.
	(INVALIDATE_TLB): Macro replaced with inline function.
	Attempt to use INVLPG instruction if available.
	(kernel_pte_global): New variable.
	(pmap_bootstrap): Set it if processor supports INTEL_PTE_GLOBAL
	bit, and set PGE flag in %cr4 to enable using it.  Use it for
	page table entries in the kernel portion of address space.
	(pmap_create): Use pmap_page_table_page_alloc to get a
	direct-mapped physical page for the page directory.
	(pmap_destroy): Deallocate accordingly.
	(pmap_enter): Zero-fill new page table pages.
	Use kernel_pte_global if allocating in the kernel_pmap.

	* ipc/mach_port.c (mach_port_insert_right): IO_VALID -> IP_VALID.
	* kern/ipc_tt.c (mach_ports_register): Add a cast.

	Associated configure/build changes for reorganizations.
	* configure.in: Generate config.h file instead of -D switches.
	(--enable-kdb, --enable-kmsg): Options removed.
	(--enable-smp): New argument, sets MAXCPUS, defines NCPUS.
	(--enable-fpe): New argument, defines FPE.
	Add check for a sufficiently new installed oskit version.
	(OSKIT_LIBDIR): New variable, substituted.
	Comment out AC_CONFIG_SUBDIRS call.
	* configure: Regenerated.
	* acconfig.h, config.h.in: New files, used by autoheader and configure.
	* cpus.h: New file, uses configure-generated config.h for values.
	* include/device/device_error_reply.defs: New file.
	* device/device_error_reply.cli: New file.  Well-typed error replies.
	* version.c (version): Changed to "GNUmach 1.2.90-OSKit".
	* Makefile.in, i386/Makefrag: Substantially revamped for many added
	and removed modules, new linking rules to use oskit libraries.
	* i386/Files, i386/Subdirs: Updated.

	Removed all old device drivers, hardware support code, and
	miscellaneous things that can be replaced by using OSKit libraries.
	Also removed much cruft that was already unused in GNUmach.
	Removed unused "XPR" kernel logging facility.
	* chips, ddb, linux, scsi, util: Whole directory trees all removed.
	* device/blkio.c: Obsolete file removed.
	* device/buf.h: Likewise.
	* device/chario.c: Likewise.
	* device/cirbuf.c: Likewise.
	* device/cirbuf.h: Likewise.
	* device/conf.h: Likewise.
	* device/cons.c: Likewise.
	* device/cons.h: Likewise.
	* device/dev_forward.defs: Likewise.
	* device/dev_lookup.c: Likewise.
	* device/dev_name.c: Likewise.
	* device/dk_label.c: Likewise.
	* device/ds_routines.c: Likewise.
	* device/errno.h: Likewise.
	* device/io_req.h: Likewise.
	* device/kmsg.c: Likewise.
	* device/kmsg.h: Likewise.
	* device/param.h: Likewise.
	* device/subrs.c: Likewise.
	* device/tty.h: Likewise.
	* i386/Makefile.in: Likewise.
	* i386/README-Drivers: Likewise.
	* i386/configure: Likewise.
	* i386/configure.in: Likewise.
	* i386/i386/_setjmp.S: Likewise.
	* i386/i386/db_disasm.c: Likewise.
	* i386/i386/db_interface.c: Likewise.
	* i386/i386/db_machdep.h: Likewise.
	* i386/i386/db_trace.c: Likewise.
	* i386/i386/debug.h: Likewise.
	* i386/i386/debug_i386.c: Likewise.
	* i386/i386/debug_trace.S: Likewise.
	* i386/i386/fpe.b: Likewise.
	* i386/i386/fpe.b_elf: Likewise.
	* i386/i386/io_map.c: Likewise.
	* i386/i386/ktss.c: Likewise.
	* i386/i386/ktss.h: Likewise.
	* i386/i386/kttd_interface.c: Likewise.
	* i386/i386/kttd_machdep.h: Likewise.
	* i386/i386/loose_ends.c: Likewise.
	* i386/i386/pic.h: Likewise.
	* i386/i386/pit.h: Likewise.
	* i386/i386/proc_reg.h: Likewise.
	* i386/i386/seg.c: Likewise.
	* i386/i386/seg.h: Likewise.
	* i386/i386/setjmp.h: Likewise.
	* i386/i386/timer.h: Likewise.
	* i386/i386/tss.h: Likewise.
	* i386/i386/xpr.h: Likewise.
	* i386/i386at/asm_startup.h: Likewise.
	* i386/i386at/autoconf.c: Likewise.
	* i386/i386at/blit.c: Likewise.
	* i386/i386at/blitreg.h: Likewise.
	* i386/i386at/blituser.h: Likewise.
	* i386/i386at/blitvar.h: Likewise.
	* i386/i386at/boothdr.S: Likewise.
	* i386/i386at/com.c: Likewise.
	* i386/i386at/comreg.h: Likewise.
	* i386/i386at/conf.c: Likewise.
	* i386/i386at/cons_conf.c: Likewise.
	* i386/i386at/cram.h: Likewise.
	* i386/i386at/dev_hdr.h: Likewise.
	* i386/i386at/device_emul.h: Likewise.
	* i386/i386at/disk.h: Likewise.
	* i386/i386at/ds8390.h: Likewise.
	* i386/i386at/eisa.h: Likewise.
	* i386/i386at/fd.c: Likewise.
	* i386/i386at/fdreg.h: Likewise.
	* i386/i386at/i386at_ds_routines.c: Likewise.
	* i386/i386at/i8250.h: Likewise.
	* i386/i386at/i82586.h: Likewise.
	* i386/i386at/if_3c501.c: Likewise.
	* i386/i386at/if_3c501.h: Likewise.
	* i386/i386at/if_3c503.h: Likewise.
	* i386/i386at/if_de6c.c: Likewise.
	* i386/i386at/if_de6c.h: Likewise.
	* i386/i386at/if_de6s.S: Likewise.
	* i386/i386at/if_ne.c: Likewise.
	* i386/i386at/if_nereg.h: Likewise.
	* i386/i386at/if_ns8390.c: Likewise.
	* i386/i386at/if_ns8390.h: Likewise.
	* i386/i386at/if_par.c: Likewise.
	* i386/i386at/if_par.h: Likewise.
	* i386/i386at/if_pc586.c: Likewise.
	* i386/i386at/if_pc586.h: Likewise.
	* i386/i386at/if_wd8003.h: Likewise.
	* i386/i386at/immc.c: Likewise.
	* i386/i386at/iopl.c: Likewise.
	* i386/i386at/kd.c: Likewise.
	* i386/i386at/kd.h: Likewise.
	* i386/i386at/kd_event.c: Likewise.
	* i386/i386at/kd_mouse.c: Likewise.
	* i386/i386at/kd_queue.c: Likewise.
	* i386/i386at/kd_queue.h: Likewise.
	* i386/i386at/kdasm.S: Likewise.
	* i386/i386at/kdsoft.h: Likewise.
	* i386/i386at/lpr.c: Likewise.
	* i386/i386at/lprreg.h: Likewise.
	* i386/i386at/model_dep.c: Likewise.
	* i386/i386at/nfd.c: Likewise.
	* i386/i386at/nfdreg.h: Likewise.
	* i386/i386at/nhd.c: Likewise.
	* i386/i386at/nhdreg.h: Likewise.
	* i386/i386at/phys_mem_grab_page.c: Likewise.
	* i386/i386at/rtc.c: Likewise.
	* i386/i386at/rtc.h: Likewise.
	* kern/debug.c: Likewise.
	* kern/printf.c: Likewise.
	* kern/xpr.c: Likewise.
	* kern/xpr.h: Likewise.

	* debian/control, debian/rules: First crack at setting things up to
	build an oskit-mach package instead of gnumach.

Older changes in ChangeLog.1

Local variables:
mode: change-log
fill-column: 75
End: