Showing changes from revision #3 to #4:
Added | Removed | Changed
Obsolete, can be deleted.
void *RISCOS_AccessPhysicalAddress(unsigned int flags, uint64_t phys, void **oldp)
Entry | |
---|---|
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) |
Privileged mode | |
MMU on | |
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, at least 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.