/* SPDX-License-Identifier: GPL-2.0 */ /* * blockops.S: Common block zero optimized routines. * * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
*/
/* Profiling evidence indicates that memset() is * commonly called for blocks of size PAGE_SIZE, * and (2 * PAGE_SIZE) (for kernel stacks) * and with a second arg of zero. We assume in * all of these cases that the buffer is aligned * on at least an 8 byte boundary. * * Therefore we special case them to make them * as fast as possible.
*/
.text
ENTRY(bzero_1page) /* NOTE: If you change the number of insns of this routine, please check
* arch/sparc/mm/hypersparc.S */ /* %o0 = buf */
or %g0, %g0, %g1
or %o0, %g0, %o1
or %g0, (PAGE_SIZE >> 8), %g2
1:
BLAST_BLOCK(%o0, 0x00)
BLAST_BLOCK(%o0, 0x40)
BLAST_BLOCK(%o0, 0x80)
BLAST_BLOCK(%o0, 0xc0)
subcc %g2, 1, %g2
bne 1b
add %o0, 0x100, %o0
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.