vdso_kernel_internal.h 874 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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_INTERNAL_H
  11. #define RT_VDSO_KERNEL_INTERNAL_H
  12. #include <rthw.h>
  13. #include <vdso_data_page.h>
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. extern struct rt_vdso_data_page *rt_vdso_kernel_data_page;
  18. rt_inline struct rt_vdso_data_page *rt_vdso_get_kernel_data_page(void)
  19. {
  20. return rt_vdso_kernel_data_page;
  21. }
  22. rt_inline void rt_vdso_data_page_write_begin(struct rt_vdso_data_page *data_page)
  23. {
  24. data_page->seq_counter += 1;
  25. rt_hw_dmb();
  26. }
  27. rt_inline void rt_vdso_data_page_write_end(struct rt_vdso_data_page *data_page)
  28. {
  29. rt_hw_dmb();
  30. data_page->seq_counter += 1;
  31. }
  32. #ifdef __cplusplus
  33. }
  34. #endif
  35. #endif /* RT_VDSO_KERNEL_INTERNAL_H */