Hi James, On Wed, Aug 14, 2019 at 1:08 PM James Wang <[email protected]> wrote:
> Hi Simon, > > > > This is James and am working on u-boot to bring back MinGW tool chain for > cross compiling host tools for Windows on Linux. After complete the code, I > plan to generate a patch for community review. > Do you mean cross compiling U-Boot's mkimage tool for Windows on Linux using gcc-mingw-w64? Do you want to support building U-Boot on Windows as well? > > > During work, I face an compiling error in file > <arch/x86/include/asm/byteorder.h> with macro *CONFIG_IS_ENABLED*. After > some background study, seems this macro should not be available when > compiling host tools. > > > > After check history, it’s from 909780506773a9b09ae88cb267dbfa6a8d0caa7b on > 2017-01-16 22:04:04, Below is the log message > > > > * x86: Fix up byteorder.h for x86_64* > > > > * Remove the very old x86 code and add support for 64-bit.* > > > > * Signed-off-by: Simon Glass <[email protected] <[email protected]>>* > > *Reviewed-by: Bin Meng [email protected] <[email protected]>* > > > > Below are the relevant changes. > > > > *+#define _constant_swab16(x) > ((__u16)( \* > > *+ (((__u16)(x) & (__u16)0x00ffU) << 8) | > \* > > *+ (((__u16)(x) & (__u16)0xff00U) >> 8)))* > > *+* > > *static __inline__ __u16 ___arch__swab16(__u16 x)* > > *{* > > *+#if CONFIG_IS_ENABLED(X86_64) * > > *+ return _constant_swab16(x);* > > *+#else* > > * __asm__("xchgb %b0,%h0" /* swap > bytes */ \* > > * : "=q" (x) \* > > * : "0" (x)); \* > > * return x;* > > *+#endif* > > *}* > > > > I am not familiar with x86 instructions and not understand the purpose of > this change, is it because instruction “xchgb” not available on 64-bit > architecture or something else? > I can't remember the details of why Simon changed this. xchgb is available in 64-bit. We probably need revert this change, Simon? Regards, Bin
_______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

