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

From: Vincent Chen
Date: Wed Nov 22 2017 - 00:45:42 EST


2017-11-09 18:42 GMT+08:00 Vincent Chen <deanbo422@xxxxxxxxx>:
>>>On Wed, Nov 8, 2017 at 6:55 AM, Greentime Hu <green.hu@xxxxxxxxx> 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
>>> +/*
>>> + * 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