Teil 6 - Multitasking — Änderungen 7127 → 7128

Zeile 199: Zeile 199:
 
         if (cpu->intr == 0x20) {
 
         if (cpu->intr == 0x20) {
 
             new_cpu = schedule(cpu);
 
             new_cpu = schedule(cpu);
−
             tss[1] = (unsigned long) (new_cpu + 1);
+
             tss[1] = (uint32_t) (new_cpu + 1);
 
         }</c>
 
         }</c>
  
 
Außerdem müssen wir das TSS noch aktivieren. Dazu fügen wir der GDT einen zusätzlichen Eintrag hinzu und laden anschließend auch das Taskregister TR neu (nicht vergessen, das Limit der GDT zu erhöhen, wenn nötig):
 
Außerdem müssen wir das TSS noch aktivieren. Dazu fügen wir der GDT einen zusätzlichen Eintrag hinzu und laden anschließend auch das Taskregister TR neu (nicht vergessen, das Limit der GDT zu erhöhen, wenn nötig):
−
<c>    set_entry(5, (unsigned int) tss, sizeof(tss),
+
<c>    set_entry(5, (uint32_t) tss, sizeof(tss),
 
         GDT_FLAG_TSS | GDT_FLAG_PRESENT | GDT_FLAG_RING3);
 
         GDT_FLAG_TSS | GDT_FLAG_PRESENT | GDT_FLAG_RING3);