[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 2/6] xen/riscv: introduce asm/types.h header file
On 11.01.2023 11:22, Xenia Ragiadakou wrote: > > On 1/11/23 11:08, Jan Beulich wrote: >> On 11.01.2023 09:47, Oleksii wrote: >>> On Tue, 2023-01-10 at 17:58 +0100, Jan Beulich wrote: >>>> On 10.01.2023 16:17, Oleksii Kurochko wrote: >>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> >>>>> --- >>>>> Changes in V3: >>>>> - Nothing changed >>>>> --- >>>>> Changes in V2: >>>>> - Remove unneeded now types from <asm/types.h> >>>> >>>> I guess you went a little too far: Types used in common code, even if >>>> you >>> It looks then I didn't understand which one of types are needed. >>> >>> In "[PATCH v1 2/8] xen/riscv: introduce asm/types.h header file" all >>> types were introduced as most of them are used in <xen/types.h>: >>> __{u|s}{8|16|32|64}. Thereby it looks like the following types in >>> <asm/types.h> should be present from the start: >>> typedef __signed__ char __s8; >>> typedef unsigned char __u8; >>> >>> typedef __signed__ short __s16; >>> typedef unsigned short __u16; >>> >>> typedef __signed__ int __s32; >>> typedef unsigned int __u32; >>> >>> #if defined(__GNUC__) && !defined(__STRICT_ANSI__) >>> #if defined(CONFIG_RISCV_32) >>> typedef __signed__ long long __s64; >>> typedef unsigned long long __u64; >>> #elif defined (CONFIG_RISCV_64) >>> typedef __signed__ long __s64; >>> typedef unsigned long __u64; >>> #endif >>> #endif >>> >>> Then it turns out that there is no any sense in: >>> typedef signed char s8; >>> typedef unsigned char u8; >>> >>> typedef signed short s16; >>> typedef unsigned short u16; >>> >>> typedef signed int s32; >>> typedef unsigned int u32; >>> >>> typedef signed long long s64; >>> typedef unsigned long long u64; >>> OR >>> typedef signed long s64; >>> typedef unsigned long u64; >>> As I understand instead of them should be used: {u|s}int<N>_t. >> >> Hmm, the situation is worse than I thought (recalled) it was: You're >> right, xen/types.h actually uses __{u,s}<N>. So I'm sorry for mis- >> guiding you; we'll need to do more cleanup first for asm/types.h to >> become smaller. > > What is the reason for not declaring __{u,s}<N> directly in xen/types.h > as type alias to {u,s}<N>? > > IIUC __{u,s}<N> and {u,s}<N> are needed by code ported from Linux while > Xen code should use {u|s}int<N>_t instead, right? Yes. Hence in the long run only Linux files should get to see __{u,s}<N> and {u,s}<N>, perhaps from a new linux-types.h. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |