3 Directory Tree Structure

Contents of this section

Here is an outline of the directory tree structure for the source tree. Only directories/files that are relevant to writing a driver are presented. The structure for the Link Kit is presented below.

xc/config/cf/

site.def

Local configuration customization

xf86site.def

XFree86 local configuration customization

xc/programs/Xserver/hw/xfree86/

The server source

common/

Files common to all of the server (XF86Config parser, I/O device handlers, etc)

xf86.h

Contains the `ScrnInfoRec' data structure

xf86_Option.h

Contains option flags

compiler.h

Contains in-line assembler macros and utility functions

os-support/

OS-support layer

assyntax.h

Contains macro-ized assembler mnemonics

xf86_OSlib.h

OS-support includes, defines, and prototypes

LinkKit/

site.def.LK

Template for Link Kit site.def

vga256/

256-color VGA server directories

vga/

The generic VGA handling code

vga.h

Contains the `vgaVideoChipRec' and `vgaHWRec' data structures

vgaHW.c

Contains the generic-VGA-register handling functions vgaHWInit(), vgaHWSave() and vgaHWRestore().

drivers/

Contains the SVGA driver subdirectories. Each contains an Imakefile, a .c file for the driver, and a .s file for the bank- switching functions.

vga2/

The monochrome vga server directories. Most of the files are linked from vga256, and the differences handled by conditional compilation.

drivers/

The SVGA driver subdirectories. The `generic' VGA driver is also located here.

vga16/

The 16-color vga server directories. Most of the files are linked from vga256, and the differences handled by conditional compilation.

drivers/

The SVGA driver subdirectories.

VGADriverDoc/

This documentation and the stub driver.

The Link Kit is usually installed in /usr/X11R6/lib/Server. The Link Kit contains everything that is needed to relink the server. It is possible to write a new driver and build a new server without having even the server source installed.
Server/

site.def

Local configuration customization

include/

All of the include files listed under the `common' directory above

drivers/

All of the SVGA drivers

vga2/

The SVGA driver subdirectories.

vga16/

The SVGA driver subdirectories.

vga256/

The SVGA driver subdirectories.

VGADriverDoc/

The directory with this documentation and the stub driver. `vgaHW.c' is also copied here, for reference (it is not built as part of the Link Kit).

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter