]> Joshua Wise's Git repositories - netwatch.git/blob - lib/paging.c
Don't worry about me, I'm kind of a noob
[netwatch.git] / lib / paging.c
1 #include <minilib.h>
2 #include <output.h>
3
4 unsigned long memory_v2p(void *virt)
5 {
6         unsigned long _virt = (unsigned long)virt;
7         
8         if (_virt >= 0xA0000 && _virt < 0xC0000)
9                 return _virt;
10         if (_virt >= 0x200000 && _virt < 0x300000)
11                 return _virt - 0x200000 + /* XXX */ 0x1FF82000;
12         outputf("WARNING: v2p(%08x)", _virt);
13         return 0xFFFFFFFF;
14 }
15
16 void *memory_p2v(unsigned long phys)
17 {
18         if (phys >= 0xA0000 && phys < 0xC0000)
19                 return (void*)phys;
20         if (phys >= 0x1FF80000 && phys < 0x20000000)
21                 return (void*)(phys - 0x1FF82000 + 0x200000);
22         outputf("WARNING: p2v(%08x)", phys);
23         return (void *)0xFFFFFFFF;
24 }
This page took 0.024069 seconds and 4 git commands to generate.