From abf21deddea7deff123cea877d3230f51c086fd3 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Thu, 20 Mar 2025 17:51:43 +0100 Subject: [PATCH] tests: append a TSS to the GDT tests --- tests/gdt.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/gdt.c b/tests/gdt.c index 36bc254..d5e38e8 100644 --- a/tests/gdt.c +++ b/tests/gdt.c @@ -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