Commit a6c94776 authored by Neil Turton's avatar Neil Turton
Browse files

Version RO_3_70 taken

parent e8423b0a
......@@ -13,6 +13,8 @@ Copyright
| Last Issue : 1 |
-----------------------------------------
* NOTE: see StrongARM file for change to DMA manager behaviour
Contents
--------
......
......@@ -18,8 +18,8 @@
GBLS VString
GBLS Date
Version SETA 011 ; 000
VString SETS "0.11" ; "0.00"
Date SETS "03 Mar 1995" ; "13 Jul 1993"
Version SETA 012 ; 000
VString SETS "0.12" ; "0.00"
Date SETS "24 Jul 1996" ; "13 Jul 1993"
END
......@@ -283,6 +283,10 @@ DMACreatePageTable
;
; Fill in physical addresses in page table and mark pages as uncacheable
; if reading to memory.
; However, if StrongARM true, then mark pages as uncacheable for either
; direction of transfer (we could be running on StrongARM, which has
; write-back data cache, so DMA from memory to device can be out of date
; wrt cache).
;
DMAConvertPageTable
ENTRY "r0-r3"
......@@ -296,11 +300,21 @@ DMAConvertPageTable
EXIT VS
LDR r2, [r10, #dmar_PageCount]
LDR r3, [r10, #dmar_Flags]
[ StrongARM
ORR r3, r3, #dmarf_Uncacheable ; set uncacheable flag
STR r3, [r10, #dmar_Flags]
|
TST r3, #dmarf_Direction ; If reading to memory then
ORREQ r3, r3, #dmarf_Uncacheable ; set uncacheable flag
STREQ r3, [r10, #dmar_Flags]
]
[ MemManager
ORREQ r0, r0, #Memory_SetUncacheable ; and mark pages as uncacheable.
[ StrongARM
ORR r0, r0, #Memory_SetUncacheable ; and mark pages as uncacheable.
|
ORREQ r0, r0, #Memory_SetUncacheable ; and mark pages as uncacheable if necessary.
]
Debug dma," OS_Memory flags,ptable,entries =",r0,r1,r2
SWI XOS_Memory
BICVS r3, r3, #dmarf_Uncacheable ; If conversion failed then pages not uncacheable
......
......@@ -59,6 +59,9 @@ term SETD false
purge SETD false
tmp SETD false
GBLL StrongARM
StrongARM SETL true
GBLL standalone
standalone SETL false
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment