All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lin Ming <mlin@ss.pku.edu.cn>
To: Jan Beulich <JBeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Xiantao Zhang <xiantao.zhang@intel.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [RFC PATCH] x86: Add a new physdev_op PHYSDEVOP_nr_irqs_gsi
Date: Tue, 10 Apr 2012 23:50:08 +0800	[thread overview]
Message-ID: <1334073008.9703.6.camel@hp6530s> (raw)
In-Reply-To: <4F846EE3020000780007D0F7@nat28.tlf.novell.com>

On Tue, 2012-04-10 at 16:33 +0100, Jan Beulich wrote:
> >>> On 10.04.12 at 17:13, Lin Ming <mlin@ss.pku.edu.cn> wrote:
> > This new physdev_op is added for Linux guest kernel to get the correct
> > nr_irqs_gsi value.
> 
> I'm not convinced this is really needed - the kernel can work out the
> right number without any hypercall afaict.

In Linux kernel:

mp_register_ioapic(...):

        entries = io_apic_get_redir_entries(idx);
        gsi_cfg = mp_ioapic_gsi_routing(idx);
        gsi_cfg->gsi_base = gsi_base;
        gsi_cfg->gsi_end = gsi_base + entries - 1;

        /*
         * The number of IO-APIC IRQ registers (== #pins):
         */
        ioapics[idx].nr_registers = entries;

        if (gsi_cfg->gsi_end >= gsi_top)
                gsi_top = gsi_cfg->gsi_end + 1;

io_apic_get_redir_entries calls io_apic_read(), which returns wrong
value(0xFFFFFFFF) on Xen Dom0 kernel.

How can we get the correct gsi_top value, which is used to set
nr_irqs_gsi, without hypercall?

The problem here is we don't have a Xen version of io_apic_read in Linux
kernel.

Thanks,
Lin Ming

> 
> Jan

  reply	other threads:[~2012-04-10 15:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-10 15:13 [RFC PATCH] x86: Add a new physdev_op PHYSDEVOP_nr_irqs_gsi Lin Ming
2012-04-10 15:33 ` Jan Beulich
2012-04-10 15:50   ` Lin Ming [this message]
2012-04-10 16:04     ` Jan Beulich
2012-04-10 16:21     ` Stefano Stabellini
2012-04-11  0:36       ` Zhang, Xiantao
2012-04-11 11:42         ` Stefano Stabellini
2012-04-11 11:49           ` Ian Campbell
2012-04-11 13:42             ` Konrad Rzeszutek Wilk

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=1334073008.9703.6.camel@hp6530s \
    --to=mlin@ss.pku.edu.cn \
    --cc=JBeulich@suse.com \
    --cc=konrad.wilk@oracle.com \
    --cc=xen-devel@lists.xen.org \
    --cc=xiantao.zhang@intel.com \
    /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.