Re: FW: [PATCH 24/31] nds32: Miscellaneous header files

2 messages, 1 author, 2017-11-22 · open the first message on its own page

Re: FW: [PATCH 24/31] nds32: Miscellaneous header files

From: Vincent Chen <hidden>
Date: 2017-11-09 10:42:04

quoted
On Wed, Nov 8, 2017 at 6:55 AM, Greentime Hu [off-list ref] wrote:
+
+static inline void __delay(unsigned long loops) {
+       __asm__ __volatile__(".align 2\n"
+                            "1:\n"
+                            "\taddi\t%0, %0, -1\n"
+                            "\tbgtz\t%0, 1b\n"
+                            :"=r"(loops)
+                            :"0"(loops)); }
Does the architecture define a high-resolution clock source? If yes, then it's better to use that to get exact timing than to rely on the loop calibration.
Dear Arnd:

Thanks.
I will modify it in the next version patch.
quoted
+/*
+ * This file is generally used by user-level software, so you need to
+ * be a little careful about namespace pollution etc.  Also, we
+cannot
+ * assume GCC is being used.
+ */
+
+typedef unsigned short __kernel_mode_t; #define __kernel_mode_t
+__kernel_mode_t
+
+typedef unsigned short __kernel_ipc_pid_t; #define __kernel_ipc_pid_t
+__kernel_ipc_pid_t
+
+typedef unsigned short __kernel_uid_t; typedef unsigned short
+__kernel_gid_t; #define __kernel_uid_t __kernel_uid_t
+
+typedef unsigned short __kernel_old_dev_t; #define __kernel_old_dev_t
+__kernel_old_dev_t
+
+#include <asm-generic/posix_types.h>
I don't understand why you would want to override any of those.
Changing them unfortunately means rebuilding all of your user space, but I think it would be better to do that now than to suffer from this later on.

    Arnd
Thanks.
I will remove them in the next version patch.

Best regards
Vincent

Re: FW: [PATCH 24/31] nds32: Miscellaneous header files

From: Vincent Chen <hidden>
Date: 2017-11-22 05:45:37

2017-11-09 18:42 GMT+08:00 Vincent Chen [off-list ref]:
quoted
quoted
On Wed, Nov 8, 2017 at 6:55 AM, Greentime Hu [off-list ref] wrote:
+
+static inline void __delay(unsigned long loops) {
+       __asm__ __volatile__(".align 2\n"
+                            "1:\n"
+                            "\taddi\t%0, %0, -1\n"
+                            "\tbgtz\t%0, 1b\n"
+                            :"=r"(loops)
+                            :"0"(loops)); }
Does the architecture define a high-resolution clock source? If yes, then it's better to use that to get exact timing than to rely on the loop calibration.
Dear Arnd:

Thanks.
I will modify it in the next version patch.
Sorry.
Our architecture does not define a high-resolution clock source.
At that time, I promised you because I thought maybe I can use SOC
defined clock source to replace it.
For portability, It is a terrible method.
 we will keep the original implementation for __delay() in the next
version patch.

Vincent
quoted
quoted
+/*
+ * This file is generally used by user-level software, so you need to
+ * be a little careful about namespace pollution etc.  Also, we
+cannot
+ * assume GCC is being used.
+ */
+
+typedef unsigned short __kernel_mode_t; #define __kernel_mode_t
+__kernel_mode_t
+
+typedef unsigned short __kernel_ipc_pid_t; #define __kernel_ipc_pid_t
+__kernel_ipc_pid_t
+
+typedef unsigned short __kernel_uid_t; typedef unsigned short
+__kernel_gid_t; #define __kernel_uid_t __kernel_uid_t
+
+typedef unsigned short __kernel_old_dev_t; #define __kernel_old_dev_t
+__kernel_old_dev_t
+
+#include <asm-generic/posix_types.h>
I don't understand why you would want to override any of those.
Changing them unfortunately means rebuilding all of your user space, but I think it would be better to do that now than to suffer from this later on.

    Arnd
Thanks.
I will remove them in the next version patch.

Best regards
Vincent
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help