VMM -- test refactoring
This commit is contained in:
parent
f78500d603
commit
bbd220a395
@ -6,6 +6,8 @@
|
|||||||
void *data;
|
void *data;
|
||||||
uintptr_t *p4, *p3, *p2, *p1;
|
uintptr_t *p4, *p3, *p2, *p1;
|
||||||
|
|
||||||
|
#define ADDR1234 ((1UL<<39) + (2UL<<30) + (3UL<<21) + (4UL<<12))
|
||||||
|
|
||||||
BEFORE()
|
BEFORE()
|
||||||
{
|
{
|
||||||
data = calloc(PAGE_SIZE, 5);
|
data = calloc(PAGE_SIZE, 5);
|
||||||
@ -57,7 +59,7 @@ TEST(get_page_works_for_different_address)
|
|||||||
p2[3] |= PAGE_PRESENT;
|
p2[3] |= PAGE_PRESENT;
|
||||||
p1[4] = 0x34567890ABCDE000 | PAGE_PRESENT;
|
p1[4] = 0x34567890ABCDE000 | PAGE_PRESENT;
|
||||||
|
|
||||||
uintptr_t ret = vmm_get_page(p4, (1UL<<39)+(2UL<<30)+(3UL<<21)+(4UL<<12));
|
uintptr_t ret = vmm_get_page(p4, ADDR1234);
|
||||||
|
|
||||||
ASSERT_EQ_PTR(ret, 0x34567890ABCDE000 | PAGE_PRESENT);
|
ASSERT_EQ_PTR(ret, 0x34567890ABCDE000 | PAGE_PRESENT);
|
||||||
}
|
}
|
||||||
@ -125,19 +127,19 @@ uintptr_t pmm_alloc()
|
|||||||
|
|
||||||
TEST(touch_page_adds_P3)
|
TEST(touch_page_adds_P3)
|
||||||
{
|
{
|
||||||
touch_page(p4, (1UL<<39)+(2UL<<30)+(3UL<<21)+(4UL<<12), 0);
|
touch_page(p4, ADDR1234, 0);
|
||||||
|
|
||||||
ASSERT_EQ_PTR(p4[1], (uintptr_t)p3 | PAGE_PRESENT);
|
ASSERT_EQ_PTR(p4[1], (uintptr_t)p3 | PAGE_PRESENT);
|
||||||
}
|
}
|
||||||
TEST(touch_page_adds_P2)
|
TEST(touch_page_adds_P2)
|
||||||
{
|
{
|
||||||
touch_page(p4, (1UL<<39)+(2UL<<30)+(3UL<<21)+(4UL<<12), 0);
|
touch_page(p4, ADDR1234, 0);
|
||||||
|
|
||||||
ASSERT_EQ_PTR(p3[2], (uintptr_t)p2 | PAGE_PRESENT);
|
ASSERT_EQ_PTR(p3[2], (uintptr_t)p2 | PAGE_PRESENT);
|
||||||
}
|
}
|
||||||
TEST(touch_page_adds_P1)
|
TEST(touch_page_adds_P1)
|
||||||
{
|
{
|
||||||
touch_page(p4, (1UL<<39)+(2UL<<30)+(3UL<<21)+(4UL<<12), 0);
|
touch_page(p4, ADDR1234, 0);
|
||||||
|
|
||||||
ASSERT_EQ_PTR(p2[3], (uintptr_t)p1 | PAGE_PRESENT);
|
ASSERT_EQ_PTR(p2[3], (uintptr_t)p1 | PAGE_PRESENT);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user