summaryrefslogtreecommitdiffhomepage
path: root/HALKit/AMD64/ControlRegister.s
blob: d7e0c019333ab70ad1eec322e875fac46562c080 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
.globl write_cr3
.globl write_cr0
.globl read_cr2
.globl read_cr3
.globl read_cr0
.globl flush_tlb

.section .text
    flush_tlb:
        mov %rsi, %cr3
        mov %cr3, %rsi
        xor %rax, %rax
        ret

    read_cr3:
        movq %rax, %cr3
        ret

    read_cr0:
        movq %rax, %cr0
        ret

    read_cr2:
        movq %rax, %cr2
        ret

    write_cr3:
        movq %cr3, %rdi
        ret

    write_cr0:
        movq %cr0, %rdi
        ret