31 lines
538 B
C
31 lines
538 B
C
#include <stdio.h>
|
|
|
|
#include "kernel.h"
|
|
|
|
|
|
extern size_t system_time;
|
|
|
|
|
|
void MMU_read(struct PageTableEntry *pt, size_t page_no)
|
|
{
|
|
if (!pt[page_no].p)
|
|
KERNEL_page_fault(pt, page_no);
|
|
|
|
printf("[mmu:read] pt[%d] -> ppn %d\n", page_no, pt[page_no].ppn);
|
|
pt[page_no].r = 1;
|
|
|
|
system_time++;
|
|
}
|
|
|
|
void MMU_write(struct PageTableEntry *pt, size_t page_no)
|
|
{
|
|
if (!pt[page_no].p)
|
|
KERNEL_page_fault(pt, page_no);
|
|
|
|
printf("[mmu:write] pt[%d] -> ppn %d\n", page_no, pt[page_no].ppn);
|
|
pt[page_no].r = 1;
|
|
pt[page_no].m = 1;
|
|
|
|
system_time++;
|
|
}
|