Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jan 2012 21:10:34 GMT
From:      Rene Ladan <rene@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 204418 for review
Message-ID:  <201201112110.q0BLAYwW065505@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@204418?ac=10

Change 204418 by rene@rene_acer on 2012/01/11 21:10:12

	IFC

Affected files ...

.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml#4 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#120 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/euro/article.sgml#3 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/explaining-bsd/article.sgml#5 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/fonts/article.sgml#2 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/geom-class/article.sgml#2 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#45 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/pxe/install.cfg#2 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/releng/article.sgml#9 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/wp-toolbox/article.sgml#2 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml#4 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/arch-handbook/newbus/chapter.sgml#3 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml#14 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#122 integrate
.. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys-developers.sgml#67 integrate
.. //depot/projects/docproj_nl/share/sgml/man-refs.ent#37 integrate
.. //depot/projects/docproj_nl/www/en/index.xsl#11 integrate
.. //depot/projects/docproj_nl/www/en/releases/9.0R/Makefile#3 integrate
.. //depot/projects/docproj_nl/www/en/releases/9.0R/installation.html#1 branch
.. //depot/projects/docproj_nl/www/en/releases/index.sgml#14 integrate
.. //depot/projects/docproj_nl/www/en/releng/index.sgml#46 integrate
.. //depot/projects/docproj_nl/www/en/security/security.sgml#21 integrate
.. //depot/projects/docproj_nl/www/en/where.sgml#16 integrate
.. //depot/projects/docproj_nl/www/share/sgml/navibar.ent#12 integrate
.. //depot/projects/docproj_nl/www/share/sgml/release.ent#41 integrate

Differences ...

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml#4 (text+ko) ====

@@ -23,13 +23,12 @@
       </author>
     </authorgroup>
 
-    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml,v 1.8 2008/10/11 10:43:29 brueffer Exp $</pubdate>
+    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml,v 1.9 2012/01/11 01:21:32 eadler Exp $</pubdate>
 
     <legalnotice id="trademarks" role="trademarks">
       &tm-attrib.freebsd;
       &tm-attrib.cvsup;
       &tm-attrib.intel;
-      &tm-attrib.xfree86;
       &tm-attrib.general;
     </legalnotice>
 

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#120 (text+ko) ====

@@ -1,4 +1,4 @@
-<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.1051 2012/01/07 11:28:15 avl Exp $ -->
+<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.1052 2012/01/11 20:00:42 cs Exp $ -->
 <!--
 	NOTE TO COMMITTERS: Contributors lists are sorted in alphabetical
 	order by first name.
@@ -8322,6 +8322,11 @@
     </listitem>
 
     <listitem>
+      <para>Rainer Hurling
+	<email>rhurlin@gwdg.de</email></para>
+    </listitem>
+
+    <listitem>
       <para>Ralf Friedl
 	<email>friedl@informatik.uni-kl.de</email></para>
     </listitem>

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/euro/article.sgml#3 (text+ko) ====

@@ -28,7 +28,7 @@
       <holder>The FreeBSD Documentation Project</holder>
     </copyright>
     
-    <pubdate role="rcs">$FreeBSD: doc/en_US.ISO8859-1/articles/euro/article.sgml,v 1.12 2010/07/31 11:08:14 pgj Exp $</pubdate>
+    <pubdate role="rcs">$FreeBSD: doc/en_US.ISO8859-1/articles/euro/article.sgml,v 1.13 2012/01/11 01:21:32 eadler Exp $</pubdate>
     
     <legalnotice id="trademarks" role="trademarks">
       &tm-attrib.freebsd;
@@ -104,12 +104,12 @@
 	<term><literal>XkbLayout "<replaceable>lang</replaceable>(euro)"</literal></term>
 
 	<listitem>
-	  <para><application>XFree86</application> config option.</para>
+	  <para><application>Xorg</application> config option.</para>
 	</listitem>
       </varlistentry>
 
       <varlistentry>
