185 похожих чатов

Из-За чего после переключения контекста перестают работать прерывания? Инструкция "sti"

есть

26 ответов

43 просмотра

размаскированы? и какие именно прерывания?

One- Автор вопроса
Михаил Бахтерев
размаскированы? и какие именно прерывания?

Все, начиная от irq заканчивая пользовательскими

One
Все, начиная от irq заканчивая пользовательскими

все перестали работать?... а как контекст переключается? через tss?

Такие прекрасные вопросы, жаль только что единственный ответ "потому"

Berkus Decker
Такие прекрасные вопросы, жаль только что единстве...

да ладно, ещё есть как минимум три цензурыных варианта

One- Автор вопроса
Михаил Бахтерев
все перестали работать?... а как контекст переключ...

Неа, просто заменяю данные в регистрах на данные из этого процесса. Ну примитивно, увидел что так делают и решил попробовать

One- Автор вопроса
One
Да

так не понятно. а как всё происходит? срабатывает таймер, а потом ничего не срабатывает?

One- Автор вопроса
Михаил Бахтерев
так не понятно. а как всё происходит? срабатывает ...

Загружается новое состояние регистров и cpu зависает

One- Автор вопроса
Boris Vinogradov
что значит зависает?

Вообще нечего не происходит, прерывания не работают, как-то повлиять на него я тоже не могу

One- Автор вопроса

а какая у тебя последняя инструкция перед переключением?

One- Автор вопроса
disba1ancer
а какая у тебя последняя инструкция перед переключ...

switch_context_asm: cli ;сохраняю состояние регистров call switch_context ;загружаю состояние регистров sti iret

One- Автор вопроса
One
Да

так там есть специальный тип гейта который при входе отключает прерывания за тебя

One
switch_context_asm: cli ;сохраняю состояние регист...

а перед возвратом ты адрес возврата меняешь?

One- Автор вопроса
One
Так он в стеке остаётся

а как ты тогда меняешь контекст? контекст же это не только регистры, но и указатель команд

One- Автор вопроса
disba1ancer
а как ты тогда меняешь контекст? контекст же это н...

Так после вызова irq0 в стеке адрес возврата остаётся. Я и cr3 гружу

One
Так после вызова irq0 в стеке адрес возврата остаё...

так ты этот адрес должен заменить на адрес из другого контекста

One- Автор вопроса

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
22
почому оно не работает?
Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта