bitfield.h 710 B

12345678910111213141516171819202122232425
  1. /*
  2. * linux/arch/unicore32/include/mach/bitfield.h
  3. *
  4. * Code specific to PKUnity SoC and UniCore ISA
  5. *
  6. * Copyright (C) 2001-2010 GUAN Xue-tao
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #ifndef __MACH_PUV3_BITFIELD_H__
  13. #define __MACH_PUV3_BITFIELD_H__
  14. #ifndef __ASSEMBLY__
  15. #define UData(Data) ((unsigned long) (Data))
  16. #else
  17. #define UData(Data) (Data)
  18. #endif
  19. #define FIELD(val, vmask, vshift) (((val) & ((UData(1) << (vmask)) - 1)) << (vshift))
  20. #define FMASK(vmask, vshift) (((UData(1) << (vmask)) - 1) << (vshift))
  21. #endif /* __MACH_PUV3_BITFIELD_H__ */