| Zeile 80: | Zeile 80: | ||
void create_task ( uint32_t n, //die ID/Nummer des Tasks | void create_task ( uint32_t n, //die ID/Nummer des Tasks | ||
uint16_t cs, uint16_t ss, uint16_t ds, | uint16_t cs, uint16_t ss, uint16_t ds, | ||
| − | uint32_t adr_code, | + | uint32_t adr_code, uint32_t adr_stack) |
{ | { | ||
if(n > NUM_TASKS) return; | if(n > NUM_TASKS) return; | ||
| Zeile 110: | Zeile 110: | ||
gdt_create_descriptor ( | gdt_create_descriptor ( | ||
i+TSS_SEL_BASE, | i+TSS_SEL_BASE, | ||
| − | ( | + | (uint32_t) &task_state_segment[i], |
sizeof(struct tss)-1, | sizeof(struct tss)-1, | ||
0, | 0, | ||