problem:
-I got 4 tasks, (each one a function with a endless loop printing his id), with own TSS...
-Are installed on GDT;
Code: Select all
.show gdt
Idx BaseHI BaseLO BaseMid Flags Grand Limit
0 0x0 0x0 0x0 0x0 0x0 0x0
1 0x0 0x0 0x0 0x9B 0xCF 0xFFFF
2 0x0 0x0 0x0 0x93 0xCF 0xFFFF
3 0x0 0x0 0x0 0xFA 0xCF 0xFFFF
4 0x0 0x0 0x0 0xF2 0xCF 0xFFFF
5 0xC0 0xB46B 0x0 0x89 0x0 0x67
6 0xC0 0xB4E3 0x0 0x89 0x0 0x67
7 0x0 0x2F76 0x0 0x89 0x0 0x67
8 0xC0 0xC91B 0x0 0x8B 0x0 0x67
9 0x0 0x0 0x0 0x0 0x0 0x0
I'm trying:
Code: Select all
-jmp (5*8):0
-timer/schedule(new task)
-it keep changing TR automatically and updating (busy flag on GDT). As you can see, entry 8 has 0x8B)
And more, when comes the 2nd time of index 5... bocsh say: LOCK prefix unallowed (op1=0x53, modrm=0x00)
Thanks