vdso_kernel.h 891 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * Copyright (c) 2006-2024 RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2024-07-04 rcitach init ver.
  9. */
  10. #ifndef RT_VDSO_KERNEL_H
  11. #define RT_VDSO_KERNEL_H
  12. #include <lwp.h>
  13. #include <vdso_constants.h>
  14. #include <vdso_data_page.h>
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. extern char __rt_vdso_image_start[];
  19. extern char __rt_vdso_image_end[];
  20. #define RT_VDSO_IMAGE_ELF_MAGIC "\177ELF"
  21. #define RT_VDSO_IMAGE_ELF_MAGIC_LEN 4
  22. #define RT_VDSO_DATA_PAGE_ALIGNED \
  23. __attribute__((section(".data.vdso.datapage"))) \
  24. __attribute__((aligned(RT_VDSO_PAGE_SIZE)))
  25. int rt_vdso_map_process_image(struct rt_lwp *lwp);
  26. void rt_vdso_sync_clock_data(void);
  27. void rt_vdso_set_realtime(const struct timespec *realtime);
  28. #ifdef __cplusplus
  29. }
  30. #endif
  31. #endif /* RT_VDSO_KERNEL_H */