SEGFLUSH(2)                                           SEGFLUSH(2)

     NAME
          segflush - flush instruction and data caches

     SYNOPSIS
          #include <u.h>
          #include <libc.h>

          int  segflush(void *va, ulong len)

     DESCRIPTION
          Segflush invalidates any instruction cache and writes back
          any data cache associated with pages contained in a segment.
          All subsequent new pages in the segment will also be flushed
          when first referenced.

          Va is an address within the segment to be flushed; it is
          rounded down to the nearest page boundary.  Len specifies
          the length in bytes of the memory to flush; va+len is
          rounded up to the nearest page boundary.  Segflush works
          correctly when the memory straddles multiple segments.

          Correct use of segflush depends on an understanding of the
          cache architecture of the specific machine.

     SOURCE
          /sys/src/libc/9syscall

     SEE ALSO
          segattach(2), segbrk(2)
          /proc/*/segment

     DIAGNOSTICS
          Sets errstr.