The NetBSD Project

CVS log for src/sys/dev/nvmm/x86/nvmm_x86_svm.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / nvmm / x86

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: thorpej-futex


Revision 1.82.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:45 2021 UTC (3 years ago) by thorpej
Branch: thorpej-futex
Changes since 1.82: +3 -3 lines
Diff to previous 1.82 (colored) next main 1.83 (colored)

Sync with HEAD.

Revision 1.82 / (download) - annotate - [select for diffs], Sat Oct 24 07:14:30 2020 UTC (3 years, 5 months ago) by mgorny
Branch: MAIN
Branch point for: thorpej-futex, thorpej-cfargs
Changes since 1.81: +6 -4 lines
Diff to previous 1.81 (colored)

Issue 64-bit versions of *XSAVE* for 64-bit amd64 programs

When calling FXSAVE, XSAVE, FXRSTOR, ... for 64-bit programs on amd64
use the 64-suffixed variant in order to include the complete FIP/FDP
registers in the x87 area.

The difference between the two variants is that the FXSAVE64 (new)
variant represents FIP/FDP as 64-bit fields (union fp_addr.fa_64),
while the legacy FXSAVE variant uses split fields: 32-bit offset,
16-bit segment and 16-bit reserved field (union fp_addr.fa_32).
The latter implies that the actual addresses are truncated to 32 bits
which is insufficient in modern programs.

The change is applied only to 64-bit programs on amd64.  Plain i386
and compat32 continue using plain FXSAVE.  Similarly, NVMM is not
changed as I am not familiar with that code.

This is a potentially breaking change.  However, I don't think it likely
to actually break anything because the data provided by the old variant
were not meaningful (because of the truncated pointer).

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>