Hi ~

I found the code in the linux kernel.

static __inline__ void clear_page(void *addr)
{
   unsigned long lines, line_size;
   line_size = cpu_caches.dline_size;
   lines = cpu_caches.dlines_per_page;

   __asm__ __volatile__(
           "mtctr  %1      # clear_page\n\
           1:  dcbz    0,%0\n\
           add     %0,%0,%3\n\
           bdnz+   1b"
           : "=r" (addr)
           : "r" (lines), "0" (addr), "r" (line_size)
           : "ctr", "memory");
}

And I have a question about bdnz+ instruction.
Through googling, I learned that bdnz does decrement count register and branch if it is still nonzero.
But I couldn't find what "bdnz+" is.
Can anybody explain to me what it is ??

Thanks in advance.

HongWoo.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to