aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/multiboot.cc
blob: e0626f0e62ff33902f76afbd9b5828479bd0ba65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
#include <multiboot2.h>

typedef multiboot_uint16_t uint16_t;
typedef multiboot_uint32_t uint32_t;

uint32_t check_multiboot(uint32_t mb_magic, uint32_t mb_addr) {
  if (mb_magic != MULTIBOOT2_BOOTLOADER_MAGIC) return 0;
  if (mb_addr & 7) return 0;

  const uint32_t size = *reinterpret_cast<uint32_t*>(mb_addr);
  return size;
}