-	<term><filename>/usr/X11R6/lib/X11/fonts/*/fonts.alias</filename></term>
+	<term><filename>/etc/X11/xorg.conf</filename></term>
 	<listitem>
 	  <para>Be sure to adapt your X11 fonts to
 	    <literal>-*-..-*-iso8859-15</literal></para>
@@ -260,8 +260,7 @@
     <title>Modifying X11</title>
 
     <para>Modify <filename>/etc/X11/xorg.conf</filename>
-      (<filename>/etc/X11/XF86Config</filename> if you're running &xfree86;) in
-      the following manner:</para>
+      in the following manner:</para>
 
     <programlisting>Option "XkbLayout"  "<replaceable>de</replaceable>(euro)"</programlisting>
 
@@ -314,7 +313,7 @@
 
     <itemizedlist>
       <listitem>
-        <para>Describe alternative way of setting up <application>XFree86</application>:
+        <para>Describe alternative way of setting up <application>Xorg</application>:
 	  <filename role="package">x11/xkeycaps</filename></para>
       </listitem>
       

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/explaining-bsd/article.sgml#5 (text+ko) ====

@@ -1,4 +1,4 @@
-<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/explaining-bsd/article.sgml,v 1.25 2010/06/26 04:29:21 dougb Exp $ -->
+<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/explaining-bsd/article.sgml,v 1.26 2012/01/11 02:13:00 eadler Exp $ -->
 <!-- The FreeBSD Documentation Project -->
 
 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@@ -29,7 +29,6 @@
       &tm-attrib.sparc;
       &tm-attrib.sun;
       &tm-attrib.unix;
-      &tm-attrib.xfree86;
       &tm-attrib.general;
     </legalnotice>
 
@@ -97,12 +96,15 @@
 	<para>The X Window system, which handles graphical display.</para>
 
 	<para>The X Window system used in most versions of BSD is maintained
-	  by one of two separate projects, either the
-	  <ulink url="http://www.XFree86.org/">&xfree86; project</ulink> or the
+	  by the
 	  <ulink url="http://www.X.org/">X.Org project</ulink>.
-	  This is the same code as Linux uses.  BSD does not normally
-	  specify a <quote>graphical desktop</quote> such as <application>GNOME</application> or <application>KDE</application>,
-	  though these are available.</para>
+	  &os; allows the user to choose from a variety of desktop
+	  environments, such as <application>Gnome</application>,
+	  <application>KDE</application>, or <applicaTIon>Xfce</application>;
+	  and lightweight window managers like
+	  <application>Openbox</application>,
+	  <application>Fluxbox</application>, or
+	  <application>Awesome</application>.
       </listitem>
 
       <listitem>

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/fonts/article.sgml#2 (text+ko) ====

@@ -1,4 +1,4 @@
-<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/fonts/article.sgml,v 1.30 2005/07/20 19:21:49 simon Exp $ -->
+<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/fonts/article.sgml,v 1.31 2012/01/11 02:13:00 eadler Exp $ -->
 <!-- The FreeBSD Documentation Project -->
 <!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
 <!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN">
@@ -860,14 +860,6 @@
       currently developing a useful set of FreeType tools:</para>
 
     <itemizedlist>
-      <listitem>
-        <para>The freetype module is included with XFree86 4.x.  For
-        more information please see the <ulink
-        url="&url.books.handbook;/x-fonts.html">FreeBSD
-        Handbook</ulink> or the <ulink
-        url="http://www.xfree86.org/4.0.2/fonts.html">XFree86 4.0.2
-        Fonts</ulink> page.</para>
-      </listitem>
 
       <listitem>
 	<para>The <command>xfsft</command> font server for <application>X11</application> can

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/geom-class/article.sgml#2 (text+ko) ====

@@ -22,13 +22,12 @@
       </author>
     </authorgroup>
 
-    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/geom-class/article.sgml,v 1.8 2007/05/04 12:45:05 ceri Exp $</pubdate>
+    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/geom-class/article.sgml,v 1.9 2012/01/11 02:13:00 eadler Exp $</pubdate>
 
     <legalnotice id="trademarks" role="trademarks">
       &tm-attrib.freebsd;
       &tm-attrib.cvsup;
       &tm-attrib.intel;
-      &tm-attrib.xfree86;
       &tm-attrib.general;
     </legalnotice>
 

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#45 (text+ko) ====

@@ -11,7 +11,7 @@
       <corpauthor>The &os; Ports Management Team</corpauthor>
     </authorgroup>
 
-    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.87 2012/01/07 00:15:52 linimon Exp $</pubdate>
+    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.89 2012/01/07 16:19:04 linimon Exp $</pubdate>
 
     <copyright>
       <year>2003</year>
@@ -2460,7 +2460,8 @@
       </listitem>
 
       <listitem>
-	<para>Edit <filename>/var/portbuild/scripts/buildenv</filename>.</para>
+        <para>(Only necessary for old codebase):
+	  Edit <filename>/var/portbuild/scripts/buildenv</filename>.</para>
       </listitem>
 
       <listitem>
@@ -2510,7 +2511,8 @@
       </listitem>
 
       <listitem>
-	<para>Only after the first time a
+        <para>(Only necessary for old codebase):
+	  Only after the first time a
 	  <application>dopackages</application> has been run for the
 	  arch: add the arch to 
 	  <filename>/var/portbuild/scripts/dopackagestats</filename>.</para>
@@ -2601,9 +2603,7 @@
 # mkdir -p /a/portbuild
 # cd /a/portbuild
 #
-# chmod 775 .
-
-ln -s ../<replaceable>arch</replaceable>/archive/errorlogs <replaceable>arch</replaceable>-errorlogs</screen>
+# chmod 775 .</screen>
 	  </para>
 	</step>
 

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/pxe/install.cfg#2 (text+ko) ====

@@ -1,6 +1,6 @@
 
 # $Wintelcom: src/freebsd/pxe/doc/install.cfg,v 1.1 2000/07/14 12:42:05 bright Exp $
-# $FreeBSD: doc/en_US.ISO8859-1/articles/pxe/install.cfg,v 1.2 2003/11/23 18:50:32 ceri Exp $
+# $FreeBSD: doc/en_US.ISO8859-1/articles/pxe/install.cfg,v 1.3 2012/01/11 01:21:58 eadler Exp $
 
 # This is the installation configuration file for our rackmounted FreeBSD 
 # cluster machines
@@ -66,13 +66,7 @@
 # OK, everything is set.  Do it!
 installCommit
 
-package=XFree86-3.3.6
-packageAdd
-
-#package=XFree86-aoutlibs-3.3.3
-#packageAdd
-
-package=XFree86-contrib-3.3.6
+package=xorg-server-1.10.4_1,1
 packageAdd
 
 package=arpwatch-2.1.a4

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/releng/article.sgml#9 (text+ko) ====

@@ -37,13 +37,12 @@
       </author>
     </authorgroup>
 
-    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/releng/article.sgml,v 1.87 2011/07/24 21:27:50 gjb Exp $</pubdate>
+    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/releng/article.sgml,v 1.88 2012/01/11 00:41:43 eadler Exp $</pubdate>
 
     <legalnotice id="trademarks" role="trademarks">
       &tm-attrib.freebsd;
       &tm-attrib.cvsup;
       &tm-attrib.intel;
-      &tm-attrib.xfree86;
       &tm-attrib.general;
     </legalnotice>
 
@@ -716,33 +715,6 @@
     <para>For more information about the release build infrastructure,
       please see &man.release.7;.</para>
 
-  </sect2>
-
-  <sect2>
-    <title>Building <application>&xfree86;</application></title>
-
-    <para><application>&xfree86;</application> is an important component for many desktop users.
-      Prior to &os; 4.6-RELEASE, releases used &xfree86;
-      3.<replaceable>X</replaceable> by default.
-      The easiest way to build these versions is to use the
-      <filename>src/release/scripts/X11/build_x.sh</filename> script.
-      This script requires that &xfree86; and Tcl/Tk already be
-      installed on the build host.  After compiling the necessary X
-      servers, the script will package all of the files into tarballs
-      that &man.sysinstall.8; expects to find in the
-      <filename>XF86336</filename> directory of the installation
-      media.</para>
-
-    <para>Beginning with &os; 4.6-RELEASE, &man.sysinstall.8;
-      installs &xfree86; 4.<replaceable>X</replaceable> by default, as a
-      set of <quote>normal</quote> packages.  These can either be the
-      packages generated by the package-building cluster or packages
-      built from an appropriately tagged ports tree.</para>
-
-    <para>Beginning with &os; 5.3-RELEASE, &man.sysinstall.8;
-      installs &xorg; packages instead of &xfree86; packages by
-      default.</para>
-
     <note><para>It is important to remove any site-specific settings
       from <filename>/etc/make.conf</filename>.  For example, it would
       be unwise to distribute binaries that were built on a system
@@ -795,8 +767,7 @@
         <command>make
         release</command>. The only changes
         that should be made to the <filename>disc1</filename> directory are the addition of
-        a <filename>tools</filename> directory, <application
-        class="software">&xfree86;</application>, and as many popular
+        a <filename>tools</filename> directory, and as many popular
         third party software packages as will fit on the disc. The
         <filename>tools</filename> directory contains software that allow users to create
         installation floppies from other operating systems. This disc
@@ -814,13 +785,6 @@
         <filename>src/usr.sbin/sysinstall</filename>.  Optionally, you may choose 
         to update <filename>sysinstall.8</filename>.</para>
 
-      <para>If an alternate version of &xfree86; is to be provided, then
-        &man.sysinstall.8; must be updated to reflect the new location
-        and installation instructions. The relevant code is contained
-        in <filename>src/usr.sbin/sysinstall</filename>.
-        Specifically, the files <filename>dist.c</filename>,
-        <filename>menus.c</filename>, and
-        <filename>config.c</filename> will need to be updated.</para>
     </sect3>
 
     <sect3>

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/wp-toolbox/article.sgml#2 (text+ko) ====

@@ -28,7 +28,7 @@
       </author>
     </authorgroup>
 
-    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/wp-toolbox/article.sgml,v 1.6 2007/02/22 19:01:42 simon Exp $</pubdate>
+    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/wp-toolbox/article.sgml,v 1.7 2012/01/11 01:21:58 eadler Exp $</pubdate>
 
     <legalnotice id="trademarks" role="trademarks">
       &tm-attrib.freebsd;
@@ -36,7 +36,6 @@
       &tm-attrib.intel;
       &tm-attrib.microsoft;
       &tm-attrib.symantec;
-      &tm-attrib.xfree86;
       &tm-attrib.general;
     </legalnotice>
 

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml#4 (text+ko) ====

@@ -3,20 +3,20 @@
 
 Copyright (c) 2002 Sergey Lyubka <devnull@uptsoft.com>
 All rights reserved
-$FreeBSD: doc/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml,v 1.28 2009/11/28 11:14:28 danger Exp $
+$FreeBSD: doc/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml,v 1.32 2012/01/10 02:50:25 wblock Exp $
 -->
 
 <chapter id="boot">
   <chapterinfo>
     <authorgroup>
       <author>
-        <firstname>Sergey</firstname>
+	<firstname>Sergey</firstname>
 	<surname>Lyubka</surname>
 	<contrib>Contributed by </contrib>
       </author> <!-- devnull@uptsoft.com  12 Jun 2002 -->
     </authorgroup>
   </chapterinfo>
-  <title>Bootstrapping and kernel initialization</title>
+  <title>Bootstrapping and Kernel Initialization</title>
 
   <sect1 id="boot-synopsis">
     <title>Synopsis</title>
@@ -62,41 +62,34 @@
       using the table that follows.  Please note that the actual data
       may differ from machine to machine:</para>
 
-    <informaltable frame="none" pgwide="1">
+    <informaltable frame="none" pgwide="0">
       <tgroup cols="2">
-        <tbody>
-          <row>
-            <entry><para>may vary</para></entry>
-
+	<tbody>
+	  <row>
+	    <entry><para>Output (may vary)</para></entry>
 	    <entry><para>BIOS (firmware) messages</para></entry>
-          </row>
+	  </row>
 
-          <row>
-            <entry><para>
-<screen>F1    FreeBSD
+	  <row>
+	    <entry><para><screen>F1    FreeBSD
 F2    BSD
-F5    Disk 2</screen>
-            </para></entry>
-
+F5    Disk 2</screen></para></entry>
 	    <entry><para><literal>boot0</literal></para></entry>
-          </row>
+	  </row>
 
-          <row>
-            <entry><para>
-<screen>&gt;&gt;FreeBSD/i386 BOOT
+	  <row>
+	    <entry><para><screen>&gt;&gt;FreeBSD/i386 BOOT
 Default: 1:ad(1,a)/boot/loader
-boot:</screen>
-            </para></entry>
-
+boot:</screen></para></entry>
 	    <entry><para><literal>boot2</literal><footnote><para>This
-	      prompt will appear if the user presses a key just after
-	      selecting an OS to boot at the <literal>boot0</literal>
-              stage.</para></footnote></para></entry>
-          </row>
+		prompt will appear if the user presses a key just
+		after selecting an OS to boot at the
+		<literal>boot0</literal>
+		stage.</para></footnote></para></entry>
+	  </row>
 
-          <row>
-            <entry><para>
-<screen>BTX loader 1.0 BTX version is 1.01
+	  <row>
+	    <entry><para><screen>BTX loader 1.0 BTX version is 1.01
 BIOS drive A: is disk0
 BIOS drive C: is disk1
 BIOS 639kB/64512kB available memory
@@ -105,24 +98,20 @@
 (jkh@bento.freebsd.org, Mon Nov 20 11:41:23 GMT 2000)
 /kernel text=0x1234 data=0x2345 syms=[0x4+0x3456]
 Hit [Enter] to boot immediately, or any other key for command prompt
-Booting [kernel] in 9 seconds..._</screen>
-            </para></entry>
+Booting [kernel] in 9 seconds..._</screen></para></entry>
+	    <entry><para>loader</para></entry>
+	  </row>
 
-            <entry><para>loader</para></entry>
-          </row>
-
-          <row>
-            <entry><para>
-	      <screen>Copyright (c) 1992-2002 The FreeBSD Project.
+	  <row>
+	    <entry><para><screen>Copyright (c) 1992-2002 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights reserved.
 FreeBSD 4.6-RC #0: Sat May  4 22:49:02 GMT 2002
     devnull@kukas:/usr/obj/usr/src/sys/DEVNULL
 Timecounter "i8254"  frequency 1193182 Hz</screen></para></entry>
-
-            <entry><para>kernel</para></entry>
-          </row>
-        </tbody>
+	    <entry><para>kernel</para></entry>
+	  </row>
+	</tbody>
       </tgroup>
     </informaltable>
   </sect1>
@@ -136,9 +125,9 @@
       after a power on is well defined: it is a 32-bit value of
       0xfffffff0.  The instruction pointer register points to code to
       be executed by the processor.  One of the registers is the
-      <literal>cr1</literal> 32-bit control register, and its value
-      just after the reboot is 0.  One of the cr1's bits, the bit PE
-      (Protected Enabled) indicates whether the processor is running
+      <literal>cr0</literal> 32-bit control register, and its value
+      just after the reboot is 0.  One of the cr0's bits, the bit PE
+      (Protection Enabled) indicates whether the processor is running
       in protected or real mode.  Since at boot time this bit is
       cleared, the processor boots in real mode.  Real mode means,
       among other things, that linear and physical addresses are
@@ -150,8 +139,8 @@
       so that it points to a BIOS memory block.</para>
 
     <para>BIOS stands for <emphasis>Basic Input Output
-      System</emphasis>, and it is a chip on the motherboard that has
-      a relatively small amount of read-only memory (ROM).  This
+	System</emphasis>, and it is a chip on the motherboard that
+      has a relatively small amount of read-only memory (ROM).  This
       memory contains various low-level routines that are specific to
       the hardware supplied with the motherboard.  So, the processor
       will first jump to the address 0xfffffff0, which really resides
@@ -167,7 +156,7 @@
       CD-ROM, harddisk etc.</para>
 
     <para>The very last thing in the POST is the <literal>INT
-      0x19</literal> instruction.  That instruction reads 512 bytes
+	0x19</literal> instruction.  That instruction reads 512 bytes
       from the first sector of boot device into the memory at address
       0x7c00.  The term <emphasis>first sector</emphasis> originates
       from harddrive architecture, where the magnetic plate is divided
@@ -178,19 +167,20 @@
       from 0, but sectors - starting from 1), has a special meaning.
       It is also called Master Boot Record, or MBR.  The remaining
       sectors on the first track are never used <footnote><para>Some
-      utilities such as &man.disklabel.8; may store the information in
-      this area, mostly in the second
-      sector.</para></footnote>.</para>
+	  utilities such as &man.disklabel.8; may store the
+	  information in this area, mostly in the second
+	  sector.</para></footnote>.</para>
   </sect1>
 
   <sect1 id="boot-boot0">
-    <title><literal>boot0</literal> stage</title>
+    <title><literal>boot0</literal> Stage</title>
 
     <indexterm><primary>MBR</primary></indexterm>
     <para>Take a look at the file <filename>/boot/boot0</filename>.
       This is a small 512-byte file, and it is exactly what FreeBSD's
       installation procedure wrote to your harddisk's MBR if you chose
-      the <quote>bootmanager</quote> option at installation time.</para>
+      the <quote>bootmanager</quote> option at installation
+      time.</para>
 
     <para>As mentioned previously, the <literal>INT 0x19</literal>
       instruction loads an MBR, i.e. the <filename>boot0</filename>
@@ -214,19 +204,19 @@
 
     <itemizedlist>
       <listitem>
-        <para>the 1-byte filesystem type</para>
+	<para>the 1-byte filesystem type</para>
       </listitem>
 
       <listitem>
-        <para>the 1-byte bootable flag</para>
+	<para>the 1-byte bootable flag</para>
       </listitem>
 
       <listitem>
-        <para>the 6 byte descriptor in CHS format</para>
+	<para>the 6 byte descriptor in CHS format</para>
       </listitem>
 
       <listitem>
-        <para>the 8 byte descriptor in LBA format</para>
+	<para>the 8 byte descriptor in LBA format</para>
       </listitem>
     </itemizedlist>
 
@@ -269,7 +259,7 @@
   </sect1>
 
   <sect1 id="boot-boot2">
-    <title><literal>boot2</literal> stage</title>
+    <title><literal>boot2</literal> Stage</title>
 
     <para>You might wonder, why <literal>boot2</literal> comes after
       <literal>boot0</literal>, and not boot1.  Actually, there is a
@@ -316,7 +306,7 @@
     <para>The <literal>boot2</literal> binary is created in special
       way:</para>
 
-    <programlisting><filename>sys/boot/i386/boot2/Makefile</filename>
+    <programlisting><filename>sys/boot/i386/boot2/Makefile:</filename>
 boot2: boot2.ldr boot2.bin ${BTX}/btx/btx
 	btxld -v -E ${ORG2} -f bin -b ${BTX}/btx/btx -l boot2.ldr \
 		-o boot2.ld -P 1 boot2.bin</programlisting>
@@ -346,30 +336,36 @@
 
     <indexterm><primary>virtual v86 mode</primary></indexterm>
     <itemizedlist>
-      <listitem><para>virtual v86 mode.  That means, the BTX is a v86
-        monitor.  Real mode instructions like pushf, popf, cli, sti, if
-        called by the client, will work.</para></listitem>
+      <listitem>
+	<para>virtual v86 mode.  That means, the BTX is a v86 monitor.
+	  Real mode instructions like pushf, popf, cli, sti, if called
+	  by the client, will work.</para>
+      </listitem>
 
-      <listitem><para>Interrupt Descriptor Table (IDT) is set up so
-        all hardware interrupts are routed to the default BIOS's
-        handlers, and interrupt 0x30 is set up to be the syscall
-        gate.</para></listitem>
+      <listitem>
+	<para>Interrupt Descriptor Table (IDT) is set up so all
+	  hardware interrupts are routed to the default BIOS's
+	  handlers, and interrupt 0x30 is set up to be the syscall
+	  gate.</para>
+      </listitem>
 
-      <listitem><para>Two system calls: <function>exec</function> and
-        <function>exit</function>, are defined:</para>
+      <listitem>
+	<para>Two system calls: <function>exec</function> and
+	  <function>exit</function>, are defined:</para>
 
-    <programlisting><filename>sys/boot/i386/btx/lib/btxsys.s:</filename>
+	<programlisting><filename>sys/boot/i386/btx/lib/btxsys.s:</filename>
 		.set INT_SYS,0x30		# Interrupt number
 #
 # System call: exit
 #
-__exit: 	xorl %eax,%eax			# BTX system
+__exit:		xorl %eax,%eax			# BTX system
 		int $INT_SYS			#  call 0x0
 #
 # System call: exec
 #
-__exec: 	movl $0x1,%eax			# BTX system
-		int $INT_SYS			#  call 0x1</programlisting></listitem>
+__exec:		movl $0x1,%eax			# BTX system
+		int $INT_SYS			#  call 0x1</programlisting>
+      </listitem>
     </itemizedlist>
 
     <para>BTX creates a Global Descriptor Table (GDT):</para>
@@ -392,8 +388,8 @@
       segment pointed to by the SEL_SCODE (supervisor code) selector,
       as shown from the code that creates an IDT:</para>
 
-  <programlisting>		mov $SEL_SCODE,%dh		# Segment selector
-init.2: 	shr %bx				# Handle this int?
+    <programlisting>		mov $SEL_SCODE,%dh		# Segment selector
+init.2:		shr %bx				# Handle this int?
 		jnc init.3			# No
 		mov %ax,(%di)			# Set handler offset
 		mov %dh,0x2(%di)		#  and selector
@@ -415,7 +411,7 @@
       boot device, physical memory available, <literal>envp</literal>
       pointer etc.  The definition for it is:</para>
 
-    <programlisting><filename>/usr/include/machine/bootinfo.h</filename>
+    <programlisting><filename>/usr/include/machine/bootinfo.h:</filename>
 struct bootinfo {
 	u_int32_t	bi_version;
 	u_int32_t	bi_kernelname;		/* represents a char * */
