Module Name:    src
Committed By:   rin
Date:           Fri Jun 19 07:31:59 UTC 2020

Modified Files:
        src/sys/arch/powerpc/ibm4xx: copyinstr.c copyoutstr.c pmap.c trap.c

Log Message:
Try to sanitize usage of isync and sync instructions.

According to reference manuals of 4xx, isync is "context synchronization",
which satisfies both 1 and 2:

1. instructions preceding it complete in the context that existed before it
2. instructions following it complete in the context that exists after it

Whereas sync (== msync for 440) is "execution synchronization", which
satisfies just 1, not 2. At the same time, sync guarantees "storage
synchronization", by which any previous storage references completes
before any subsequent instructions begin to execute.

Tested on 405 over months.

To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/ibm4xx/copyinstr.c \
cvs rdiff -u -r1.87 -r1.88 src/sys/arch/powerpc/ibm4xx/pmap.c
cvs rdiff -u -r1.80 -r1.81 src/sys/arch/powerpc/ibm4xx/trap.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to