File: util.h

package info (click to toggle)
crust-firmware 0.6-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,900 kB
  • sloc: ansic: 19,341; yacc: 596; lex: 479; makefile: 334; asm: 215; sh: 136; python: 42
file content (21 lines) | stat: -rw-r--r-- 443 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * Copyright © 2017-2022 The Crust Firmware Authors.
 * SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
 */

#ifndef LIB_UTIL_H
#define LIB_UTIL_H

#ifdef __ASSEMBLER__
#define U(n)          (n)
#else
#define U(n)          (n ## U)
#endif

#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))

#define BIT(n)        (U(1) << (n))

#define GENMASK(h, l) ((U(0xffffffff) << (l)) & (U(0xffffffff) >> (31 - (h))))

#endif /* LIB_UTIL_H */