Rev 3790 | Rev 4125 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3790 | Rev 4016 | ||
---|---|---|---|
Line 24... | Line 24... | ||
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | */ |
27 | */ |
28 | 28 | ||
29 | /** @addtogroup ia32 |
29 | /** @addtogroup ia32 |
30 | * @{ |
30 | * @{ |
31 | */ |
31 | */ |
32 | /** @file |
32 | /** @file |
33 | */ |
33 | */ |
34 | 34 | ||
Line 152... | Line 152... | ||
152 | "pushfl\n" |
152 | "pushfl\n" |
153 | "pop %%eax\n" |
153 | "pop %%eax\n" |
154 | "and $0xffff8fff, %%eax\n" |
154 | "and $0xffff8fff, %%eax\n" |
155 | "push %%eax\n" |
155 | "push %%eax\n" |
156 | "popfl\n" |
156 | "popfl\n" |
157 | : : : "eax" |
157 | ::: "eax" |
158 | ); |
158 | ); |
159 | } |
159 | } |
160 | 160 | ||
161 | /* Clean AM(18) flag in CR0 register */ |
161 | /* Clean AM(18) flag in CR0 register */ |
162 | static void clean_AM_flag(void) |
162 | static void clean_AM_flag(void) |
163 | { |
163 | { |
164 | asm volatile ( |
164 | asm volatile ( |
165 | "mov %%cr0, %%eax\n" |
165 | "mov %%cr0, %%eax\n" |
166 | "and $0xfffbffff, %%eax\n" |
166 | "and $0xfffbffff, %%eax\n" |
167 | "mov %%eax, %%cr0\n" |
167 | "mov %%eax, %%cr0\n" |
168 | : : : "eax" |
168 | ::: "eax" |
169 | ); |
169 | ); |
170 | } |
170 | } |
171 | 171 | ||
172 | void pm_init(void) |
172 | void pm_init(void) |
173 | { |
173 | { |