|
|
1.1 root 1: ggeettPPhhyyssMMeemm() -- Memory-Manipulation Routine
2:
3: cchhaarr *
4: ggeettPPhhyyssMMeemm(_n_u_m_B_y_t_e_s)
5: iinntt _n_u_m_B_y_t_e_s;
6:
7: When the kernel starts up, it reserves a block of physically contiguous
8: memory (of size PPHHYYSS_MMEEMM) for one or more device drivers to use. Any
9: device driver can request some of this memory; to do so, it calls
10: ggeettPPhhyyssMMeemm() from within its load routine. _n_u_m_B_y_t_e_s gives the number
11: number of bytes it needs.
12:
13: If it can meet the request, ggeettPPhhyyssMMeemm() returns the virtual address of the
14: start of the region allocated. This region has contiguous virtual
15: addresses within kernel data space, as well as contiguous physical
16: addresses. If it cannot grant the request, ggeettPPhhyyssMMeemm() returns 0. Use
17: routine vvttoopp() to determine the physical address of the region.
18:
19: _S_e_e _A_l_s_o
20: mmeemmoorryy-mmaanniippuullaattiioonn rroouuttiinneess, vvttoopp()
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.