From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Subject: Re: [PATCH v2 3/3] microblaze: uapi header and system call table file generation Date: Wed, 3 Oct 2018 13:26:15 +0200 Message-ID: <440fc4a0-cd4e-c8fc-9278-928cf5b7cd92@xilinx.com> References: <1538397784-4214-1-git-send-email-firoz.khan@linaro.org> <1538397784-4214-4-git-send-email-firoz.khan@linaro.org> <0741f810-58c9-dcf3-8c1c-93860c08e428@xilinx.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Firoz Khan , Michal Simek Cc: Michal Simek , Greg Kroah-Hartman , Philippe Ombredanne , Thomas Gleixner , Kate Stewart , y2038 Mailman List , Linux Kernel Mailing List , Linux-Arch , Arnd Bergmann , Deepa Dinamani , Marcin Juszkiewicz List-Id: linux-arch.vger.kernel.org On 3.10.2018 07:08, Firoz Khan wrote: > Hi Michal, > > On Tue, 2 Oct 2018 at 19:37, Michal Simek wrote: >> >> On 1.10.2018 14:43, Firoz Khan wrote: >>> System call table generation script must be run to generate >>> unistd_32.h and syscall_table.h files. This patch will have >>> changes which will invokes the script. >>> >>> This patch will generate unistd_32.h and syscall_table.h >>> files by the syscall table generation script invoked by >>> arch/microblaze/Makefile and the generated files against the >>> removed files will be identical. >>> >>> The generated uapi header file will be included in >>> uapi/asm/unistd.h and generated system call table support >>> file will be included by kernel/syscall_table.S file. >>> >>> Signed-off-by: Firoz Khan >>> --- >>> arch/microblaze/Makefile | 3 + >>> arch/microblaze/include/asm/Kbuild | 1 + >>> arch/microblaze/include/uapi/asm/Kbuild | 1 + >>> arch/microblaze/include/uapi/asm/unistd.h | 411 +----------------------------- >>> arch/microblaze/kernel/syscall_table.S | 406 +---------------------------- >>> 5 files changed, 10 insertions(+), 812 deletions(-) >>> >>> diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile >>> index 4f3ab57..cda5e03 100644 >>> --- a/arch/microblaze/Makefile >>> +++ b/arch/microblaze/Makefile >>> @@ -81,6 +81,9 @@ all: linux.bin >>> archclean: >>> $(Q)$(MAKE) $(clean)=$(boot) >>> >>> +archheaders: >>> + $(Q)$(MAKE) $(build)=arch/microblaze/kernel/syscalls all >>> + >>> linux.bin linux.bin.gz linux.bin.ub: vmlinux >>> $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ >>> >>> diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild >>> index 569ba9e..d64f5e7 100644 >>> --- a/arch/microblaze/include/asm/Kbuild >>> +++ b/arch/microblaze/include/asm/Kbuild >>> @@ -31,3 +31,4 @@ generic-y += trace_clock.h >>> generic-y += vga.h >>> generic-y += word-at-a-time.h >>> generic-y += xor.h >>> +generic-y += syscall_table.h >>> \ No newline at end of file >> >> Still the problem with "No newline at end of file" >> >>> diff --git a/arch/microblaze/include/uapi/asm/Kbuild b/arch/microblaze/include/uapi/asm/Kbuild >>> index 2c6a6bf..3a40659 100644 >>> --- a/arch/microblaze/include/uapi/asm/Kbuild >>> +++ b/arch/microblaze/include/uapi/asm/Kbuild >>> @@ -28,3 +28,4 @@ generic-y += termbits.h >>> generic-y += termios.h >>> generic-y += types.h >>> generic-y += ucontext.h >>> +generic-y += unistd_32.h >>> \ No newline at end of file >> >> and here too. > > Thanks for your comment. checkpatch script didn't warn this one:( > Hopefully, I can fix this one in the next version. > > I would appreciate if you can perform the boot test on the actual > platform and share the result with me. I see one issue there. Run make mrproper make ARCH=microblaze headers_install INSTALL_HDR_PATH=/tmp/1/ And then make mrproper make archheaders V=1 make ARCH=microblaze headers_install INSTALL_HDR_PATH=/tmp/2/ And compare output. What I see is that in the first part asm/unistd_32.h pointing to asm-generic/unistd_32.h But when archheaders is run before there is expected content. That means there is incorrect/missing dependency in Makefiles. Time to time I am able to see compilation warnings but I didn't find exact steps to replicate this but it also looks like on missing dependency somewhere. [linux](next)$ make mmu_defconfig # # configuration written to .config # [linux](next)$ make -j8 simpleImage.system WRAP arch/microblaze/include/generated/asm/barrier.h WRAP arch/microblaze/include/generated/asm/bitops.h WRAP arch/microblaze/include/generated/asm/bug.h WRAP arch/microblaze/include/generated/asm/bugs.h WRAP arch/microblaze/include/generated/asm/device.h WRAP arch/microblaze/include/generated/asm/compat.h WRAP arch/microblaze/include/generated/asm/div64.h WRAP arch/microblaze/include/generated/asm/dma-mapping.h WRAP arch/microblaze/include/generated/asm/emergency-restart.h WRAP arch/microblaze/include/generated/asm/exec.h WRAP arch/microblaze/include/generated/asm/extable.h WRAP arch/microblaze/include/generated/asm/fb.h WRAP arch/microblaze/include/generated/asm/hardirq.h WRAP arch/microblaze/include/generated/asm/irq_regs.h WRAP arch/microblaze/include/generated/asm/kdebug.h WRAP arch/microblaze/include/generated/asm/kmap_types.h WRAP arch/microblaze/include/generated/asm/irq_work.h WRAP arch/microblaze/include/generated/asm/kprobes.h WRAP arch/microblaze/include/generated/asm/linkage.h WRAP arch/microblaze/include/generated/asm/local.h WRAP arch/microblaze/include/generated/asm/local64.h WRAP arch/microblaze/include/generated/asm/mcs_spinlock.h WRAP arch/microblaze/include/generated/asm/mm-arch-hooks.h WRAP arch/microblaze/include/generated/asm/parport.h WRAP arch/microblaze/include/generated/asm/percpu.h WRAP arch/microblaze/include/generated/asm/preempt.h WRAP arch/microblaze/include/generated/asm/topology.h WRAP arch/microblaze/include/generated/asm/syscalls.h WRAP arch/microblaze/include/generated/asm/trace_clock.h WRAP arch/microblaze/include/generated/asm/vga.h WRAP arch/microblaze/include/generated/asm/serial.h WRAP arch/microblaze/include/generated/asm/word-at-a-time.h WRAP arch/microblaze/include/generated/asm/xor.h HOSTCC scripts/bin2c HOSTCC scripts/kallsyms HOSTCC scripts/dtc/dtc.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/sortextable CC scripts/mod/empty.o HOSTCC scripts/dtc/flattree.o UPD include/config/kernel.release HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o MKELF scripts/mod/elfconfig.h UPD scripts/mod/devicetable-offsets.h HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o HOSTCC scripts/mod/sumversion.o LEX scripts/dtc/dtc-lexer.lex.c YACC scripts/dtc/dtc-parser.tab.h YACC scripts/dtc/dtc-parser.tab.c UPD include/generated/utsrelease.h HOSTCC scripts/dtc/dtc-lexer.lex.o CC kernel/bounds.s UPD include/generated/timeconst.h HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.o UPD include/generated/bounds.h CC arch/microblaze/kernel/asm-offsets.s In file included from ./arch/microblaze/include/uapi/asm/unistd.h:14:0, from ./arch/microblaze/include/asm/unistd.h:12, from ./include/uapi/linux/unistd.h:8, from ./arch/microblaze/include/asm/seccomp.h:5, from ./include/linux/seccomp.h:14, from ./include/linux/sched.h:21, from arch/microblaze/kernel/asm-offsets.c:13: ./arch/microblaze/include/generated/uapi/asm/unistd_32.h:1:35: fatal error: asm-generic/unistd_32.h: No such file or directory #include ^ compilation terminated. make[1]: *** [arch/microblaze/kernel/asm-offsets.s] Error 1 make: *** [prepare0] Error 2 make: *** Waiting for unfinished jobs.... HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost When build is fine system is booting fine (v4.19-rc6 + your patches). Thanks, Michal From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-sn1nam02on0051.outbound.protection.outlook.com ([104.47.36.51]:29888 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726547AbeJCSOi (ORCPT ); Wed, 3 Oct 2018 14:14:38 -0400 Subject: Re: [PATCH v2 3/3] microblaze: uapi header and system call table file generation References: <1538397784-4214-1-git-send-email-firoz.khan@linaro.org> <1538397784-4214-4-git-send-email-firoz.khan@linaro.org> <0741f810-58c9-dcf3-8c1c-93860c08e428@xilinx.com> From: Michal Simek Message-ID: <440fc4a0-cd4e-c8fc-9278-928cf5b7cd92@xilinx.com> Date: Wed, 3 Oct 2018 13:26:15 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Firoz Khan , Michal Simek Cc: Michal Simek , Greg Kroah-Hartman , Philippe Ombredanne , Thomas Gleixner , Kate Stewart , y2038 Mailman List , Linux Kernel Mailing List , Linux-Arch , Arnd Bergmann , Deepa Dinamani , Marcin Juszkiewicz Message-ID: <20181003112615.grf1YP3gZtOgXhznZjEkb6T-Y4V-P-X0J8wK-bs2H4E@z> On 3.10.2018 07:08, Firoz Khan wrote: > Hi Michal, > > On Tue, 2 Oct 2018 at 19:37, Michal Simek wrote: >> >> On 1.10.2018 14:43, Firoz Khan wrote: >>> System call table generation script must be run to generate >>> unistd_32.h and syscall_table.h files. This patch will have >>> changes which will invokes the script. >>> >>> This patch will generate unistd_32.h and syscall_table.h >>> files by the syscall table generation script invoked by >>> arch/microblaze/Makefile and the generated files against the >>> removed files will be identical. >>> >>> The generated uapi header file will be included in >>> uapi/asm/unistd.h and generated system call table support >>> file will be included by kernel/syscall_table.S file. >>> >>> Signed-off-by: Firoz Khan >>> --- >>> arch/microblaze/Makefile | 3 + >>> arch/microblaze/include/asm/Kbuild | 1 + >>> arch/microblaze/include/uapi/asm/Kbuild | 1 + >>> arch/microblaze/include/uapi/asm/unistd.h | 411 +----------------------------- >>> arch/microblaze/kernel/syscall_table.S | 406 +---------------------------- >>> 5 files changed, 10 insertions(+), 812 deletions(-) >>> >>> diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile >>> index 4f3ab57..cda5e03 100644 >>> --- a/arch/microblaze/Makefile >>> +++ b/arch/microblaze/Makefile >>> @@ -81,6 +81,9 @@ all: linux.bin >>> archclean: >>> $(Q)$(MAKE) $(clean)=$(boot) >>> >>> +archheaders: >>> + $(Q)$(MAKE) $(build)=arch/microblaze/kernel/syscalls all >>> + >>> linux.bin linux.bin.gz linux.bin.ub: vmlinux >>> $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ >>> >>> diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild >>> index 569ba9e..d64f5e7 100644 >>> --- a/arch/microblaze/include/asm/Kbuild >>> +++ b/arch/microblaze/include/asm/Kbuild >>> @@ -31,3 +31,4 @@ generic-y += trace_clock.h >>> generic-y += vga.h >>> generic-y += word-at-a-time.h >>> generic-y += xor.h >>> +generic-y += syscall_table.h >>> \ No newline at end of file >> >> Still the problem with "No newline at end of file" >> >>> diff --git a/arch/microblaze/include/uapi/asm/Kbuild b/arch/microblaze/include/uapi/asm/Kbuild >>> index 2c6a6bf..3a40659 100644 >>> --- a/arch/microblaze/include/uapi/asm/Kbuild >>> +++ b/arch/microblaze/include/uapi/asm/Kbuild >>> @@ -28,3 +28,4 @@ generic-y += termbits.h >>> generic-y += termios.h >>> generic-y += types.h >>> generic-y += ucontext.h >>> +generic-y += unistd_32.h >>> \ No newline at end of file >> >> and here too. > > Thanks for your comment. checkpatch script didn't warn this one:( > Hopefully, I can fix this one in the next version. > > I would appreciate if you can perform the boot test on the actual > platform and share the result with me. I see one issue there. Run make mrproper make ARCH=microblaze headers_install INSTALL_HDR_PATH=/tmp/1/ And then make mrproper make archheaders V=1 make ARCH=microblaze headers_install INSTALL_HDR_PATH=/tmp/2/ And compare output. What I see is that in the first part asm/unistd_32.h pointing to asm-generic/unistd_32.h But when archheaders is run before there is expected content. That means there is incorrect/missing dependency in Makefiles. Time to time I am able to see compilation warnings but I didn't find exact steps to replicate this but it also looks like on missing dependency somewhere. [linux](next)$ make mmu_defconfig # # configuration written to .config # [linux](next)$ make -j8 simpleImage.system WRAP arch/microblaze/include/generated/asm/barrier.h WRAP arch/microblaze/include/generated/asm/bitops.h WRAP arch/microblaze/include/generated/asm/bug.h WRAP arch/microblaze/include/generated/asm/bugs.h WRAP arch/microblaze/include/generated/asm/device.h WRAP arch/microblaze/include/generated/asm/compat.h WRAP arch/microblaze/include/generated/asm/div64.h WRAP arch/microblaze/include/generated/asm/dma-mapping.h WRAP arch/microblaze/include/generated/asm/emergency-restart.h WRAP arch/microblaze/include/generated/asm/exec.h WRAP arch/microblaze/include/generated/asm/extable.h WRAP arch/microblaze/include/generated/asm/fb.h WRAP arch/microblaze/include/generated/asm/hardirq.h WRAP arch/microblaze/include/generated/asm/irq_regs.h WRAP arch/microblaze/include/generated/asm/kdebug.h WRAP arch/microblaze/include/generated/asm/kmap_types.h WRAP arch/microblaze/include/generated/asm/irq_work.h WRAP arch/microblaze/include/generated/asm/kprobes.h WRAP arch/microblaze/include/generated/asm/linkage.h WRAP arch/microblaze/include/generated/asm/local.h WRAP arch/microblaze/include/generated/asm/local64.h WRAP arch/microblaze/include/generated/asm/mcs_spinlock.h WRAP arch/microblaze/include/generated/asm/mm-arch-hooks.h WRAP arch/microblaze/include/generated/asm/parport.h WRAP arch/microblaze/include/generated/asm/percpu.h WRAP arch/microblaze/include/generated/asm/preempt.h WRAP arch/microblaze/include/generated/asm/topology.h WRAP arch/microblaze/include/generated/asm/syscalls.h WRAP arch/microblaze/include/generated/asm/trace_clock.h WRAP arch/microblaze/include/generated/asm/vga.h WRAP arch/microblaze/include/generated/asm/serial.h WRAP arch/microblaze/include/generated/asm/word-at-a-time.h WRAP arch/microblaze/include/generated/asm/xor.h HOSTCC scripts/bin2c HOSTCC scripts/kallsyms HOSTCC scripts/dtc/dtc.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/sortextable CC scripts/mod/empty.o HOSTCC scripts/dtc/flattree.o UPD include/config/kernel.release HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o MKELF scripts/mod/elfconfig.h UPD scripts/mod/devicetable-offsets.h HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o HOSTCC scripts/mod/sumversion.o LEX scripts/dtc/dtc-lexer.lex.c YACC scripts/dtc/dtc-parser.tab.h YACC scripts/dtc/dtc-parser.tab.c UPD include/generated/utsrelease.h HOSTCC scripts/dtc/dtc-lexer.lex.o CC kernel/bounds.s UPD include/generated/timeconst.h HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.o UPD include/generated/bounds.h CC arch/microblaze/kernel/asm-offsets.s In file included from ./arch/microblaze/include/uapi/asm/unistd.h:14:0, from ./arch/microblaze/include/asm/unistd.h:12, from ./include/uapi/linux/unistd.h:8, from ./arch/microblaze/include/asm/seccomp.h:5, from ./include/linux/seccomp.h:14, from ./include/linux/sched.h:21, from arch/microblaze/kernel/asm-offsets.c:13: ./arch/microblaze/include/generated/uapi/asm/unistd_32.h:1:35: fatal error: asm-generic/unistd_32.h: No such file or directory #include ^ compilation terminated. make[1]: *** [arch/microblaze/kernel/asm-offsets.s] Error 1 make: *** [prepare0] Error 2 make: *** Waiting for unfinished jobs.... HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost When build is fine system is booting fine (v4.19-rc6 + your patches). Thanks, Michal