From b78c488a45726d64132a532dd3e92ad3a4320a50 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Wed, 25 Sep 2019 19:00:29 +0900 Subject: [PATCH] Add cpu_tss_debug() function to display the contents of the TSS; make cpu_debug() and cpu_tss_debug() depend on CONFIG_DEBUG --- kernel/arch/cpu.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/kernel/arch/cpu.c b/kernel/arch/cpu.c index 86fe61c..b931ef1 100644 --- a/kernel/arch/cpu.c +++ b/kernel/arch/cpu.c @@ -62,6 +62,7 @@ void _segment_descriptor_set(segment_descriptor_t *sd, u32_t type, u32_t base, u return; } +#if FEATURE(DEBUG) void cpu_debug(void) { u32_t i; @@ -84,3 +85,28 @@ void cpu_debug(void) return; } + +void cpu_tss_debug(void) +{ + dbg_printf("TSS @ %p\n" + " TR = 0x%04x\n" + " ESP0 = 0x%04x:%08x\n" + " ESP1 = 0x%04x:%08x\n" + " ESP2 = 0x%04x:%08x\n" + " ESP3 = 0x%04x:%08x\n" + " CS = 0x%04x DS = 0x%04x\n" + " ES = 0x%04x FS = 0x%04x\n" + " GS = 0x%04x LD = 0x%04x\n", + &(_cpu[0].cpu_tss), + _cpu[0].cpu_tss.tss_tr, + _cpu[0].cpu_tss.tss_esp0, _cpu[0].cpu_tss.tss_ss0, + _cpu[0].cpu_tss.tss_esp1, _cpu[0].cpu_tss.tss_ss1, + _cpu[0].cpu_tss.tss_esp2, _cpu[0].cpu_tss.tss_ss2, + _cpu[0].cpu_tss.tss_esp, _cpu[0].cpu_tss.tss_ss, + _cpu[0].cpu_tss.tss_cs, _cpu[0].cpu_tss.tss_ds, + _cpu[0].cpu_tss.tss_es, _cpu[0].cpu_tss.tss_fs, + _cpu[0].cpu_tss.tss_gs, _cpu[0].cpu_tss.tss_ldtr); + + return; +} +#endif /* FEATURE(DEBUG) */ -- 2.47.3