My Kernel v0.1.0
arch.h
1#pragma once
2
3#if defined(__i386__)
4#define ARCH_IS_32_BITS
5#define ARCH_WORD_SIZE 4
6#define ARCH_LITTLE_ENDIAN
7#elif defined(__x86_64__)
8#define ARCH_IS_64_BITS
9#define ARCH_WORD_SIZE 8
10#define ARCH_LITTLE_ENDIAN
11#else
12#error Unsupported CPU architecture
13#endif
14
15#ifndef ARCH_LITTLE_ENDIAN
16#error Unsupported endianness
17#endif