[PATCH] cacheflush.2: Document Architecture-specific variants
Alejandro Colomar (man-pages)
alx.manpages at gmail.com
Mon Dec 21 03:32:05 EST 2020
On 12/20/20 9:54 PM, Michael Kerrisk (man-pages) wrote:
> Hi Alex
>
> On 12/14/20 3:38 PM, Alejandro Colomar wrote:
>> Signed-off-by: Alejandro Colomar <alx.manpages at gmail.com>
>> ---
>>
>> Hi Michael,
>>
>> Please apply this patch after
>> '[PATCH v5] cacheflush.2: Document __builtin___clear_cache() as a more
>> portable alternative'.
>
> Thanks. Applied.
>
>> man2/cacheflush.2 | 42 ++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 42 insertions(+)
>>
>> diff --git a/man2/cacheflush.2 b/man2/cacheflush.2
>> index fc35f1a0b..0761b429a 100644
>> --- a/man2/cacheflush.2
>> +++ b/man2/cacheflush.2
>> @@ -31,6 +31,10 @@ cacheflush \- flush contents of instruction and/or data cache
>> .PP
>> .BI "int cacheflush(char *" addr ", int "nbytes ", int "cache );
>> .fi
>> +.PP
>> +.IR Note :
>> +On some architectures,
>> +there is no glibc wrapper for this system call; see NOTES.
>> .SH DESCRIPTION
>> .BR cacheflush ()
>> flushes the contents of the indicated cache(s) for the
>> @@ -87,6 +91,44 @@ but nowadays, Linux provides a
>> .BR cacheflush ()
>> system call on some other architectures, but with different arguments.
>> .SH NOTES
>> +.SS Architecture-specific variants
>> +Glibc provides a wrapper for this system call,
>> +with the prototype shown in SYNOPSIS,
>> +for the following architectures:
>> +ARC, CSKY, MIPS, and NIOS2.
>> +.PP
>> +On some other architectures,
>> +Linux provides this system call, with different arguments:
>> +.TP
>> +M68K:
>> +.PP
>> +.in +4n
>> +.EX
>> +.BI "int cacheflush(unsigned long " addr ", int " scope ", int " cache ,
>> +.BI " unsigned long " len );
>> +.EE
>> +.in
>
> I made the formatting rather:
>
> [[
> .TP
> M68K:
> .nf
> .BI "int cacheflush(unsigned long " addr ", int " scope ", int " cache ,
> .BI " unsigned long " len );
> .fi
> ]]
>
> That's for consistency wqith the SYNOPSIS sections, where .EX/.EE
> isn't used.
Ahh. Right!
Thanks,
Alex
>
>> +.TP
>> +SH:
>> +.PP
>> +.in +4n
>> +.EX
>> +.BI "int cacheflush(unsigned long " addr ", unsigned long " len ", int " op );
>> +.EE
>> +.in
>> +.TP
>> +NDS32:
>> +.PP
>> +.in +4n
>> +.EX
>> +.BI "int cacheflush(unsigned int " start ", unsigned int " end ", int " cache );
>> +.EE
>> +.in
>> +.PP
>> +On the above architectures,
>> +glibc does not provide a wrapper for this system call; call it using
>> +.BR syscall (2).
>> +.SS GCC alternative
>> Unless you need the finer grained control that this system call provides,
>> you probably want to use the GCC built-in function
>> .BR __builtin___clear_cache (),
>
>
> Cheers,
>
> Michael
>
>
>
--
Alejandro Colomar
Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/
More information about the linux-snps-arc
mailing list