Subversion Repositories HelenOS-doc

Rev

Rev 146 | Rev 157 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 146 Rev 151
Line 231... Line 231...
231
      data. Overally it is the same as on the MIPS architecture.</para>
231
      data. Overally it is the same as on the MIPS architecture.</para>
232
    </section>
232
    </section>
233
  </section>
233
  </section>
234
 
234
 
235
  <section>
235
  <section>
236
    <title>IA64</title>
236
    <title>IA-64</title>
237
 
237
 
-
 
238
    <para>The ia64 kernel uses 16K pages.</para>
-
 
239
 
-
 
240
    <section>
-
 
241
      <title>Two IA-64 Stacks</title>
-
 
242
 
-
 
243
      <para>The architecture makes use of a pair of stacks. One stack is the
-
 
244
      ordinary memory stack while the other is a special register stack. This
-
 
245
      makes the ia64 architecture unique. HelenOS on ia64 solves the problem
-
 
246
      by allocating two physical memory frames for thread and scheduler
-
 
247
      stacks. The upper frame is used by the register stack while the first
-
 
248
      frame is used by the conventional memory stack. The generic kernel and
-
 
249
      userspace code had to be adjusted to cope with the possibility of
-
 
250
      allocating more frames for the stack.</para>
238
    <para></para>
251
    </section>
239
 
252
 
240
    <section>
253
    <section>
241
      <title>Thread Local Storage</title>
254
      <title>Thread Local Storage</title>
242
 
255
 
243
      <para>Although thread local storage is not officially supported in
256
      <para>Although thread local storage is not officially supported in
244
      statically linked binaries, GCC supports it without any major obstacles.
257
      statically linked binaries, GCC supports it without any major obstacles.
245
      As a thread pointer is designated register r13, the thread local data
258
      The r13 register is used as a thread pointer, the thread local data
246
      section starts at an address r13+16.</para>
259
      section starts at address r13+16.</para>
247
 
260
 
248
      <para><figure float="1">
261
      <para><figure float="1">
249
          <title>IA64</title>
262
          <title>IA64</title>
250
 
263
 
251
          <mediaobject id="tldia64">
264
          <mediaobject id="tldia64">