olpc_ofw.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef _ASM_X86_OLPC_OFW_H
  2. #define _ASM_X86_OLPC_OFW_H
  3. /* index into the page table containing the entry OFW occupies */
  4. #define OLPC_OFW_PDE_NR 1022
  5. #define OLPC_OFW_SIG 0x2057464F /* aka "OFW " */
  6. #ifdef CONFIG_OLPC_OPENFIRMWARE
  7. extern bool olpc_ofw_is_installed(void);
  8. /* run an OFW command by calling into the firmware */
  9. #define olpc_ofw(name, args, res) \
  10. __olpc_ofw((name), ARRAY_SIZE(args), args, ARRAY_SIZE(res), res)
  11. extern int __olpc_ofw(const char *name, int nr_args, const void **args, int nr_res,
  12. void **res);
  13. /* determine whether OFW is available and lives in the proper memory */
  14. extern void olpc_ofw_detect(void);
  15. /* install OFW's pde permanently into the kernel's pgtable */
  16. extern void setup_olpc_ofw_pgd(void);
  17. /* check if OFW was detected during boot */
  18. extern bool olpc_ofw_present(void);
  19. #else /* !CONFIG_OLPC_OPENFIRMWARE */
  20. static inline bool olpc_ofw_is_installed(void) { return false; }
  21. static inline void olpc_ofw_detect(void) { }
  22. static inline void setup_olpc_ofw_pgd(void) { }
  23. static inline bool olpc_ofw_present(void) { return false; }
  24. #endif /* !CONFIG_OLPC_OPENFIRMWARE */
  25. #ifdef CONFIG_OLPC_OPENFIRMWARE_DT
  26. extern void olpc_dt_build_devicetree(void);
  27. #else
  28. static inline void olpc_dt_build_devicetree(void) { }
  29. #endif /* CONFIG_OLPC_OPENFIRMWARE_DT */
  30. #endif /* _ASM_X86_OLPC_OFW_H */