summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/bcm/fns.h2
-rw-r--r--sys/src/9/port/devsd.c2
-rw-r--r--sys/src/9/port/sd.h9
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