Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/c/cache_flush.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/c/cache_flush.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/c/cache_flush.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/c/cache_flush.html on line 8
Flush cache lines associated with a data buffer
#include <sys/cache.h>
CACHE_FLUSH(struct cache_ctrl *cinfo,
void *vaddr,
uint64_t paddr,
size_t len);
- cinfo
- A pointer the the structure that was initially passed to cache_init().
- vaddr
- The virtual address of the buffer; this is
a pointer to the data in the driver's virtual address space.
- paddr
- The physical address of the buffer: this is
typically in the same address space that the external
device will use to reference the data. The physical
address is obtained by calling mem_offset64(). Since this
function is fairly costly, drivers typically allocate a pool
of data buffers at initialization (e.g. by calling mmap()
with the MAP_PHYS and MAP_ANON flags), and predetermine
the physical addresses of the data.
- len
- The number of bytes in the buffer, for which
cached data should be flushed to memory.
libcache
Use the -l cache option to
qcc
to link against this library.
This macro is used to flush any cache lines associated with
a data buffer out to memory. This routine ensures that
any modifications that have been made to the data by the CPU
will be reflected by the contents of memory, and thus
an external device reading the data won't retrieve
stale data. For more information about cache coherency, see
cache_init().
|
This function was added in QNX Momentics 6.3.0 SP2. |
The following environment variables, if they exist,
affect the behavior of this function:
- CACHE_NOP
- Instructs the library that
the CACHE_FLUSH()
and CACHE_INVAL()
macros should have no effect.
- CACHE_MSYNC
- Instructs the library that the
CACHE_FLUSH()
and CACHE_INVAL()
macros should use the msync() C library call to perform
cache synchronization.
QNX Neutrino
Safety: | |
Cancellation point |
No |
Interrupt handler |
Yes |
Signal handler |
Yes |
Thread |
Yes |
CACHE_FLUSH() is implemented as a macro.
cache_fini(),
cache_init(),
CACHE_INVAL()
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/c/cache_flush.html on line 174
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/c/cache_flush.html on line 174