Skip to content
/ xsave Public

An implementation of x86 XSave semantics

Notifications You must be signed in to change notification settings

enarx/xsave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Workflow Status Average time to resolve an issue Percentage of issues still open Maintenance

xsave

This crate contains a practical implementation of the x86 xsave semantics.

We do not intend to support all possible variations of the instructures, nor do we intend to calculate the size of the xsave area dynamically. Instead, our practical strategy will overallocate the size of the xsave area so that we get a constant size for the struct. This allows for substantially easier embedding in other contexts.

For example, clearing the extended CPU state is a simple:

use xsave::XSave;

XSave::default().load();

Likewise, you can save and restore the extended CPU state like this:

use xsave::XSave;

let mut xsave = XSave::default();
xsave.save();
xsave.load();

License: Apache-2.0

About

An implementation of x86 XSave semantics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages