Correct the type for the literal used on the left side of the shift up
to 63 bit positions. Do not fill the save area and do not set the saved bit in the xstate bit vector for the state which is not marked as enabled in xsave_mask. Reported and tested by: Jim Ohlstein <jim@ohlste.in> MFC after: 3 days
This commit is contained in:
parent
4dc07530d7
commit
241b67bb47
@ -687,8 +687,8 @@ fpugetregs(struct thread *td)
|
||||
offsetof(struct xstate_hdr, xstate_bv));
|
||||
max_ext_n = flsl(xsave_mask);
|
||||
for (i = 0; i < max_ext_n; i++) {
|
||||
bit = 1 << i;
|
||||
if ((*xstate_bv & bit) != 0)
|
||||
bit = 1ULL << i;
|
||||
if ((xsave_mask & bit) == 0 || (*xstate_bv & bit) != 0)
|
||||
continue;
|
||||
bcopy((char *)fpu_initialstate +
|
||||
xsave_area_desc[i].offset,
|
||||
|
Loading…
x
Reference in New Issue
Block a user