]> Joshua Wise's Git repositories - netwatch.git/blob - lib/paging.c
8fe80a9499f3b564ece27e6e8ff3aa65f6727f57
[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 */ 0x1FF80000;
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 - 0x1FF80000 + 0x200000);
22         outputf("WARNING: p2v(%08x)", phys);
23         return (void *)0xFFFFFFFF;
24 }
This page took 0.019263 seconds and 2 git commands to generate.