[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC 09/23] lz4: add support for OSes that don't have asm/unaligned.h
On 24/04/14 10:28, Ian Campbell wrote: > On Wed, 2014-04-23 at 18:18 +0200, Roger Pau Monnà wrote: > >>> In the scaffolding and not by modifying the imported code I pressume? In >>> which case, good thanks! >> >> While working around this issue, I've noticed that xen/common/lz4/defs.h >> has one branch for little endian and another one for big endian, but >> while compiling libxc, "__LITTLE_ENDIAN" is not defined and we fall into >> big endian, which seems wrong, because we don't have support for any big >> endian arch. >> >> Would it be OK to get rid of the big endian case, and only support >> little endian by default? > > I think it would be better to #define __LITTLE_ENDIAN than to diverge > from the upstream of this file. We have already diverged from upstream by adding those __LITTLE_ENDIAN checks, the upstream file doesn't seem to contain them in any of the versions: http://lxr.free-electrons.com/source/lib/lz4/lz4defs.h The following patch removes this cruft, but I'm unsure if we want to keep this endianness differentiation: diff --git a/tools/libxc/xc_dom_decompress_lz4.c b/tools/libxc/xc_dom_decompress_lz4.c index 08272fe..490ec56 100644 --- a/tools/libxc/xc_dom_decompress_lz4.c +++ b/tools/libxc/xc_dom_decompress_lz4.c @@ -1,7 +1,6 @@ #include <stdio.h> #include <stdlib.h> #include <inttypes.h> -#include <endian.h> #include <stdint.h> #include "xg_private.h" diff --git a/xen/common/lz4/defs.h b/xen/common/lz4/defs.h index f46df08..d886a4e 100644 --- a/xen/common/lz4/defs.h +++ b/xen/common/lz4/defs.h @@ -12,7 +12,6 @@ #include <asm/byteorder.h> #endif -#ifdef __LITTLE_ENDIAN static inline u16 INIT get_unaligned_le16(const void *p) { return le16_to_cpup(p); @@ -22,19 +21,6 @@ static inline u32 INIT get_unaligned_le32(const void *p) { return le32_to_cpup(p); } -#else -#include <asm/unaligned.h> - -static inline u16 INIT get_unaligned_le16(const void *p) -{ - return le16_to_cpu(__get_unaligned(p, 2)); -} - -static inline u32 INIT get_unaligned_le32(void *p) -{ - return le32_to_cpu(__get_unaligned(p, 4)); -} -#endif /* * Detects 64 bits mode _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |