Subversion Repositories HelenOS

Rev

Rev 2921 | Rev 4377 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2921 Rev 3536
Line 33... Line 33...
33
 */
33
 */
34
 
34
 
35
#ifndef KERN_ia32_CPU_H_
35
#ifndef KERN_ia32_CPU_H_
36
#define KERN_ia32_CPU_H_
36
#define KERN_ia32_CPU_H_
37
 
37
 
38
#include <arch/pm.h>
-
 
39
#include <arch/asm.h>
-
 
40
 
-
 
41
#define EFLAGS_IF       (1 << 9)
38
#define EFLAGS_IF       (1 << 9)
42
#define EFLAGS_RF       (1 << 16)
39
#define EFLAGS_RF       (1 << 16)
43
 
40
 
-
 
41
#define CR4_OSFXSR_MASK (1<<9)
-
 
42
 
-
 
43
/* Support for SYSENTER and SYSEXIT */
-
 
44
#define IA32_MSR_SYSENTER_CS    0x174
-
 
45
#define IA32_MSR_SYSENTER_ESP   0x175
-
 
46
#define IA32_MSR_SYSENTER_EIP   0x176
-
 
47
 
-
 
48
#ifndef __ASM__
-
 
49
 
-
 
50
#include <arch/pm.h>
-
 
51
#include <arch/asm.h>
-
 
52
 
44
typedef struct {
53
typedef struct {
45
    int vendor;
54
    int vendor;
46
    int family;
55
    int family;
47
    int model;
56
    int model;
48
    int stepping;
57
    int stepping;
49
    struct tss *tss;
58
    struct tss *tss;
50
   
59
   
51
    count_t iomapver_copy;  /** Copy of TASK's I/O Permission bitmap generation count. */
60
    count_t iomapver_copy;  /** Copy of TASK's I/O Permission bitmap generation count. */
52
} cpu_arch_t;
61
} cpu_arch_t;
53
 
62
 
54
 
63
#endif
55
#define CR4_OSFXSR_MASK (1<<9)
-
 
56
 
64
 
57
#define DR6_BT (1<<15)
65
#define DR6_BT (1<<15)
58
#define DR6_BS (1<<14)
66
#define DR6_BS (1<<14)
59
#define DR6_BD (1<<13)
67
#define DR6_BD (1<<13)
60
 
68