summaryrefslogtreecommitdiffhomepage
path: root/dev/boot/BootKit/BitManip.h
blob: e4af0bf6401c1f16d91212d879c6e19d595e19dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* -------------------------------------------

	Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.

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

#ifndef __BITMANIP_H__
#define __BITMANIP_H__

/// File: BitManip.h
/// Purpose: Bit manipulation helpers, based on coreboot-dev.

#define bk_set_bit(X, O)	  X = (1 << O) | X
#define bk_clear_bit(X, O)	  X = ~(1 << O) & X
#define bk_toogle(X, O)		  X = (1 << O) ^ X
#define bk_lsb(X)			  X = X & -X
#define bk_msb(X)			  X = -(mp_lsb(X)) & X
#define bk_look_for_bit(X, O) (1 << O) | X

#endif // ifndef __BITMANIP_H__