Showing changes from revision #1 to #2:
Added | Removed | Changed
void *RISCOS_AccessPhysicalAddress(unsigned int flags, void *phys, void **oldp) flags: bit 2 => make memory bufferable other bits must be zero phys: physical address to access oldp: pointer to location to store old state (or NULL)
On entry | Entry | |
---|---|---|
flags | ||
Other bits must be zero | MMU on | |
phys | ||
oldp | ||
Returns logical address corresponding to phys | ||
FIQs on | ||
Re-entrant |
Exit | |
---|---|
- | Returns logical address corresponding to phys |
Arranges for the physical address phys to be mapped in to logical memory. In fact, the whole megabyte containing “phys” is mapped in (ie if phys = &12345678, then &12300000 to &123FFFFF become available). The memory is supervisor access only, non-cacheable, non-bufferable by default, and will remain available until the next call to RISCOS_Release/AccessPhysicalAddress (although interrupt routines or subroutines may temporarily map in something else).
When finished, the user should call RISCOS_ReleasePhysicalAddress.