* Stuck qemuarm target in xenomai-images
@ 2021-04-15 12:49 Jan Kiszka
2021-04-15 12:54 ` Greg Gallagher
0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2021-04-15 12:49 UTC (permalink / raw)
To: Xenomai, Greg Gallagher
Hi Greg,
I debugged a bit between meetings:
(gdb)
335 rc = dev->set_next_event((unsigned long) clc, dev);
Here we crash in early boot because set_next_event is NULL:
(gdb) p *dev
$4 = {event_handler = 0xc03cc2e8 <tick_handle_periodic>, set_next_event = 0x0, set_next_ktime = 0x0, next_event = 10000000, max_delta_ns = 34359738352, min_delta_ns = 1000, mult = 268435456, shift = 32,
state_use_accessors = CLOCK_EVT_STATE_ONESHOT, features = 2, retries = 0, set_state_periodic = 0x0, set_state_oneshot = 0x0, set_state_oneshot_stopped = 0xc0cd1178 <arch_timer_shutdown_virt>,
set_state_shutdown = 0xc0cd1178 <arch_timer_shutdown_virt>, tick_resume = 0x0, broadcast = 0x0, suspend = 0x0, resume = 0x0, min_delta_ticks = 15, max_delta_ticks = 2147483647, name = 0xc1361bf4 "arch_sys_timer", rating = 450,
irq = 18, bound_on = 0, cpumask = 0xc0f073f0 <cpu_bit_bitmap+4>, list = {next = 0xc17320cc <clockevent_devices>, prev = 0xc17320cc <clockevent_devices>}, owner = 0x0, ipipe_timer = 0xef7a6b40, ipipe_stolen = 0}
(gdb) bt
#0 clockevents_program_event (dev=0xef7ab340, expires=10000000, force=false) at ../kernel/time/clockevents.c:335
#1 0xc03cc610 in tick_setup_periodic (broadcast=<optimized out>, dev=<optimized out>) at ../kernel/time/tick-common.c:172
#2 tick_setup_periodic (dev=0xef7ab340, broadcast=<optimized out>) at ../kernel/time/tick-common.c:149
#3 0xc03cc8e4 in tick_check_new_device (newdev=0xef7ab340) at ../kernel/time/tick-common.c:370
#4 0xc03cb650 in clockevents_register_device (dev=0xef7ab340) at ../kernel/time/clockevents.c:468
#5 0xc03cbb54 in clockevents_config_and_register (dev=<optimized out>, freq=<optimized out>, min_delta=<optimized out>, max_delta=<optimized out>) at ../kernel/time/clockevents.c:515
#6 0xc0cd14f4 in __arch_timer_setup (clk=<optimized out>, type=<optimized out>) at ../drivers/clocksource/arm_arch_timer.c:873
#7 arch_timer_starting_cpu (cpu=<optimized out>) at ../drivers/clocksource/arm_arch_timer.c:963
#8 0xc03482b8 in cpuhp_invoke_callback (cpu=0, state=CPUHP_AP_ARM_ARCH_TIMER_STARTING, bringup=<optimized out>, node=<optimized out>, lastp=0x0) at ../kernel/cpu.c:173
#9 0xc0348c28 in cpuhp_invoke_ap_callback (node=<optimized out>, bringup=<optimized out>, state=<optimized out>, cpu=<optimized out>) at ../kernel/cpu.c:753
#10 cpuhp_issue_call (cpu=<optimized out>, state=<optimized out>, bringup=<optimized out>, node=<optimized out>) at ../kernel/cpu.c:1660
#11 0xc0348f34 in __cpuhp_setup_state_cpuslocked (state=<optimized out>, name=<optimized out>, invoke=<optimized out>, startup=0xc0cd1388 <arch_timer_starting_cpu>, teardown=0xc0cd1244 <arch_timer_dying_cpu>,
multi_instance=<optimized out>) at ../kernel/cpu.c:1807
#12 0xc0349128 in __cpuhp_setup_state (state=CPUHP_AP_ARM_ARCH_TIMER_STARTING, name=0xc1361b2c "clockevents/arm/arch_timer:starting", invoke=true, startup=0xc0cd1388 <arch_timer_starting_cpu>, teardown=0xc0cd1244 <arch_timer_dying_cpu>,
multi_instance=false) at ../kernel/cpu.c:1836
#13 0xc15b1f58 in cpuhp_setup_state (teardown=<optimized out>, startup=<optimized out>, name=<optimized out>, state=<optimized out>) at ../include/linux/cpuhotplug.h:213
#14 arch_timer_register () at ../drivers/clocksource/arm_arch_timer.c:1209
#15 arch_timer_of_init (np=<optimized out>) at ../drivers/clocksource/arm_arch_timer.c:1386
#16 0xc15ad7cc in timer_probe () at ../drivers/clocksource/timer-probe.c:30
#17 0xc1500d80 in start_kernel () at ../init/main.c:699
#18 0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Are we missing some config switch for this virt machine, or is there
something else in I-pipe broken?
Jan
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Stuck qemuarm target in xenomai-images
2021-04-15 12:49 Stuck qemuarm target in xenomai-images Jan Kiszka
@ 2021-04-15 12:54 ` Greg Gallagher
2021-04-16 6:39 ` Jan Kiszka
0 siblings, 1 reply; 4+ messages in thread
From: Greg Gallagher @ 2021-04-15 12:54 UTC (permalink / raw)
To: Jan Kiszka; +Cc: Xenomai
On Thu, Apr 15, 2021 at 8:49 AM Jan Kiszka <jan.kiszka@siemens.com> wrote:
> Hi Greg,
>
> I debugged a bit between meetings:
>
> (gdb)
> 335 rc = dev->set_next_event((unsigned long) clc, dev);
>
> Here we crash in early boot because set_next_event is NULL:
>
> (gdb) p *dev
> $4 = {event_handler = 0xc03cc2e8 <tick_handle_periodic>, set_next_event =
> 0x0, set_next_ktime = 0x0, next_event = 10000000, max_delta_ns =
> 34359738352, min_delta_ns = 1000, mult = 268435456, shift = 32,
> state_use_accessors = CLOCK_EVT_STATE_ONESHOT, features = 2, retries =
> 0, set_state_periodic = 0x0, set_state_oneshot = 0x0,
> set_state_oneshot_stopped = 0xc0cd1178 <arch_timer_shutdown_virt>,
> set_state_shutdown = 0xc0cd1178 <arch_timer_shutdown_virt>, tick_resume
> = 0x0, broadcast = 0x0, suspend = 0x0, resume = 0x0, min_delta_ticks = 15,
> max_delta_ticks = 2147483647, name = 0xc1361bf4 "arch_sys_timer", rating =
> 450,
> irq = 18, bound_on = 0, cpumask = 0xc0f073f0 <cpu_bit_bitmap+4>, list =
> {next = 0xc17320cc <clockevent_devices>, prev = 0xc17320cc
> <clockevent_devices>}, owner = 0x0, ipipe_timer = 0xef7a6b40, ipipe_stolen
> = 0}
> (gdb) bt
> #0 clockevents_program_event (dev=0xef7ab340, expires=10000000,
> force=false) at ../kernel/time/clockevents.c:335
> #1 0xc03cc610 in tick_setup_periodic (broadcast=<optimized out>,
> dev=<optimized out>) at ../kernel/time/tick-common.c:172
> #2 tick_setup_periodic (dev=0xef7ab340, broadcast=<optimized out>) at
> ../kernel/time/tick-common.c:149
> #3 0xc03cc8e4 in tick_check_new_device (newdev=0xef7ab340) at
> ../kernel/time/tick-common.c:370
> #4 0xc03cb650 in clockevents_register_device (dev=0xef7ab340) at
> ../kernel/time/clockevents.c:468
> #5 0xc03cbb54 in clockevents_config_and_register (dev=<optimized out>,
> freq=<optimized out>, min_delta=<optimized out>, max_delta=<optimized out>)
> at ../kernel/time/clockevents.c:515
> #6 0xc0cd14f4 in __arch_timer_setup (clk=<optimized out>, type=<optimized
> out>) at ../drivers/clocksource/arm_arch_timer.c:873
> #7 arch_timer_starting_cpu (cpu=<optimized out>) at
> ../drivers/clocksource/arm_arch_timer.c:963
> #8 0xc03482b8 in cpuhp_invoke_callback (cpu=0,
> state=CPUHP_AP_ARM_ARCH_TIMER_STARTING, bringup=<optimized out>,
> node=<optimized out>, lastp=0x0) at ../kernel/cpu.c:173
> #9 0xc0348c28 in cpuhp_invoke_ap_callback (node=<optimized out>,
> bringup=<optimized out>, state=<optimized out>, cpu=<optimized out>) at
> ../kernel/cpu.c:753
> #10 cpuhp_issue_call (cpu=<optimized out>, state=<optimized out>,
> bringup=<optimized out>, node=<optimized out>) at ../kernel/cpu.c:1660
> #11 0xc0348f34 in __cpuhp_setup_state_cpuslocked (state=<optimized out>,
> name=<optimized out>, invoke=<optimized out>, startup=0xc0cd1388
> <arch_timer_starting_cpu>, teardown=0xc0cd1244 <arch_timer_dying_cpu>,
> multi_instance=<optimized out>) at ../kernel/cpu.c:1807
> #12 0xc0349128 in __cpuhp_setup_state
> (state=CPUHP_AP_ARM_ARCH_TIMER_STARTING, name=0xc1361b2c
> "clockevents/arm/arch_timer:starting", invoke=true, startup=0xc0cd1388
> <arch_timer_starting_cpu>, teardown=0xc0cd1244 <arch_timer_dying_cpu>,
> multi_instance=false) at ../kernel/cpu.c:1836
> #13 0xc15b1f58 in cpuhp_setup_state (teardown=<optimized out>,
> startup=<optimized out>, name=<optimized out>, state=<optimized out>) at
> ../include/linux/cpuhotplug.h:213
> #14 arch_timer_register () at ../drivers/clocksource/arm_arch_timer.c:1209
> #15 arch_timer_of_init (np=<optimized out>) at
> ../drivers/clocksource/arm_arch_timer.c:1386
> #16 0xc15ad7cc in timer_probe () at ../drivers/clocksource/timer-probe.c:30
> #17 0xc1500d80 in start_kernel () at ../init/main.c:699
> #18 0x00000000 in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>
>
> Are we missing some config switch for this virt machine, or is there
> something else in I-pipe broken?
>
> Jan
>
> --
> Siemens AG, T RDA IOT
> Corporate Competence Center Embedded Linux
Let me take a quick, look I’m almost back at my desk. I’ll get back to you
shortly.
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Stuck qemuarm target in xenomai-images
2021-04-15 12:54 ` Greg Gallagher
@ 2021-04-16 6:39 ` Jan Kiszka
2021-04-16 13:03 ` Greg Gallagher
0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2021-04-16 6:39 UTC (permalink / raw)
To: Greg Gallagher; +Cc: Xenomai
On 15.04.21 14:54, Greg Gallagher wrote:
>
>
> On Thu, Apr 15, 2021 at 8:49 AM Jan Kiszka <jan.kiszka@siemens.com
> <mailto:jan.kiszka@siemens.com>> wrote:
>
> Hi Greg,
>
> I debugged a bit between meetings:
>
> (gdb)
> 335 rc = dev->set_next_event((unsigned long) clc, dev);
>
> Here we crash in early boot because set_next_event is NULL:
>
> (gdb) p *dev
> $4 = {event_handler = 0xc03cc2e8 <tick_handle_periodic>,
> set_next_event = 0x0, set_next_ktime = 0x0, next_event = 10000000,
> max_delta_ns = 34359738352, min_delta_ns = 1000, mult = 268435456,
> shift = 32,
> state_use_accessors = CLOCK_EVT_STATE_ONESHOT, features = 2,
> retries = 0, set_state_periodic = 0x0, set_state_oneshot = 0x0,
> set_state_oneshot_stopped = 0xc0cd1178 <arch_timer_shutdown_virt>,
> set_state_shutdown = 0xc0cd1178 <arch_timer_shutdown_virt>,
> tick_resume = 0x0, broadcast = 0x0, suspend = 0x0, resume = 0x0,
> min_delta_ticks = 15, max_delta_ticks = 2147483647, name =
> 0xc1361bf4 "arch_sys_timer", rating = 450,
> irq = 18, bound_on = 0, cpumask = 0xc0f073f0 <cpu_bit_bitmap+4>,
> list = {next = 0xc17320cc <clockevent_devices>, prev = 0xc17320cc
> <clockevent_devices>}, owner = 0x0, ipipe_timer = 0xef7a6b40,
> ipipe_stolen = 0}
> (gdb) bt
> #0 clockevents_program_event (dev=0xef7ab340, expires=10000000,
> force=false) at ../kernel/time/clockevents.c:335
> #1 0xc03cc610 in tick_setup_periodic (broadcast=<optimized out>,
> dev=<optimized out>) at ../kernel/time/tick-common.c:172
> #2 tick_setup_periodic (dev=0xef7ab340, broadcast=<optimized out>)
> at ../kernel/time/tick-common.c:149
> #3 0xc03cc8e4 in tick_check_new_device (newdev=0xef7ab340) at
> ../kernel/time/tick-common.c:370
> #4 0xc03cb650 in clockevents_register_device (dev=0xef7ab340) at
> ../kernel/time/clockevents.c:468
> #5 0xc03cbb54 in clockevents_config_and_register (dev=<optimized
> out>, freq=<optimized out>, min_delta=<optimized out>,
> max_delta=<optimized out>) at ../kernel/time/clockevents.c:515
> #6 0xc0cd14f4 in __arch_timer_setup (clk=<optimized out>,
> type=<optimized out>) at ../drivers/clocksource/arm_arch_timer.c:873
> #7 arch_timer_starting_cpu (cpu=<optimized out>) at
> ../drivers/clocksource/arm_arch_timer.c:963
> #8 0xc03482b8 in cpuhp_invoke_callback (cpu=0,
> state=CPUHP_AP_ARM_ARCH_TIMER_STARTING, bringup=<optimized out>,
> node=<optimized out>, lastp=0x0) at ../kernel/cpu.c:173
> #9 0xc0348c28 in cpuhp_invoke_ap_callback (node=<optimized out>,
> bringup=<optimized out>, state=<optimized out>, cpu=<optimized out>)
> at ../kernel/cpu.c:753
> #10 cpuhp_issue_call (cpu=<optimized out>, state=<optimized out>,
> bringup=<optimized out>, node=<optimized out>) at ../kernel/cpu.c:1660
> #11 0xc0348f34 in __cpuhp_setup_state_cpuslocked (state=<optimized
> out>, name=<optimized out>, invoke=<optimized out>,
> startup=0xc0cd1388 <arch_timer_starting_cpu>, teardown=0xc0cd1244
> <arch_timer_dying_cpu>,
> multi_instance=<optimized out>) at ../kernel/cpu.c:1807
> #12 0xc0349128 in __cpuhp_setup_state
> (state=CPUHP_AP_ARM_ARCH_TIMER_STARTING, name=0xc1361b2c
> "clockevents/arm/arch_timer:starting", invoke=true,
> startup=0xc0cd1388 <arch_timer_starting_cpu>, teardown=0xc0cd1244
> <arch_timer_dying_cpu>,
> multi_instance=false) at ../kernel/cpu.c:1836
> #13 0xc15b1f58 in cpuhp_setup_state (teardown=<optimized out>,
> startup=<optimized out>, name=<optimized out>, state=<optimized
> out>) at ../include/linux/cpuhotplug.h:213
> #14 arch_timer_register () at
> ../drivers/clocksource/arm_arch_timer.c:1209
> #15 arch_timer_of_init (np=<optimized out>) at
> ../drivers/clocksource/arm_arch_timer.c:1386
> #16 0xc15ad7cc in timer_probe () at
> ../drivers/clocksource/timer-probe.c:30
> #17 0xc1500d80 in start_kernel () at ../init/main.c:699
> #18 0x00000000 in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt
> stack?)
>
>
> Are we missing some config switch for this virt machine, or is there
> something else in I-pipe broken?
>
> Jan
>
> --
> Siemens AG, T RDA IOT
> Corporate Competence Center Embedded Linux
>
>
> Let me take a quick, look I’m almost back at my desk. I’ll get back to
> you shortly.
>
>
I compared arm_arch_timer.c to the upstream version and spotted
something which I would consider a mismerge of the I-pipe patch:
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 6da6a12f6e2f..e6fc1c7e5fc8 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -838,18 +838,7 @@ static void __arch_timer_setup(unsigned type,
BUG();
}
- arch_timer_check_ool_workaround(ate_match_local_cap_id, NULL);
-#ifdef CONFIG_IPIPE
- clk->ipipe_timer = raw_cpu_ptr(&arch_itimer);
- if (arch_timer_uses_ppi == ARCH_TIMER_VIRT_PPI) {
- clk->ipipe_timer->irq = arch_timer_ppi[ARCH_TIMER_VIRT_PPI];
- clk->ipipe_timer->ack = arch_itimer_ack_virt;
- } else {
- clk->ipipe_timer->irq = arch_timer_ppi[ARCH_TIMER_PHYS_SECURE_PPI];
- clk->ipipe_timer->ack = arch_itimer_ack_phys;
- }
- clk->ipipe_timer->freq = arch_timer_rate;
-#endif
+ clk->set_next_event = sne;
} else {
clk->features |= CLOCK_EVT_FEAT_DYNIRQ;
clk->name = "arch_mem_timer";
With that, I'm able to boot now.
Please double-check that file. I'll throw that hunk into CI now.
Jan
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: Stuck qemuarm target in xenomai-images
2021-04-16 6:39 ` Jan Kiszka
@ 2021-04-16 13:03 ` Greg Gallagher
0 siblings, 0 replies; 4+ messages in thread
From: Greg Gallagher @ 2021-04-16 13:03 UTC (permalink / raw)
To: Jan Kiszka; +Cc: Xenomai
On Fri, Apr 16, 2021 at 2:50 AM Jan Kiszka <jan.kiszka@siemens.com> wrote:
> On 15.04.21 14:54, Greg Gallagher wrote:
> >
> >
> > On Thu, Apr 15, 2021 at 8:49 AM Jan Kiszka <jan.kiszka@siemens.com
> > <mailto:jan.kiszka@siemens.com>> wrote:
> >
> > Hi Greg,
> >
> > I debugged a bit between meetings:
> >
> > (gdb)
> > 335 rc = dev->set_next_event((unsigned long) clc, dev);
> >
> > Here we crash in early boot because set_next_event is NULL:
> >
> > (gdb) p *dev
> > $4 = {event_handler = 0xc03cc2e8 <tick_handle_periodic>,
> > set_next_event = 0x0, set_next_ktime = 0x0, next_event = 10000000,
> > max_delta_ns = 34359738352, min_delta_ns = 1000, mult = 268435456,
> > shift = 32,
> > state_use_accessors = CLOCK_EVT_STATE_ONESHOT, features = 2,
> > retries = 0, set_state_periodic = 0x0, set_state_oneshot = 0x0,
> > set_state_oneshot_stopped = 0xc0cd1178 <arch_timer_shutdown_virt>,
> > set_state_shutdown = 0xc0cd1178 <arch_timer_shutdown_virt>,
> > tick_resume = 0x0, broadcast = 0x0, suspend = 0x0, resume = 0x0,
> > min_delta_ticks = 15, max_delta_ticks = 2147483647, name =
> > 0xc1361bf4 "arch_sys_timer", rating = 450,
> > irq = 18, bound_on = 0, cpumask = 0xc0f073f0 <cpu_bit_bitmap+4>,
> > list = {next = 0xc17320cc <clockevent_devices>, prev = 0xc17320cc
> > <clockevent_devices>}, owner = 0x0, ipipe_timer = 0xef7a6b40,
> > ipipe_stolen = 0}
> > (gdb) bt
> > #0 clockevents_program_event (dev=0xef7ab340, expires=10000000,
> > force=false) at ../kernel/time/clockevents.c:335
> > #1 0xc03cc610 in tick_setup_periodic (broadcast=<optimized out>,
> > dev=<optimized out>) at ../kernel/time/tick-common.c:172
> > #2 tick_setup_periodic (dev=0xef7ab340, broadcast=<optimized out>)
> > at ../kernel/time/tick-common.c:149
> > #3 0xc03cc8e4 in tick_check_new_device (newdev=0xef7ab340) at
> > ../kernel/time/tick-common.c:370
> > #4 0xc03cb650 in clockevents_register_device (dev=0xef7ab340) at
> > ../kernel/time/clockevents.c:468
> > #5 0xc03cbb54 in clockevents_config_and_register (dev=<optimized
> > out>, freq=<optimized out>, min_delta=<optimized out>,
> > max_delta=<optimized out>) at ../kernel/time/clockevents.c:515
> > #6 0xc0cd14f4 in __arch_timer_setup (clk=<optimized out>,
> > type=<optimized out>) at ../drivers/clocksource/arm_arch_timer.c:873
> > #7 arch_timer_starting_cpu (cpu=<optimized out>) at
> > ../drivers/clocksource/arm_arch_timer.c:963
> > #8 0xc03482b8 in cpuhp_invoke_callback (cpu=0,
> > state=CPUHP_AP_ARM_ARCH_TIMER_STARTING, bringup=<optimized out>,
> > node=<optimized out>, lastp=0x0) at ../kernel/cpu.c:173
> > #9 0xc0348c28 in cpuhp_invoke_ap_callback (node=<optimized out>,
> > bringup=<optimized out>, state=<optimized out>, cpu=<optimized out>)
> > at ../kernel/cpu.c:753
> > #10 cpuhp_issue_call (cpu=<optimized out>, state=<optimized out>,
> > bringup=<optimized out>, node=<optimized out>) at
> ../kernel/cpu.c:1660
> > #11 0xc0348f34 in __cpuhp_setup_state_cpuslocked (state=<optimized
> > out>, name=<optimized out>, invoke=<optimized out>,
> > startup=0xc0cd1388 <arch_timer_starting_cpu>, teardown=0xc0cd1244
> > <arch_timer_dying_cpu>,
> > multi_instance=<optimized out>) at ../kernel/cpu.c:1807
> > #12 0xc0349128 in __cpuhp_setup_state
> > (state=CPUHP_AP_ARM_ARCH_TIMER_STARTING, name=0xc1361b2c
> > "clockevents/arm/arch_timer:starting", invoke=true,
> > startup=0xc0cd1388 <arch_timer_starting_cpu>, teardown=0xc0cd1244
> > <arch_timer_dying_cpu>,
> > multi_instance=false) at ../kernel/cpu.c:1836
> > #13 0xc15b1f58 in cpuhp_setup_state (teardown=<optimized out>,
> > startup=<optimized out>, name=<optimized out>, state=<optimized
> > out>) at ../include/linux/cpuhotplug.h:213
> > #14 arch_timer_register () at
> > ../drivers/clocksource/arm_arch_timer.c:1209
> > #15 arch_timer_of_init (np=<optimized out>) at
> > ../drivers/clocksource/arm_arch_timer.c:1386
> > #16 0xc15ad7cc in timer_probe () at
> > ../drivers/clocksource/timer-probe.c:30
> > #17 0xc1500d80 in start_kernel () at ../init/main.c:699
> > #18 0x00000000 in ?? ()
> > Backtrace stopped: previous frame identical to this frame (corrupt
> > stack?)
> >
> >
> > Are we missing some config switch for this virt machine, or is there
> > something else in I-pipe broken?
> >
> > Jan
> >
> > --
> > Siemens AG, T RDA IOT
> > Corporate Competence Center Embedded Linux
> >
> >
> > Let me take a quick, look I’m almost back at my desk. I’ll get back to
> > you shortly.
> >
> >
>
> I compared arm_arch_timer.c to the upstream version and spotted
> something which I would consider a mismerge of the I-pipe patch:
>
> diff --git a/drivers/clocksource/arm_arch_timer.c
> b/drivers/clocksource/arm_arch_timer.c
> index 6da6a12f6e2f..e6fc1c7e5fc8 100644
> --- a/drivers/clocksource/arm_arch_timer.c
> +++ b/drivers/clocksource/arm_arch_timer.c
> @@ -838,18 +838,7 @@ static void __arch_timer_setup(unsigned type,
> BUG();
> }
>
> - arch_timer_check_ool_workaround(ate_match_local_cap_id,
> NULL);
> -#ifdef CONFIG_IPIPE
> - clk->ipipe_timer = raw_cpu_ptr(&arch_itimer);
> - if (arch_timer_uses_ppi == ARCH_TIMER_VIRT_PPI) {
> - clk->ipipe_timer->irq =
> arch_timer_ppi[ARCH_TIMER_VIRT_PPI];
> - clk->ipipe_timer->ack = arch_itimer_ack_virt;
> - } else {
> - clk->ipipe_timer->irq =
> arch_timer_ppi[ARCH_TIMER_PHYS_SECURE_PPI];
> - clk->ipipe_timer->ack = arch_itimer_ack_phys;
> - }
> - clk->ipipe_timer->freq = arch_timer_rate;
> -#endif
> + clk->set_next_event = sne;
> } else {
> clk->features |= CLOCK_EVT_FEAT_DYNIRQ;
> clk->name = "arch_mem_timer";
>
> With that, I'm able to boot now.
>
> Please double-check that file. I'll throw that hunk into CI now.
>
> Jan
>
> --
> Siemens AG, T RDA IOT
> Corporate Competence Center Embedded Linux
That looks like the issue, I’ll apply this the 5.4.y
Thanks
Greg
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-04-16 13:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-15 12:49 Stuck qemuarm target in xenomai-images Jan Kiszka
2021-04-15 12:54 ` Greg Gallagher
2021-04-16 6:39 ` Jan Kiszka
2021-04-16 13:03 ` Greg Gallagher
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.