Chapter 6. Plex86 Source Code Directory Hierarchy


====================================================================
The plex86 directory tree is structured as follows:

plex86                            root directory for plex86
    |
    |--- kernel                   contains the sources for the
    |      |                      plex86 kernel driver
    |      |
    |      `--- include           contains header files for the
    |                             plex86 kernel driver
    |
    |--- user                     contains the sources for the
    |      |                      user-level VM monitor
    |      |
    |      `--- plugins           contains the sources for the plugins
    |             |
    |             |--- bios       BIOS plugin; loads executable and init VGA
    |             |--- ice        ICE plugin; for using remote GDB
    |             `--- bochs      BOCHS plugin; contains emulated
    |                             hardware devices, and GUI code
    |
    |--- guest                    contains several simple kernels for
    |      |                      testing VM functionality as it is added
    |      |
    |      |--- virtcode          simple non-multitasking kernel (shell)
    |      |--- cooperative       simple cooperative multitasking kernel
    |      |--- preemptive        simple preemptive multitasking kernel
    |      |--- paging            same as preemptive, but with paging
    |      `--- test              small testkernel for scan-before-execute
    |
    |
    |--- bios                     system ROM BIOS
    |
    |--- misc                     contains miscellaneous files
    |      
    |
    `--- docs                     contains plex86 documentation
           |
           |--- sgml              documentation sources in SGML format
           |--- html              documentation sources in HTML format
           |--- txt               documentation sources in plain text
           `--- output            the compiled versions of the docs

Things have been kept modularized regarding the host OS.
Anything OS specific should be put in "kernel/host-xyz.c"
or "kernel/include/host-xyz.h".
====================================================================