This contains fixes since xr_e002/xr_m015/mcp/acp. Important note: If you use
the OS/2 SES facility, you need a new sesdd32.sys dated April 2001 or later
to use this kernel. Also, a matching dump formatter (df_ret.exe), provided
separately, is required, if you want to analyze a dump from this kernel.
Finally, note that os2ldr is only required for the >64mb memory detection
mentioned below.

New function:
    1) Support for >64m memory using int15 func e820. Note, this support is
       enabled ONLY for Intel Pentium Pro or later, or non-Intel Pentium-class
       machines. This is done in an effort to prevent problems on older PCs.
    2) The presence of \os2\boot\os2norev.$$$ suppresses the display of 
       internal revision during boot.
    3) Adding "EARLYMEMINIT=TRUE" to config.sys will allow device drivers, etc.,
       access to the memory above 16mb early in boot. Previously, this was only
       available after DD and IFS init was completed. This has various
       implications when enabled:
	  a) AHA154X.ADD may do bad things to your system. Don't even ask.
	  b) There may be some settings of HPFS386 cache that are incompatible.
    4) Trap messages will now give the module name instead of the device name.
       For example, "Exception in module: CLOCK01" instead of "Exception in
       Device Driver: CLOCK$". 
	***change from 0220/0223: Traps in 32 bit code now show the modname, too
    5) Systems with a 486SX chip running FP15 will function correctly. Note,
       they will NOT work with ACP or (necessarily) on MCP.
    6) SESDD32 will now work correctly (I hope) for both uni and smp
    7) All process dumps should now be considerably faster. paddr(all) dumps
       should take about 40% less time and others around 80-90% less time.
    8) EXE names will now also be displayed in alt-f2/alt-f3 processing (note
       that CMD file names, e.g. MPTSTART, will NOT be displayed, only cmd.exe)
    9) alt-f4 is like alt-f2 plus it pauses after displaying each names (does
       not pause after BASEDEV= or PSD=) and, by pressing F1, allows you to
       skip loading/running the file displayed.  Alt-f5 is like alt-f4+alt-f1.
    10) The dump formatter (in dfxxx.zip) should be faster and also work on
        dumps >= 2gb, which was not formerly possible.

 2002/01/02:
    Support for 16bit filesystems with >2gb file support (e.g.the forthcoming
    >2gb dump support ifs)

 9/13/01
    11) If you also install the enclosed clock01.sys to \os2\boot, you can 
        add "CLOCKSCALE=x" to config.sys. The choices for x are 1 (the default,
	which is the old behavior), 2, and 4. The number represents a scale 
	factor for the frequency of clock ticks. The theory is that CLOCKSCALE=4
	will speed up some apps (maybe Netscape and/or Java).

