summaryrefslogtreecommitdiffhomepage
path: root/lib/mp-bit.h
blob: 517f44adc7d6192e2880afa8ba51bb4e2b0d0ca8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* -------------------------------------------

	Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved.

------------------------------------------- */

#ifndef __BITMANIP_H__
#define __BITMANIP_H__

/// Name: CoreBoot Bits API.
/// Purpose: Bit manip helpers.

#define cb_set_bit(X, O)   X = (1 << O) | X
#define cb_clear_bit(X, O) X = ~(1 << O) & X
#define cb_toogle(X, O)	   X = (1 << O) ^ X
#define cb_lsb(X)		   X = X & -X
#define cb_msb(X)		   X = -(cb_lsb(X)) & X

#endif // ifndef __BITMANIP_H__