All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] Ipipe-core patched kernel fails to start when certain platform drivers are enabled
@ 2015-04-30 15:53 Hongfei Cheng
  2015-04-30 16:17 ` Gilles Chanteperdrix
  2015-04-30 18:31 ` Gilles Chanteperdrix
  0 siblings, 2 replies; 23+ messages in thread
From: Hongfei Cheng @ 2015-04-30 15:53 UTC (permalink / raw)
  To: xenomai

We've been working on porting the I-pipe core to an ARMv8/AArch64
platform (Qualcomm msm8994).

Taking the advice we received from this forum, our approach has been
to add and enable the I-pipe core patches on this new architecture one
(small) step at a time.

The development platform is currently configured and patched as follows:
1). Only 1 CPU core is enabled (via kernel command line).
2). Interrupt controller, GPIO controller, and platform drivers are
patched following the porting guide and the existing ipipe-core code,
along with the relevant discussions on this list.
3). I-pipe spinlocks are applied to the instances where we think
require "ipipe protection", although we are still uncertain if this
work is complete in our code.
4). High resolution counter is not yet supported as we're exploring
different way(s) to implement TSC.
5). CPU_FREQ and CPU_IDLE are *not yet* disabled, mainly due to the
dependency of big.LITTLE architecture vendor-specific code.

Below is what we've observed so far:
1). Hardware timer appears to be running properly with
arch_timer_ack() being called regularly and reliably.
2). I-pipe is indeed grabbing the interrupt (through examining the call stack).
3). The kernel startup process comes to a screeching halt when probing
certain platform drivers, such as ipa or pcie. No kernel oops is
shown. In this kernel state, the *only* task being scheduled is the
watchdog process.

I believe there are "holes", to borrow the term from Gilles, in the
platform drivers. However the few platform drivers which call
generic_handle_irq have all been replaced with
ipipe_handle_demuxed_irq.

My questions are:
1). Has anyone encountered similar experience while porting I-pipe core?
2). Could such behavior be the result of missing or incorrectly
applied I-pipe spinlocks?

I'll put the kernel config, patched code, and startup logs in the
cloud and post the link here.

Thanks!
Hongfei

P.S. Apologies for my top-postings in the past few weeks which I just
noticed (in Gmail client).


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2015-05-13 17:33 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-30 15:53 [Xenomai] Ipipe-core patched kernel fails to start when certain platform drivers are enabled Hongfei Cheng
2015-04-30 16:17 ` Gilles Chanteperdrix
2015-04-30 18:12   ` Hongfei Cheng
2015-04-30 18:14     ` Gilles Chanteperdrix
2015-04-30 18:17       ` Hongfei Cheng
2015-04-30 18:31 ` Gilles Chanteperdrix
2015-04-30 20:04   ` Hongfei Cheng
2015-04-30 20:14     ` Gilles Chanteperdrix
2015-04-30 21:21       ` Lennart Sorensen
2015-04-30 21:27         ` Gilles Chanteperdrix
2015-05-01 13:45           ` Lennart Sorensen
2015-05-01 13:56             ` Gilles Chanteperdrix
2015-05-01 14:36               ` Lennart Sorensen
2015-05-01 14:44                 ` Gilles Chanteperdrix
2015-05-01 15:33                   ` Lennart Sorensen
2015-05-13 17:01                     ` Lennart Sorensen
2015-05-13 17:33                       ` Lennart Sorensen
2015-05-01 14:00             ` Gilles Chanteperdrix
2015-04-30 21:34         ` Gilles Chanteperdrix
2015-05-01 14:20           ` Lennart Sorensen
2015-05-01 14:30             ` Gilles Chanteperdrix
2015-05-01 15:11               ` Lennart Sorensen
2015-05-01 15:22                 ` Gilles Chanteperdrix

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.