Bug Fixes:
  Fixes from earlier "dated" kernels:
    Fixed a trap 000d in w_OpenCreate (140:4dfd or so in uni/w4 krnls, don't
              have regs for SMP). This was a post mcp/acp regression
    Fixed strange loader i/o problems specific to the 0111 kernel.
    Fixed a bootup sys31xx problem specific to the 0123 kernel.
    Fixed a problem that was (I think) specific to  Janauary uni & W4 kernels

          which resulted in odd ring 3 (maybe ring 0?) traps and hangs
    Fixed some trap and other peculiar problems specific to the 0206 kernel.
          Those were the result of a build problem.
    Fixed some trap and other problems specific to the 0220/0223 kernels
    Fixed a regression from JR15038 that caused a trap in CWBBS.IFS and
	    PCSFLR0.IFS (AS/400 shared folders access).
    Fixed a regression in the 0330 kernel that messed up getting procdumps
    Fixed a regression in the 0416 kernel that caused some hangs and also
    	    affected APM
    Fixed a regression in the 0502 kernel that prevented booting altogether or
            caused other very bad problems.
    Fixed a regression in the 0502/0503 kernels that caused some odd trap d/e's
            in the scheduling code
    Don't use the 0601 kernels.
    Don't use the 0615 kernels, either. There seems to have been some kind of
            build problem, there.
    Removed the int 3's I'd accidentally left in some EA code in 0727 build
    The 0730-0801 kernels all had problems due to various attempts to fix
            PJ28078. Sorry about that!
    10/16: the 1015 os2ldr was broken on some CPUs
    11/29: Trap 000e (DS will be 0) in 11/28 kernels (only)
           Some peculiarities deleting files
    01/18: Some hang/trap problems relating to the 01/17 kernel
    01/25: Fixed regression from DosDelete change where some files weren't
    	   getting deleted if DELDIR was set.
    02/21: Strange problems on SMP kernel, particularly with HPFS386 (related to
    	   0201 kernel, only)
    02/22: 2/21 kernel fix for PJ28434 fix was bad. Unknown possible side-
           effects during bootup.
    03/15: Chgfileptr (seek) ops may fail on FAT, particularly on a vdisk

  Fixes to problems that exist in released code:
    JR15494: Delayed response of Ctrl-C or Ctrl-S (pause) in os/2 windows
    JR15405: (probably) DosQueryAsyncTimer fails on timecritical thread after
    	     mscount rolls over after 49.7 days of uptime
    JR15030: TRAPDUMP QUERY doesn't show PD (needs a new trapdump.exe, too)
    JR13335: Some VDMs won't run, complaining of too-long command lines
    JR15194: XCOPY fails with SYS1186 or SYS1192 on (at least) MO drives 
    JR15038: Trap 8 in h_DeviceHelpDM running an app from a tcpbeui drive
    JR15229: Files left open after ERROR_TOO_MANY_OPEN_FILES returned to app
    PJ27700: SMP systems may get a trap 000e in _tkStopScan, particularly 
             during a procdump operation.
    PJ27676: Causes hangs on some systems running UNI or W4 kernels
    PJ27554: Hang or (on allstrict) trap 3 on SMP (only) during beeps
    PJ27678: SMP kernels could not be RIPL-booted. As part of this, there is
	     a new config.sys parameter I13PAGES= available. Adding I13PAGES=1
	     to config.sys (note, no SET) reduces the memory usage of the mini
	     VDM processes used by ibm1s506.add and the GRADD drivers. This
	     becomes important in RIPL-boot situations. It may be helpful for
	     UNI RIPL boot, as well.
    PJ27677: SMP systems hang with multiple threads of same process
	     entering a critical section (affects ADSM client)
    PJ27757: Trap 000e running Theseus/4 (note, theseus4.exe may still end up
             with a sys3175, but at least the system doesn't crash).
    PJ27736: Trap in _PLD_WriteReturnCode
    PJ27777: Set BEGINLIBPATH= (in config.sys ONLY) may be ignored. Also, 
             it would lead to a bogus copy of BEGINLIBPATH= in the environment.
    ;PJ27821: Trap 000e in SchedNextRet2 on some APM-enabled machines
    ;         *removed as of 0508 -- original fix caused regressions. new fix
    ;         on hold, for now
    PJ27906: Trap 000e in pvwRegKrnlInstance running SPM/2 (may also cause
             unknown odd behavior in other performance monitors).
    PJ27919: Complete system hang running some apps (same as JR12136)
    PJ27544: Panic in SwitchNPX
    PJ27972: trap 000e in _SecExecPost (the actual fix is in ses0604 or later)
    PJ27952: DosFindFirst returns incorrect returncode for various bufsizes
             when querying extended attributes
    PJ28005: ProcDump command returns error code 6 (and the procdump is invalid)
    PJ28013: read of >2k from named pipe on a timecritical thread can cause
    	     loss of pipe data or session hang
    PJ28027: trap in KMQueryClientRegister reallocating a trace buffer
    PJ28068: trap 000e in clock$ where sslim is ffffffff (during JFS activity)
    PJ28076: "trapdump [PD|NOPD]" disables the procdump.exe command. Also, it
    	     causes a trap 000e if you initiate a dump with ctrl-alt-f10-f10
	     (or numlock-numlock).
    PJ28077: Some VPM apps will refuse to initialize
    PJ28078: Various traps with floppy disk hard errors when UDF is loaded
    JR13789: DRIVES does not reflect change in directory entries
    PJ28102: Performance tracing slow on Pentium 4 CPUs (this is the only 
             APAR listed here fixed in os2ldr)
  10/16:
    PJ28199  SES QUERYFILEINFO buffer pointer always -1
    PJ28207  SES callgate hooks don't work
  10/26
    PJ28215  Added HMA flag to DevHelp_GlobalToProcess. The new flag 20h (in
             EAX for the call to the DevHelp) allows a device driver to map
	     global memory to a process' high private arena.
    PJ264136 Trap 000e in the kernel when theseus gets system working set. Also
             fixed a theseus problem on systems with HPFS386.
  11/28	(MCP2/ACP2 kernel plus the following)
    IC32279  Trap 000e in TKDeclareInversion after killing a process while it's
             doing DosDelete processing.
  01/17 (happy new year) revision 14.086c
    PJ28355  SYS3175 (or other problems?) when booting a Pentium 4 machine when
             initializing testcfg.sys or apm.sys

    **Note: For those of you with ACP1 or earlier, the os2ldr contained here is
            also mandatory to fix the P4 problem.

  01/18 revision 14.086d
    PJ28362  traps in os2krnl running theseus/4
  01/25 revision 14.086e
    PJ28379  disallow alt-f4 and alt-f5 in the presence of altf1sec.cmd
  02/01 revision 14.086g
    PJ28392  trap in f_w16_DoPageIO ***** see 03/06 *******
  02/21 revision 14.088a
    PJ28434  swapper.dat can be trashed from a VDM session
    JR15405: Second attempt to fix this
  02/26  revision 14.088c
    PJ28450  fix random problems on SMP Pentium PRO machines that started as
             of 2001/08/21
    PJ28355 part 2 -- some P4 machines STILL had boot problems
  0306   revision 14.088d
    PJ28392   Again! Somehow, this fixed got dropped from 0226
  0311   revision 14.088e
    PJ28468   Undelete not working since CP2
  0315   revision 14.088f
    PJ28472   Trap 000e in THEArena_Get running theseus/4 (may also be in 0311)

Following are rough instructions for applying the os2krnl fix:
In the directory from which you boot (C:\ or d:\ or whatever), type these
commands. Note that os2krnl should have come with this file.

1. attrib -r -s -h os2krnl
2. attrib -r -s -h os2ldr
3. copy os2krnl os2krnl.sav
4. copy os2ldr os2ldr.sav
5. copy \os2\system\trace\*.tdf  \save       (or wherever)
5. unzip -o xxx.zip
If you want, you can turn the os2krnl and os2ldr attributes back on, but
it's not necessary to do so.

Trace files (*.tdf)  have been included.

An os2krnl.sym file has been provided with this fix. Just save it somewhere
(root directory or anywhere). It is only needed in case OS/2 
service requests a standalone dump of your system in the future.
