[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <1222226457.23099.114.camel@yhuang-dev.sh.intel.com>
Date: Wed, 24 Sep 2008 11:20:57 +0800
From: Huang Ying <ying.huang@...el.com>
To: Russ Anderson <rja@....com>
Cc: linux-kernel@...r.kernel.org, mingo@...e.hu, tglx@...utronix.de,
"H. Peter Anvin" <hpa@...or.com>, Jack Steiner <steiner@....com>
Subject: Re: [PATCH 2/4] x86: Add UV bios call infrastructure
Hi, Russ,
On Mon, 2008-09-22 at 16:09 -0500, Russ Anderson wrote:
> +
> +s64 uv_bios_call(int which, u64 a1, u64 a2, u64 a3, u64 a4, u64 a5)
> {
> - const char *str;
> - switch (status) {
> - case 0: str = "Call completed without error"; break;
> - case -1: str = "Not implemented"; break;
> - case -2: str = "Invalid argument"; break;
> - case -3: str = "Call completed with error"; break;
> - default: str = "Unknown BIOS status code"; break;
> - }
> - return str;
> + struct sal_systab *tab = &sal_systab;
> +
> + if (tab->function == (unsigned long)NULL)
> + /*
> + * BIOS does not support SAL systab
> + */
> + return BIOS_STATUS_UNIMPLEMENTED;
> +
> + return efi_call6((void *)__va(tab->function),
> + which, a1, a2, a3, a4, a5);
> }
[...]
> +#else /* !CONFIG_EFI */
> +/*
> + * IF EFI is not configured, have the EFI calls return unimplemented.
> + */
> +u64 efi_call6(void *fp, u64 arg1, u64 arg2, u64 arg3,
> + u64 arg4, u64 arg5, u64 arg6)
> +{
> + return BIOS_STATUS_UNIMPLEMENTED;
> +}
> +
> +void uv_bios_init(void) { }
> +#endif
> +
[...]
> +
> +#ifndef CONFIG_EFI
> +extern u64 efi_call6(void *, u64, u64, u64, u64, u64, u64);
> +#endif
Either wrap efi_call6() in uv_bios_call() inside #ifdef CONFIG_EFI, or
add efi_call<x>() implementation when CONFIG_EFI is undefined into
include/asm-x86/efi.h.
Best Regards,
Huang Ying
Download attachment "signature.asc" of type "application/pgp-signature" (198 bytes)
Powered by blists - more mailing lists