boot_info.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /**
  2. * @file boot_info.h
  3. * @brief 启动信息接口
  4. */
  5. #pragma once
  6. #include "glib.h"
  7. /**
  8. * @brief 启动信息接口
  9. * 由引导传递的机器信息处理
  10. * 如 grub2 传递的 multiboot2 结构
  11. * 注意这部分是通过内存传递的,在重新保存之前不能被覆盖
  12. * 架构专有的数据在 dtb.h 或 multiboot2.h
  13. * 实现在 dtb.cpp 或 multiboot2.cpp
  14. */
  15. /// 声明,定义在具体的实现中
  16. /// 地址
  17. extern uintptr_t boot_info_addr;
  18. /// 长度
  19. extern unsigned int boot_info_size;
  20. /**
  21. * @brief 初始化,定义在具体实现中
  22. * @return true 成功
  23. * @return false 成功
  24. */
  25. extern int init(void);
  26. /**
  27. * @brief 获取物理内存信息
  28. * @return resource_t 物理内存资源信息
  29. */
  30. //extern resource_t get_memory(void);
  31. /**
  32. * @brief 获取 clint 信息
  33. * @return resource_t clint 资源信息
  34. */
  35. //extern resource_t get_clint(void);
  36. /**
  37. * @brief 获取 plic 信息
  38. * @return resource_t plic 资源信息
  39. */
  40. //extern resource_t get_plic(void);