Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
.TH SEGFLUSH 2
2
.SH NAME
3
segflush \- flush instruction and data caches
4
.SH SYNOPSIS
5
.B #include <u.h>
6
.br
7
.B #include <libc.h>
8
.PP
9
.B
10
int	segflush(void *va, ulong len)
11
.PP
12
.SH DESCRIPTION
13
.I Segflush
14
invalidates any instruction cache and writes back any data
15
cache associated with pages contained in a segment.
16
All subsequent new pages in the segment will also be flushed when first referenced.
17
.PP
18
.I Va
19
is an address within the segment to be flushed;
20
it is rounded down to the nearest page boundary.
21
.I Len
22
specifies the length in bytes of
23
the memory to flush;
24
.IB va + len
25
is rounded up to the nearest page boundary.
26
.I Segflush
27
works correctly when the memory straddles multiple segments.
28
.PP
29
Correct use of
30
.I segflush
31
depends on an understanding of the cache architecture of the specific
32
machine.
33
.SH SOURCE
34
.B /sys/src/libc/9syscall
35
.SH SEE ALSO
36
.IR segattach (2),
37
.IR segbrk (2)
38
.br
39
.BR /proc/*/segment
40
.SH DIAGNOSTICS
41
Sets
42
.IR errstr .