Powerpc Fixes (part 1):

- Enable builds for powerpc ISA type.
- Add DIV_ROUND_UP and roundup macros if unavailable.
- Cast 64-bit values for %lld format string to (long long) to
  quiet compile warning.
This commit is contained in:
Brian Behlendorf 2009-05-20 12:23:24 -07:00
parent fe4573928f
commit 3731931529
3 changed files with 30 additions and 7 deletions

View File

@ -39,7 +39,22 @@ extern "C" {
#define _ILP32
#endif
#else /* Currently only x86_64 and i386 arches supported */
/* powerpc (ppc64) arch specific defines */
#elif defined(__powerpc) || defined(__powerpc__)
#if !defined(__powerpc)
#define __powerpc
#endif
#if !defined(__powerpc__)
#define __powerpc__
#endif
#if !defined(_LP64)
#define _LP64
#endif
#else /* Currently only x86_64, i386, and powerpc arches supported */
#error "Unsupported ISA type"
#endif

View File

@ -157,6 +157,12 @@ extern uint32_t zone_get_hostid(void *zone);
#ifndef ABS
#define ABS(a) ((a) < 0 ? -(a) : (a))
#endif
#ifndef DIV_ROUND_UP
#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
#endif
#ifndef roundup
#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
#endif
/*
* Compatibility macros/typedefs needed for Solaris -> Linux port

View File

@ -85,7 +85,8 @@ splat_kobj_test2(struct file *file, void *arg)
if (!buf) {
rc = -ENOMEM;
splat_vprint(file, SPLAT_KOBJ_TEST2_NAME, "Failed to alloc "
"%lld bytes for tmp buffer (%d)\n", size, rc);
"%lld bytes for tmp buffer (%d)\n",
(long long)size, rc);
goto out;
}
@ -104,7 +105,8 @@ splat_kobj_test2(struct file *file, void *arg)
rc = -EFBIG;
splat_vprint(file, SPLAT_KOBJ_TEST2_NAME, "Stat'ed size "
"(%lld) does not match number of bytes read "
"(%lld)\n", size, (uint64_t)strlen(buf));
"(%lld)\n", (long long)size,
(long long)strlen(buf));
goto out2;
}
@ -112,7 +114,7 @@ splat_kobj_test2(struct file *file, void *arg)
splat_vprint(file, SPLAT_KOBJ_TEST2_NAME, "\n%s\n", buf);
splat_vprint(file, SPLAT_KOBJ_TEST2_NAME, "Successfully stat'ed "
"and read expected number of bytes (%lld) from test "
"file: %s\n", size, SPLAT_KOBJ_TEST_FILE);
"file: %s\n", (long long)size, SPLAT_KOBJ_TEST_FILE);
out2:
kfree(buf);
out: