diff options
Diffstat (limited to 'sw/z80/kernel/memory.c')
-rw-r--r-- | sw/z80/kernel/memory.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sw/z80/kernel/memory.c b/sw/z80/kernel/memory.c index f174906..ca9f447 100644 --- a/sw/z80/kernel/memory.c +++ b/sw/z80/kernel/memory.c @@ -7,7 +7,7 @@ int mmu_write_table(void) int i; for (i = 0; i < PAGES_MAX_COUNT; i++) { - if (pages_table[i].used) { + if (pages_table[i].pid != 0) { // write to mmu table } } @@ -20,13 +20,12 @@ int page_map(int page, int pid, uint16_t addr) if (page >= PAGES_MAX_COUNT) return -1; - if (pages_table[page].used) + if (pages_table[page].pid != 0) return -2; pages_table[page].addr = addr; pages_table[page].pid = pid; - pages_table[page].used = 1; return 0; } @@ -35,9 +34,9 @@ int page_unmap(int page) if (page >= PAGES_MAX_COUNT) return -1; - if (pages_table[page].used == 0) + if (pages_table[page].pid == 0) return -2; - pages_table[page].used = 0; + pages_table[page].pid = 0; return 0; } |