Hi, Russ,
On Mon, 2008-09-22 at 16:09 -0500, Russ Anderson wrote:
quoted text > +
> +s64 uv_bios_call(int which, u64 a1, u64 a2, u64 a3, u64 a4, u64 a5)
> {
> - const char *str;
> - switch (status) {
> - case 0: str =3D "Call completed without error"; break;
> - case -1: str =3D "Not implemented"; break;
> - case -2: str =3D "Invalid argument"; break;
> - case -3: str =3D "Call completed with error"; break;
> - default: str =3D "Unknown BIOS status code"; break;
> - }
> - return str;
> + struct sal_systab *tab =3D &sal_systab;
> +
> + if (tab->function =3D=3D (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);
> }
[...]
quoted text > +#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
> +
[...]
quoted text > +
> +#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