From 5cdd863e7092246da9a008c6ecc5ecae50a891ea Mon Sep 17 00:00:00 2001 From: eeb Date: Wed, 6 Apr 2005 10:49:52 +0000 Subject: [PATCH] * changed vibnal compilation checks to allow gcc < 3.0.0 and allow HIGHMEM4G on x86 (bug 5852) --- lnet/klnds/viblnd/viblnd.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lnet/klnds/viblnd/viblnd.h b/lnet/klnds/viblnd/viblnd.h index f25775e..4383c98 100644 --- a/lnet/klnds/viblnd/viblnd.h +++ b/lnet/klnds/viblnd/viblnd.h @@ -78,8 +78,8 @@ /* GCC 3.2.2, miscompiles this driver. * See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9853. */ #define GCC_VERSION ((__GNUC__*100 + __GNUC_MINOR__)*100 + __GNUC_PATCHLEVEL__) -#if GCC_VERSION < 30203 -#error Invalid GCC version. Must use GCC >= 3.2.3 +#if (GCC_VERSION >= 30000) && (GCC_VERSION < 30203) +# error Invalid GCC version. Must use GCC < 3.0.0 || GCC >= 3.2.3 #endif #if CONFIG_SMP @@ -547,7 +547,12 @@ kibnal_page2phys (struct page *p) #if IBNAL_VOIDSTAR_SGADDR # if CONFIG_HIGHMEM -# error "Can't support HIGHMEM when vv_scatgat_t::v_address is void *" +# if CONFIG_X86 && CONFIG_HIGHMEM4G + /* truncation to void* doesn't matter if 0 <= physmem < 4G + * so allow x86 with 32 bit phys addrs */ +# else +# error "Can't support HIGHMEM when vv_scatgat_t::v_address is void *" +# endif # endif # define KIBNAL_ADDR2SG(a) ((void *)((unsigned long)(a))) # define KIBNAL_SG2ADDR(a) ((__u64)((unsigned long)(a))) -- 1.8.3.1