всем доброговремени суток,
скажите пожалуйста как грузить TSS
команда LGDT воспринимает только 1 регистр,
скажите это означает что таблица TSS может находится где угодно, а в регистре должен находится offset таблици
команда LIDT тоже воспринимает 1 регистр,
но это же прерывание туда надо сообщить номер прерывания, и абсолютный адрес куда надо прыгнуть(JMP)
или как то оно по другому
и кстати где в tss сохраняется состояние задачи и где карта доступа i/o перенаправление прерываний
и ещё вопрос по TSS первые 8 селекторов заняты савсем не селекторами
Код:
base size DPL
0 0 0
0 0 0
c0000000 32-bit code
c0000000 32-bit data
0 BFFFFFFF 3 32-bit code
0 BFFFFFFF 3 32-bit data
0 0 0
0 0 0
что это такое не могу понять
дальше селекторы чередуются TSS, LDT причем первый из них почемуто пишется base 32-bit TSS
далее хотелось бы узнать про IRQ -- как его программировать
скажите хотя бы как переписать прерывание которое запускается или как узнать какое прерывание запускается,
функции
get_IRQ_INTER( IRQ_N) //return interupt number
set_IRQ_INTER( IRQ_N, INTERUPT)
(просто надо бы с клавиатурой и мышью подружиться)
как запускать задачи по таймеру т.е. программирование таймера
Код:
00000000060f9920 ffffff80 ffff6ff0 00000000 Real 3888274315 3888255676 0 2-ACTIVE EMT Yielder
00000000060f98a0 00000000 00000080 00000000 Real 3888274315 3888256653 0 2-ACTIVE CPU Load Timer
00000000060f8df0 00000000 fffe9cb0 00000000 VrSy 0 1199864031601 0 2-ACTIVE ACPI PM Timer
00000000060f71b0 00000000 00000000 00000000 Virt 0 0 0 1-STOPPED USB Frame Timer
00000000060f59d0 00000000 00000000 00000000 Virt 0 5000000 0 2-ACTIVE Audio timer
00000000060f5890 00000000 00000000 00000000 Virt 0 0 0 1-STOPPED SB16 timer
00000000060f5370 00000000 00000000 00000000 Virt 0 0 0 1-STOPPED PCNet Restore Timer
00000000060f52f0 00000000 00000000 00000000 Virt 0 0 0 1-STOPPED PCNet SoftInt Timer
00000000060f5270 00000000 00000000 00000000 Virt 0 0 0 1-STOPPED PCNet Poll Timer
00000000060f0910 00009010 00000000 00000000 Real 3888274315 3888255604 0 2-ACTIVE VGA Refresh Timer
00000000060e2aa0 00016350 fffff910 00000000 VrSy 0 990000000 0 2-ACTIVE MC146818 RTC/CMOS - Second2
00000000060e2a20 00000000 00000000 00000000 VrSy 0 0 0 1-STOPPED MC146818 RTC/CMOS - Second
00000000060e29a0 00000000 00000000 00000000 VrSy 0 0 0 1-STOPPED MC146818 RTC/CMOS - Periodic
00000000060e23b0 000006f0 00000000 00000000 VrSy 0 27462701 18 2-ACTIVE i8254 Programmable Interval Timer
00000000060e1950 00000000 00000000 00000000 VrSy 0 0 0 1-STOPPED APIC Timer #0
00000000060de820 00000000 00000000 00000000 Real 3888274316 0 0 1-STOPPED BlkCache-Commit