spz-lab3/src/mmu.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++;
}