Messages in this thread | | | Subject | Re: [PATCH 2/4] x86: Add UV bios call infrastructure | From | Huang Ying <> | Date | Wed, 24 Sep 2008 11:20:57 +0800 |
| |
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
[unhandled content-type:application/pgp-signature] | |