cpu-supplement: Add note about device memory

Add information about restricted use of device memory for ARM and
AArch64.
This commit is contained in:
Kinsey Moore 2022-03-04 13:47:40 -06:00 committed by Joel Sherrill
parent 9b6583d7f1
commit df8261a46e
2 changed files with 11 additions and 0 deletions

View File

@ -73,6 +73,11 @@ A flat 64-bit or 32-bit memory model is supported depending on the selected mult
variant. All AArch64 CPU variants support a built-in MMU for which basic initialization
for a flat memory model is handled.
Note that memcpy() and memset() must not be used on device memory as those
functions are hand-optimized and will take advantage of unaligned accesses.
*As per ARM*(https://developer.arm.com/documentation/ka004708/latest), unaligned
accesses are not permitted for device memory.
Interrupt Processing
====================

View File

@ -132,6 +132,12 @@ Memory Model
A flat 32-bit memory model is supported. The board support package must take
care of initializing the MMU if necessary.
Note that architecture variants which support unaligned accesses must not use
memcpy() or memset() on device memory as those functions are hand-optimized and
will take advantage of unaligned accesses where available. *As per ARM*
(https://developer.arm.com/documentation/ddi0406/c/Application-Level-Architecture/Application-Level-Memory-Model/Alignment-support/Unaligned-data-access-restrictions-in-ARMv7-and-ARMv6),
unaligned accesses are not permitted for device memory.
Interrupt Processing
====================