]> Joshua Wise's Git repositories - netwatch.git/blame - lib/paging.c
p2v and v2p, in a manner of type A...
[netwatch.git] / lib / paging.c
CommitLineData
68beefa8
JW
1#include <minilib.h>
2#include <output.h>
3
4unsigned 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
16void *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.027587 seconds and 4 git commands to generate.