git: npx: Use 64-bit version FXSAVE64/FXRSTOR64 and XSAVE64/XRSTOR64
Aaron LI
aly at crater.dragonflybsd.org
Tue Jul 6 16:34:26 PDT 2021
commit 59661255f6a5aa0d829c5469cc30c77cfbeec3fc
Author: Aaron LI <aly at aaronly.me>
Date: Mon Jul 5 19:50:51 2021 +0800
npx: Use 64-bit version FXSAVE64/FXRSTOR64 and XSAVE64/XRSTOR64
Since DragonFly is 64-bit only, use the 64-bit version
FXSAVE64/FXRSTOR64 and XSAVE64/XRSTOR64.
The new FXSAVE64/FXRSTOR64 version represents FIP/FDP as 64-bit fields
(union fp_addr.fa_64), while the legacy FXSAVE/FXRSTOR version 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.
Improve the inline ASM code a bit to use 'xsave64'/'xrstor64' names.
The extra 'area' variable is introduced to help avoid dereferencing
'void *' pointer.
Referred-to: NetBSD
Summary of changes:
sys/platform/pc64/x86_64/npx.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/59661255f6a5aa0d829c5469cc30c77cfbeec3fc
--
DragonFly BSD source repository
More information about the Commits
mailing list