ARM_SYNC_ICACHE(2) BSD/arm System Calls Manual ARM_SYNC_ICACHE(2)NAME
arm_sync_icache -- clean the CPU data cache and flush the CPU instruction cache
LIBRARY
ARM Architecture Library (libarm, -larm)
SYNOPSIS
#include <machine/sysarch.h>
int
arm_sync_icache(u_int addr, int len);
DESCRIPTION
arm_sync_icache() will make sure that all the entries in the processor instruction cache are synchronized with main memory and that any data
in a write back cache has been cleaned. Some ARM processors (e.g. SA110) have separate instruction and data caches thus any dynamically gen-
erated or modified code needs to be written back from any data caches to main memory and the instruction cache needs to be synchronized with
main memory.
On such processors arm_sync_icache() will clean the data cache and invalidate the processor instruction cache to force reloading from main
memory. On processors that have a shared instruction and data cache and have a write through cache (e.g. ARM6) no action needs to be taken.
The routine takes a start address addr and a length len to describe the area of memory that needs to be cleaned and synchronized.
ERRORS
arm_sync_icache() will never fail so will always return 0.
REFERENCES
StrongARM Data Sheet
BSD March 29, 2002 BSD
Check Out this Related Man Page
sync_instruction_memory(3C) Standard C Library Functions sync_instruction_memory(3C)NAME
sync_instruction_memory - make modified instructions executable
SYNOPSIS
void sync_instruction_memory(caddr_t addr, int len);
DESCRIPTION
The sync_instruction_memory() function performs whatever steps are required to make instructions modified by a program executable.
Some processor architectures, including some SPARC processors, have separate and independent instruction and data caches which are not
kept consistent by hardware. For example, if the instruction cache contains an instruction from some address and the program then stores a
new instruction at that address, the new instruction may not be immediately visible to the instruction fetch mechanism. Software must
explicitly invalidate the instruction cache entries for new or changed mappings of pages that might contain executable instructions. The
sync_instruction_memory() function performs this function, and/or any other functions needed to make modified instructions between addr and
addr+len visible. A program should call sync_instruction_memory() after modifying instructions and before executing them.
On processors with unified caches (one cache for both instructions and data) and pipelines which are flushed by a branch instruction, such
as the x86 architecture, the function may do nothing and just return.
The changes are immediately visible to the thread calling sync_instruction_memory() when the call returns, even if the thread should
migrate to another processor during or after the call. The changes become visible to other threads in the same manner that stores do; that
is, they eventually become visible, but the latency is implementation-dependent.
The result of executing sync_instruction_memory() are unpredictable if addr through addr+len-1 are not valid for the address space of the
program making the call.
RETURN VALUES
No values are returned.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO attributes(5)SunOS 5.11 12 Feb 1997 sync_instruction_memory(3C)
Introduction
I have seen some misinformation regarding Unix file permissions. I will try to set the record straight. Take a look at this example of some output from ls:
$ ls -ld /usr/bin /usr/bin/cat
drwxrwxr-x 3 root bin 8704 Sep 23 2004 /usr/bin
-r-xr-xr-x 1 bin bin ... (6 Replies)
I have a file which looks roughly like this:
996 mmmmmmm
996 xxxxxxxxxxxxx
99600 ssssssssss
9964 fffffffffffff
and would like to sort it numerically on the first field. I tried:
sort -nr --key=1 ....
The output I get is:
99600 ssssssssss
9964 ... (3 Replies)
Suppose I have a main() function with only one malloc statement allocating say some 1 gb memory. Also say my system has 1 gb of ram.
main()
{
malloc(1gb)
return(0)
}
The program above exits without freeing the memory.
In this case will the 1 gb of heap memory be returned... (9 Replies)
I'm trying to install a PGX32 video card on my Sparc 10 Ultra running Solaris 10.
I've got the Oracle installation guide for it and I got as far as:
"4. Insert the CD-ROM labeled “GFX OpenWindows for Solaris 2” into the drive."
I don't have a CD-ROM by that name and a web search for that... (21 Replies)
Hey All,
Quick question...
I'm writing a short script to check if a continuous port is running on a server.
I'm using "ps -ef | grep -v grep | grep processName" and I was wondering if it was better/more reliable to just check the
return code from the command or if its better to pipe to... (12 Replies)
I installed NetBSD 6.1.2 amd64 and can't find the apm utility. Is it not in the base system?
Is it necessary to recompile the default amd64 kernel to use apm?
Or is there a new method for power management and suspend/resume? (2 Replies)
Hi,
I am learning shell scripting for the first time. I use AT&T Korn Shell, Version AJM 93u+ 2012-08-01, compiled from source on NetBSD.
So far I have managed to set up what I think is a useful and pleasing shell prompt, which can be seen in the image attached to this post.
The prompt is... (2 Replies)
Hey gang, I have a list of times I need to sum up. This list can vary from a few to a few thousand entries. Now I had found a closed reference to adding time titled "add up time with xx:yy format in bash how?" In it, the example works great for that formatted list of times... This is the reply code... (5 Replies)
Usually when I on the evening go to bed I take some interesting book with me. I read it for a while to get me down to sleep. Probably most people seek information from the Nett by googleing but I am so oldfashioned I prefer a real book ;)
But what a book. The one I found and ordered is BSD Unix®... (0 Replies)
On the late 1960s I got short hands on experience with a russian "small" computer. It vas a copy of DEC's VAX ... and running some version of BSD-Unix. After that I worked in a university following the development of computing. After retire I started collecting old pc's and installing... (13 Replies)