public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Shaohua Li <shaohua.li@intel.com>
To: linux-ia64@vger.kernel.org
Subject: Re: Tiger oops in ia64_sal_physical_id_info (was [RFC]
Date: Wed, 27 Feb 2008 00:15:30 +0000	[thread overview]
Message-ID: <1204071330.6836.2.camel@sli10-desk.sh.intel.com> (raw)
In-Reply-To: <200802251027.15107.bjorn.helgaas@hp.com>


On Tue, 2008-02-26 at 16:50 -0700, Alex Chiang wrote:
> * 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;
This works for me too.


  parent reply	other threads:[~2008-02-27  0:15 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 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-27  0:00 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 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 [this message]
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=1204071330.6836.2.camel@sli10-desk.sh.intel.com \
    --to=shaohua.li@intel.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