diff options
| -rw-r--r-- | sys/src/9/bcm/fns.h | 2 | ||||
| -rw-r--r-- | sys/src/9/port/devsd.c | 2 | ||||
| -rw-r--r-- | sys/src/9/port/sd.h | 9 |
3 files changed, 3 insertions, 10 deletions
diff --git a/sys/src/9/bcm/fns.h b/sys/src/9/bcm/fns.h index f32132056..a9944a383 100644 --- a/sys/src/9/bcm/fns.h +++ b/sys/src/9/bcm/fns.h @@ -58,8 +58,6 @@ extern void procsave(Proc*); extern void procfork(Proc*); extern void procsetup(Proc*); extern void screeninit(void); -#define sdfree(p) free(p) -#define sdmalloc(n) mallocalign(n, CACHELINESZ, 0, 0) extern void setpower(int, int); extern void setr13(int, u32int*); extern int splfhi(void); diff --git a/sys/src/9/port/devsd.c b/sys/src/9/port/devsd.c index 6474a68f0..049338e90 100644 --- a/sys/src/9/port/devsd.c +++ b/sys/src/9/port/devsd.c @@ -843,7 +843,7 @@ sdbio(Chan* c, int write, char* a, long len, uvlong off) len = nb*unit->secsize - offset; hard = offset || write && len%unit->secsize; - if(iskaddr(a) && !hard) { + if(iskaddr(a) && ((uintptr)a & (BY2PG-1))==0 && !hard) { b = (uchar*)a; allocd = 0; }else{ diff --git a/sys/src/9/port/sd.h b/sys/src/9/port/sd.h index 97894f922..685d1c7c4 100644 --- a/sys/src/9/port/sd.h +++ b/sys/src/9/port/sd.h @@ -145,15 +145,10 @@ enum { }; /* - * Allow the default #defines for sdmalloc & sdfree to be overridden by - * system-specific versions. This can be used to avoid extra copying - * by making sure sd buffers are cache-aligned (some ARM systems) or - * page-aligned (xen) for DMA. + * Avoid extra copying by making sd buffers page-aligned for DMA. */ -#ifndef sdmalloc -#define sdmalloc(n) malloc(n) +#define sdmalloc(n) mallocalign(n, BY2PG, 0, 0) #define sdfree(p) free(p) -#endif /* * mmc/sd/sdio host controller interface |