@@ -438,28 +434,29 @@
 	u_int32_t	bi_modulep;		/* preloaded modules */
 };</programlisting>
 
-  <para><literal>boot2</literal> enters into an infinite loop waiting
-    for user input, then calls <function>load()</function>.  If the
-    user does not press anything, the loop breaks by a timeout, so
-    <function>load()</function> will load the default file
-    (<filename>/boot/loader</filename>).  Functions <function>ino_t
-    lookup(char *filename)</function> and <function>int xfsread(ino_t
-    inode, void *buf, size_t nbyte)</function> are used to read the
-    content of a file into memory.  <filename>/boot/loader</filename>
-    is an ELF binary, but where the ELF header is prepended with
-    a.out's <literal>struct exec</literal> structure.
-    <function>load()</function> scans the loader's ELF header, loading
-    the content of <filename>/boot/loader</filename> into memory, and
-    passing the execution to the loader's entry:</para>
+    <para><literal>boot2</literal> enters into an infinite loop
+      waiting for user input, then calls <function>load()</function>.
+      If the user does not press anything, the loop breaks by a
+      timeout, so <function>load()</function> will load the default
+      file (<filename>/boot/loader</filename>).  Functions
+      <function>ino_t lookup(char *filename)</function> and
+      <function>int xfsread(ino_t inode, void *buf, size_t
+      nbyte)</function> are used to read the content of a file into
+      memory.  <filename>/boot/loader</filename> is an ELF binary, but
+      where the ELF header is prepended with a.out's <literal>struct
+      exec</literal> structure. <function>load()</function> scans the
+      loader's ELF header, loading the content of
+      <filename>/boot/loader</filename> into memory, and passing the
+      execution to the loader's entry:</para>
 
