public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: "Nikita V. Youshchenko" <yoush@cs.msu.su>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Boot cpu != cpu 0 ?
Date: Fri, 27 Nov 2009 11:33:50 +0100	[thread overview]
Message-ID: <873a405ka9.fsf@basil.nowhere.org> (raw)
In-Reply-To: <200911271233.58269@zigzag.lvk.cs.msu.su> (Nikita V. Youshchenko's message of "Fri, 27 Nov 2009 12:33:58 +0300")

"Nikita V. Youshchenko" <yoush@cs.msu.su> writes:

> How hard it could be to build a system on multi-core arm hardware, that has 
> linux SMP running in cores other than 0th ?
>
> Say, if bootloader starts kernel on hardware core 1, will kernel be able to 
> work (and use cores 1,2,3 on 4-core hardware) after some tweaking? 
> Or "boot cpu" concept is uncouplable from "hardware core 0" by 
> architecture? 
>
> I'm asking because there is a project with a strict requerement to have 
> core 0 reserved and not touched by linux, and I need to understand how 
> realistic it is.

You need to be clear what CPU 0 means. It could be "Linux CPU
number 0" That will be always there (it's hard coded), but that's
really only a numbering convention inside a kernel that essentially
says "nth booted CPU"

Then there's the APIC ID, which is the number the CPU hardware
knows about. There's a APIC ID == 0. Linux does not rely
on CPU #0 having APIC ID 0, at least not in principle
(this has regressed occasionally in the past)

The larger problem with sharing cores like this is the memory map --
e.g. you would need to coordinate which kernels owns which hardware
and which memory, which is not trivial without help. The usual way to
do this is to use a VM.

-Andi
-- 
ak@linux.intel.com -- Speaking for myself only.

      reply	other threads:[~2009-11-27 10:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-27  9:33 Boot cpu != cpu 0 ? Nikita V. Youshchenko
2009-11-27 10:33 ` Andi Kleen [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=873a405ka9.fsf@basil.nowhere.org \
    --to=andi@firstfloor.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=yoush@cs.msu.su \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox