diff --git a/src/kernel/qpixmapcache.cpp b/src/kernel/qpixmapcache.cpp
index c2e7d9b..8d39585 100644
--- a/src/kernel/qpixmapcache.cpp
+++ b/src/kernel/qpixmapcache.cpp
@@ -123,9 +123,12 @@ void cleanup_pixmap_cache();
 #ifdef THROW_AWAY_UNUSED_PAGES
 # include <sys/mman.h> // madvise
-# include <asm/page.h> // PAGE_SIZE,PAGE_MASK,PAGE_ALIGN
+# include <unistd.h>	// getpagesize()
+# if (!defined(PAGE_ALIGN)) && defined(PAGE_SIZE) && defined(PAGE_MASK)
+#  define PAGE_ALIGN(addr)	(((addr)+PAGE_SIZE-1)&PAGE_MASK)
+# endif
 # ifndef PAGE_ALIGN
-# define PAGE_ALIGN(addr)	(((addr)+PAGE_SIZE-1)&PAGE_MASK)
-# endif // PAGE_ALIGN
+#  define PAGE_ALIGN(addr)      (((addr)+getpagesize()-1)&~(getpagesize()-1))
+# endif
 #endif // THROW_AWAY_UNUSED_PAGES