All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Lin Ming <mlin@ss.pku.edu.cn>
Cc: mingo@elte.hu, suresh.b.siddha@intel.com, jwboyer@redhat.com,
	hpa@zytor.com, yinghai@kernel.org, linux-kernel@vger.kernel.org,
	xiantao.zhang@intel.com
Subject: Re: [PATCH 2/2] xen/x86: Implement x86_apic_ops
Date: Mon, 16 Apr 2012 11:47:46 -0400	[thread overview]
Message-ID: <20120416154746.GC4654@phenom.dumpdata.com> (raw)
In-Reply-To: <CAF1ivSagwO9PLQwwbLmTZik8xpfDncY=aXdhugT5Rivuu14K9g@mail.gmail.com>

On Wed, Apr 11, 2012 at 12:49:02PM +0800, Lin Ming wrote:
> On Thu, Mar 29, 2012 at 1:37 AM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
> > Or rather just implement one different function as opposed
> > to the native one : the read function.
> >
> > We synthesize the values.
> >
> > Acked-by:  Suresh Siddha <suresh.b.siddha@intel.com>
> > [v1: Rebased on top of tip/x86/urgent]
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > ---
> >  arch/x86/xen/Makefile    |    2 +-
> >  arch/x86/xen/apic.c      |   17 +++++++++++++++++
> >  arch/x86/xen/enlighten.c |    2 ++
> >  arch/x86/xen/xen-ops.h   |    4 ++++
> >  4 files changed, 24 insertions(+), 1 deletions(-)
> >  create mode 100644 arch/x86/xen/apic.c
> >
> > diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
> > index add2c2d..96ab2c0 100644
> > --- a/arch/x86/xen/Makefile
> > +++ b/arch/x86/xen/Makefile
> > @@ -20,5 +20,5 @@ obj-$(CONFIG_EVENT_TRACING) += trace.o
> >  obj-$(CONFIG_SMP)              += smp.o
> >  obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o
> >  obj-$(CONFIG_XEN_DEBUG_FS)     += debugfs.o
> > -obj-$(CONFIG_XEN_DOM0)         += vga.o
> > +obj-$(CONFIG_XEN_DOM0)         += apic.o vga.o
> >  obj-$(CONFIG_SWIOTLB_XEN)      += pci-swiotlb-xen.o
> > diff --git a/arch/x86/xen/apic.c b/arch/x86/xen/apic.c
> > new file mode 100644
> > index 0000000..aee16ab
> > --- /dev/null
> > +++ b/arch/x86/xen/apic.c
> > @@ -0,0 +1,17 @@
> > +#include <linux/init.h>
> > +#include <asm/x86_init.h>
> > +
> > +unsigned int xen_io_apic_read(unsigned apic, unsigned reg)
> > +{
> > +       if (reg == 0x1)
> > +               return 0x00170020;
> > +       else if (reg == 0x0)
> > +               return apic << 24;
> 
> Why is fixed value returned?
> 
> Can't we implement it with hypercall(PHYSDEVOP_apic_read)?

We sure can. But this was meant to fix the regression - so I
figured we would do that later on. But the more important question
is - do we actually need to do the hypercall? We aren't using the
IOAPIC for anything - we don't program the pins from dom0.

> 
> Lin Ming
> 
> > +
> > +       return 0xff;
> > +}
> > +
> > +void __init xen_init_apic(void)
> > +{
> > +       x86_io_apic_ops.read = xen_io_apic_read;
> > +}
> > diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> > index 4172af8..a7df080 100644
> > --- a/arch/x86/xen/enlighten.c
> > +++ b/arch/x86/xen/enlighten.c
> > @@ -1271,6 +1271,8 @@ asmlinkage void __init xen_start_kernel(void)
> >                xen_start_info->console.domU.mfn = 0;
> >                xen_start_info->console.domU.evtchn = 0;
> >
> > +               xen_init_apic();
> > +
> >                /* Make sure ACS will be enabled */
> >                pci_request_acs();
> >        }
> > diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
> > index b095739..45c0c06 100644
> > --- a/arch/x86/xen/xen-ops.h
> > +++ b/arch/x86/xen/xen-ops.h
> > @@ -92,11 +92,15 @@ struct dom0_vga_console_info;
> >
> >  #ifdef CONFIG_XEN_DOM0
> >  void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size);
> > +void __init xen_init_apic(void);
> >  #else
> >  static inline void __init xen_init_vga(const struct dom0_vga_console_info *info,
> >                                       size_t size)
> >  {
> >  }
> > +static inline void __init xen_init_apic(void)
> > +{
> > +}
> >  #endif
> >
> >  /* Declare an asm function, along with symbols needed to make it
> > --
> > 1.7.7.5
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

  reply	other threads:[~2012-04-16 15:53 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-25  0:04 3.2.1 Unable to reset IRR messages on boot Josh Boyer
2012-01-25  1:24 ` Suresh Siddha
2012-01-25 13:49   ` Josh Boyer
2012-01-25 22:04     ` Suresh Siddha
2012-01-25 23:15       ` Josh Boyer
2012-01-31 14:26         ` Josh Boyer
2012-02-01  8:00           ` Suresh Siddha
2012-03-12 13:24             ` Josh Boyer
2012-03-12 18:36               ` Suresh Siddha
2012-03-13  9:40                 ` [tip:x86/urgent] x86/ioapic: Add register level checks to detect bogus io-apic entries tip-bot for Suresh Siddha
2012-03-19 13:30                 ` 3.2.1 Unable to reset IRR messages on boot Josh Boyer
2012-03-19 19:38                   ` Konrad Rzeszutek Wilk
2012-03-20  9:40                     ` Konrad Rzeszutek Wilk
2012-03-20  9:59                       ` Ingo Molnar
2012-03-20 17:54                         ` Konrad Rzeszutek Wilk
2012-03-20 18:12                       ` Suresh Siddha
2012-03-20 18:58                         ` Konrad Rzeszutek Wilk
2012-03-20 20:05                           ` Suresh Siddha
2012-03-20 20:25                             ` Konrad Rzeszutek Wilk
2012-03-20 20:41                               ` Suresh Siddha
2012-03-20 20:48                                 ` Konrad Rzeszutek Wilk
2012-03-21  0:12                             ` Konrad Rzeszutek Wilk
2012-03-21  0:12                               ` [PATCH 1/3] x86: add io_apic_ops to allow interception Konrad Rzeszutek Wilk
2012-03-21  0:12                               ` [PATCH 2/3] x86/apic_ops: Replace apic_ops with x86_apic_ops Konrad Rzeszutek Wilk
2012-03-21  2:31                                 ` Yinghai Lu
2012-03-21 16:22                                   ` Konrad Rzeszutek Wilk
2012-03-21  0:12                               ` [PATCH 3/3] xen/x86: Implement x86_apic_ops Konrad Rzeszutek Wilk
2012-03-21  1:31                                 ` Suresh Siddha
2012-03-21 16:41                                   ` Konrad Rzeszutek Wilk
2012-03-21 19:01                                     ` Suresh Siddha
2012-03-21  1:42                               ` 3.2.1 Unable to reset IRR messages on boot Suresh Siddha
2012-03-22  2:58                                 ` 3.2.1 Unable to reset IRR messages on boot. [BZ#804347] Konrad Rzeszutek Wilk
2012-03-22  2:58                                   ` [PATCH 1/3] x86: add io_apic_ops to allow interception Konrad Rzeszutek Wilk
2012-03-28  9:23                                     ` Ingo Molnar
2012-03-28 17:37                                       ` Konrad Rzeszutek Wilk
2012-03-28 17:37                                         ` [PATCH 1/2] x86/apic: Replace io_apic_ops with x86_io_apic_ops Konrad Rzeszutek Wilk
2012-03-28 17:37                                         ` [PATCH 2/2] xen/x86: Implement x86_apic_ops Konrad Rzeszutek Wilk
2012-04-11  4:49                                           ` Lin Ming
2012-04-16 15:47                                             ` Konrad Rzeszutek Wilk [this message]
2012-04-17  0:52                                               ` Zhang, Xiantao
2012-04-18 21:03                                                 ` Konrad Rzeszutek Wilk
2012-04-20  9:33                                                   ` Lin Ming
2012-03-28  9:32                                     ` [tip:x86/urgent] x86/ioapic: Add io_apic_ops driver layer to allow interception tip-bot for Jeremy Fitzhardinge
2012-03-22  2:58                                   ` [PATCH 2/3] x86/apic_ops: Replace apic_ops with x86_apic_ops Konrad Rzeszutek Wilk
2012-03-23 12:24                                     ` Ingo Molnar
2012-03-26 14:44                                       ` Konrad Rzeszutek Wilk
2012-03-22  2:58                                   ` [PATCH 3/3] xen/x86: Implement x86_apic_ops 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=20120416154746.GC4654@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=hpa@zytor.com \
    --cc=jwboyer@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mlin@ss.pku.edu.cn \
    --cc=suresh.b.siddha@intel.com \
    --cc=xiantao.zhang@intel.com \
    --cc=yinghai@kernel.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.