mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
- I left LB_TAG_ intact because they are used by the payloads - file renames are still missing. see next commit - some lb_ renames might be missing. feel free to provide patches. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://coreboot.org/repository/coreboot-v3@564 f3766cd6-281f-0410-b1cd-43a5c92072e9
39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
/**
|
|
* This file is part of the coreboot project.
|
|
*
|
|
* It is based on include/linux/byteorder/swab.h from the Linux kernel.
|
|
*/
|
|
|
|
#ifndef ARCH_X86_SWAB_H
|
|
#define ARCH_X86_SWAB_H
|
|
|
|
/*
|
|
* linux/byteorder/swab.h
|
|
* Byte-swapping, independently from CPU endianness
|
|
* swabXX[ps]?(foo)
|
|
*
|
|
* Francois-Rene Rideau <fare@tunes.org> 19971205
|
|
* separated swab functions from cpu_to_XX,
|
|
* to clean up support for bizarre-endian architectures.
|
|
*
|
|
* See asm-i386/byteorder.h and suches for examples of how to provide
|
|
* architecture-dependent optimized versions
|
|
*
|
|
*/
|
|
|
|
/* casts are necessary for constants, because we never know how for sure
|
|
* how U/UL/ULL map to __u16, __u32, __u64. At least not in a portable way.
|
|
*/
|
|
#define swab16(x) \
|
|
((unsigned short)( \
|
|
(((unsigned short)(x) & (unsigned short)0x00ffU) << 8) | \
|
|
(((unsigned short)(x) & (unsigned short)0xff00U) >> 8) ))
|
|
|
|
#define swab32(x) \
|
|
((unsigned int)( \
|
|
(((unsigned int)(x) & (unsigned int)0x000000ffUL) << 24) | \
|
|
(((unsigned int)(x) & (unsigned int)0x0000ff00UL) << 8) | \
|
|
(((unsigned int)(x) & (unsigned int)0x00ff0000UL) >> 8) | \
|
|
(((unsigned int)(x) & (unsigned int)0xff000000UL) >> 24) ))
|
|
|
|
#endif /* ARCH_X86_SWAB_H */
|