forked from flightno23/OS161
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
424 lines (399 loc) · 21.8 KB
/
CHANGES
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
OS/161 was written by David A. Holland, with contributions from
Amos Blackman
Alexandra Fedorova
Ada T. Lim
Georgi Matev
Jay Moorthi
Geoffrey Werner-Allen
Additional small patches and bug reports have been contributed by
various other people, all of whom are (hopefully) listed below.
------------------------------------------------------------
20100108 dholland Don't cut corners with relocs in mips-exception1.S.
20100108 dholland Rearrange how curthread/curcpu get defined, so the
mips gdb can see curthread.
20100108 dholland Disable BSS zeroing in loadelf, because VM systems
should already provide zeroed pages. Make dumbvm do so.
20100108 dholland Add ASST3-OPT optimizing config.
20100108 dholland Add the usermalloc design doc to design/.
20100108 dholland Add the shell's design doc to design/.
20100108 dholland Fix outdated comment in start.S.
20100108 dholland Move clocksleep() decl to <clock.h>.
20100107 dholland Clarify various comments that seem lacking.
20090427 dholland Fix miscommented uio direction constants. Doh.
Found by the students...
20090424 dholland Add missing as_activate(NULL) during thread exit.
20090416 dholland Fix err/warn vs. errx/warnx usage in various tests.
Mostly from Robert J. Helblin and Peter Salas.
20090413 dholland Use EFBIG, not EINVAL, for "file too large".
20090402 dholland Make sbrk badcall "unaligned negative" really negative.
20090402 dholland Add clarifying comments to struct tlbshootdown.
20090320 dholland Fix DEBUG() so it accepts zero vararg parameters.
20090214 dholland Remove some references to obsolete name "md_usermode".
20090213 dholland Note that wchans don't promise to be FIFO.
20090205 dholland Add missing 'volatile' to spinlock.h.
20090414 dholland OS/161 1.99.04 released.
20090414 dholland Fix typo in kern/sfs.h.
20090414 dholland Fix testbin/psort up so it works adequately on sfs.
20090413 dholland Make sfsck track indirect blocks in the free map right.
20090413 dholland Fix bug where sfsck chokes on size 0 directories.
20090413 dholland Fix case where sfsck can't add missing ./.. entries.
20090413 dholland Add sfsck, simple check/recovery tool for sfs.
20090402 dholland OS/161 1.99.03 released.
20090402 dholland Fix build of testbin/malloctest.
20090320 dholland Check CURCPU_EXISTS in spinlock_do_i_hold.
20090313 dholland Fix threadlist iterator macros.
20090219 dholland OS/161 1.99.02 released.
20090219 dholland Add missing W* macros with waitpid in testbin progs.
20090219 dholland Work around gcc tailcall bug affecting testbin/crash.
20090219 dholland Fix missing vfs_biglock ops in vfs_getcwd().
20090219 dholland Fix bad userland declaration of lseek().
20090219 dholland Fix userland .depend file generation.
20090219 dholland Add join32to64 and split64to32.
20090219 dholland Clarify some comments in the mips syscall.c.
20090219 dholland Make stack frames in assembly code 64-bit aligned.
20090217 dholland Fix some glitches in the shell.
20090210 dholland Fix interrupt level management in trap handling.
20090209 dholland The on-chip timers can't be used for clocksleep().
20090203 dholland OS/161 1.99.01 released.
20090202 dholland Don't ever migrate curthread to another cpu.
20090202 dholland Use the W* wait macros in the shell.
20090202 dholland Document the W* wait macros.
20090202 dholland OS/161 1.99.00 released.
20090201 dholland Fix some bugs.
20090201 dholland Add an input buffer to the console device.
20090201 dholland Change kernel load address to waste less low memory.
20090201 dholland Implement kernel-side support for the GP register.
20090201 dholland Update man pages for 2.x.
20090201 dholland Remove the built-in copy of make. Too much realism;
it creates unnecessary hassles. Just ship make with
the toolchain.
200901** dholland Assorted major hacking to prepare first pre-2.0 tree.
Multiprocessor support.
Improve organization of source tree.
Add the shell and user malloc to the base system.
20081224 dholland Begin importing OS/161 1.x bits.
(OS/161 2.x branches off from what's projected to be
OS/161 1.x release 1.12.)
OS/161 1.x change log:
------------------------------------------------------------
20090115 dholland Fix wrong comment in lib.h.
20090106 dholland Fix typo in error message in newvers.sh.
20080825 dholland Fix typo in comment in start.S.
20080825 dholland Add curspl assertion to thread_yield.
(Reported by Melissa O'Neill a long time ago.)
20050913 dholland OS/161 1.11 released.
20050907 dholland Minor changes for clean build under gcc 4.0.1.
20050321 dholland Add volatile to testbin/ctest. (found by Qicheng Ma)
20050307 dholland Create <machine/ktypes.h> for vaddr_t/paddr_t.
20050228 dholland Some standards compliance. (found by R.L. West)
20040510 dholland Fix args handling in testbin/tail. (Lukasz Strozek)
20040204 dholland Be more consistent about refcounts in vfscwd.c.
20040203 dholland OS/161 1.10 released.
20040203 dholland Support for hosting OS/161 on Solaris.
20040202 dholland Update stdarg.h for gcc 3.x; remove machine/stdarg.h.
20031227 dholland OS/161 1.09 released.
20031224 dholland Add missing man page for triplesort.
20031224 dholland Fix failed compile in lnet.c, currently a null driver.
20031224 dholland Fix badcall so it doesn't blow up on empty stdin.
20031224 dholland Fix argument handling in bin/ln. (Hassan Sultan)
20031224 dholland Fix link count leak in sfs_rename. (Brian Greenberg)
20031224 dholland Fix silly use-after-free in an SFS mount error path.
20031224 dholland Fix unaligned sections in dumbvm. (Mike Hamburg)
20031224 dholland Change "asst1probs" to "synchprobs".
20031224 dholland Refer to assts by content, not number, where possible.
20031224 dholland Fix some nonsensical but working code in /bin/pwd.
20031224 dholland Update stack assertions in mips/trap.c for 4k stacks.
20031224 dholland Install kernels using their configuration name.
20031224 dholland Clarify some aspects of the locks/CVs API.
20031224 dholland Fix assorted comment typos and glitches.
20030626 dholland Commit the fix for a refcounting mistake in SFS.
20030626 dholland Fix glitch in one of the dup2 tests in testbin/badcall.
20030626 dholland Add missing sized type in mksfs/support.h.
20030626 dholland Fix "make depend" glitch in dumpsfs.
20030626 dholland Fix minor off-by-one error in menu code.
20030421 dholland Fix assertion failure in kernel heap dump code.
20030421 dholland Fix crash in testbin/dirconc.
20030309 dholland Make shell accept being run with argc==0.
20030309 dholland Add support for WNOHANG to shell.
20030221 dholland OS/161 1.08 released.
20030221 dholland Fix broken hostcompat build with some Linux libcs.
20030207 gwa/dholland Fix broken ASST1 build caused by rushed release.
20030131 dholland OS/161 1.07 released.
20030131 gwa New assignment 1 problems for 2003.
20030129 dholland Make console device full-duplex.
20030129 dholland Check for short reads when loading executable headers.
20030129 dholland Make rmtest a single standalone executable.
20030129 dholland Make first thread stack also 4k rather than 8k.
20030129 dholland Fix minor VFS bug handling multiple leading slashes.
20030129 dholland Remove code duplication in triple* tests.
20030129 dholland Add triplesort test (like triplemat).
20030128 dholland Make f_test a single standalone executable.
20030128 dholland Add t_ prefix to struct thread members for consistency.
20030128 dholland bzero by words instead of bytes when properly aligned.
20030128 dholland Add memcmp() to libc.
20030127 dholland Minor fixes to parallelvm.
20030117 dholland OS/161 1.06 released.
20030110 dholland Fix bug in setjmp/longjmp.
20030110 dholland Add small explanatory comment to dev/lamebus/emu.c.
20021120 dholland Have configure script provide NM and HOST_NM.
20021120 dholland Merge hostcompat fixes for Mac OS X.
20021001 dholland Avoid undefined C behavior in atoi().
20020920 dholland Provide string names for mips trap codes.
20020920 dholland Fix handling of boot-time kernel memory faults.
20020917 dholland OS/161 1.05 released.
20020913 dholland Created this changelog from CVS log data.
20020904 dholland Cleanup/improvement for testbin/malloctest.
20020904 dholland Add code to shell to do timing of subprocesses.
20020904 dholland Adjust prototype for __time() for hostcompat reasons.
20020904 dholland Add parallelvm and dirconc to the default build.
20020904 dholland Add mode to testbin/crash to fork and run everything.
20020904 dholland Retry certain I/O errors in emufs and sfs.
20020904 dholland Make vfs_close not fail.
20020830 dholland Prohibit slashes and colons in volume names in mksfs.
20020830 dholland _O_RDWRMASK -> O_ACCMODE, per POSIX.
20020830 dholland Shrink kernel stacks from 8k to 4k.
20020830 dholland Merge the code for the 'p' and 's' menu commands.
20020830 dholland Don't use OPEN_MAX in the base system.
20020829 dholland Include a copy of the error strings in the kernel.
20020829 dholland Assert that spl is 0 on syscall entry and exit.
20020829 dholland Fixes and new tests for testbin/badcall.
20020829 dholland Add code and menu command for dumping kernel heap.
20020827 dholland Close current directory at shutdown time.
20020827 dholland Clear bootfs at shutdown time.
20020827 dholland Remove extraneous magic argument from free_kpages().
20020827 dholland Fix dangling lock bug in emufs.
20020826 dholland Man page fixes for read, write, waitpid.
20020808 dholland Make Ant-32 port mostly work.
20020625 dholland Kernel makefile tweak for stupid makes.
20020618 dholland Fixes to the Ant-32 port.
20020617 dholland Update the (unreleased) Ant-32 port.
20020523 dholland Make matmult exit 1 on failure.
20020523 dholland Fix various forking userlevel tests to wait properly.
20020523 dholland Check for short reads when loading executables.
20020523 dholland Fix bug in tt3 test.
20020523 dholland Some make/build fixes.
20020523 dholland More mips calling conventions fixes.
20020522 dholland Fix bug in new mips exception code.
20020522 dholland Revamp testbin/badcall.
20020515 dholland Various accumulated minor cleanups and fixes.
20020515 dholland New tests: dirconc, parallelvm.
20020515 dholland Add missing V() in lhd driver.
20020515 dholland Fixes for the thread code.
20020515 dholland Tweak mips exception code for gdb's benefit.
20020515 dholland Clean up dumbvm code.
20020515 dholland Initialize mips stacks better, for gdb's benefit.
20020425 dholland Fixes for testbin/f_test.
20020424 dholland Fix kmalloc bug (found by Richard Eisenberg).
20020424 dholland Fix incorrect error codes in testbin/badcall.
20020424 dholland Move stray assert in vfs code.
20020407 dholland Fix off-by-one error in lhd driver.
20020325 dholland Fix memory leak in malloctest.
20020318 dholland Patch for race in thread_exit (fixed properly 5/15).
20020305 dholland Fix spl leak on thread_fork failure.
20020305 dholland Fix for testbin/crash.
20020216 dholland OS/161 1.04 released.
20020216 dholland Fix warning in kmalloc debugging code.
20020216 dholland Adjust testbin/badcall to assignment 2 requirements.
20020215 dholland Add cpu_halt() to supplement cpu_idle(), to fix crash.
20020215 dholland Fixes for matmult.
20020215 dholland Fix garbled comment in vm.h.
20020215 dholland Fix prototype of _exit().
20020208 dholland Fix stack frame of mips __start for gdb's benefit.
20020208 dholland Fix queue bug.
20020208 dholland Fix bug in testbin/{badcall,crash,faulter}.
20020131 dholland OS/161 1.03 released.
20020131 dholland Yield more on thread start (OPT_ASST1PROBS only).
20020131 dholland Fix whalemating code to match assignment.
20020131 dholland New asst1 problems for 2002.
20020131 dholland Include fix in mips pcb.h.
20020130 fedorova Adjust tt3 iteration counts/sizes.
20020129 georgi Fix broken mksfs and dumpsfs build.
20020124 dholland Put time() in libc; add __time() syscall.
20020124 dholland Have hostcompat make stdout and stderr unbuffered.
20020124 dholland Add sample optimizing config (ASST2-OPT).
20020124 dholland New tests: dirseek, rmdirtest, triplemat.
20020123 dholland Move matmult2 over original matmult.
20020123 dholland Assert nobody's waiting when destroying a semaphore.
20020123 dholland Add driver for new ltrace device.
20020123 dholland Fix cosmetic bug in hardclock config.
20020121 dholland Support ls over emufs.
20020121 dholland Fix bug in copyinstr/copyoutstr code.
20020121 dholland Fix broken Linux build of libhostcompat.
20020119 dholland Alter dumbvm and loadelf for new toolchain.
20020117 dholland Check for stack overflow during context switch.
20020117 dholland Stop using -O2 with -g for mips.
20020117 dholland More mips calling conventions fixes.
20020117 dholland Correct the inline asm in spl.c.
20020117 dholland Remove machine/inlineasm.h; fold into spl.c.
20020117 dholland Avoid using default make-supplied CFLAGS.
20020117 dholland Fix use of libhostcompat in mksfs and dumpsfs.
20020117 dholland Fix cosmetic bug in configure script.
20020116 dholland Adjust various things for new toolchain.
20020110 dholland Install hostcompat includes properly.
20020110 dholland Various fixes for new gcc (3.0.3) and binutils.
20020104 dholland More man pages.
20020103 dholland Remove excess register saves from mips context switch.
20020103 dholland Move old getcwd to __getcwd; put POSIX getcwd in libc.
20020103 dholland Tinker with tt3 test.
20020102 dholland Change thread_fork so it can return errors.
20020102 dholland Preallocate various things to avoid dying in mi_switch.
20010925 dholland Add a bunch of consistency checks to sfs.
20010925 dholland Fix bug in new panic code.
20010925 dholland Add menu command to panic intentionally.
20010925 dholland Fix bug in emufs.
20010925 dholland memcpy by words instead of bytes when properly aligned.
20010925 dholland Use setjmp() and longjmp() for aborting copyin/copyout.
20010925 dholland Add code for setjmp() and longjmp().
20010921 dholland Add VOP_KILL (undoes VOP_INIT, which can now fail too.)
20010921 dholland Fix race conditions in vnode reclaim.
20010921 dholland Fix VFS behavior for things like "rmdir foo:".
20010921 dholland OS/161 1.02 released.
20010921 dholland Revise device config/attach code.
20010920 dholland Standards compliance fixes for strchr/strrchr.
20010920 dholland Fix bug in system().
20010919 dholland More man pages.
20010918 dholland Changed MAXNAMLEN to NAME_MAX.
20010918 dholland Fix bug in kernel menu pwd command.
20010918 dholland Panic handling improvements.
20010918 dholland Kernel bootup and shutdown cleanup.
20010918 dholland Fixes for testbin/badcall.
20010824 dholland Make config script probe for <err.h>.
20010821 dholland Changes to queue code for consistent naming.
20010808 dholland Add man pages.
20010808 dholland The shell can now use <err.h> again, so do so.
20010808 dholland Add explicit support for host-runnable programs.
20010807 dholland Clean up -nostdinc/-nostdlib handling.
20010807 dholland Fix bug in cp.
20010807 dholland New test in testbin/crash.
20010807 dholland Fixes for testbin/malloctest.
20010806 dholland Fix glitch in testbin/badcall.
20010806 dholland New test: randcall.
20010804 dholland Add missing strrchr proto to <string.h>.
20010803 dholland Clean up ls; among other things, fix ls -R.
20010803 dholland Fixes for testbin/badcall.
20010803 dholland Add memset() to libc.
20010803 dholland Split part of testbin/crash to new testbin/badcall.
20010802 dholland Add comments to testbin describing intended uses.
20010802 dholland Fix testbin/ctest to be large enough to be interesting.
20010802 dholland Fix testbin/sort to be quicksort instead of bubble.
20010802 dholland Various minor testbin fixes/cleanup.
20010802 dholland Add dummy <fcntl.h> to make porting easier.
20010802 dholland Add dummy <time.h> to make porting easier.
20010802 dholland Add dummy <sys/ioctl.h> to make porting easier.
20010802 dholland Add dummy <sys/reboot.h> to make porting easier.
20010802 dholland Add dummy <sys/wait.h> to make porting easier.
20010802 dholland Have kfree deadbeef out free blocks.
20010801 dholland Time execution of every kernel menu command.
20010801 dholland Add getinterval() function for subtracting times.
20010801 dholland Print commands as they execute from the command string.
20010801 dholland New test tt3; add atoi from libc to kernel build.
20010801 dholland Add memcpy from libc.
20010801 dholland Fix size_t and add memcpy() to libc.
20010801 dholland Reset mips TLB at boot time.
20010801 dholland Revise kernel menu layout.
20010801 dholland Add tests for arrays, bitmaps, queues, and semaphores.
20010801 dholland Add "reconfig" rule to kernel makefiles.
20010801 dholland Fix queue code.
20010731 dholland Move main.c from kern/thread to kern/main.
20010730 dholland Add kernel menu command to unmount things.
20010730 dholland Add vfs_unmountall() for shutdown time.
20010730 dholland Report mounts to the console as they happen.
20010730 dholland Abolish pointless kernel shutdown functions.
20010726 dholland Add random: device accessible through VFS.
20010726 dholland Add pseudorand device for when hardware is missing.
20010726 dholland Add config support for pseudo-devices.
20010724 dholland Yield randomly at thread start if OPT_ASST1PROBS set.
20010724 dholland Clarify comments in mips exception.S.
20010724 dholland Don't allow calling P() from an interrupt handler.
20010724 dholland Fixes for lser driver.
20010723 dholland More mips calling conventions fixes.
20010626 dholland Add pwd and sync to kernel menu.
20010626 dholland Massive changes to kernel menu UI.
20010619 dholland Change as_copy so it can return error codes.
20010619 dholland Merge bitmap_isset() from sol3.
20010619 dholland Various fixes for new dumbvm.
20010619 dholland Fix overly enthusiastic test in vnode_check().
20010619 dholland Provide a sketch of the skeleton for doing fork.
20010618 dholland Add asserts to synch code.
20010618 dholland Clean up/clarify syscall entry code.
20010618 dholland New dumbvm supporting multiple address spaces.
20010618 dholland Remove mips dependencies from loadelf.c.
20010618 dholland Add hacks to prevent looping "Unknown syscall -1".
20010615 dholland Merge the kmalloc and kfree from sol3.
20010614 dholland Move kernel menu stuff to its own file.
20010614 dholland Fixes for sfs and vfs layer.
20010612 dholland Add sfs_rwblock to encapsulate sfs_device->d_io().
20010612 dholland Add lbolt and clocksleep() functionality to kernel.
20010612 dholland Add -W to standard warning options.
20010611 dholland Abolish rcsids.
20010611 dholland Fix memory leak on error in thread_fork.
20010611 dholland Don't panic if kmalloc fails. Add checks.
20010611 dholland Add VOP_MAGIC to vnode ops tables, and lots of checks.
20010611 dholland Add array_setguy().
20010608 dholland Add random() and srandom() to libc.
20010608 dholland Add some framework for user-level malloc to libc.
20010608 dholland Correct prototypes for read() and write().
20010608 dholland kprintf synchronization cleanups.
20010523 dholland Allow DEL as well as BS for backspacing in shell.
20010523 dholland Add warning about the consequences of touching paddr 0.
20010523 dholland Fix open count handling on VOP_CLOSE error.
20010523 dholland New test: malloctest.
20010428 dholland Handle multiple leading slashes on pathnames.
20010423 dholland Fix deadlock in vfs layer.
20010423 dholland Fix bug in testbin/dirtest.
20010423 dholland Fix multiple bugs in ls.
20010422 dholland Fix bug in sfs.
20010419 dholland Fix bug in sfs (patch from Amos Blackman).
20010416 dholland Fix fstest code.
20010416 dholland Remove stray debug output from dumpsfs.
20010414 dholland Fix host mksfs/dumpsfs build on DU.
20010414 dholland Makefile fix: build mksfs and dumpsfs by default.
20010414 dholland Fix bug in sfs (found by Dafina Toncheva).
20010414 dholland Fix endianness bug in dumpsfs.
20010414 dholland Do a sync at shutdown time.
20010414 dholland Format depend.mk files consistently.
20010414 dholland Fix memory leak in sfs.
20010413 dholland Allow VOP_FSYNC on sfs directories.
20010412 dholland Detect infinite loop triggerable by uio misuse.
20010411 dholland Fix bug in bitmap code.
20010406 dholland Fix calling conventions in mips asm code.
20010323 dholland Fix multi-sector lhd I/Os (found by Jeff DeSoto).
20010322 dholland Fix bug in comment in pcb.c (found by Jeffrey Enos).
20010319 dholland Make matmult smaller.
20010318 moorthi Fix bug in array code.
20010314 dholland Fix bug in mv (found by Edward Lim).
20010314 dholland Fix bug in testbin/crash (found by Mike Vernal).
20010314 dholland Fix bug in bitmap code.
20010308 moorthi Fix bug in sfs.
20010226 dholland OS/161 1.01 released.
20010226 dholland Shell fixes.
20010226 dholland Add a lock to the console device.
20010226 dholland Fix another bug in copyin/copyout code.
20010226 dholland Add vfs_getdevname().
20010226 dholland Use device name for FSes that don't return a volname.
20010226 dholland Fix two bugs in pwd.
20010226 dholland Make /bin/pwd work in emufs.
20010225 dholland Fix bug in mips trap code.
20010225 dholland Fix bug in mips copyin/copyout code.
20010224 dholland Add appropriate volatile keywords in various places.
20010224 dholland Fix synchronization in placeholder kmalloc.
20010221 dholland Fix bug in CV code.
20010208 dholland OS/161 1.00 released.
20010208 dholland Add EBADF to error list.
20010208 dholland Fix specification of VOP_STAT.
20010208 blackman Fix naming of queue functions.
20010208 blackman Driver for lrandom device.
20010207 dholland Check all calls to thread_fork for failure.
20010206 dholland Fix comment in mips/specialreg.h.
20010205 dholland Prevent recursive scheduler calls. (Fixes crash.)
20010205 dholland Make syscall wrapper generation more robust.
20010205 dholland Fix bug in cp.
20010202 dholland OS/161 0.99 released.
20010202 dholland Add host-sh (host-runnable version) to sh makefile.
20010202 dholland Add licensing boilerplate.
20010201 dholland Switch from getfilesize() to fstat().
20010201 dholland Add system().
20010130 dholland Add strtok() and strtok_r().
20010129 dholland Add ELF code.
20010111 dholland Fix bug in ls.
20010103 dholland Initial checkin of development tree.