tests: append a TSS to the GDT tests
This commit is contained in:
parent
a10b4f2b25
commit
abf21dedde
|
@ -12,6 +12,11 @@
|
|||
|
||||
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
/* variables */
|
||||
static TSS tss;
|
||||
|
||||
|
||||
/* functions */
|
||||
/* __arch_setgdt */
|
||||
void __arch_setgdt(GDTEntry const * entries, size_t count)
|
||||
{
|
||||
|
@ -51,6 +56,7 @@ int main(int argc, char * argv[])
|
|||
gdt = gdt_init();
|
||||
gdt_append(gdt, 0x00000000, 0xffffffff, PROT_READ | PROT_EXEC);
|
||||
gdt_append(gdt, 0x00000000, 0xffffffff, PROT_READ | PROT_WRITE);
|
||||
gdt_append_system(gdt, &tss, sizeof(tss), GDT_SYSTEM_TYPE_TSS);
|
||||
gdt_apply(gdt);
|
||||
|
||||
/* 4 MB code + 4 MB data (read-write) + 4 MB data (read-only) */
|
||||
|
@ -59,6 +65,7 @@ int main(int argc, char * argv[])
|
|||
gdt_append(gdt, 0x00400000, 0x00400000, PROT_READ | PROT_EXEC);
|
||||
gdt_append(gdt, 0x00800000, 0x00400000, PROT_READ | PROT_WRITE);
|
||||
gdt_append(gdt, 0x00c00000, 0x00400000, PROT_READ);
|
||||
gdt_append_system(gdt, &tss, sizeof(tss), GDT_SYSTEM_TYPE_TSS);
|
||||
gdt_apply(gdt);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue
Block a user