On Wed, Feb 24, 2021 at 8:42 PM Gabriel Dinse <gabriel_di...@hotmail.com>
wrote:

>
>
> On Wed, Feb 24, 2021 at 4:13 pm, Greg Gallagher <g...@embeddedgreg.com>
> wrote:
>
>
>
> On Wed, Feb 24, 2021 at 4:10 PM Gabriel Dinse <gabriel_di...@hotmail.com>
> wrote:
>
>>
>>
>> On Wed, Feb 24, 2021 at 3:43 pm, Greg Gallagher <g...@embeddedgreg.com>
>> wrote:
>>
>>
>>
>> On Wed, Feb 24, 2021 at 3:42 PM Gabriel Dinse <gabriel_di...@hotmail.com>
>> wrote:
>>
>>
>>>
>>> On Wed, Feb 24, 2021 at 3:40 pm, Greg Gallagher <g...@embeddedgreg.com>
>>> wrote:
>>>
>>>
>>>
>>> On Wed, Feb 24, 2021 at 3:33 PM Gabriel Dinse <gabriel_di...@hotmail.com>
>>> wrote:
>>>
>>>
>>>>
>>>> On Wed, Feb 24, 2021 at 12:05 am, Greg Gallagher <g...@embeddedgreg.com>
>>>> wrote:
>>>>
>>>>
>>>>
>>>> On Mon, Feb 22, 2021 at 6:30 PM Gabriel Dinse <
>>>> gabriel_di...@hotmail.com> wrote:
>>>>
>>>>
>>>>>
>>>>> On Mon, Feb 22, 2021 at 6:08 pm, Greg Gallagher <g...@embeddedgreg.com>
>>>>> wrote:
>>>>>
>>>>
>>>>>
>>>>> On Mon, Feb 22, 2021 at 5:44 PM Gabriel Dinse <
>>>>> gabriel_di...@hotmail.com> wrote:
>>>>>
>>>>>
>>>>>>
>>>>>> On Mon, Feb 22, 2021 at 5:26 pm, Greg Gallagher <
>>>>>> g...@embeddedgreg.com> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Feb 22, 2021 at 3:19 PM Gabriel Dinse <
>>>>>> gabriel_di...@hotmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Feb 22, 2021 at 9:12 am, Greg Gallagher <
>>>>>>> g...@embeddedgreg.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Feb 22, 2021 at 5:15 AM Gabriel Dinse via Xenomai <
>>>>>>> xenomai@xenomai.org> wrote:
>>>>>>>
>>>>>>>>  > This is a 32-bit build running on the rpi3?
>>>>>>>> Yes, it is
>>>>>>>>
>>>>>>>>  > I have some ipipe fixes coming, but I don't think these are
>>>>>>>> ipipe
>>>>>>>> related.
>>>>>>>>  > Can you show how you patched and built your kernel? I'll try to
>>>>>>>> reproduce
>>>>>>>>  > on my end.  What compiler are you using?
>>>>>>>>
>>>>>>>> For patching the kernel, I did:
>>>>>>>> xenomai-3.1 on  main ➜ ./scripts/prepare-kernel.sh
>>>>>>>> --linux=~/Projects/linux-kernels/linux-5.4.93-ipipe --arch=arm
>>>>>>>> --ipipe=~/Projects/linux-kernels/ipipe-core-5.4.93-arm-0.patch
>>>>>>>>
>>>>>>>> The config I'm using is multi_v7_defconfig modified a little bit.
>>>>>>>> The
>>>>>>>> same configuration was fine for Vanilla kernel using the same
>>>>>>>> version
>>>>>>>> (5.4.93), as I was pretending to compare both.
>>>>>>>>
>>>>>>>> Toolchain I'm using, selected directly on buildroot-2020.02.11 long
>>>>>>>> term is: Linaro ARM 2018.05
>>>>>>>
>>>>>>>
>>>>>>> Okay, I used that defconfig during the port so there shouldn’t be a
>>>>>>> problem. Let me try with my repos and I’ll let you know shortly.
>>>>>>>
>>>>>>>
>>>>>>> Ok, sure
>>>>>>> Let me know if I need to change configuration on my side from
>>>>>>> compiling it again.
>>>>>>>
>>>>>>> -Greg
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> I built directly from the ipipe-arm tree, using Xenomai 3.1 ang gcc
>>>>>> 10.  Other than a few warnings that I'll silence later everything built
>>>>>> okay.  Let me take a look at the patch and see if something went wrong
>>>>>> there.  In the meantime if you want to sync the ipipe-arm tree and use 
>>>>>> the
>>>>>> ipipe/5.4.y patch you should be able to build no problem.  In the 
>>>>>> meantime
>>>>>> I'll look at the patch, but I think our CI system uses the patch and 
>>>>>> hasn't
>>>>>> seen any build issues.  If you could run your patch command again with
>>>>>> --verbose and send the output maybe that may tell us something.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Greg
>>>>>>
>>>>>>
>>>>>> Could the problem be related to the toolchain used (Linaro ARM
>>>>>> 2018.05)?
>>>>>>
>>>>>> Another thing: when doing the Kernel configuration, I get the warning:
>>>>>> *** WARNING! Page migration (CONFIG_MIGRATION) may increase ***
>>>>>> *** latency. ***
>>>>>> But I'm not able to disable "Page migration", nor "Contiguous Memory
>>>>>> Allocator", in "Memory Management options" menu.
>>>>>>
>>>>>> About running with --verbose, I got:
>>>>>>
>>>>>> xenomai-3.1 $ ./scripts/prepare-kernel.sh
>>>>>> --linux=~/Projects/linux-kernels/linux-5.4.93-ipipe --arch=arm
>>>>>> --ipipe=~/Projects/linux-kernels/ipipe-core-5.4.93-arm-0.patch --verbose
>>>>>> Preparing kernel 5.4.94 in
>>>>>> /home/gabriel/Projects/linux-kernels/linux-5.4.93-ipipe
>>>>>> prepare-kernel.sh: no I-pipe support found.
>>>>>> checking file Documentation/ipipe-arm.rst
>>>>>> checking file Documentation/ipiperst
>>>>>> checking file arch/arm/Kconfig
>>>>>> checking file arch/arm/common/it8152.c
>>>>>> checking file arch/arm/include/asm/arch_timerh
>>>>>> checking file arch/arm/include/asm/assembler.h
>>>>>> checking file arch/arm/include/asm/atomic.h
>>>>>> checking file arch/arm/include/asm/bitops.h
>>>>>> checking file arch/arm/include/asm/cmpxchg.h
>>>>>> checking file arch/arm/include/asm/efi.h
>>>>>> checking file arch/arm/include/asm/entry-macro-multi.S
>>>>>> checking file arch/arm/include/asm/hw_irq.h
>>>>>> checking file arch/arm/include/asm/ipipe.h
>>>>>> checking file arch/arm/include/asm/ipipe_base.h
>>>>>> checking file arch/arm/include/asm/ipipe_hwirq.h
>>>>>> checking file arch/arm/include/asm/irq.h
>>>>>> checking file arch/arm/include/asm/irqflags.h
>>>>>> checking file arch/arm/include/asm/mmu_context.h
>>>>>> checking file arch/arm/include/asm/percpu.h
>>>>>> checking file arch/arm/include/asm/setup.h
>>>>>> checking file arch/arm/include/asm/switch_to.h
>>>>>> checking file arch/arm/include/asm/thread_info.h
>>>>>> checking file arch/arm/include/asm/uaccess.h
>>>>>> checking file arch/arm/include/uapi/asm/unistd.h
>>>>>> checking file arch/arm/kernel/Makefile
>>>>>> checking file arch/arm/kernel/asm-offsets.c
>>>>>> checking file arch/arm/kernel/devtree.c
>>>>>> checking file arch/arm/kernel/entry-armv.S
>>>>>> checking file arch/arm/kernel/entry-common.S
>>>>>> checking file arch/arm/kernel/entry-header.S
>>>>>>
>>>>> checking file arch/arm/kernel/ipipec
>>>>>>
>>>>> checking file arch/arm/kernel/ipipe_tsc.c
>>>>>> checking file arch/arm/kernel/ipipe_tsc_asm.S
>>>>>> checking file arch/arm/kernel/perf_callchain.c
>>>>>> checking file arch/arm/kernel/process.c
>>>>>> checking file arch/arm/kernel/ptrace.c
>>>>>> checking file arch/arm/kernel/raw_printk.c
>>>>>> checking file arch/arm/kernel/setup.c
>>>>>> checking file arch/arm/kernel/signal.c
>>>>>> checking file arch/arm/kernel/smp.c
>>>>>> checking file arch/arm/kernel/smp_twd.c
>>>>>> checking file arch/arm/kernel/traps.c
>>>>>> checking file arch/arm/kernel/vdso.c
>>>>>> checking file arch/arm/mach-at91/Kconfig
>>>>>> checking file arch/arm/mach-davinci/Kconfig
>>>>>> checking file arch/arm/mach-davinci/time.c
>>>>>> checking file arch/arm/mach-imx/Kconfig
>>>>>> checking file arch/arm/mach-imx/avic.c
>>>>>> checking file arch/arm/mach-imx/gpc.c
>>>>>> checking file arch/arm/mach-imx/mach-imx51.c
>>>>>> checking file arch/arm/mach-imx/mach-imx53.c
>>>>>> checking file arch/arm/mach-imx/tzic.c
>>>>>> checking file arch/arm/mach-omap2/Kconfig
>>>>>> checking file arch/arm/mach-omap2/omap-wakeupgen.c
>>>>>> checking file arch/arm/mach-omap2/prm_common.c
>>>>>> checking file arch/arm/mach-omap2/timer.c
>>>>>> checking file arch/arm/mach-socfpga/Kconfig
>>>>>> checking file arch/arm/mach-sti/Kconfig
>>>>>> checking file arch/arm/mach-sunxi/Kconfig
>>>>>> checking file arch/arm/mach-zynq/Kconfig
>>>>>> checking file arch/arm/mm/Kconfig
>>>>>> checking file arch/arm/mm/alignment.c
>>>>>> checking file arch/arm/mm/cache-l2x0.c
>>>>>> checking file arch/arm/mm/context.c
>>>>>> checking file arch/arm/mm/fault.c
>>>>>> checking file arch/arm/plat-omap/Kconfig
>>>>>> checking file arch/arm/vfp/entry.S
>>>>>> checking file arch/arm/vfp/vfphwS
>>>>>> checking file arch/arm/vfp/vfpmodule.c
>>>>>> checking file drivers/base/core.c
>>>>>> checking file drivers/base/regmap/regmap-irqc
>>>>>> checking file drivers/clocksource/Kconfig
>>>>>>
>>>>> checking file drivers/clocksource/arm_arch_timerc
>>>>>>
>>>>> checking file drivers/clocksource/arm_global_timer.c
>>>>>> checking file drivers/clocksource/bcm2835_timerc
>>>>>> checking file drivers/clocksource/dw_apb_timer.c
>>>>>> checking file drivers/clocksource/dw_apb_timer_of.c
>>>>>> checking file drivers/clocksource/timer-atmel-tcb.c
>>>>>> checking file drivers/clocksource/timer-imx-gpt.c
>>>>>> checking file drivers/clocksource/timer-sp804.c
>>>>>> checking file drivers/clocksource/timer-ti-dm.c
>>>>>> checking file drivers/cpuidle/Kconfig
>>>>>> checking file drivers/cpuidle/cpuidle.c
>>>>>> checking file drivers/gpio/gpio-davinci.c
>>>>>> checking file drivers/gpio/gpio-mvebu.c
>>>>>> Hunk #8 succeeded at 1238 (offset -5 lines).
>>>>>> Hunk #9 succeeded at 1248 (offset -5 lines).
>>>>>> checking file drivers/gpio/gpio-mxc.c
>>>>>> checking file drivers/gpio/gpio-omap.c
>>>>>> checking file drivers/gpio/gpio-pl061.c
>>>>>> checking file drivers/gpio/gpio-zynq.c
>>>>>> checking file drivers/gpu/ipu-v3/ipu-common.c
>>>>>> checking file drivers/gpu/ipu-v3/ipu-prv.h
>>>>>> checking file drivers/irqchip/irq-atmel-aic.c
>>>>>> checking file drivers/irqchip/irq-atmel-aic5.c
>>>>>> checking file drivers/irqchip/irq-bcm2835.c
>>>>>> checking file drivers/irqchip/irq-bcm2836.c
>>>>>> checking file drivers/irqchip/irq-bcm7120-l2.c
>>>>>> checking file drivers/irqchip/irq-brcmstb-l2.c
>>>>>> checking file drivers/irqchip/irq-crossbar.c
>>>>>> checking file drivers/irqchip/irq-dw-apb-ictl.c
>>>>>> checking file drivers/irqchip/irq-gic-v2m.c
>>>>>> checking file drivers/irqchip/irq-gic-v3.c
>>>>>> checking file drivers/irqchip/irq-gic.c
>>>>>> checking file drivers/irqchip/irq-imx-gpcv2.c
>>>>>> checking file drivers/irqchip/irq-omap-intc.c
>>>>>> checking file drivers/irqchip/irq-stm32-exti.c
>>>>>> checking file drivers/irqchip/irq-sunxi-nmi.c
>>>>>> checking file drivers/irqchip/irq-versatile-fpga.c
>>>>>> checking file drivers/irqchip/irq-vic.c
>>>>>> checking file drivers/memory/omap-gpmc.c
>>>>>> checking file drivers/mfd/tps65217.c
>>>>>> checking file drivers/misc/Kconfig
>>>>>> checking file drivers/pci/controller/dwc/pcie-designware-host.c
>>>>>> checking file drivers/pci/controller/pcie-altera.c
>>>>>> checking file drivers/pinctrl/bcm/pinctrl-bcm2835.c
>>>>>> checking file drivers/pinctrl/pinctrl-at91.c
>>>>>> checking file drivers/pinctrl/pinctrl-rockchip.c
>>>>>>
>>>>> checking file drivers/pinctrl/pinctrl-singlec
>>>>>>
>>>>> checking file drivers/pinctrl/sunxi/pinctrl-sunxi.c
>>>>>> checking file drivers/pinctrl/sunxi/pinctrl-sunxi.h
>>>>>> checking file drivers/soc/dove/pmu.c
>>>>>> checking file drivers/tty/serial/8250/8250_core.c
>>>>>> checking file drivers/tty/serial/amba-pl011.c
>>>>>> checking file drivers/tty/serial/xilinx_uartps.c
>>>>>> checking file fs/exec.c
>>>>>> checking file include/asm-generic/atomic.h
>>>>>> checking file include/asm-generic/cmpxchg-localh
>>>>>> checking file include/asm-generic/ipipe.h
>>>>>> checking file include/asm-generic/percpu.h
>>>>>> checking file include/asm-generic/switch_to.h
>>>>>> checking file include/clocksource/timer-sp804.h
>>>>>> checking file include/clocksource/timer-ti-dm.h
>>>>>> checking file include/ipipe/setup.h
>>>>>> checking file include/ipipe/thread_infoh
>>>>>> checking file include/linux/clockchips.h
>>>>>> checking file include/linux/console.h
>>>>>> checking file include/linux/dw_apb_timerh
>>>>>> checking file include/linux/ftrace.h
>>>>>> checking file include/linux/gpio/driver.h
>>>>>> checking file include/linux/hardirqh
>>>>>> checking file include/linux/interrupt.h
>>>>>> checking file include/linux/ipipe.h
>>>>>> checking file include/linux/ipipe_debug.h
>>>>>> checking file include/linux/ipipe_domain.h
>>>>>> checking file include/linux/ipipe_lock.h
>>>>>>
>>>>> checking file include/linux/ipipe_tickdevh
>>>>>>
>>>>> checking file include/linux/ipipe_trace.h
>>>>>> checking file include/linux/irqh
>>>>>> checking file include/linux/irqchip/arm-gic-common.h
>>>>>> checking file include/linux/irqdesc.h
>>>>>> checking file include/linux/irqflags.h
>>>>>> checking file include/linux/irqnr.h
>>>>>> checking file include/linux/kernel.h
>>>>>> checking file include/linux/kvm_host.h
>>>>>> checking file include/linux/preempth
>>>>>> checking file include/linux/printk.h
>>>>>> checking file include/linux/rwlock.h
>>>>>> checking file include/linux/rwlock_api_smp.h
>>>>>> checking file include/linux/sched.h
>>>>>> checking file include/linux/sched/coredump.h
>>>>>> checking file include/linux/spinlock.h
>>>>>> checking file include/linux/spinlock_api_smp.h
>>>>>> checking file include/linux/spinlock_up.h
>>>>>> checking file include/linux/stop_machine.h
>>>>>> checking file init/Kconfig
>>>>>> checking file init/main.c
>>>>>> checking file kernel/Makefile
>>>>>> checking file kernel/context_tracking.c
>>>>>> checking file kernel/debug/debug_core.c
>>>>>> checking file kernel/exit.c
>>>>>> checking file kernel/forkc
>>>>>> checking file kernel/ipipe/Kconfig
>>>>>> checking file kernel/ipipe/Kconfig.debug
>>>>>> checking file kernel/ipipe/Makefile
>>>>>> checking file kernel/ipipe/core.c
>>>>>>
>>>>> checking file kernel/ipipe/timerc
>>>>>>
>>>>> checking file kernel/ipipe/tracer.c
>>>>>> checking file kernel/irq/chip.c
>>>>>> checking file kernel/irq/dummychip.c
>>>>>> checking file kernel/irq/generic-chip.c
>>>>>> checking file kernel/irq/internals.h
>>>>>>
>>>>> checking file kernel/irq/irqdescc
>>>>>>
>>>>> checking file kernel/irq/manage.c
>>>>>> checking file kernel/irq/msi.c
>>>>>> checking file kernel/locking/lockdep.c
>>>>>> checking file kernel/locking/lockdep_internals.h
>>>>>> checking file kernel/locking/spinlock.c
>>>>>> checking file kernel/module.c
>>>>>> checking file kernel/notifier.c
>>>>>> checking file kernel/panic.c
>>>>>> checking file kernel/power/hibernate.c
>>>>>> checking file kernel/printk/printk.c
>>>>>> checking file kernel/ptrace.c
>>>>>> checking file kernel/rcu/Kconfig.debug
>>>>>> checking file kernel/sched/core.c
>>>>>> checking file kernel/sched/idle.c
>>>>>> checking file kernel/sched/sched.h
>>>>>>
>>>>> checking file kernel/sched/waitc
>>>>>>
>>>>> checking file kernel/signal.c
>>>>>> checking file kernel/stop_machine.c
>>>>>> checking file kernel/time/clockevents.c
>>>>>> checking file kernel/time/timer.c
>>>>>> checking file kernel/trace/Kconfig
>>>>>> checking file kernel/trace/ftrace.c
>>>>>> checking file kernel/trace/ring_buffer.c
>>>>>> checking file kernel/trace/trace.c
>>>>>> checking file kernel/trace/trace_clock.c
>>>>>> checking file kernel/trace/trace_functions.c
>>>>>> checking file kernel/trace/trace_functions_graph.c
>>>>>> checking file kernel/trace/trace_preemptirq.c
>>>>>> checking file lib/Kconfig.debug
>>>>>> checking file lib/atomic64.c
>>>>>> checking file lib/bust_spinlocksc
>>>>>> checking file lib/dump_stack.c
>>>>>> checking file lib/ioremap.c
>>>>>> checking file lib/smp_processor_id.c
>>>>>> checking file mm/memory.c
>>>>>> checking file mm/mlock.c
>>>>>> checking file mm/mmu_context.c
>>>>>> checking file mm/mprotect.c
>>>>>> checking file mm/vmalloc.c
>>>>>> I-pipe core/arm #0 installed.
>>>>>> Links installed.
>>>>>> Build system ready
>>>>>>
>>>>>
>>>>> Are you using a 32-bit arm compiler or the aarch64 compiler?
>>>>>
>>>>> -Greg
>>>>>
>>>>>
>>>>> I'm using a 32-bit compiler
>>>>>
>>>>
>>>> Can you send me your build commands?
>>>>
>>>> thanks
>>>>
>>>> Greg
>>>>
>>>>
>>>> I'm using buildroot for building the image using the patched kernel. I
>>>> use the default configuration "make raspberrypi3_defconfig" and setup the
>>>> kernel using custom git repository (patched kernel). I tried all latest
>>>> toolchains available in Buildroot, but I get the same errors when building.
>>>>
>>>> Thank you,
>>>> Gabriel Dinse
>>>>
>>> this may be a buildroot issue, can you build the kernel directly with
>>> just patching and building the kernel?
>>>
>>> -Greg
>>>
>>>
>>> Could you please suggest what compiler I can use for compiling it
>>> directly?
>>>
>>>
>>> Gabriel Dinse
>>>
>> i use the arm one the is available on there site, I think it’s
>> arm-Linux-none-gnueabihf- , the Linaros ones also work pretty well.
>>
>> Greg
>>
>>
>> I started the kernel compilation directly,
>> using gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf,
>> multi_v7_defconfig applied, and I got exactly the same
>> "incompatible-pointer-type" error :(
>> What could I be missing? Maybe the kernel repository? (
>> git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git )
>> The patch went fine...
>> Using Kernel 4.19.144, with ipipe matching this version, the compilation
>> was successful, but using 5.4.93 I'm not able to make it work
>>
>> Thank you
>> Gabriel Dinse
>>
> you can try the ipipe-arm repo directly. I’ll try the patch tonight and
> see what happens. The CI should be using the patch, but I’ll try directly.
>
> Greg
>
>
> I will probably continue using kernel 4.19.144 for now until I can figure
> out what is missing on kernel 5.4.93 compilation.
> But I have other question regardin rpi3 device tree. Ipipe patch for
> kernel 4.9.51 has an addition of "bcm2837-rpi-3-cobalt.dts", while I
> couldn't find it in more recent ipipe versions. How is the device tree
> configured on newer ipipe versions (like v4.19.144 I'm using right now) if
> I don't have a file like this.
>
> Thank you
> Gabriel Dinse
>

So the rpi3 device tree should be in the arm64 repo, you'll have to bring
it into the arm repo and enable it to be built.  I don't think I've tested
a 32-bit build on rpi3 since we split the trees.  Can you also sent me your
compiler commands when you build the 5.4.93 kernel?

Thanks

Greg

Reply via email to