- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am trying to manage the multiprocessor initialization.
I found a little program [1] that implements the multiprocessor specification [2]. but in the processor entries([2] page 4-7) I get that the APs are disabled.
How can I enable the processors??
Is it a SW or HW problem ?
[1] http://www.uruk.org/mps/
[2] http://www.intel.com/design/pentium/datashts/242016.HTM
Thank you.
Daniel M.
I am trying to manage the multiprocessor initialization.
I found a little program [1] that implements the multiprocessor specification [2]. but in the processor entries([2] page 4-7) I get that the APs are disabled.
How can I enable the processors??
Is it a SW or HW problem ?
[1] http://www.uruk.org/mps/
[2] http://www.intel.com/design/pentium/datashts/242016.HTM
Thank you.
Daniel M.
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - medinad
Hi,
I am trying to manage the multiprocessor initialization.
I found a little program [1] that implements the multiprocessor specification [2]. but in the processor entries([2] page 4-7) I get that the APs are disabled.
How can I enable the processors??
Is it a SW or HW problem ?
[1] http://www.uruk.org/mps/
[2] http://www.intel.com/design/pentium/datashts/242016.HTM
Thank you.
Daniel M.
I am trying to manage the multiprocessor initialization.
I found a little program [1] that implements the multiprocessor specification [2]. but in the processor entries([2] page 4-7) I get that the APs are disabled.
How can I enable the processors??
Is it a SW or HW problem ?
[1] http://www.uruk.org/mps/
[2] http://www.intel.com/design/pentium/datashts/242016.HTM
Thank you.
Daniel M.
Have a look at TBB's task_scheduler_init
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - medinad
Hi,
I am trying to manage the multiprocessor initialization.
I found a little program [1] that implements the multiprocessor specification [2]. but in the processor entries([2] page 4-7) I get that the APs are disabled.
How can I enable the processors??
Is it a SW or HW problem ?
[1] http://www.uruk.org/mps/
[2] http://www.intel.com/design/pentium/datashts/242016.HTM
Thank you.
Daniel M.
I am trying to manage the multiprocessor initialization.
I found a little program [1] that implements the multiprocessor specification [2]. but in the processor entries([2] page 4-7) I get that the APs are disabled.
How can I enable the processors??
Is it a SW or HW problem ?
[1] http://www.uruk.org/mps/
[2] http://www.intel.com/design/pentium/datashts/242016.HTM
Thank you.
Daniel M.
Daniel,
[2] is a fairly old document. Did you have a look at the ACPI specification?
http://www.intel.com/technology/iapc/acpi/index.htm
Kind regards
Thomas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Daniel,
[2] is a fairly old document. Did you have a look at the ACPI specification?
http://www.intel.com/technology/iapc/acpi/index.htm
Kind regards
Thomas
I had a look on it some time ago, with the 3.0b revision. But it do not say much about SMP or initialization.
Anyway I reach a similar table (5-21) with a flag description (table 5-22) that says
"If zero, this processor is unusable, and the operating system support will not attempt to use it."
I get zero for the APs(processors 1 to 3, 0 is the BSP). But I can work on Ubuntu with its four processors, so it is not a hw issue.
I am quite confused because the BIOS configuration is not so complex. And only initialization procedure left, but in the ACPI specification do not says anything about it. I have only that old document. I could not find other.
I will look deeply in the ACPI specification this week.
I would like to know what "this processor is unusable" means, because is usable with other system. So i have to find how to initialize them in a proper way. It sounds easy :-P
Thank you.
Daniel M.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - vu64
Have a look at TBB's task_scheduler_init
Hi vu64,
a task_scheduler is to manage task, i need to initialize the processors to be able to schedule task on them.
Anyway I have tried to look at the code and i only could find some .h, I could not find the body of the function.
Thank you.
Daniel M.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - medinad
Hi vu64,
a task_scheduler is to manage task, i need to initialize the processors to be able to schedule task on them.
Anyway I have tried to look at the code and i only could find some .h, I could not find the body of the function.
Thank you.
Daniel M.
Daniel,
I am not 100% sure what are you trying to do, but I will try to help anyway.
Usually, when the computer boots, BIOS initializes BP (boot processor) and APs (application processors) by making them all execute the same code sequence (MSR setup, interrupts, MTRR, microcode update, etc).
BIOS then halts APs so they are effectively disabled and in wait-for-SIPI state until the operating system activates them later in the boot process.
So what you need is to send SIPI packet (using I/O APIC) to disabled APs so they start executing code at some code address in your code.
I am not too familiar with the process myself, but you have pretty good explanation here:
http://tldp.org/HOWTO/Linux-i386-Boot-Code-HOWTO/smpboot.html
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page