Volume 2, Part 1: Processor Abstraction Layer
2:371
PAL_CACHE_FLUSH
throughout the coherence domain. The procedure will perform the necessary
serialization and synchronization as required by the architecture.
This call does not ensure that data in the processors coalescing buffers are flushed to
memory. See Section 4.4.5, “Coalescing Attribute” on
coalescing buffers.
The
operation
parameter controls how this call will operate. The
operation
parameter
has the following format:
Figure 11-1.
operation
Parameter Layout
•
inv
–
1 bit field indicating whether to invalidate clean lines in the cache.
If this bit is 0, all modified cache lines for the specified
cache_type
are copied back
to memory. Optimally, modified and non-modified cache lines are left valid in the
specified cache in a clean (non-modified) state. However, based on the processor
implementation, cache lines in the specified cache may alternatively be invalidated.
If this bit is 1, all modified cache lines for the specified
cache_type
are flushed by
copying the cache line to memory. All cache lines in the specified cache are then
invalidated.
If
cache_type
is equal to 4 (make local instruction caches coherent with the data
caches) the
inv
bit will be ignored.
will clarify the effects of the
inv
bit. The modified state represents a
cache line that contains modified data. The clean state represents a cache line that
contains no modified data.
•
int
–
1 bit field indicating if the processor will periodically poll for external interrupts
while flushing the specified
cache_type
(s).
If this bit is a 0, unmasked external interrupts will not be polled. The processor will
ignore all pending unmasked external interrupts until all cache lines in the specified
cache_type
(s) are flushed. Depending on the size of the processor’s caches, bus
bandwidth and implementation characteristics, flushing the caches can take a long
period of time, possibly delaying interrupt response times and potentially causing
I/O devices to fail.
If this bit is a 1, external interrupts will be polled periodically and will exit the
procedure if one is seen. If an unmasked external interrupt becomes pending, this
procedure will return and allow the caller to service the interrupt before all cache
lines in the specified
cache_type
(s) are flushed.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
reserved
int inv
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32
reserved
Table 11-65. Cache Line State when
inv
= 0
Old State
New State
Comments
Invalid
Invalid
Clean
Clean
a
a. Based on the processor implementation the cache line can be invalidated or left in a model-specific clean
state
Modified
Clean
a
Modified data is copied back to memory
Summary of Contents for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Page 1: ......
Page 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Page 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Page 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Page 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Page 230: ......
Page 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Page 380: ...2 132 Volume 2 Part 1 Interruptions ...
Page 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Page 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Page 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Page 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Page 808: ...2 560 Volume 2 Part 2 Context Management ...
Page 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Page 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Page 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Page 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Page 891: ......
Page 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Page 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Page 1296: ......
Page 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...