<quote> properly.
This commit is contained in:
parent
89e96b7a6b
commit
1703a2c741
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=14114
2 changed files with 12 additions and 12 deletions
|
@ -179,7 +179,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
|
||||||
<para>Take a look at the file <filename>/boot/boot0</filename>.
|
<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
|
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
|
installation procedure wrote to your harddisk's MBR if you chose
|
||||||
the "bootmanager" option at installation time.</para>
|
the <quote>bootmanager</quote> option at installation time.</para>
|
||||||
|
|
||||||
<para>As mentioned previously, the <literal>INT 0x19</literal>
|
<para>As mentioned previously, the <literal>INT 0x19</literal>
|
||||||
instruction loads an MBR, i.e. the <filename>boot0</filename>
|
instruction loads an MBR, i.e. the <filename>boot0</filename>
|
||||||
|
@ -675,7 +675,7 @@ begin:</programlisting>
|
||||||
#define TUNABLE_INT_FETCH(path, var) getenv_int((path), (var))
|
#define TUNABLE_INT_FETCH(path, var) getenv_int((path), (var))
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
<para>Sysctl "kern.hz" is the system clock tick. Along with
|
<para>Sysctl <literal>kern.hz</literal> is the system clock tick. Along with
|
||||||
this, the following sysctls are set by
|
this, the following sysctls are set by
|
||||||
<function>init_param1()</function>: <literal>kern.maxswzone,
|
<function>init_param1()</function>: <literal>kern.maxswzone,
|
||||||
kern.maxbcache, kern.maxtsiz, kern.dfldsiz, kern.dflssiz,
|
kern.maxbcache, kern.maxtsiz, kern.dfldsiz, kern.dflssiz,
|
||||||
|
@ -687,7 +687,7 @@ begin:</programlisting>
|
||||||
a segment:offset pair. Say, for instance, the current
|
a segment:offset pair. Say, for instance, the current
|
||||||
instruction to be executed by the processor lies at CS:EIP,
|
instruction to be executed by the processor lies at CS:EIP,
|
||||||
then the linear virtual address for that instruction would be
|
then the linear virtual address for that instruction would be
|
||||||
"the virtual address of code segment CS" + EIP. For
|
<quote>the virtual address of code segment CS</quote> + EIP. For
|
||||||
convenience, segments begin at virtual address 0 and end at a
|
convenience, segments begin at virtual address 0 and end at a
|
||||||
4Gb boundary. Therefore, the instruction's linear virtual
|
4Gb boundary. Therefore, the instruction's linear virtual
|
||||||
address for this example would just be the value of EIP.
|
address for this example would just be the value of EIP.
|
||||||
|
@ -891,7 +891,7 @@ __asm(".previous");</programlisting>
|
||||||
<para>The first <literal>__asm</literal> instruction will create
|
<para>The first <literal>__asm</literal> instruction will create
|
||||||
an ELF section within the kernel's executable. This will happen
|
an ELF section within the kernel's executable. This will happen
|
||||||
at kernel link time. The section will have the name
|
at kernel link time. The section will have the name
|
||||||
".set.sysinit_set". The content of this section is one 32-bit
|
<literal>.set.sysinit_set</literal>. The content of this section is one 32-bit
|
||||||
value, the address of announce_sys_init structure, and that is
|
value, the address of announce_sys_init structure, and that is
|
||||||
what the second <literal>__asm</literal> is. The third
|
what the second <literal>__asm</literal> is. The third
|
||||||
<literal>__asm</literal> instruction marks the end of a section.
|
<literal>__asm</literal> instruction marks the end of a section.
|
||||||
|
@ -925,7 +925,7 @@ __asm(".previous");</programlisting>
|
||||||
|
|
||||||
<para>By defining a variable of type <literal>struct
|
<para>By defining a variable of type <literal>struct
|
||||||
linker_set</literal> the content of
|
linker_set</literal> the content of
|
||||||
<literal>.set.sysinit_set</literal> section will be "collected"
|
<literal>.set.sysinit_set</literal> section will be <quote>collected</quote>
|
||||||
into that variable:</para>
|
into that variable:</para>
|
||||||
<programlisting><filename>sys/kern/init_main.c:</filename>
|
<programlisting><filename>sys/kern/init_main.c:</filename>
|
||||||
extern struct linker_set sysinit_set; /* XXX */</programlisting>
|
extern struct linker_set sysinit_set; /* XXX */</programlisting>
|
||||||
|
@ -967,7 +967,7 @@ enum sysinit_sub_id {
|
||||||
before, is used to describe it.</para>
|
before, is used to describe it.</para>
|
||||||
|
|
||||||
<para>The first user process, called <emphasis>init</emphasis>, is
|
<para>The first user process, called <emphasis>init</emphasis>, is
|
||||||
created by the sysinit object "init":</para>
|
created by the sysinit object <literal>init<literal>:</para>
|
||||||
|
|
||||||
<programlisting><filename>sys/kern/init_main.c:</filename>
|
<programlisting><filename>sys/kern/init_main.c:</filename>
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -179,7 +179,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
|
||||||
<para>Take a look at the file <filename>/boot/boot0</filename>.
|
<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
|
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
|
installation procedure wrote to your harddisk's MBR if you chose
|
||||||
the "bootmanager" option at installation time.</para>
|
the <quote>bootmanager</quote> option at installation time.</para>
|
||||||
|
|
||||||
<para>As mentioned previously, the <literal>INT 0x19</literal>
|
<para>As mentioned previously, the <literal>INT 0x19</literal>
|
||||||
instruction loads an MBR, i.e. the <filename>boot0</filename>
|
instruction loads an MBR, i.e. the <filename>boot0</filename>
|
||||||
|
@ -675,7 +675,7 @@ begin:</programlisting>
|
||||||
#define TUNABLE_INT_FETCH(path, var) getenv_int((path), (var))
|
#define TUNABLE_INT_FETCH(path, var) getenv_int((path), (var))
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
<para>Sysctl "kern.hz" is the system clock tick. Along with
|
<para>Sysctl <literal>kern.hz</literal> is the system clock tick. Along with
|
||||||
this, the following sysctls are set by
|
this, the following sysctls are set by
|
||||||
<function>init_param1()</function>: <literal>kern.maxswzone,
|
<function>init_param1()</function>: <literal>kern.maxswzone,
|
||||||
kern.maxbcache, kern.maxtsiz, kern.dfldsiz, kern.dflssiz,
|
kern.maxbcache, kern.maxtsiz, kern.dfldsiz, kern.dflssiz,
|
||||||
|
@ -687,7 +687,7 @@ begin:</programlisting>
|
||||||
a segment:offset pair. Say, for instance, the current
|
a segment:offset pair. Say, for instance, the current
|
||||||
instruction to be executed by the processor lies at CS:EIP,
|
instruction to be executed by the processor lies at CS:EIP,
|
||||||
then the linear virtual address for that instruction would be
|
then the linear virtual address for that instruction would be
|
||||||
"the virtual address of code segment CS" + EIP. For
|
<quote>the virtual address of code segment CS</quote> + EIP. For
|
||||||
convenience, segments begin at virtual address 0 and end at a
|
convenience, segments begin at virtual address 0 and end at a
|
||||||
4Gb boundary. Therefore, the instruction's linear virtual
|
4Gb boundary. Therefore, the instruction's linear virtual
|
||||||
address for this example would just be the value of EIP.
|
address for this example would just be the value of EIP.
|
||||||
|
@ -891,7 +891,7 @@ __asm(".previous");</programlisting>
|
||||||
<para>The first <literal>__asm</literal> instruction will create
|
<para>The first <literal>__asm</literal> instruction will create
|
||||||
an ELF section within the kernel's executable. This will happen
|
an ELF section within the kernel's executable. This will happen
|
||||||
at kernel link time. The section will have the name
|
at kernel link time. The section will have the name
|
||||||
".set.sysinit_set". The content of this section is one 32-bit
|
<literal>.set.sysinit_set</literal>. The content of this section is one 32-bit
|
||||||
value, the address of announce_sys_init structure, and that is
|
value, the address of announce_sys_init structure, and that is
|
||||||
what the second <literal>__asm</literal> is. The third
|
what the second <literal>__asm</literal> is. The third
|
||||||
<literal>__asm</literal> instruction marks the end of a section.
|
<literal>__asm</literal> instruction marks the end of a section.
|
||||||
|
@ -925,7 +925,7 @@ __asm(".previous");</programlisting>
|
||||||
|
|
||||||
<para>By defining a variable of type <literal>struct
|
<para>By defining a variable of type <literal>struct
|
||||||
linker_set</literal> the content of
|
linker_set</literal> the content of
|
||||||
<literal>.set.sysinit_set</literal> section will be "collected"
|
<literal>.set.sysinit_set</literal> section will be <quote>collected</quote>
|
||||||
into that variable:</para>
|
into that variable:</para>
|
||||||
<programlisting><filename>sys/kern/init_main.c:</filename>
|
<programlisting><filename>sys/kern/init_main.c:</filename>
|
||||||
extern struct linker_set sysinit_set; /* XXX */</programlisting>
|
extern struct linker_set sysinit_set; /* XXX */</programlisting>
|
||||||
|
@ -967,7 +967,7 @@ enum sysinit_sub_id {
|
||||||
before, is used to describe it.</para>
|
before, is used to describe it.</para>
|
||||||
|
|
||||||
<para>The first user process, called <emphasis>init</emphasis>, is
|
<para>The first user process, called <emphasis>init</emphasis>, is
|
||||||
created by the sysinit object "init":</para>
|
created by the sysinit object <literal>init<literal>:</para>
|
||||||
|
|
||||||
<programlisting><filename>sys/kern/init_main.c:</filename>
|
<programlisting><filename>sys/kern/init_main.c:</filename>
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in a new issue