On 2026-07-01 23:57:56 Wed, Nikhil Kumar Singh wrote: > The value loaded into r0 in copy_and_flush() represents the number of > 8-byte words processed between cache synchronization operations. > > The existing comment refers to cache line size, which can make it appear > that the value is a cache line size in bytes rather than a loop count. > Clarify the comment to explain that the loop processes 8 words (64 bytes) > per cache synchronization iteration, and that increasing the value would > skip cache maintenance for intermediate cache lines. > > This is a comment-only change with no functional impact. > > Signed-off-by: Nikhil Kumar Singh <[email protected]> > --- > arch/powerpc/kernel/head_64.S | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S > index 63432a33ec49..e21c2bce8f7e 100644 > --- a/arch/powerpc/kernel/head_64.S > +++ b/arch/powerpc/kernel/head_64.S > @@ -713,14 +713,14 @@ p_end: .8byte _end - copy_to_here > _GLOBAL(copy_and_flush) > addi r5,r5,-8 > addi r6,r6,-8 > -4: li r0,8 /* Use the smallest common */ > - /* denominator cache line */ > - /* size. This results in */ > - /* extra cache line flushes */ > - /* but operation is correct. */ > - /* Can't get cache line size */ > - /* from NACA as it is being */ > - /* moved too. */ > +4: li r0,8 /* r0 is the number of 8-byte words > */ > + /* to copy per cache sync iteration. > */ > + /* 8 words * 8 bytes = 64 bytes. 64B is > */ > + /* the current default cache line size. > */ > + /* This is a loop count, not a byte > */ > + /* count. Increasing it will skip > */ > + /* dcbst/icbi for lines in between and > */ > + /* leave stale instructions in icache. > */
Looks good to me. The previous comment was misleading which makes one to think r0 as cache line size which is not the case. Reviewed-by: Mahesh Salgaonkar <[email protected]> Thanks, -Mahesh.