-  <programlisting><filename>sys/boot/i386/boot2/boot2.c:</filename>
+    <programlisting><filename>sys/boot/i386/boot2/boot2.c:</filename>
     __exec((caddr_t)addr, RB_BOOTINFO | (opts &amp; RBX_MASK),
 	   MAKEBOOTDEV(dev_maj[dsk.type], 0, dsk.slice, dsk.unit, dsk.part),
 	   0, 0, 0, VTOP(&amp;bootinfo));</programlisting>
   </sect1>
 
   <sect1 id="boot-loader">
-    <title><application>loader</application> stage</title>
+    <title><application>loader</application> Stage</title>
 
     <para><application>loader</application> is a BTX client as well.
       I will not describe it here in detail, there is a comprehensive
@@ -470,18 +467,18 @@
       the kernel is loaded into memory, it is being called by the
       loader:</para>
 
-  <programlisting><filename>sys/boot/common/boot.c:</filename>
+    <programlisting><filename>sys/boot/common/boot.c:</filename>
     /* Call the exec handler from the loader matching the kernel */
     module_formats[km-&gt;m_loader]-&gt;l_exec(km);</programlisting>
   </sect1>
 
   <sect1 id="boot-kernel">
-    <title>Kernel initialization</title>
+    <title>Kernel Initialization</title>
 
