svn commit: r338113 - head/sys/amd64/amd64
Konstantin Belousov
kib at FreeBSD.org
Mon Aug 20 19:09:41 UTC 2018
Author: kib
Date: Mon Aug 20 19:09:39 2018
New Revision: 338113
URL: https://svnweb.freebsd.org/changeset/base/338113
Log:
Update comment about ABI of flush_l1s_sw to match the reality.
CPUID instruction clobbers %rbx and %rdx.
Sponsored by: The FreeBSD Foundation
MFC after: 13 days
Modified:
head/sys/amd64/amd64/support.S
Modified: head/sys/amd64/amd64/support.S
==============================================================================
--- head/sys/amd64/amd64/support.S Mon Aug 20 19:07:57 2018 (r338112)
+++ head/sys/amd64/amd64/support.S Mon Aug 20 19:09:39 2018 (r338113)
@@ -1230,9 +1230,9 @@ END(handle_ibrs_exit_rs)
* Flush L1D cache. Load enough of the data from the kernel text
* to flush existing L1D content.
*
- * N.B. The function follows ABI calling conventions, but the vmm.ko
- * caller expects that only %rax, %rcx, %r9, and %rflags registers
- * are clobbered.
+ * N.B. The function does not follow ABI calling conventions, it corrupts %rbx.
+ * The vmm.ko caller expects that only %rax, %rdx, %rbx, %rcx, %r9, and %rflags
+ * registers are clobbered. The NMI handler caller only needs %r13 preserved.
*/
ENTRY(flush_l1d_sw)
#define L1D_FLUSH_SIZE (64 * 1024)
More information about the svn-src-all
mailing list