Re: [PATCH] ARM: integrator: Fix early initialization
Guenter Roeck <[email protected]>
| Newsgroups | dev.linux.lists.soc,org.infradead.lists.linux-arm-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 5/5/26 14:25, Linus Walleij wrote: > On Tue, May 5, 2026 at 11:14 PM Guenter Roeck <[email protected]> wrote: > >> I actually stopped testing the integratorcp qemu emulation >> because it no longer works reliably, not even with gcc 9.x, >> since the timer-sp804 patches were applied. >> >> Given that apparently no one but me ever hit that problem, >> I wonder if it is time to remove support for that machine entirely. > > I actually have the hardware, even several of them, I've been keeping > them as a base reference for old 32bit ARM. Ethernet broke on the > one I had out so I need to bring a new one (yeah, as in factory-new) > from a box. > If those still worked with recent kernels, it just kind of confirms that trying to run the integratorcp qemu emulation with a recent kernel is futile ... Note: With this patch applied on top of mainline, I get the following backtrace when trying to boot from qemu. =============================^M [ BUG: Invalid wait context ]^M 7.1.0-rc1-00002-gdbd65c72b68b #1 Not tainted^M -----------------------------^M swapper/0/1 is trying to lock:^M c1d25410 (syscon:117:(&syscon_config)->lock){....}-{3:3}, at: regmap_lock_spinlock+0xc/0x18^M other info that might help us debug this:^M context-{2:2}^M 1 lock held by swapper/0/1:^M #0: c12874b8 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x28/0x40^M stack backtrace:^M CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 7.1.0-rc1-00002-gdbd65c72b68b #1 PREEMPT ^M Hardware name: ARM Integrator/CP (Device Tree)^M Call trace: ^M unwind_backtrace from show_stack+0x10/0x18^M show_stack from dump_stack_lvl+0x44/0x6c^M dump_stack_lvl from __lock_acquire+0x11b0/0x2dbc^M __lock_acquire from lock_acquire+0x114/0x3dc^M lock_acquire from _raw_spin_lock_irqsave+0x5c/0x7c^M _raw_spin_lock_irqsave from regmap_lock_spinlock+0xc/0x18^M regmap_lock_spinlock from regmap_read+0x30/0x6c^M regmap_read from intcp_read_sched_clock+0x34/0x6c^M intcp_read_sched_clock from sched_clock+0x48/0x114^M sched_clock from update_rq_clock+0x50/0x2f0^M update_rq_clock from sched_tick+0x64/0x32c^M sched_tick from update_process_times+0x7c/0x1a8^M update_process_times from tick_periodic.constprop.0+0x34/0x134^M tick_periodic.constprop.0 from tick_handle_periodic+0x20/0x8c^M tick_handle_periodic from sp804_timer_interrupt+0x28/0x38^M sp804_timer_interrupt from __handle_irq_event_percpu+0xb8/0x498^M ... and the image hangs randomly. Guenter