-    <para>Let us take a look at the command that links the kernel.  This
-      will help us identify the exact location where the loader passes
-      execution to the kernel.  This location is the kernel's actual entry
-      point.</para>
+    <para>Let us take a look at the command that links the kernel.
+      This will help identify the exact location where the loader
+      passes execution to the kernel.  This location is the kernel's
+      actual entry point.</para>
 
     <programlisting><filename>sys/conf/Makefile.i386:</filename>
 ld -elf -Bdynamic -T /usr/src/sys/conf/ldscript.i386  -export-dynamic \
@@ -489,8 +486,8 @@
 &lt;lots of kernel .o files&gt;</programlisting>
 
     <indexterm><primary>ELF</primary></indexterm>
-    <para>A few interesting things can be seen in this line.  First,
-      the kernel is an ELF dynamically linked binary, but the dynamic
+    <para>A few interesting things can be seen here.  First, the
+      kernel is an ELF dynamically linked binary, but the dynamic
       linker for kernel is <filename>/red/herring</filename>, which is
       definitely a bogus file.  Second, taking a look at the file
       <filename>sys/conf/ldscript.i386</filename> gives an idea about
@@ -498,13 +495,13 @@
       compiling a kernel.  Reading through the first few lines, the
       string</para>
 
-  <programlisting><filename>sys/conf/ldscript.i386:</filename>
+    <programlisting><filename>sys/conf/ldscript.i386:</filename>
 ENTRY(btext)</programlisting>
 
     <para>says that a kernel's entry point is the symbol `btext'.
       This symbol is defined in <filename>locore.s</filename>:</para>
 
-  <programlisting><filename>sys/i386/i386/locore.s:</filename>
+    <programlisting><filename>sys/i386/i386/locore.s:</filename>
 	.text
 /**********************************************************************
  *
@@ -513,11 +510,11 @@
  */
 NON_GPROF_ENTRY(btext)</programlisting>
 
-    <para>First what is done is the register EFLAGS is set to a
-      predefined value of 0x00000002, and then all the segment
-      registers are initialized:</para>
+    <para>First, the register EFLAGS is set to a predefined value of
+      0x00000002.  Then all the segment registers are
+      initialized:</para>
 
-    <programlisting><filename>sys/i386/i386/locore.s</filename>
+    <programlisting><filename>sys/i386/i386/locore.s:</filename>
 /* Don't trust what the BIOS gives for eflags. */
 	pushl	$PSL_KERNEL
 	popfl
@@ -539,34 +536,31 @@
 
     <informaltable frame="none" pgwide="1">
       <tgroup cols="2" align="left">
-      <tbody>
-        <row>
-          <entry><function>recover_bootinfo</function></entry>
+	<tbody>
+	  <row>
+	    <entry><function>recover_bootinfo</function></entry>
+	    <entry>This routine parses the parameters to the kernel
+	      passed from the bootstrap.  The kernel may have been
+	      booted in 3 ways: by the loader, described above, by the
+	      old disk boot blocks, or by the old diskless boot
+	      procedure.  This function determines the booting method,
+	      and stores the <literal>struct bootinfo</literal>
+	      structure into the kernel memory.</entry>
+	  </row>
 
