forked from len0rd/rockbox
Portal Player: Add invalidate_icache and flush_icache. Flush the cache on the core for newborn threads. In doing so, move more ARM stuff to the target tree and organize it to make a clean job of it. If anything isn't appropriate for some particular device give a hollar or even just fix it by some added #ifdefing. I was informed that the PP targets are register compatible so I'm going off that advice. The Sansa likes it though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13144 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
e10f455fbd
commit
d95c39072a
8 changed files with 263 additions and 180 deletions
|
|
@ -19,6 +19,9 @@
|
|||
#ifndef SYSTEM_TARGET_H
|
||||
#define SYSTEM_TARGET_H
|
||||
|
||||
#define nop \
|
||||
asm volatile ("trapf")
|
||||
|
||||
#define or_l(mask, address) \
|
||||
asm \
|
||||
("or.l %0,(%1)" \
|
||||
|
|
@ -147,6 +150,7 @@ static inline uint32_t swap_odd_even32(uint32_t value)
|
|||
return value;
|
||||
}
|
||||
|
||||
#define HAVE_INVALIDATE_ICACHE
|
||||
static inline void invalidate_icache(void)
|
||||
{
|
||||
asm volatile ("move.l #0x01000000,%d0\n"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue