aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/clear_page.S
blob: 96315ad35c610bc52997c0b3f982b75bd86b9eb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <xen/config.h>
#include <asm/page.h>

#define ptr_reg %rdi

ENTRY(clear_page_sse2)
        mov     $PAGE_SIZE/16, %ecx
        xor     %eax,%eax

0:      dec     %ecx
        movnti  %eax, (ptr_reg)
        movnti  %eax, 4(ptr_reg)
        movnti  %eax, 8(ptr_reg)
        movnti  %eax, 12(ptr_reg)
        lea     16(ptr_reg), ptr_reg
        jnz     0b

        sfence
        ret