      Files pre uploading


      1. What is it for

It was developed to minimize int 13h calls by jumping to processor's 
RealMode and getting back. It also speeds up of repeating drivers 
reading like USB.


     2. How does it work

The files list has been reading in memory and then each file in 
list is loading in memory structure. If the file is absent on disk 
then only file name and special mark are placed in memory structure. 
This mark means that file is absent and it is not required to search 
for it again in future. When OS2DASD.DMD is loaded and booting is switching
from MFS to IFS phase then all this memory structure will be discarded.


    3. How to use it

By default, kernel will preload all files from BASEDEV and PSD statements
of config.sys, all files listed in os4krnl.ini and snoop.lst and files
from predefined list:

   PREVIOUS.DAT, ISAPNP.SYS, ISAPNP.SNP, RESOURCE.SYS, CLOCK01.SYS,
   SCREEN01.SYS, KBDBASE.SYS, SNOOP.LST, PNP.SYS, ACPI.CFG, IBMKBD.SNP,
   PCIBUS.SNP, PREVIOUS.ACP, PCIDEV.TBL, CHKFORCD.CMD

Debug kernel will try to preload appropriate .sym files as well.

You can add files, still missed in this list to os4krnl.ini (in the
root of boot drive).

How to investigate the files to preload in your system:
* set LOGSIZE=XXX parameter in [config] section of OS2LDR.INI
* boot with preload option (Alt-F8 in os2ldr menu)
* get the boot log with commands:
    copy ___hlp$ kernel.log
  if you have ACPI or
    copy oemhlp$ kernel.log
  if not. Investigate the log for messages like "==Need 'xxxxx'==" 
  where 'xxxxx' is a file name and put all this names in preloading 
  file list in OS4KRNL.INI. When you put all required files in the list 
  then there will be no messages like "==Need 'xxxxx'==" in boot log.

