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
include
asm
edac.h
Go to the documentation of this file.
1
#ifndef _ASM_X86_EDAC_H
2
#define _ASM_X86_EDAC_H
3
4
/* ECC atomic, DMA, SMP and interrupt safe scrub function */
5
6
static
inline
void
atomic_scrub(
void
*
va
,
u32
size
)
7
{
8
u32
i
, *virt_addr =
va
;
9
10
/*
11
* Very carefully read and write to memory atomically so we
12
* are interrupt, DMA and SMP safe.
13
*/
14
for
(i = 0; i < size / 4; i++, virt_addr++)
15
asm
volatile
(
"lock; addl $0, %0"
::
"m"
(*virt_addr));
16
}
17
18
#endif
/* _ASM_X86_EDAC_H */
Generated on Thu Jan 10 2013 12:55:05 for Linux Kernel by
1.8.2