Index: kernel/generic/src/ps/load.c
===================================================================
--- kernel/generic/src/ps/load.c	(revision c0379fcd0ca28d6439cb4dbc7c14648b1e2d8462)
+++ kernel/generic/src/ps/load.c	(revision 79edc36068b3e69b1d1719de0dc8332601090c30)
@@ -47,5 +47,5 @@
 static size_t get_running_count(void);
 
-size_t avenrun[3];
+unsigned long avenrun[3];
 
 #define FSHIFT   11		/* nr of bits of precision */
@@ -56,10 +56,12 @@
 #define EXP_15 2037		/* 1/exp(5sec/15min) */
 
-#define CALC_LOAD(load,exp,n) \
-	load *= exp; \
-	load += n*(FIXED_1-exp); \
-	load >>= FSHIFT;
+void get_avenrun(unsigned long *loads, int shift)
+{
+	loads[0] = avenrun[0] << shift;
+	loads[1] = avenrun[1] << shift;
+	loads[2] = avenrun[2] << shift;
+}
 
-static inline unsigned long calc_load(size_t load, size_t exp, size_t active)
+static inline unsigned long calc_load(unsigned long load, size_t exp, size_t active)
 {
 	load *= exp;
@@ -120,7 +122,9 @@
 }
 
-int sys_ps_get_load(size_t *user_load)
+int sys_ps_get_load(unsigned long *user_load)
 {
-	copy_to_uspace(user_load, avenrun, sizeof(avenrun));
+	unsigned long loads[3];
+	get_avenrun(loads, 5);
+	copy_to_uspace(user_load, loads, sizeof(loads));
 	return 0;
 }
