OSDev

для всех
Текущее время: 22 сен 2019, 11:33

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: APIC
СообщениеДобавлено: 06 май 2011, 13:06 

Зарегистрирован: 18 апр 2010, 15:59
Сообщения: 155
В общем картина такая: не могу отправить IPI на Application processor.

В системе два проца, оба запущены, оба выполняют код.
Подсистема прерываний настроена.
StartUp IPI и INIT IPI проходят нормально.
На Boot Processor:
if (IPI -> BP) // самопрерывание
OK;
if (IPI -> AP) // самопрерывание
FAIL; // прерывания AP не происходит

На Application Processor:
if (IPI -> BP) // самопрерывание
OK;
if (IPI -> AP) // самопрерывание
FAIL; // прерывания AP не происходит

В чем может быть проблема? Какие могут быть причины у того, что AP не ловит IPI?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: APIC
СообщениеДобавлено: 06 май 2011, 14:49 

Зарегистрирован: 18 апр 2010, 15:59
Сообщения: 155
Вопрос закрыт.

Было:
VOID ASMCODE Apic::EnableApic(VOID)
{
__asm mov EAX , APIC_PAGE + APIC_SPUR_INT_REG;
__asm or [EAX], 0x00000100U ;
__asm ret ;
}


Стало:
VOID ASMCODE Apic::EnableApic(VOID)
{
__asm push EBX ;
__asm mov EAX , APIC_PAGE + APIC_SPUR_INT_REG;
__asm mov EBX , [EAX] ;
__asm or EBX , 0x00000100U ;
__asm mov [EAX], EBX ;
__asm pop EBX ;
__asm ret ;
}


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB