We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi
I work with the ARMV8 architecture, I want to disactivate L1 cache ,
to disable the L1 cache I found in the user manual"" The SCTLR.I bit enables or disables the L1 instruction cache. ""
my question here is: I did not find in the manual how to disable the L1 data cache, so how I can disable the L1 data cache?
that means if i want to disactivate the L1 cache I can only disable the instruction cache the I bit, and I cannot disable the L1 data cache?and to deactivate the L2 cace I deactivate the C bit,I who is not clear to me the L1 cache is a separate cache, so how can we not deactivate the L1 data cache?and if the C bit also deactivates the L1 data cache, it is worth saying that I cannot deactivate the L2 cache and only activate the L1 cache because from what I understood that if I deactivate the C bit it will disable L1's Data Cache too
C=0, I = 0 => no cache at all
C=1, I = 0 => L1 data cache is enabled and L2 caches only data.
C=0, I = 1 => only L1 instruction cache is enabled.
C=1, I =1 => L1 data/instruction cache and L2 unified cache enabled.
So do I need to do cache flush or anything else before set the C/I bit? or just set the C/I bit during the initialization of cache?
thanks in advance.