From 6078c70649968626b1749f2955c49d2810af4596 Mon Sep 17 00:00:00 2001 From: hasslesstech Date: Fri, 7 Mar 2025 14:07:59 +0200 Subject: [PATCH] add system time measurement --- src/main.c | 4 ++++ src/mmu.c | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/main.c b/src/main.c index 56d39ac..eddff4c 100644 --- a/src/main.c +++ b/src/main.c @@ -13,9 +13,13 @@ struct RunQ *runq; struct PhysPage *first_free_page; struct PhysPage *first_busy_page; +size_t system_time; + int main(void) { + system_time = 0; + first_busy_page = NULL; first_free_page = malloc(sizeof(struct PhysPage)); diff --git a/src/mmu.c b/src/mmu.c index d15bbc2..49050f8 100644 --- a/src/mmu.c +++ b/src/mmu.c @@ -2,6 +2,10 @@ #include "kernel.h" + +extern size_t system_time; + + void MMU_read(struct PageTableEntry *pt, size_t page_no) { if (!pt[page_no].p) @@ -9,6 +13,8 @@ void MMU_read(struct PageTableEntry *pt, size_t 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) @@ -19,4 +25,6 @@ void MMU_write(struct PageTableEntry *pt, size_t 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++; }