1
0
Fork 0
forked from len0rd/rockbox

Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16981 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Michael Sevakis 2008-04-06 04:34:57 +00:00
parent be698f086d
commit 05099149f1
40 changed files with 323 additions and 126 deletions

View file

@ -21,12 +21,12 @@
#include "plugin.h"
#include "mpegplayer.h"
static struct mutex disk_buf_mtx NOCACHEBSS_ATTR;
static struct event_queue disk_buf_queue NOCACHEBSS_ATTR;
static struct queue_sender_list disk_buf_queue_send NOCACHEBSS_ATTR;
static struct mutex disk_buf_mtx SHAREDBSS_ATTR;
static struct event_queue disk_buf_queue SHAREDBSS_ATTR;
static struct queue_sender_list disk_buf_queue_send SHAREDBSS_ATTR;
static uint32_t disk_buf_stack[DEFAULT_STACK_SIZE*2/sizeof(uint32_t)];
struct disk_buf disk_buf NOCACHEBSS_ATTR;
struct disk_buf disk_buf SHAREDBSS_ATTR;
static struct list_item nf_list;
static inline void disk_buf_lock(void)
@ -566,7 +566,7 @@ static int disk_buf_probe(off_t start, size_t length,
{
if (disk_buf.cache[page] != tag)
{
static struct dbuf_range rng NOCACHEBSS_ATTR;
static struct dbuf_range rng IBSS_ATTR;
DEBUGF("disk_buf: cache miss\n");
rng.tag_start = tag;
rng.tag_end = tag_end;