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
prev parent 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.