Arm provides multiple helpers to clean & invalidate the cache
for a given region. This is, for instance, used when allocating
guest memory to ensure any writes (such as the ones during scrubbing)
have reached memory before handing over the page to a guest.
Unfortunately, the arithmetics in the helpers can overflow and would
then result to skip the cache cleaning/invalidation. Therefore there
is no guarantee when all the writes will reach the memory.
Arm proporciona múltiples ayudas para limpiar e invalidar el caché de una región determinada. Esto se utiliza, por ejemplo, al asignar memoria de invitado para garantizar que cualquier escritura (como las que se realizan durante la depuración) haya llegado a la memoria antes de entregar la página a un invitado. Desafortunadamente, la aritmética en los asistentes puede desbordarse y entonces se omitiría la limpieza/invalidación de la caché. Por lo tanto, no hay garantía de cuándo todas las escrituras llegarán a la memoria.