912e603778
looking at a high resolution clock for each of the following events: function call, function return, interrupt entry, interrupt exit, and interesting branches. The differences between the times of these events are added at appropriate places in a ordinary histogram (as if very fast statistical profiling sampled the pc at those places) so that ordinary gprof can be used to analyze the times. gmon.h: Histogram counters need to be 4 bytes for microsecond resolutions. They will need to be larger for the 586 clock. The comments were vax-centric and wrong even on vaxes. Does anyone disagree? gprof4.c: The standard gprof should support counters of all integral sizes and the size of the counter should be in the gmon header. This hack will do until then. (Use gprof4 -u to examine the results of non-statistical profiling.) config/*: Non-statistical profiling is configured with `config -pp'. `config -p' still gives ordinary profiling. kgmon/*: Non-statistical profiling is enabled with `kgmon -B'. `kgmon -b' still enables ordinary profiling (and distables non-statistical profiling) if non-statistical profiling is configured.
193 lines
5.4 KiB
Groff
193 lines
5.4 KiB
Groff
.\" Copyright (c) 1980, 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)config.8 8.2 (Berkeley) 4/19/94
|
|
.\"
|
|
.Dd April 19, 1994
|
|
.Dt CONFIG 8
|
|
.Os BSD 4
|
|
.Sh NAME
|
|
.Nm config
|
|
.Nd build system configuration files
|
|
.Sh SYNOPSIS
|
|
.Nm config
|
|
.Op Fl gpn
|
|
.Ar SYSTEM_NAME
|
|
.Sh DESCRIPTION
|
|
.Pp
|
|
This is the old version of the
|
|
.Nm config
|
|
program.
|
|
It understands the old autoconfiguration scheme
|
|
used on the HP300, i386, DECstation, and derivative platforms.
|
|
The new version of config is used with the
|
|
SPARC platform.
|
|
Only the version of
|
|
.Nm config
|
|
applicable to the architecture that you are running
|
|
will be installed on your machine.
|
|
.Pp
|
|
.Nm Config
|
|
builds a set of system configuration files from the file
|
|
.Ar SYSTEM_NAME
|
|
which describes
|
|
the system to configure.
|
|
A second file
|
|
tells
|
|
.Nm config
|
|
what files are needed to generate a system and
|
|
can be augmented by configuration specific set of files
|
|
that give alternate files for a specific machine.
|
|
(see the
|
|
.Sx FILES
|
|
section below)
|
|
.Pp
|
|
Available options and operands:
|
|
.Pp
|
|
.Bl -tag -width SYSTEM_NAME
|
|
.It Fl g
|
|
If the
|
|
.Fl g
|
|
option is supplied,
|
|
.Nm config
|
|
will configure a system for debugging.
|
|
.It Fl p
|
|
If the
|
|
.Fl p
|
|
option is supplied,
|
|
.Nm config
|
|
will configure a system for profiling; for example,
|
|
.Xr kgmon 8
|
|
and
|
|
.Xr gprof 1 .
|
|
If two or more
|
|
.Fl p
|
|
options are supplied,
|
|
.Nm config
|
|
will configure a system for high resolution profiling.
|
|
.It Fl n
|
|
If the
|
|
.Fl n
|
|
flag is specified,
|
|
.Nm config
|
|
will not remove the old compile directory (see below).
|
|
.It Ar SYSTEM_NAME
|
|
specifies the name of the system configuration file
|
|
containing device specifications, configuration options
|
|
and other system parameters for one system configuration.
|
|
.El
|
|
.Pp
|
|
.Nm Config
|
|
should be run from the
|
|
.Pa conf
|
|
subdirectory of the system source (usually
|
|
.Pa /sys/ARCH/conf ) .
|
|
.Nm Config
|
|
will create the directory
|
|
.Pa ../../compile/SYSTEM_NAME
|
|
as necessary and place all output files there.
|
|
If the directory already exists, it will be removed
|
|
first unless the
|
|
.Pa -n
|
|
flag was specified or the environment variable
|
|
.Nm NO_CONFIG_CLOBBER
|
|
is set.
|
|
The output of
|
|
.Nm config
|
|
consists of a number of files; for the
|
|
.Tn i386 ,
|
|
they are:
|
|
.Pa ioconf.c ,
|
|
a description
|
|
of what I/O devices are attached to the system;
|
|
.Pa vector.h ,
|
|
definitions of
|
|
macros related to counting interrupts;
|
|
.Pa Makefile ,
|
|
used by
|
|
.Xr make 1
|
|
in building the system;
|
|
header files,
|
|
definitions of
|
|
the number of various devices that will be compiled into the system;
|
|
swap configuration files,
|
|
definitions for
|
|
the disk areas to be used for swapping, the root file system,
|
|
argument processing, and system dumps.
|
|
.Pp
|
|
After running
|
|
.Nm config ,
|
|
it is necessary to run
|
|
.Dq Li make depend
|
|
in the directory where the new makefile
|
|
was created.
|
|
.Nm Config
|
|
prints a reminder of this when it completes.
|
|
.Pp
|
|
If any other error messages are produced by
|
|
.Nm config ,
|
|
the problems in the configuration file should be corrected and
|
|
.Nm config
|
|
should be run again.
|
|
Attempts to compile a system that had configuration errors
|
|
are likely to fail.
|
|
.Sh FILES
|
|
.Bl -tag -width /sys/i386/conf/Makefile.i386 -compact
|
|
.It Pa /sys/conf/files
|
|
list of common files system is built from
|
|
.It Pa /sys/i386/conf/Makefile.i386
|
|
generic makefile for the
|
|
.Tn i386
|
|
.It Pa /sys/i386/conf/files.i386
|
|
list of
|
|
.Tn i386
|
|
specific files
|
|
.It Pa /sys/i386/conf/devices.i386
|
|
name to major device mapping file for the
|
|
.Tn i386
|
|
.It Pa /sys/i386/conf/files. Ns Em ERNIE
|
|
list of files specific to
|
|
.Em ERNIE
|
|
system
|
|
.El
|
|
.Sh SEE ALSO
|
|
The SYNOPSIS portion of each device in section 4.
|
|
.Rs
|
|
.%T "Building 4.3 BSD UNIX System with Config"
|
|
.Re
|
|
.Sh BUGS
|
|
The line numbers reported in error messages are usually off by one.
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
command appeared in
|
|
.Bx 4.1 .
|