Fix display of Paging Mode (PAE/LM/*NONE*) on 32bit binary

This commit is contained in:
Sam Demeulemeester 2022-04-15 20:28:16 +02:00 committed by Sam Demeulemeester
parent 2a994e7ff5
commit 7b2964dd21
2 changed files with 10 additions and 6 deletions

View File

@ -137,11 +137,13 @@ void display_init(void)
if (clks_per_msec) {
display_cpu_clk((int)(clks_per_msec / 1000));
}
#if TESTWORD_WIDTH < 64
if (cpuid_info.flags.lm) {
display_cpu_addr_mode("X64");
display_cpu_addr_mode(" [LM]");
} else if (cpuid_info.flags.pae) {
display_cpu_addr_mode("PAE");
display_cpu_addr_mode("[PAE]");
}
#endif
if (l1_cache) {
display_l1_cache_size(l1_cache);
}
@ -281,7 +283,9 @@ void display_start_pass(void)
void display_start_test(void)
{
clear_screen_region(2, 39, 5, SCREEN_WIDTH - 1); // progress bar, test details
clear_screen_region(2, 39, 3, SCREEN_WIDTH - 1); // progress bar, test details
clear_screen_region(4, 39, 4, SCREEN_WIDTH - 6); // Avoid erasing paging mode
clear_screen_region(5, 39, 5, SCREEN_WIDTH - 1);
clear_screen_region(3, 36, 3, 37); // test number
display_test_percentage(0);
display_test_number(test_num);

View File

@ -46,7 +46,7 @@ typedef enum {
printf(1, 10, "%iMHz", freq)
#define display_cpu_addr_mode(str) \
prints(5, 76, str)
prints(4, 75, str)
#define display_l1_cache_size(size) \
printf(2, 9, "%6kB", (uintptr_t)(size))
@ -140,13 +140,13 @@ typedef enum {
#define display_test_addresses(pb, pe, total) \
{ \
clear_screen_region(4, 39, 4, SCREEN_WIDTH - 1); \
clear_screen_region(4, 39, 4, SCREEN_WIDTH - 6); \
printf(4, 39, "%kB - %kB [%kB of %kB]", pb, pe, (pe) - (pb), total); \
}
#define display_test_stage_description(...) \
{ \
clear_screen_region(4, 39, 4, SCREEN_WIDTH - 1); \
clear_screen_region(4, 39, 4, SCREEN_WIDTH - 6); \
printf(4, 39, __VA_ARGS__); \
}