diff --git a/Documentation/configmanual.lyx b/Documentation/configmanual.lyx index 3c6cbabc93..3d6a1b0712 100644 --- a/Documentation/configmanual.lyx +++ b/Documentation/configmanual.lyx @@ -1,4 +1,4 @@ -#This file was created by Thu Jan 11 12:04:16 2001 +#This file was created by Tue Jan 16 09:39:36 2001 #LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass article @@ -334,13 +334,13 @@ multicol5 1 1 0 0 1 1 0 0 8 1 0 "" "" -8 1 1 "" "" +2 1 1 "4in" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" +0 2 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" -0 8 1 0 0 0 0 "" "" -0 8 1 0 1 0 0 "" "" +0 2 1 0 1 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 1 0 0 "" "" 0 8 1 0 0 0 0 "" "" @@ -776,10 +776,15 @@ e>/Config, where TOP represents the top of the source tree. . +\layout Subsection + +Commands that name resource directories. + \layout Standard -The naming of resources in most cases is /. - We show the resource names in Table +Resource directories contain C source code for LinuxBIOS. + The naming of resource directories in most cases is /. + We show the resource directory commands in Table \begin_inset LatexCommand \ref{resourcepaths} \end_inset @@ -792,7 +797,7 @@ The naming of resources in most cases is /. \layout Standard \align center \LyXTable multicol5 -12 2 0 0 -1 -1 -1 -1 +12 3 0 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 1 0 0 0 @@ -806,23 +811,36 @@ multicol5 1 0 0 0 1 1 0 0 8 1 0 "" "" -8 1 1 "" "" +2 1 1 "4in" "" +2 1 1 "4in" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 1 0 0 "" "" -0 8 1 0 0 0 0 "" "" 0 8 1 0 1 0 0 "" "" 0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 1 0 0 0 0 "" "" +0 2 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 1 0 0 "" "" +0 8 1 0 1 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 1 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" 0 8 1 0 0 0 0 "" "" @@ -836,9 +854,13 @@ Resource Name \newline Path \newline -mainboard + +\newline +inboard \newline TOP/src/mainboard// +\newline + \newline cpu \newline @@ -846,43 +868,63 @@ TOP/src/cpu/. \newline +\newline + \newline NOTE: no vendor in this path. We did this because so much of this \newline +\newline + \newline code is generic. Was this right? \newline + +\newline northbridge \newline TOP/src/northbridge// +\newline + \newline northsouthbridge \newline TOP/src/northsouthbridge// \newline +\newline + \newline NOTE: sets path for northbridge and southbridge, \newline +\newline + \newline since this command is for integrated chipsets (i.e. SiS 630) \newline + +\newline southbridge \newline TOP/src/southbridge// +\newline + \newline superio \newline TOP/src/superio// +\newline + \newline pcibridge \newline TOP/src/pcibridge// +\newline + \layout Caption @@ -894,7 +936,346 @@ How resources are named \end_float \layout Standard -The commands and their effects are shown in Table +The commands and their resulting path are shown in Table +\begin_inset LatexCommand \ref{resourcepaths} + +\end_inset + +. + Each of these commands (except for superio, currently) will check for a + Config file in the directory and process that file. + The Config file can contain any command. + +\layout Comment + +Was it a mistake to not have a Config file for superio? There's only one + file, but it is inconsistent. + \layout Standard +The configuration tool keeps track of three directories: the resource directory + that it is currently processing (think of this as the current working directory +); the TOP of the freebios source tree; and the directory that holds the + build (i.e. + the target directory). + All of these variables come into use when resource directory Config files + are processed. + For example, if the Config directory for northbridge specifies the file + northbridge.c, then an object rule for northbridge.o will be added to the + Makefile, with source being found in the resource directory. + All source names are made relative to TOP. + +\layout Subsection + +Commands that modify the Makefile +\layout Standard + +There are several commands that add rules and options to the Makefile. + They are shown below. + +\layout Comment + +Makefile flags for the LinuxBIOS are set in a variable called CPUFLAGS, + not in CFLAGS. + +\layout Standard + +\begin_float tab +\layout Standard +\align center \LyXTable +multicol5 +19 2 0 0 -1 -1 -1 -1 +1 1 0 0 +1 0 0 0 +0 0 1 0 +0 0 1 0 +1 0 0 0 +0 0 1 0 +1 0 0 0 +1 0 0 0 +1 0 0 0 +0 0 1 0 +0 0 1 0 +1 0 0 0 +1 0 0 0 +1 0 0 0 +0 0 1 0 +1 0 0 0 +0 0 1 0 +0 0 1 0 +1 1 0 0 +8 1 0 "" "" +2 1 1 "4in" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" + +Rule Name +\newline +Result +\newline +object .o +\newline +Add the object .o to the Makefile, depending on +\newline + +\newline +TOP/current-directory/.c. + Add a rule for building +\newline + +\newline +the object using cc. + +\newline +makerule : [] ; [] +\newline +Add a rule for , depending on ( +\newline + +\newline +optional), with actions (optional). +\newline +addaction +\newline +Add an action to an existing rule +\newline +adddepend +\newline +Add a dependency to an existing rule +\newline +makedefine = +\newline +Add a makerule to the Makefile. + Note: if you just want +\newline + +\newline + to add a -Doption or -Uoption to the Makefile, use the +\newline + +\newline +option and nooption commands instead. + +\newline +option +\newline +add -D to the Makefile CPUFLAGS +\newline +nooption +\newline +add -U to the Makefile CPUFLAGS +\newline +commandline +\newline +Set the commandline for Linux. + This can include spaces, e.g. +\newline + +\newline +commandline root=/dev/hda1 console=tty0 single +\newline +docipl +\newline +Turn on Millenium Disk On Chip Makefile options. + This changes +\newline + +\newline +variables for ldscript.ld, sets option for crt0.S, and sets the USE_DOC +\newline + +\newline +option in CPUFLAGS. + +\newline +linux +\newline +Set the path for Linux, assumed to be in /vmlinux. + +\layout Caption + +Commands that modify the Makefile +\end_float +\layout Subsection + +Commands that modify ldscript.ld +\layout Standard + +There are four commands that modify ldscript.ld. + These commands determine the base address of the data, bss, stack, and + LinuxBIOS code segments (not x86 segment registers, but ELF-style segments). + These commands are currently used primarily by the docipl command. + +\layout Standard + +\begin_float tab +\layout Standard +\align center \LyXTable +multicol5 +5 2 0 0 -1 -1 -1 -1 +1 1 0 0 +1 0 0 0 +1 0 0 0 +1 0 0 0 +1 1 0 0 +8 1 0 "" "" +2 1 1 "4in" "" +0 8 1 0 0 0 0 "" "" +0 2 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" + +Command +\newline +Action +\newline +setdata +\newline +Set the base of data. + Default is 0x4000. + +\newline +setbss +\newline +Set the base of bss. + Default is 0x5000. + +\newline +setstack +\newline +Set the base of the stack. + Default is 0x90000. + +\newline +setlinuxbiosbase +\newline +Set the linuxbios code base. + Default is 0xf0000. + +\layout Caption + +The ldscript.ld commands +\end_float +\layout Subsection + +Commands that affect crt0.S +\layout Standard + +The only commands that affect crt0.S are option commands. + These set options that affect how crt0.S operates when it starts. + The options that affect crt0.S are shown below. + Note that except for RAMTEST, these options affect other +\layout Standard + +\begin_float tab +\layout Standard +\align center \LyXTable +multicol5 +8 2 0 0 -1 -1 -1 -1 +1 1 0 0 +1 0 0 0 +1 0 0 0 +0 0 1 0 +0 0 1 0 +0 0 1 0 +0 0 1 0 +1 1 0 0 +8 1 0 "" "" +2 1 1 "4in" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 2 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 1 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" +0 8 1 0 0 0 0 "" "" + +Option +\newline +Meaning +\newline +RAMTEST +\newline +Run a simple RAM diagnostic after initializing SDRAM +\newline +USE_DOC_MIL +\newline +This option is usually set by the docipl command, and has two main effects. + +\newline + +\newline +It turns off the SDRAM +\newline + +\newline +init in crt0.S (since the docipl does it). + It also modifies the range of memory +\newline + +\newline +used by the SDRAM test code (since we don't want SDRAM test code overwriting +\newline + +\newline +LinuxBIOS code in SDRAM) +\newline +SERIAL_CONSOLE +\newline +Enables serial console output in crt0.S +\layout Caption + +Options that affect crt0.S +\end_float \the_end