spz-lab3/src/mmu.c

23 lines
474 B
C
Raw Normal View History

2025-03-06 23:05:21 +02:00
#include <stdio.h>
2025-03-06 21:50:29 +02:00
#include "kernel.h"
void MMU_read(struct PageTableEntry *pt, size_t page_no)
{
if (!pt[page_no].p)
KERNEL_page_fault(pt, page_no);
2025-03-06 23:05:21 +02:00
printf("[mmu:read] pt[%d] -> ppn %d\n", page_no, pt[page_no].ppn);
2025-03-06 21:50:29 +02:00
pt[page_no].r = 1;
}
void MMU_write(struct PageTableEntry *pt, size_t page_no)
{
if (!pt[page_no].p)
KERNEL_page_fault(pt, page_no);
2025-03-06 23:05:21 +02:00
printf("[mmu:write] pt[%d] -> ppn %d\n", page_no, pt[page_no].ppn);
2025-03-06 21:50:29 +02:00
pt[page_no].r = 1;
pt[page_no].m = 1;
}