-          <entry>This routine parses the parameters to the kernel
-            passed from the bootstrap.  The kernel may have been
-            booted in 3 ways: by the loader, described above, by the
-            old disk boot blocks, and by the old diskless boot
-            procedure.  This function determines the booting method,
-            and stores the <literal>struct bootinfo</literal>
-            structure into the kernel memory.</entry>
-        </row>
+	  <row>
+	    <entry><function>identify_cpu</function></entry>
+	    <entry>This functions tries to find out what CPU it is
+	      running on, storing the value found in a variable
+	      <varname>_cpu</varname>.</entry>
+	  </row>
 
-        <row>
-          <entry><function>identify_cpu</function></entry>
-
-	  <entry>This functions tries to find out what CPU it is
-	    running on, storing the value found in a variable
-	    <varname>_cpu</varname>.</entry>
-        </row>
-
-        <row>
-          <entry><function>create_pagetables</function></entry>
-
-	  <entry>This function allocates and fills out a Page Table
-	    Directory at the top of the kernel memory area.</entry>
-        </row>
-       </tbody>
+	  <row>
+	    <entry><function>create_pagetables</function></entry>
+	    <entry>This function allocates and fills out a Page Table
+	      Directory at the top of the kernel memory area.</entry>
+	  </row>
+	</tbody>
       </tgroup>
     </informaltable>
 
@@ -580,6 +574,7 @@
 	movl	%eax, %cr4</programlisting>
 
     <para>Then, enabling paging:</para>
+
     <programlisting>/* Now enable paging */
 	movl	R(_IdlePTD), %eax
 	movl	%eax,%cr3			/* load ptd addr into mmu */
@@ -597,7 +592,7 @@
 /* now running relocated at KERNBASE where the system is linked to run */
 begin:</programlisting>
 
-    <para>The function <function>init386()</function> is called, with
+    <para>The function <function>init386()</function> is called with
       a pointer to the first free physical page, after that
       <function>mi_startup()</function>.  <function>init386</function>
       is an architecture dependent initialization function, and
@@ -617,57 +612,56 @@
       <title><function>init386()</function></title>
 
       <para><function>init386()</function> is defined in
-        <filename>sys/i386/i386/machdep.c</filename> and performs
-        low-level initialization, specific to the i386 chip.  The
-        switch to protected mode was performed by the loader.  The
-        loader has created the very first task, in which the kernel
-        continues to operate.  Before running straight away to the
-        code, I will enumerate the tasks the processor must complete
-        to initialize protected mode execution:</para>
+	<filename>sys/i386/i386/machdep.c</filename> and performs
+	low-level initialization specific to the i386 chip.  The
+	switch to protected mode was performed by the loader.  The
+	loader has created the very first task, in which the kernel
+	continues to operate.  Before looking at the code, consider
+	the tasks the processor must complete to initialize protected
+	mode execution:</para>
 
       <itemizedlist>
-        <listitem>
+	<listitem>
 	  <para>Initialize the kernel tunable parameters, passed from
 	    the bootstrapping program.</para>
-	  </listitem>
+	</listitem>
 
-        <listitem>
+	<listitem>
 	  <para>Prepare the GDT.</para>
 	</listitem>
 
-        <listitem>
+	<listitem>
 	  <para>Prepare the IDT.</para>
 	</listitem>
 
-        <listitem>
+	<listitem>
 	  <para>Initialize the system console.</para>
 	</listitem>
 
-        <listitem>
+	<listitem>
 	  <para>Initialize the DDB, if it is compiled into
 	    kernel.</para>
 	</listitem>
 
-        <listitem>
+	<listitem>
 	  <para>Initialize the TSS.</para>
 	</listitem>
 
-        <listitem>
+	<listitem>
 	  <para>Prepare the LDT.</para>
 	</listitem>
 
-        <listitem>
+	<listitem>
 	  <para>Set up proc0's pcb.</para>
 	</listitem>
       </itemizedlist>
 
-    <indexterm><primary>parameters</primary></indexterm>
-      <para>What <function>init386()</function> first does is
-        initialize the tunable parameters passed from bootstrap.  This
-        is done by setting the environment pointer (envp) and calling
-        <function>init_param1()</function>.  The envp pointer has been
-        passed from loader in the <literal>bootinfo</literal>
-        structure:</para>
+      <indexterm><primary>parameters</primary></indexterm>
+      <para><function>init386()</function> initializes the tunable
+	parameters passed from bootstrap by setting the environment
+	pointer (envp) and calling <function>init_param1()</function>.
+	The envp pointer has been passed from loader in the
+	<literal>bootinfo</literal> structure:</para>
 
       <programlisting><filename>sys/i386/i386/machdep.c:</filename>
 		kern_envp = (caddr_t)bootinfo.bi_envp + KERNBASE;
@@ -676,45 +670,45 @@
 	init_param1();</programlisting>
 
       <para><function>init_param1()</function> is defined in
-        <filename>sys/kern/subr_param.c</filename>.  That file has a
-        number of sysctls, and two functions,
-        <function>init_param1()</function> and
-        <function>init_param2()</function>, that are called from
-        <function>init386()</function>:</para>
+	<filename>sys/kern/subr_param.c</filename>.  That file has a
+	number of sysctls, and two functions,
+	<function>init_param1()</function> and
+	<function>init_param2()</function>, that are called from
+	<function>init386()</function>:</para>
 
-      <programlisting><filename>sys/kern/subr_param.c</filename>
+      <programlisting><filename>sys/kern/subr_param.c:</filename>
 	hz = HZ;
 	TUNABLE_INT_FETCH("kern.hz", &amp;hz);</programlisting>
 
       <para>TUNABLE_&lt;typename&gt;_FETCH is used to fetch the value
-        from the environment:</para>
+	from the environment:</para>
 
-    <programlisting><filename>/usr/src/sys/sys/kernel.h</filename>
+      <programlisting><filename>/usr/src/sys/sys/kernel.h:</filename>
 #define	TUNABLE_INT_FETCH(path, var)	getenv_int((path), (var))
 </programlisting>
 
-      <para>Sysctl <literal>kern.hz</literal> is the system clock tick.  Along with
-        this, the following sysctls are set by
-        <function>init_param1()</function>: <literal>kern.maxswzone,
-        kern.maxbcache, kern.maxtsiz, kern.dfldsiz, kern.maxdsiz, kern.dflssiz,
-        kern.maxssiz, kern.sgrowsiz</literal>.</para>
+      <para>Sysctl <literal>kern.hz</literal> is the system clock
+	tick.  Additionally, these sysctls are set by
+	<function>init_param1()</function>: <literal>kern.maxswzone,
+	kern.maxbcache, kern.maxtsiz, kern.dfldsiz, kern.maxdsiz,
+	  kern.dflssiz, kern.maxssiz, kern.sgrowsiz</literal>.</para>
 
-    <indexterm><primary>Global Descriptors Table (GDT)</primary></indexterm>
+      <indexterm><primary>Global Descriptors Table
+	  (GDT)</primary></indexterm>
       <para>Then <function>init386()</function> prepares the Global
-        Descriptors Table (GDT).  Every task on an x86 is running in
-        its own virtual address space, and this space is addressed by
-        a segment:offset pair.  Say, for instance, the current
-        instruction to be executed by the processor lies at CS:EIP,
-        then the linear virtual address for that instruction would be
-        <quote>the virtual address of code segment CS</quote> + EIP.  For
-        convenience, segments begin at virtual address 0 and end at a
-        4Gb boundary.  Therefore, the instruction's linear virtual
-        address for this example would just be the value of EIP.
-        Segment registers such as CS, DS etc are the selectors,
-        i.e. indexes, into GDT (to be more precise, an index is not a
-        selector itself, but the INDEX field of a selector).
-        FreeBSD's GDT holds descriptors for 15 selectors per
-        CPU:</para>
+	Descriptors Table (GDT).  Every task on an x86 is running in
+	its own virtual address space, and this space is addressed by
+	a segment:offset pair.  Say, for instance, the current
+	instruction to be executed by the processor lies at CS:EIP,
+	then the linear virtual address for that instruction would be
+	<quote>the virtual address of code segment CS</quote> + EIP.
+	For convenience, segments begin at virtual address 0 and end
+	at a 4Gb boundary.  Therefore, the instruction's linear
+	virtual address for this example would just be the value of
+	EIP. Segment registers such as CS, DS etc are the selectors,
+	i.e. indexes, into GDT (to be more precise, an index is not a
+	selector itself, but the INDEX field of a selector). FreeBSD's
+	GDT holds descriptors for 15 selectors per CPU:</para>
 
       <programlisting><filename>sys/i386/i386/machdep.c:</filename>
 union descriptor gdt[NGDT * MAXCPU];	/* global descriptor table */
@@ -740,22 +734,23 @@
 #define GBIOSARGS_SEL	14	/* BIOS interface (Arguments) */</programlisting>
 

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201112110.q0BLAYwW065505>