PatchworkOS  321f6ec
A non-POSIX operating system.
Loading...
Searching...
No Matches
utils.h
Go to the documentation of this file.
1#pragma once
2
3/**
4 * @brief Kernel utilities.
5 * @defgroup kernel_utils Utilities
6 * @ingroup kernel
7 */
8
9#define READ_8(address) (*((volatile uint8_t*)(address)))
10#define WRITE_8(address, value) (*((volatile uint8_t*)(address)) = (uint8_t)value)
11
12#define READ_16(address) (*((volatile uint16_t*)(address)))
13#define WRITE_16(address, value) (*((volatile uint16_t*)(address)) = (uint16_t)value)
14
15#define READ_32(address) (*((volatile uint32_t*)(address)))
16#define WRITE_32(address, value) (*((volatile uint32_t*)(address)) = (uint32_t)value)
17
18#define READ_64(address) (*((volatile uint64_t*)(address)))
19#define WRITE_64(address, value) (*((volatile uint64_t*)(address)) = (uint64_t)value)