All of lore.kernel.org
 help / color / mirror / Atom feed
* Question : about difference with bdnz and bdnz+
@ 2009-08-27  5:04 HongWoo Lee
  2009-08-27  9:30 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 2+ messages in thread
From: HongWoo Lee @ 2009-08-27  5:04 UTC (permalink / raw)
  To: linuxppc-dev

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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-08-27  9:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-27  5:04 Question : about difference with bdnz and bdnz+ HongWoo Lee
2009-08-27  9:30 ` Benjamin Herrenschmidt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.