From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, mingo@kernel.org
Cc: xen-devel@lists.xensource.com, suresh.b.siddha@intel.com,
hpa@zytor.com, hpa@zytor.co, tglx@linutronix.de
Subject: Re: [GIT PULL] (xen) for stable/for-ingo-v3.5.v3 for v3.5
Date: Mon, 16 Apr 2012 15:19:28 -0400 [thread overview]
Message-ID: <20120416191928.GA25676@phenom.dumpdata.com> (raw)
In-Reply-To: <1334601616-25309-1-git-send-email-konrad.wilk@oracle.com>
On Mon, Apr 16, 2012 at 02:40:13PM -0400, Konrad Rzeszutek Wilk wrote:
> Hey Ingo,
>
> Please git pull the following branch for v3.5:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-ingo-v3.5.v3
>
> It has the proper fix for the IO-APIC having 0xfffff... contents when booting under Xen.
>
> Compared to the patch you have already in the tree (136d249ef7dbf0fefa292082cc40be1ea864cbd6
> x86/ioapic: Add io_apic_ops driver layer to allow interception) it does three things:
>
> 1) Exposes the io_apic baremetal functions and uses the x86_io_apic_ops function table
> instead of keeping it in the io_apic. This makes the code fit within the rest of
> x86_ops functions.
>
> 2) Use the x86_io_apic_ops to re-direct the (*read) to the Xen emulated one.
>
> 3) Removes the work-around.
>
> Please note, that the existing interface (136d249) can be used to do 2) as well. But the
.. If the __ioapic_init_mappings is made visible (so that we can call it in the Xen's
version of io_apic_ops.init() - as we want to re-use as much as possible of the generic
code:
commit fa45ea06ab785ce82644980befc7e983f884f72a
Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Mon Apr 16 14:50:02 2012 -0400
x86/io_apic: Make __ioapic_init_mappings visible to other sub-systems.
This way, we can re-use as much as possible of the generic code as possible
and re-use the generic initialization.
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h
index 2c4943d..e75979c 100644
--- a/arch/x86/include/asm/io_apic.h
+++ b/arch/x86/include/asm/io_apic.h
@@ -157,6 +157,7 @@ extern int io_apic_set_pci_routing(struct device *dev, int irq,
struct io_apic_irq_attr *irq_attr);
void setup_IO_APIC_irq_extra(u32 gsi);
extern void ioapic_and_gsi_init(void);
+extern void __ioapic_init_mappings(void);
extern void ioapic_insert_resources(void);
int io_apic_setup_irq_pin_once(unsigned int irq, int node, struct io_apic_irq_attr *attr);
@@ -191,6 +192,7 @@ extern void disable_ioapic_support(void);
#define setup_ioapic_ids_from_mpc x86_init_noop
static const int timer_through_8259 = 0;
static inline void ioapic_and_gsi_init(void) { }
+static inline void __ioapic_init_mappings(void) { }
static inline void ioapic_insert_resources(void) { }
#define gsi_top (NR_IRQS_LEGACY)
static inline int mp_find_ioapic(u32 gsi) { return 0; }
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index e88300d..58e6986 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -68,8 +68,6 @@
#define for_each_irq_pin(entry, head) \
for (entry = head; entry; entry = entry->next)
-static void __init __ioapic_init_mappings(void);
-
static unsigned int __io_apic_read (unsigned int apic, unsigned int reg);
static void __io_apic_write (unsigned int apic, unsigned int reg, unsigned int val);
static void __io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
@@ -3936,7 +3934,7 @@ void __init ioapic_and_gsi_init(void)
io_apic_ops.init();
}
-static void __init __ioapic_init_mappings(void)
+void __init __ioapic_init_mappings(void)
{
unsigned long ioapic_phys, idx = FIX_IO_APIC_BASE_0;
struct resource *ioapic_res;
WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: linux-kernel@vger.kernel.org, mingo@kernel.org
Cc: xen-devel@lists.xensource.com, suresh.b.siddha@intel.com,
hpa@zytor.comhpa@zytor.co, tglx@linutronix.de
Subject: Re: [GIT PULL] (xen) for stable/for-ingo-v3.5.v3 for v3.5
Date: Mon, 16 Apr 2012 15:19:28 -0400 [thread overview]
Message-ID: <20120416191928.GA25676@phenom.dumpdata.com> (raw)
In-Reply-To: <1334601616-25309-1-git-send-email-konrad.wilk@oracle.com>
On Mon, Apr 16, 2012 at 02:40:13PM -0400, Konrad Rzeszutek Wilk wrote:
> Hey Ingo,
>
> Please git pull the following branch for v3.5:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-ingo-v3.5.v3
>
> It has the proper fix for the IO-APIC having 0xfffff... contents when booting under Xen.
>
> Compared to the patch you have already in the tree (136d249ef7dbf0fefa292082cc40be1ea864cbd6
> x86/ioapic: Add io_apic_ops driver layer to allow interception) it does three things:
>
> 1) Exposes the io_apic baremetal functions and uses the x86_io_apic_ops function table
> instead of keeping it in the io_apic. This makes the code fit within the rest of
> x86_ops functions.
>
> 2) Use the x86_io_apic_ops to re-direct the (*read) to the Xen emulated one.
>
> 3) Removes the work-around.
>
> Please note, that the existing interface (136d249) can be used to do 2) as well. But the
.. If the __ioapic_init_mappings is made visible (so that we can call it in the Xen's
version of io_apic_ops.init() - as we want to re-use as much as possible of the generic
code:
commit fa45ea06ab785ce82644980befc7e983f884f72a
Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Mon Apr 16 14:50:02 2012 -0400
x86/io_apic: Make __ioapic_init_mappings visible to other sub-systems.
This way, we can re-use as much as possible of the generic code as possible
and re-use the generic initialization.
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h
index 2c4943d..e75979c 100644
--- a/arch/x86/include/asm/io_apic.h
+++ b/arch/x86/include/asm/io_apic.h
@@ -157,6 +157,7 @@ extern int io_apic_set_pci_routing(struct device *dev, int irq,
struct io_apic_irq_attr *irq_attr);
void setup_IO_APIC_irq_extra(u32 gsi);
extern void ioapic_and_gsi_init(void);
+extern void __ioapic_init_mappings(void);
extern void ioapic_insert_resources(void);
int io_apic_setup_irq_pin_once(unsigned int irq, int node, struct io_apic_irq_attr *attr);
@@ -191,6 +192,7 @@ extern void disable_ioapic_support(void);
#define setup_ioapic_ids_from_mpc x86_init_noop
static const int timer_through_8259 = 0;
static inline void ioapic_and_gsi_init(void) { }
+static inline void __ioapic_init_mappings(void) { }
static inline void ioapic_insert_resources(void) { }
#define gsi_top (NR_IRQS_LEGACY)
static inline int mp_find_ioapic(u32 gsi) { return 0; }
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index e88300d..58e6986 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -68,8 +68,6 @@
#define for_each_irq_pin(entry, head) \
for (entry = head; entry; entry = entry->next)
-static void __init __ioapic_init_mappings(void);
-
static unsigned int __io_apic_read (unsigned int apic, unsigned int reg);
static void __io_apic_write (unsigned int apic, unsigned int reg, unsigned int val);
static void __io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
@@ -3936,7 +3934,7 @@ void __init ioapic_and_gsi_init(void)
io_apic_ops.init();
}
-static void __init __ioapic_init_mappings(void)
+void __init __ioapic_init_mappings(void)
{
unsigned long ioapic_phys, idx = FIX_IO_APIC_BASE_0;
struct resource *ioapic_res;
next prev parent reply other threads:[~2012-04-16 19:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-16 18:40 [GIT PULL] (xen) for stable/for-ingo-v3.5.v3 for v3.5 Konrad Rzeszutek Wilk
2012-04-16 18:40 ` Konrad Rzeszutek Wilk
2012-04-16 18:40 ` [PATCH 1/3] x86/apic: Replace io_apic_ops with x86_io_apic_ops Konrad Rzeszutek Wilk
2012-04-16 18:40 ` Konrad Rzeszutek Wilk
2012-04-16 18:40 ` [PATCH 2/3] xen/x86: Implement x86_apic_ops Konrad Rzeszutek Wilk
2012-04-16 18:40 ` Konrad Rzeszutek Wilk
2012-04-16 18:40 ` [PATCH 3/3] Revert "xen/x86: Workaround 'x86/ioapic: Add register level checks to detect bogus io-apic entries'" Konrad Rzeszutek Wilk
2012-04-16 18:40 ` Konrad Rzeszutek Wilk
2012-04-16 19:19 ` Konrad Rzeszutek Wilk [this message]
2012-04-16 19:19 ` [GIT PULL] (xen) for stable/for-ingo-v3.5.v3 for v3.5 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=20120416191928.GA25676@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=hpa@zytor.co \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=xen-devel@lists.xensource.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.