Commit 3b53d304 authored by H. Peter Anvin's avatar H. Peter Anvin Committed by Linus Torvalds

MCA support for new x86 setup code

MCA probing support for the new x86 setup code.  This implements the
same functionality as the assembly version.
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d13444a5
/* -*- linux-c -*- ------------------------------------------------------- *
*
* Copyright (C) 1991, 1992 Linus Torvalds
* Copyright 2007 rPath, Inc. - All Rights Reserved
*
* This file is part of the Linux kernel, and is made available under
* the terms of the GNU General Public License version 2.
*
* ----------------------------------------------------------------------- */
/*
* arch/i386/boot/mca.c
*
* Get the MCA system description table
*/
#include "boot.h"
int query_mca(void)
{
u8 err;
u16 es, bx, len;
asm("pushw %%es ; "
"int $0x15 ; "
"setc %0 ; "
"movw %%es, %1 ; "
"popw %%es"
: "=acdSDm" (err), "=acdSDm" (es), "=b" (bx)
: "a" (0xc000));
if (err)
return -1; /* No MCA present */
set_fs(es);
len = rdfs16(bx);
if (len > sizeof(boot_params.sys_desc_table))
len = sizeof(boot_params.sys_desc_table);
copy_from_fs(&boot_params.sys_desc_table, bx, len);
return 0;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment