- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
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.
Ссылка скопирована
5 Ответы
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
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
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
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
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
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.
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
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.
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
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

Ответить
Параметры темы
- Подписка на RSS-канал
- Отметить тему как новую
- Отметить тему как прочитанную
- Выполнить отслеживание данной Тема для текущего пользователя
- Закладка
- Подписаться
- Страница в формате печати