Subversion Repositories HelenOS-doc

Compare Revisions

Ignore whitespace Rev 150 → Rev 151

/design/trunk/src/ch_intro.xml
4,6 → 4,11
 
<title>Introduction</title>
 
<para>HelenOS is a portable operating system with support for a variety of modern
processor architectures<footnote>
<para>amd64, ia32, ia64, mips32 and ppc32.</para>
</footnote>.</para>
 
<para>This book describes the design and principles of the HelenOS operating
system from the perspective of its microkernel as well as from the
perspective of its userspace drivers and server tasks. Its primary goal is
/design/trunk/src/ap_arch.xml
233,17 → 233,30
</section>
 
<section>
<title>IA64</title>
<title>IA-64</title>
 
<para></para>
<para>The ia64 kernel uses 16K pages.</para>
 
<section>
<title>Two IA-64 Stacks</title>
 
<para>The architecture makes use of a pair of stacks. One stack is the
ordinary memory stack while the other is a special register stack. This
makes the ia64 architecture unique. HelenOS on ia64 solves the problem
by allocating two physical memory frames for thread and scheduler
stacks. The upper frame is used by the register stack while the first
frame is used by the conventional memory stack. The generic kernel and
userspace code had to be adjusted to cope with the possibility of
allocating more frames for the stack.</para>
</section>
 
<section>
<title>Thread Local Storage</title>
 
<para>Although thread local storage is not officially supported in
statically linked binaries, GCC supports it without any major obstacles.
As a thread pointer is designated register r13, the thread local data
section starts at an address r13+16.</para>
The r13 register is used as a thread pointer, the thread local data
section starts at address r13+16.</para>
 
<para><figure float="1">
<title>IA64</title>