From: Alex Chiang <achiang@hp.com>
To: linux-ia64@vger.kernel.org
Subject: Re: Tiger oops in ia64_sal_physical_id_info (was [RFC]
Date: Tue, 26 Feb 2008 23:50:48 +0000 [thread overview]
Message-ID: <20080226235048.GD15862@ldl.fc.hp.com> (raw)
In-Reply-To: <200802251027.15107.bjorn.helgaas@hp.com>
* Matthew Wilcox <matthew@wil.cx>:
>
> While you can check to see what SAL revision is supported, do
> be wary of some prototype HP SAL implementations which report
> numbers in the 60-90 range. It's probably safe to say 'if sal
> revision < 3.2 answer = -1', but we were burned with extended
> PCI config space many moons ago when we said 'if sal > 3.1 use
> new method'.
Ah, good idea, Willy.
I believe that the current implementation of check_versions()
does the proper workaround for this bug?
/* Check for broken firmware */
if ((sal_revision = SAL_VERSION_CODE(49, 29))
&& (sal_version = SAL_VERSION_CODE(49, 29)))
{
/*
* Old firmware for zx2000 prototypes have this weird version number,
* reset it to something sane.
*/
sal_revision = SAL_VERSION_CODE(2, 8);
sal_version = SAL_VERSION_CODE(0, 0);
}
In light of that, how about this patch? It allows my Tiger to
boot.
/ac
From: Alex Chiang <achiang@hp.com>
Subject: [PATCH] ia64: ia64_sal_physical_id_info work around broken SAL
Unimplemented SAL calls should return -1, but on at least one
platform (Tiger with SAL v3.1), attempting to call SAL_PHYSICAL_ID_INFO
(which was defined in SAL v3.2 and later) results in an oops and
a hang.
Signed-off-by: Alex Chiang <achiang@hp.com>
---
diff --git a/include/asm-ia64/sal.h b/include/asm-ia64/sal.h
index 2251118..f4904db 100644
--- a/include/asm-ia64/sal.h
+++ b/include/asm-ia64/sal.h
@@ -807,6 +807,10 @@ static inline s64
ia64_sal_physical_id_info(u16 *splid)
{
struct ia64_sal_retval isrv;
+
+ if (sal_revision < SAL_VERSION_CODE(3,2))
+ return -1;
+
SAL_CALL(isrv, SAL_PHYSICAL_ID_INFO, 0, 0, 0, 0, 0, 0, 0);
if (splid)
*splid = isrv.v0;
next prev parent reply other threads:[~2008-02-26 23:50 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-25 17:27 Tiger oops in ia64_sal_physical_id_info (was [RFC] regression: 113134fcbca83619be4c68d0ca66db609 Bjorn Helgaas
2008-02-25 23:08 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression: Alex Chiang
2008-02-26 1:11 ` Shaohua Li
2008-02-26 7:15 ` Alex Chiang
2008-02-26 9:24 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Li, Shaohua
2008-02-26 17:51 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-26 22:45 ` Alex Chiang
2008-02-26 23:07 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Matthew Wilcox
2008-02-26 23:46 ` Russ Anderson
2008-02-26 23:50 ` Alex Chiang [this message]
2008-02-27 0:00 ` Matthew Wilcox
2008-02-27 0:10 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-27 0:15 ` Shaohua Li
2008-02-27 0:23 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Russ Anderson
2008-02-27 0:34 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-27 1:05 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Russ Anderson
2008-02-27 14:38 ` Luck, Tony
2008-02-27 15:19 ` Russ Anderson
2008-02-27 16:50 ` Russ Anderson
2008-02-27 23:43 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-28 0:12 ` Alex Chiang
2008-02-28 0:30 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Matthew Wilcox
2008-02-28 0:31 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-28 0:34 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Russ Anderson
2008-02-28 0:42 ` Matthew Wilcox
2008-02-28 1:41 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-28 3:47 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Russ Anderson
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=20080226235048.GD15862@ldl.fc.hp.com \
--to=achiang@hp.com \
--cc=linux-ia64@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox