Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
boot
mca.c
Go to the documentation of this file.
1
/* -*- linux-c -*- ------------------------------------------------------- *
2
*
3
* Copyright (C) 1991, 1992 Linus Torvalds
4
* Copyright 2007 rPath, Inc. - All Rights Reserved
5
* Copyright 2009 Intel Corporation; author H. Peter Anvin
6
*
7
* This file is part of the Linux kernel, and is made available under
8
* the terms of the GNU General Public License version 2.
9
*
10
* ----------------------------------------------------------------------- */
11
12
/*
13
* Get the MCA system description table
14
*/
15
16
#include "
boot.h
"
17
18
int
query_mca
(
void
)
19
{
20
struct
biosregs
ireg, oreg;
21
u16
len
;
22
23
initregs
(&ireg);
24
ireg.
ah
= 0xc0;
25
intcall
(0x15, &ireg, &oreg);
26
27
if
(oreg.
eflags
&
X86_EFLAGS_CF
)
28
return
-1;
/* No MCA present */
29
30
set_fs
(oreg.
es
);
31
len = rdfs16(oreg.
bx
);
32
33
if
(len >
sizeof
(
boot_params
.
sys_desc_table
))
34
len =
sizeof
(
boot_params
.
sys_desc_table
);
35
36
copy_from_fs
(&
boot_params
.
sys_desc_table
, oreg.
bx
, len);
37
return
0;
38
}
Generated on Thu Jan 10 2013 13:06:43 for Linux Kernel by
1.8.2