WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [IA64] Fix failure when Xen is booted wit

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Fix failure when Xen is booted with "nomca"
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 09 Dec 2006 15:43:57 +0000
Delivery-date: Sat, 09 Dec 2006 07:45:44 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID fa0f2a90059f4a10c02e56df6fa828402523a260
# Parent  9f56556f08cb161b67406ba76523dbfadb6f739c
[IA64] Fix failure when Xen is booted with "nomca"

Based on patch from Kazuhiro Suzuki <kaz@xxxxxxxxxxxxxx>

Signed-off-by: Alex williamson <alex.williamson@xxxxxx>
---
 xen/arch/ia64/linux-xen/mca.c |   17 ++++++++++-------
 xen/arch/ia64/xen/fw_emul.c   |    2 +-
 xen/include/asm-ia64/xenmca.h |    2 +-
 3 files changed, 12 insertions(+), 9 deletions(-)

diff -r 9f56556f08cb -r fa0f2a90059f xen/arch/ia64/linux-xen/mca.c
--- a/xen/arch/ia64/linux-xen/mca.c     Thu Nov 30 15:57:51 2006 -0700
+++ b/xen/arch/ia64/linux-xen/mca.c     Thu Nov 30 15:57:55 2006 -0700
@@ -206,8 +206,8 @@ static ia64_state_log_t ia64_state_log[I
 #define IA64_LOG_COUNT(it)         ia64_state_log[it].isl_count
 
 #ifdef XEN
-struct list_head sal_queue[IA64_MAX_LOG_TYPES];
-sal_log_record_header_t *sal_record = NULL;
+struct list_head *sal_queue, sal_log_queues[IA64_MAX_LOG_TYPES];
+sal_log_record_header_t *sal_record;
 DEFINE_SPINLOCK(sal_queue_lock);
 #endif
 
@@ -1606,7 +1606,7 @@ ia64_mca_cpu_init(void *cpu_data)
                }
        }
 #ifdef XEN
-       else {
+       else if (sal_queue) {
                int i;
                for (i = 0; i < IA64_MAX_LOG_TYPES; i++)
                        ia64_log_queue(i, 0);
@@ -1811,10 +1811,13 @@ ia64_mca_init(void)
        ia64_log_init(SAL_INFO_TYPE_CPE);
 
 #ifdef XEN
-       INIT_LIST_HEAD(&sal_queue[SAL_INFO_TYPE_MCA]);
-       INIT_LIST_HEAD(&sal_queue[SAL_INFO_TYPE_INIT]);
-       INIT_LIST_HEAD(&sal_queue[SAL_INFO_TYPE_CMC]);
-       INIT_LIST_HEAD(&sal_queue[SAL_INFO_TYPE_CPE]);
+       INIT_LIST_HEAD(&sal_log_queues[SAL_INFO_TYPE_MCA]);
+       INIT_LIST_HEAD(&sal_log_queues[SAL_INFO_TYPE_INIT]);
+       INIT_LIST_HEAD(&sal_log_queues[SAL_INFO_TYPE_CMC]);
+       INIT_LIST_HEAD(&sal_log_queues[SAL_INFO_TYPE_CPE]);
+
+       /* NULL sal_queue used elsewhere to determine MCA init state */
+       sal_queue = sal_log_queues;
 
        open_softirq(CMC_DISABLE_SOFTIRQ,
                     (softirq_handler)ia64_mca_cmc_vector_disable);
diff -r 9f56556f08cb -r fa0f2a90059f xen/arch/ia64/xen/fw_emul.c
--- a/xen/arch/ia64/xen/fw_emul.c       Thu Nov 30 15:57:51 2006 -0700
+++ b/xen/arch/ia64/xen/fw_emul.c       Thu Nov 30 15:57:55 2006 -0700
@@ -214,7 +214,7 @@ sal_emulator (long index, unsigned long 
                        struct smp_call_args_t arg;
 
                        spin_lock_irqsave(&sal_queue_lock, flags);
-                       if (list_empty(&sal_queue[in1])) {
+                       if (!sal_queue || list_empty(&sal_queue[in1])) {
                                sal_log_record_header_t header;
                                XEN_GUEST_HANDLE(void) handle =
                                        *(XEN_GUEST_HANDLE(void)*)&in3;
diff -r 9f56556f08cb -r fa0f2a90059f xen/include/asm-ia64/xenmca.h
--- a/xen/include/asm-ia64/xenmca.h     Thu Nov 30 15:57:51 2006 -0700
+++ b/xen/include/asm-ia64/xenmca.h     Thu Nov 30 15:57:55 2006 -0700
@@ -21,7 +21,7 @@ typedef struct sal_queue_entry_t {
        struct list_head list;
 } sal_queue_entry_t;
 
-extern struct list_head sal_queue[];
+extern struct list_head *sal_queue;
 
 struct ia64_mca_tlb_info {
        u64 cr_lid;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] Fix failure when Xen is booted with "nomca", Xen patchbot-unstable <=