All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Olek, Adam" <adam.olek@aptiv.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: IMX FEC model- modification in interrupts
Date: Wed, 10 Mar 2021 09:58:08 +0000	[thread overview]
Message-ID: <MWHP197MB00634EEBA13CDF0F980576C5E5919@MWHP197MB0063.NAMP197.PROD.OUTLOOK.COM> (raw)

[-- Attachment #1: Type: text/plain, Size: 1251 bytes --]

Dear QEMU Team,
We have tried to up and running QNX 7.0 on QEMU 5.2.0 Sabrelite model. The QNX reach the prompt and was responsive to user command.
However, starting the network caused a QNX freeze. After debugging the problem at QNX and QEMU sites we end up with a solution which requires a slight QEMU source code modification.
It seem that the hw/net/imx_fec.c is source of the problem. To fix the issue we changed the condition in line 442 from:
if (s->regs[ENET_EIR] & s->regs[ENET_EIMR] &
     (ENET_INT_MAC | ENET_INT_TS_TIMER)) {
to:
if (s->regs[ENET_EIR] & s->regs[ENET_EIMR] & ENET_INT_TS_TIMER) {
Without this modification the PTP (Precise Time Protocol, 1588 IRQ) interrupt was generated each time any of the network interrupts occurred.
This was making QNX freeze when ifconfig has been called, because QNX was flooded by PTP interrupts that haven't occurred.
With this modification QEMU will generate PTP interrupt when it actually occurs. Just to cross check, this modification does not impact the Linux performance in any way.
Can anyone take a closer look at this condition and confirm that this modification make sense and it hasn't negative impact on anything else?
Regards,
Adam Olek
Senior Software Engineer
APTIV

[-- Attachment #2: Type: text/html, Size: 5316 bytes --]

             reply	other threads:[~2021-03-11  9:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-10  9:58 Olek, Adam [this message]
2021-03-11 19:06 ` IMX FEC model- modification in interrupts Peter Maydell
2021-03-15 14:18   ` EXT SENDER - " Olek, Adam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MWHP197MB00634EEBA13CDF0F980576C5E5919@MWHP197MB0063.NAMP197.PROD.OUTLOOK.COM \
    --to=adam.olek@aptiv.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.