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
This commit is contained in:
Konstantin Belousov 2018-08-20 19:09:39 +00:00
parent b0568ddbec
commit a997bcc015
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=338113

View File

@ -1230,9 +1230,9 @@ END(handle_ibrs_exit_rs)
* Flush L1D cache. Load enough of the data from the kernel text * Flush L1D cache. Load enough of the data from the kernel text
* to flush existing L1D content. * to flush existing L1D content.
* *
* N.B. The function follows ABI calling conventions, but the vmm.ko * N.B. The function does not follow ABI calling conventions, it corrupts %rbx.
* caller expects that only %rax, %rcx, %r9, and %rflags registers * The vmm.ko caller expects that only %rax, %rdx, %rbx, %rcx, %r9, and %rflags
* are clobbered. * registers are clobbered. The NMI handler caller only needs %r13 preserved.
*/ */
ENTRY(flush_l1d_sw) ENTRY(flush_l1d_sw)
#define L1D_FLUSH_SIZE (64 * 1024) #define L1D_FLUSH_SIZE (64 * 1024)