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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.