Changeset 3b05862f in mainline for arch/ia32/include


Ignore:
Timestamp:
2006-03-15T16:12:37Z (20 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2f7342d
Parents:
b629483
Message:

ia32 MMX and SSEx support

Location:
arch/ia32/include
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/include/cpu.h

    rb629483 r3b05862f  
    4242};
    4343
     44
     45#define CR4_OSFXSR_MASK (1<<9)
     46
    4447#endif
  • arch/ia32/include/cpuid.h

    rb629483 r3b05862f  
    3838        __u32 cpuid_edx;
    3939} __attribute__ ((packed));
     40
     41struct __cpuid_extended_feature_info {
     42        unsigned sse3 :  1;
     43        unsigned      : 31;
     44} __attribute__ ((packed));
     45
     46typedef union cpuid_extended_feature_info
     47{
     48        struct __cpuid_extended_feature_info bits;
     49        __u32                                word;
     50}cpuid_extended_feature_info;
     51
     52
     53struct __cpuid_feature_info {
     54        unsigned                        : 23;
     55        unsigned mmx  :  1;
     56        unsigned fxsr :  1;
     57        unsigned sse  :  1;
     58        unsigned sse2 :  1;
     59        unsigned      :  5;
     60} __attribute__ ((packed));
     61
     62typedef union cpuid_feature_info
     63{
     64        struct __cpuid_feature_info bits;
     65        __u32                word       ;
     66}cpuid_feature_info;
     67
    4068
    4169static inline __u32 has_cpuid(void)
  • arch/ia32/include/fpu_context.h

    rb629483 r3b05862f  
    3535#define FPU_CONTEXT_ALIGN 16
    3636
     37void fpu_fxsr(void);
     38void fpu_fsr(void);
     39
     40
    3741struct fpu_context {
    3842        /* TODO: We need malloc that aligns structures on 16-byte boundary */
  • arch/ia32/include/interrupt.h

    rb629483 r3b05862f  
    8585extern void nm_fault(int n, istate_t *istate);
    8686extern void ss_fault(int n, istate_t *istate);
     87extern void simd_fp_exception(int n, istate_t *istate);
    8788extern void page_fault(int n, istate_t *istate);
    8889extern void syscall(int n, istate_t *istate);
Note: See TracChangeset for help on using the changeset viewer.