test: memset the whole page
This commit is contained in:
parent
8cf50c9a6e
commit
f3a03f3965
11
tests/test.c
11
tests/test.c
@ -33,7 +33,8 @@ void testPhymem(void)
|
|||||||
}
|
}
|
||||||
printf("%d pages freed\n", freeCount);
|
printf("%d pages freed\n", freeCount);
|
||||||
|
|
||||||
assertmsg((page = (struct mem_desc *)allocPhyPage()) != NULL, "Cannot allocate memory\n");
|
assertmsg((page = (struct mem_desc *)allocPhyPage()) != NULL,
|
||||||
|
"Cannot allocate memory\n");
|
||||||
unrefPhyPage((ulong)page);
|
unrefPhyPage((ulong)page);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,14 +70,15 @@ static void testPaging(void)
|
|||||||
while ((page = (struct mem_desc *)allocPhyPage()) != NULL) {
|
while ((page = (struct mem_desc *)allocPhyPage()) != NULL) {
|
||||||
assertmsg(pageMap((vaddr_t)page, (paddr_t)page, PAGING_MEM_WRITE) == 0,
|
assertmsg(pageMap((vaddr_t)page, (paddr_t)page, PAGING_MEM_WRITE) == 0,
|
||||||
"Fail to map page %d\n", allocCount);
|
"Fail to map page %d\n", allocCount);
|
||||||
page->phy_addr = allocCount;
|
memset(page, allocCount, PAGE_SIZE);
|
||||||
allocCount++;
|
allocCount++;
|
||||||
list_add_tail(allocated_page_list, page);
|
list_add_tail(allocated_page_list, page);
|
||||||
}
|
}
|
||||||
printf("%d pages allocated\n", allocCount);
|
printf("%d pages allocated\n", allocCount);
|
||||||
|
|
||||||
while ((page = list_pop_head(allocated_page_list)) != NULL) {
|
while ((page = list_pop_head(allocated_page_list)) != NULL) {
|
||||||
assertmsg(page->phy_addr == (ulong)freeCount, "page modified");
|
assertmsg((char)page->phy_addr == (char)freeCount,
|
||||||
|
"page modified %d but is %d\n", freeCount, page->phy_addr);
|
||||||
assertmsg(unrefPhyPage((ulong)page) >= 0, "Failed to free page %d\n",
|
assertmsg(unrefPhyPage((ulong)page) >= 0, "Failed to free page %d\n",
|
||||||
(ulong)page);
|
(ulong)page);
|
||||||
pageUnmap((vaddr_t)page);
|
pageUnmap((vaddr_t)page);
|
||||||
@ -84,7 +86,8 @@ static void testPaging(void)
|
|||||||
}
|
}
|
||||||
printf("%d pages freed\n", freeCount);
|
printf("%d pages freed\n", freeCount);
|
||||||
|
|
||||||
assertmsg((page = (struct mem_desc *)allocPhyPage()) != NULL, "Cannot allocate memory\n");
|
assertmsg((page = (struct mem_desc *)allocPhyPage()) != NULL,
|
||||||
|
"Cannot allocate memory\n");
|
||||||
unrefPhyPage((ulong)page);
|
unrefPhyPage((ulong)page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user