Rev 3022 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3022 | Rev 4156 | ||
---|---|---|---|
Line 33... | Line 33... | ||
33 | */ |
33 | */ |
34 | 34 | ||
35 | #ifndef KERN_amd64_CPU_H_ |
35 | #ifndef KERN_amd64_CPU_H_ |
36 | #define KERN_amd64_CPU_H_ |
36 | #define KERN_amd64_CPU_H_ |
37 | 37 | ||
38 | #define RFLAGS_IF (1 << 9) |
38 | #define RFLAGS_IF (1 << 9) |
39 | #define RFLAGS_DF (1 << 10) |
39 | #define RFLAGS_DF (1 << 10) |
40 | #define RFLAGS_RF (1 << 16) |
40 | #define RFLAGS_RF (1 << 16) |
41 | 41 | ||
42 | #define EFER_MSR_NUM 0xc0000080 |
42 | #define EFER_MSR_NUM 0xc0000080 |
43 | #define AMD_SCE_FLAG 0 |
43 | #define AMD_SCE_FLAG 0 |
44 | #define AMD_LME_FLAG 8 |
44 | #define AMD_LME_FLAG 8 |
45 | #define AMD_LMA_FLAG 10 |
45 | #define AMD_LMA_FLAG 10 |
Line 60... | Line 60... | ||
60 | typedef struct { |
60 | typedef struct { |
61 | int vendor; |
61 | int vendor; |
62 | int family; |
62 | int family; |
63 | int model; |
63 | int model; |
64 | int stepping; |
64 | int stepping; |
65 | struct tss *tss; |
65 | tss_t *tss; |
66 | 66 | ||
67 | count_t iomapver_copy; /** Copy of TASK's I/O Permission bitmap generation count. */ |
67 | count_t iomapver_copy; /** Copy of TASK's I/O Permission bitmap generation count. */ |
68 | } cpu_arch_t; |
68 | } cpu_arch_t; |
69 | 69 | ||
70 | struct star_msr { |
70 | struct star_msr { |
71 | - | ||
72 | }; |
71 | }; |
73 | 72 | ||
74 | struct lstar_msr { |
73 | struct lstar_msr { |
75 | - | ||
76 | }; |
74 | }; |
77 | 75 | ||
78 | extern void set_efer_flag(int flag); |
76 | extern void set_efer_flag(int flag); |
79 | extern uint64_t read_efer_flag(void); |
77 | extern uint64_t read_efer_flag(void); |
80 | void cpu_setup_fpu(void); |
78 | void cpu_setup_fpu(void); |