From 77bfe7b36a14a18cdaf2195fef1ca41a8c3cc7c6 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Mon, 9 Jan 2023 13:48:53 +0100 Subject: [PATCH 1/4] Fix several sign-conversion warnings in interface headers This includes can trigger warnings when -Wsign-conversion is set. All conversions are fine, so silence them by explicit casts. Signed-off-by: Jan Kiszka --- include/xenomai/cobalt/uapi/kernel/synch.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/xenomai/cobalt/uapi/kernel/synch.h b/include/xenomai/cobalt/uapi/kernel/synch.h index a21eb965e7..a7cb9fb099 100644 --- a/include/xenomai/cobalt/uapi/kernel/synch.h +++ b/include/xenomai/cobalt/uapi/kernel/synch.h @@ -48,7 +48,7 @@ static inline xnhandle_t xnsynch_fast_ceiling(xnhandle_t handle) static inline int xnsynch_fast_owner_check(atomic_t *fastlock, xnhandle_t ownerh) { - return (xnhandle_get_id(atomic_read(fastlock)) == ownerh) ? + return (xnhandle_get_id((xnhandle_t)atomic_read(fastlock)) == ownerh) ? 0 : -EPERM; } @@ -57,7 +57,7 @@ int xnsynch_fast_acquire(atomic_t *fastlock, xnhandle_t new_ownerh) { xnhandle_t h; - h = atomic_cmpxchg(fastlock, XN_NO_HANDLE, new_ownerh); + h = (xnhandle_t)atomic_cmpxchg(fastlock, XN_NO_HANDLE, new_ownerh); if (h != XN_NO_HANDLE) { if (xnhandle_get_id(h) == new_ownerh) return -EBUSY; -- Gitee From ece0e919a89e23a0c665855908727100e238b803 Mon Sep 17 00:00:00 2001 From: Richard Weinberger Date: Tue, 5 Dec 2023 21:22:10 +0100 Subject: [PATCH 2/4] cobalt/drvlib: Prefault io memory again This issue was fixed a long time ago by 03d5b0b0083c ("cobalt/rtdm: fix caching and page fault issues with rtdm_iomap_to_user()"), later with commit c8e9e166b ("cobalt/rtdm: introduce mmap() support") iomap code lost again the call to cobalt_machine.prefault(). I have no idea why this took so longer to come up again. Last week, while upgrading an aarch32 setup from Xenomai 2 to Xenomai 3, the application failed due to massive latencies caused by page faults after writing to io memory. Signed-off-by: Richard Weinberger Signed-off-by: Jan Kiszka --- kernel/xenomai/rtdm/drvlib.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/kernel/xenomai/rtdm/drvlib.c b/kernel/xenomai/rtdm/drvlib.c index 5778ad559c..287769bdd8 100644 --- a/kernel/xenomai/rtdm/drvlib.c +++ b/kernel/xenomai/rtdm/drvlib.c @@ -1706,6 +1706,7 @@ static int mmap_iomem_helper(struct vm_area_struct *vma, phys_addr_t pa) { pgprot_t prot = PAGE_SHARED; unsigned long len; + int ret; len = vma->vm_end - vma->vm_start; #ifndef CONFIG_MMU @@ -1719,8 +1720,17 @@ static int mmap_iomem_helper(struct vm_area_struct *vma, phys_addr_t pa) #endif vma->vm_page_prot = pgprot_noncached(prot); - return remap_pfn_range(vma, vma->vm_start, pa >> PAGE_SHIFT, - len, vma->vm_page_prot); + ret = remap_pfn_range(vma, vma->vm_start, pa >> PAGE_SHIFT, + len, vma->vm_page_prot); + if (ret) + return ret; + +#ifdef CONFIG_MMU + if (cobalt_machine.prefault) + cobalt_machine.prefault(vma); +#endif + + return 0; } static int mmap_buffer_helper(struct rtdm_fd *fd, struct vm_area_struct *vma) -- Gitee From 85cec8b8dd1dcfc06b544b36a6791dc4344d0ce5 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Thu, 22 Aug 2024 18:07:08 +0200 Subject: [PATCH 3/4] analogy: Avoid warnings when CONFIG_XENO_DRIVERS_ANALOGY_DEBUG is off MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Provide an empty statement to avoid warnings like drivers/xenomai/analogy/testing/fake.c:642:71: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] Reported-by: Florian Bezdeka Signed-off-by: Jan Kiszka --- include/xenomai/rtdm/analogy/rtdm_helpers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/xenomai/rtdm/analogy/rtdm_helpers.h b/include/xenomai/rtdm/analogy/rtdm_helpers.h index 1de219f967..6799183c19 100644 --- a/include/xenomai/rtdm/analogy/rtdm_helpers.h +++ b/include/xenomai/rtdm/analogy/rtdm_helpers.h @@ -65,7 +65,7 @@ #else /* !CONFIG_XENO_DRIVERS_ANALOGY_DEBUG */ -#define __a4l_dbg(level, debug, fmt, args...) +#define __a4l_dbg(level, debug, fmt, args...) do {} while (0) #endif /* CONFIG_XENO_DRIVERS_ANALOGY_DEBUG */ -- Gitee From 88fa4e93e1f5d2875c8c68f4f95e5dac07e6437b Mon Sep 17 00:00:00 2001 From: zhanglin Date: Thu, 2 Jan 2025 13:53:11 +0800 Subject: [PATCH 4/4] init: Kconfig: modify xenomai version to 3.1.5 --- init/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig index f38c9bb727..462d56b3ee 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -2081,8 +2081,8 @@ config XENO_VERSION_MINOR config XENO_REVISION_LEVEL int - default 3 + default 5 config XENO_VERSION_STRING string - default "3.1.3" + default "3.1.5" -- Gitee