The branch main has been updated by mjg:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=d1de5698dfe6109308d4e5d6536a2ac93941d23a

commit d1de5698dfe6109308d4e5d6536a2ac93941d23a
Author:     Mateusz Guzik <[email protected]>
AuthorDate: 2021-01-30 00:17:15 +0000
Commit:     Mateusz Guzik <[email protected]>
CommitDate: 2021-01-30 00:17:15 +0000

    amd64: retire sse2_pagezero
    
    All page zeroing is using temporal stores with rep movs*, the routine is
    unused for several years.
    
    Should a need arise for zeroing using non-temporal stores, a more
    optimized variant can be implemented with a more descriptive name.
---
 sys/amd64/amd64/support.S  | 24 ------------------------
 sys/amd64/include/md_var.h |  1 -
 2 files changed, 25 deletions(-)

diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S
index 35e73e413e87..49baa50ac294 100644
--- a/sys/amd64/amd64/support.S
+++ b/sys/amd64/amd64/support.S
@@ -81,30 +81,6 @@ ENTRY(pagecopy)
        ret
 END(pagecopy)
 
-/* Address: %rdi */
-ENTRY(sse2_pagezero)
-       PUSH_FRAME_POINTER
-       movq    $-PAGE_SIZE,%rdx
-       subq    %rdx,%rdi
-       xorl    %eax,%eax
-       jmp     1f
-       /*
-        * The loop takes 29 bytes.  Ensure that it doesn't cross a 32-byte
-        * cache line.
-        */
-       .p2align 5,0x90
-1:
-       movnti  %rax,(%rdi,%rdx)
-       movnti  %rax,8(%rdi,%rdx)
-       movnti  %rax,16(%rdi,%rdx)
-       movnti  %rax,24(%rdi,%rdx)
-       addq    $32,%rdx
-       jne     1b
-       sfence
-       POP_FRAME_POINTER
-       ret
-END(sse2_pagezero)
-
 /*
  * memcmpy(b1, b2, len)
  *        rdi,rsi,rdx
diff --git a/sys/amd64/include/md_var.h b/sys/amd64/include/md_var.h
index 6b6201e4c0f1..3b2454a4b441 100644
--- a/sys/amd64/include/md_var.h
+++ b/sys/amd64/include/md_var.h
@@ -85,7 +85,6 @@ void  gsbase_load_fault(void) 
__asm(__STRING(gsbase_load_fault));
 void   fpstate_drop(struct thread *td);
 void   pagezero(void *addr);
 void   setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int ist);
-void   sse2_pagezero(void *addr);
 void   set_top_of_stack_td(struct thread *td);
 struct savefpu *get_pcb_user_save_td(struct thread *td);
 struct savefpu *get_pcb_user_save_pcb(struct pcb *pcb);
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "[email protected]"

Reply via email to