All of lore.kernel.org
 help / color / mirror / Atom feed
From: Remi Colinet <remi.colinet@free.fr>
To: Cyril Wattebled <neurowork@free.fr>
Cc: linux-kernel@vger.kernel.org
Subject: Re: init_tss problem
Date: Sun, 19 Sep 2004 10:41:21 +0200	[thread overview]
Message-ID: <414D4631.4030809@free.fr> (raw)
In-Reply-To: <414CBCE0.5000508@free.fr>

Cyril Wattebled wrote:

> Hi,
> I'm trying to understand some piece of kernel code and I've come to 
> this :
> In arch/i386/kernel/process.c:
>     struct tss_struct *tss = &per_cpu(init_tss, cpu);
> I don't know what init_tss is.
> It's defined in asm/processor.h with the macro DEFINE_PER_CPU 
> (tss_struct, init_tss)
> which basically does extern tss_struct init_tss.
> But this init_tss has to be declared somewhere to be used as extern ...
> I've searched the entire code for any reference to it but I only found 
> it in
> arch/x86_64/kernel/init_task.c which is normaly not compiled on my 
> system.
> I'm in a dead end ... anyone .. help ?
> Thanks

TSS is a Task State Segment. It is defined in include/asm-i386/processor.h.
init_tss is the Task State Segment used by the statically forked init 
process. (process 0)

Each CPU has its own tss.

This segment is used by i386 and x86_64 CPUs to store the CPU/process 
context. Could be used to have hardware context switch (not used by Linux).

In order to have a clean understanding about TSS (and more generally 
i386), you should have a look at the i386 Intel specifiction, manual vol 
3 (system programming manual)
Then, you could also read the AMD64 specification if you wish to 
understand x86_64...

Regards
Remi


      reply	other threads:[~2004-09-19  9:31 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-18 22:55 init_tss problem Cyril Wattebled
2004-09-19  8:41 ` Remi Colinet [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=414D4631.4030809@free.fr \
    --to=remi.colinet@free.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neurowork@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.