summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRegina König2021-06-24 21:37:22 +0200
committerRegina König2021-06-24 21:37:22 +0200
commit3889e0db6ac7e6f903b2d398c469b8e6e67984e8 (patch)
treef4f49a6fcbe9ee7543b0b14939d23cf367f6549e
parentLast state (diff)
downloadmemtest86-3889e0db6ac7e6f903b2d398c469b8e6e67984e8.tar.gz
memtest86-3889e0db6ac7e6f903b2d398c469b8e6e67984e8.tar.xz
memtest86-3889e0db6ac7e6f903b2d398c469b8e6e67984e8.zip
Save last state
-rw-r--r--efi_memtest/logger_config.h8
-rw-r--r--efi_memtest/memtest86+/efi/memory_tables.c4
-rw-r--r--efi_memtest/memtest86+/efi/test.c43
3 files changed, 28 insertions, 27 deletions
diff --git a/efi_memtest/logger_config.h b/efi_memtest/logger_config.h
index 97203fa..70dbb26 100644
--- a/efi_memtest/logger_config.h
+++ b/efi_memtest/logger_config.h
@@ -7,11 +7,11 @@ short log_cpuspeed = 0;
short log_memspeed = 0;
// Memory
-short log_mem_tbl = 0;
+short log_mem_tbl = 1;
short log_comp_seg = 0;
-short log_print_pmap = 0;
-short log_pmap = 0;
-short log_print_mmap = 0;
+short log_print_pmap = 1;
+short log_pmap = 1;
+short log_print_mmap = 1;
// Hardware Information
short log_mem_ctrl = 0;
diff --git a/efi_memtest/memtest86+/efi/memory_tables.c b/efi_memtest/memtest86+/efi/memory_tables.c
index 857d748..3468dbe 100644
--- a/efi_memtest/memtest86+/efi/memory_tables.c
+++ b/efi_memtest/memtest86+/efi/memory_tables.c
@@ -101,7 +101,7 @@ int query_memory_table(void) {
Print(L" VirtualStart: %X\n", desc->VirtualStart);
Print(L" Attribute: %X\n", desc->Attribute);*/
- /* if (logflag && log_mem_tbl) { // TODO print as hex?
+ if (logflag && log_mem_tbl) { // TODO print as hex?
char log[100] = "\nquery_memory_table(): New EfiConventionalMemory segment found.\nPhysical Start = ";
int length = 81;
int_to_charr(desc->PhysicalStart, log, &length);
@@ -120,7 +120,7 @@ int query_memory_table(void) {
int length = 12;
int_to_charr(desc->Attribute, log, &length);
print_log(log, length);
- }*/
+ }
/*EFI_STATUS status = gST->BootServices->AllocatePages(
AllocateAddress, EfiBootServicesData, desc->NumberOfPages, (EFI_PHYSICAL_ADDRESS *)desc->PhysicalStart);
diff --git a/efi_memtest/memtest86+/efi/test.c b/efi_memtest/memtest86+/efi/test.c
index 8f63714..e3b4f6a 100644
--- a/efi_memtest/memtest86+/efi/test.c
+++ b/efi_memtest/memtest86+/efi/test.c
@@ -216,9 +216,6 @@ STATIC void unsliced_foreach_segment
print_log(log, length);
}*/
- //if(1) print_log("HAHAHA", 6);
- if(1) cprint(1, 1, "#################");
-
foreach_segment(vv->map[j].start,
vv->map[j].end,
me, ctx, func);
@@ -361,14 +358,14 @@ STATIC void addr_tst2_init_segment(ulong* p,
for (; p <= pe; p++) {
*p = (ulong)p;
- if ((ulong)p == bad_addr) {
+/* if ((ulong)p == bad_addr) {
addr_written = 1;
-/* ulong *px = (ulong *)bad_addr;
+ ulong *px = (ulong *)bad_addr;
char log[35] = "content of p = ";
int length = 15;
int_to_charr(*px, log, &length);
- print_log(log, length);*/
- }
+ print_log(log, length);
+ }*/
/* if (addr_written && (*(ulong *) bad_addr != bad_addr)) {
ulong *px = (ulong *)bad_addr;
@@ -421,7 +418,7 @@ STATIC void addr_tst2_check_segment(ulong* p,
ulong len_dw, const void* unused) {
ulong* pe = p + ((len_dw - 1) >> 1);
- ulong bad = *p;
+ //ulong bad = *p;
/* if (print_check_counter < 10) { // TODO does it make sense?
@@ -464,21 +461,23 @@ STATIC void addr_tst2_check_segment(ulong* p,
+ ulong bad = *p;
+ if(bad != (ulong)p) {
- if((bad = *p) != (ulong)p) {
- {
- char log[51] = "addr_tst2_check_segment(): p = ";
- int length = 31;
- int_to_charr((ulong)p, log, &length);
- print_log(log, length);
- }
+ {
+ char log[51] = "addr_tst2_check_segment(): p = ";
+ int length = 31;
+ int_to_charr((ulong)p, log, &length);
+ print_log(log, length);
+ }
+
+ {
+ char log[52] = "addr_tst2_check_segment(): *p = ";
+ int length = 32;
+ int_to_charr(*p, log, &length);
+ print_log(log, length);
+ }
- {
- char log[52] = "addr_tst2_check_segment(): *p = ";
- int length = 32;
- int_to_charr(bad, log, &length);
- print_log(log, length);
- }
ad_err2((ulong *)p, bad);
}
}
@@ -582,6 +581,8 @@ void addr_tst2(int me)
/* if (logflag && log_tst2) {
print_log("addr_tst2(): starting addr_tst2_check_segment", 45);
}*/
+ if(1) print_log("HAHAHA", 6);
+ //if(1) cprint(1, 1, "#################");
/* if (logflag && log_tst2 && addr_written) {
char log[35] = "content of p = ";