Hi -

Rebuild the world. (once this is merged or if you test it).

This patch set adds the ability for the kernel and user to query cpu
features (e.g. CPU_FEAT_X86_XSAVEOPT).

To test it out, I also check for the existence of x86's hardware
support for TLS changes (e.g. WRFSBASE) and use that for TLS ops in the
kernel and in glibc.  Easy-peasy.

Barret


------------------------
The following changes since commit 059904ed0ddf36686f3e8a274b638ebd7a777a10:

  Fix mxcsr boot time init (2016-02-29 13:27:01 -0500)

are available in the git repository at:

  [email protected]:brho/akaros.git feat

for you to fetch changes up to 597386a35115980f5a223efabcc65268562866b1:

  x86: Use FSGSBASE for TLS changes (XCC) (2016-02-29 18:34:45 -0500)

----------------------------------------------------------------
Barret Rhoden (5):
      Add proc_global_info (XCC)
      Add CPU feature detection (XCC)
      x86: Detect XSAVEOPT
      x86: use setters/getters for MSR_{FS,GS}_BASE
      x86: Use FSGSBASE for TLS changes (XCC)

 kern/arch/riscv/ros/cpu_feat.h                     | 14 +++++++
 kern/arch/x86/cpuinfo.c                            | 21 +++++++---
 kern/arch/x86/fsgsbase.h                           | 48 ++++++++++++++++++++++
 kern/arch/x86/init.c                               | 21 ++--------
 kern/arch/x86/pmap64.c                             | 13 +++---
 kern/arch/x86/process64.c                          |  9 ++--
 kern/arch/x86/ros/cpu_feat.h                       | 15 +++++++
 kern/arch/x86/ros/mmu.h                            |  1 +
 kern/arch/x86/ros/mmu64.h                          | 13 ++++--
 kern/arch/x86/smp_boot.c                           |  8 +++-
 kern/arch/x86/trap64.c                             |  2 +-
 kern/arch/x86/trap64.h                             | 10 +++--
 kern/arch/x86/vmm/intel/vmx.c                      |  2 +-
 kern/arch/x86/x86.h                                |  1 +
 kern/include/cpu_feat.h                            | 23 +++++++++++
 kern/include/ros/cpu_feat.h                        | 21 ++++++++++
 kern/include/ros/memlayout.h                       |  4 +-
 kern/include/ros/procinfo.h                        | 20 +++++++--
 kern/src/env.c                                     |  6 +++
 kern/src/init.c                                    |  1 +
 .../sysdeps/akaros/kernel-features.h               | 26 +++++++++++-
 .../glibc-2.19-akaros/sysdeps/akaros/x86_64/tls.h  |  7 +++-
 user/parlib/include/parlib/cpu_feat.h              | 18 ++++++++
 23 files changed, 250 insertions(+), 54 deletions(-)
 create mode 100644 kern/arch/riscv/ros/cpu_feat.h
 create mode 100644 kern/arch/x86/fsgsbase.h
 create mode 100644 kern/arch/x86/ros/cpu_feat.h
 create mode 100644 kern/include/cpu_feat.h
 create mode 100644 kern/include/ros/cpu_feat.h
 create mode 100644 user/parlib/include/parlib/cpu_feat.h

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to