00001 /* 00002 * kernel_arch/i386/kernel/cpu/byteorder.c 00003 * 00004 * Copyright (c) 2003-2005 Lukasz Dembinski <dembol@nasa.com.pl> 00005 * All Rights Reserved 00006 * 00007 * Date: 2005/02 00008 * Author: Lukasz Dembinski 00009 * Info: byteorder.c core file 00010 * Contact: mailto: <dembol@nasa.com.pl> 00011 * 00012 */ 00013 00014 #include <agnix/agnix.h> 00015 #include <agnix/adi/adi.h> 00016 #include <asm/cpu_ops.h> 00017 #include <asm/bitops.h> 00018 00019 inline u32 be32_to_le32(u32 val) { 00020 __asm__ ("bswap %0" : "=r" (val) : "0" (val)); 00021 00022 return val; 00023 } 00024 00025 inline u16 be16_to_le16(u16 val) { 00026 __asm__ ("xchgb %b0, %h0" : "=q" (val) : "0" (val)); 00027 00028 return val; 00029 }