On 01/09/2017 12:37 AM, [email protected] wrote:
> Hi Corey,
> 
> The original intention of the 'aggressive' check was to somewhat prevent
> your case where the user has set the size higher than required and may
> be inadvertently be wasting memory by having the TCBBits end up larger
> than needed. I agree that it can be a little inconvenient, so will
> change it allow sizes that are larger, but emit a warning.
> 

Sounds great, thanks!

> Comparing against ebx instead of ecx is quite deliberate as this way we
> only measure the size required for the features that the user actually
> wanted to use as defined in CONFIG_XSAVE_FEATURE_SET. This is why we do
> this check just after performing 'write_xcr0' with said desired features.
> 

Hm, this isn't consistent with my observations of the actual behavior,
although I'm not seeing why at this point.

On my Ivy Bridge Xeon CPU (supports AVX) with
CONFIG_XSAVE_FEATURE_SET=3, using Qemu/KVM with -cpu host and the linked
kernel config (and a small patch to always print out ebx/ecx), I get 576
for ebx and 832 for ecx.

Kernel config: http://ix.io/1PCY

My only patch from 4.0.0: http://ix.io/1PCZ

Kernel log: http://ix.io/1PD3

Qemu invocation:

> qemu-system-x86_64  -cpu host,+avx -enable-kvm -nographic -kernel 
> ~/proj/robigalia/sel4/stage/kernel-x86_64-pc99  -initrd 
> ~/proj/robigalia/hello-world/target/x86_64-sel4-robigalia/release/hello-world

Maybe there's another issue at play here?

-- 
cmr
http://octayn.net/
+16038524272

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to