Hi, Arnd, On Tue, Jul 6, 2021 at 6:17 PM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > On Tue, Jul 6, 2021 at 6:18 AM Huacai Chen <chenhuacai@xxxxxxxxxxx> wrote: > > > diff --git a/arch/loongarch/include/asm/kmalloc.h b/arch/loongarch/include/asm/kmalloc.h > > new file mode 100644 > > index 000000000000..b318c41520d8 > > --- /dev/null > > +++ b/arch/loongarch/include/asm/kmalloc.h > > @@ -0,0 +1,10 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > +/* > > + * Copyright (C) 2020-2021 Loongson Technology Corporation Limited > > + */ > > +#ifndef __ASM_KMALLOC_H > > +#define __ASM_KMALLOC_H > > + > > +#define ARCH_DMA_MINALIGN L1_CACHE_BYTES > > + > > +#endif /* __ASM_KMALLOC_H */ > > You wrote elsewhere that DMA is cache-coherent, so this should not > be needed at all. OK, thanks. > > > diff --git a/arch/loongarch/include/asm/shmparam.h b/arch/loongarch/include/asm/shmparam.h > > new file mode 100644 > > index 000000000000..f726ac537710 > > --- /dev/null > > +++ b/arch/loongarch/include/asm/shmparam.h > > @@ -0,0 +1,12 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > +/* > > + * Copyright (C) 2020-2021 Loongson Technology Corporation Limited > > + */ > > +#ifndef _ASM_SHMPARAM_H > > +#define _ASM_SHMPARAM_H > > + > > +#define __ARCH_FORCE_SHMLBA 1 > > + > > +#define SHMLBA (4 * PAGE_SIZE) /* attach addr a multiple of this */ > > + > > +#endif /* _ASM_SHMPARAM_H */ > > I think this needs to be defined in a way that is independent of the configured > page size to minimize the differences between kernel configuration visible to > user space. > > Maybe make it always 64KB? OK, 64KB is good. > > > diff --git a/arch/loongarch/include/asm/sparsemem.h b/arch/loongarch/include/asm/sparsemem.h > > new file mode 100644 > > index 000000000000..9b57dc69f523 > > --- /dev/null > > +++ b/arch/loongarch/include/asm/sparsemem.h > > @@ -0,0 +1,21 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > +#ifndef _LOONGARCH_SPARSEMEM_H > > +#define _LOONGARCH_SPARSEMEM_H > > + > > +#ifdef CONFIG_SPARSEMEM > > + > > +/* > > + * SECTION_SIZE_BITS 2^N: how big each section will be > > + * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space > > + */ > > +#define SECTION_SIZE_BITS 29 > > +#define MAX_PHYSMEM_BITS 48 > > Maybe add a comment to explain how you got to '29'? OK, 2^29 = Largest Huge Page Size. > > > + > > +#ifdef CONFIG_PAGE_SIZE_4KB > > +#define PAGE_SHIFT 12 > > +#endif > > +#ifdef CONFIG_PAGE_SIZE_16KB > > +#define PAGE_SHIFT 14 > > +#endif > > +#ifdef CONFIG_PAGE_SIZE_64KB > > +#define PAGE_SHIFT 16 > > +#endif > > Shouldn't these be defined in some header? OK, they will be removed. Huacai > > Arnd