diff mbox series

cacheflush.2: Document Architecture-specific variants

Message ID 20201214143852.16565-1-alx.manpages@gmail.com
State New
Headers show
Series cacheflush.2: Document Architecture-specific variants | expand

Commit Message

Alejandro Colomar Dec. 14, 2020, 2:38 p.m. UTC
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
---

Hi Michael,

Please apply this patch after
'[PATCH v5] cacheflush.2: Document __builtin___clear_cache() as a more
 portable alternative'.

Thanks,

Alex

 man2/cacheflush.2 | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

Comments

Alejandro Colomar Dec. 20, 2020, 3:36 p.m. UTC | #1
Ping

On 12/14/20 3:38 PM, Alejandro Colomar wrote:
> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
> ---
> 
> Hi Michael,
> 
> Please apply this patch after
> '[PATCH v5] cacheflush.2: Document __builtin___clear_cache() as a more
>  portable alternative'.
> 
> Thanks,
> 
> Alex
> 
>  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
> +.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 (),
>
Michael Kerrisk \(man-pages\) Dec. 20, 2020, 8:54 p.m. UTC | #2
Hi Alex

On 12/14/20 3:38 PM, Alejandro Colomar wrote:
> Signed-off-by: Alejandro Colomar <alx.manpages@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.

> +.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 Dec. 21, 2020, 8:32 a.m. UTC | #3
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@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
> 
> 
>
diff mbox series

Patch

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
+.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 (),