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
ia64
include
asm
patch.h
Go to the documentation of this file.
1
#ifndef _ASM_IA64_PATCH_H
2
#define _ASM_IA64_PATCH_H
3
4
/*
5
* Copyright (C) 2003 Hewlett-Packard Co
6
* David Mosberger-Tang <
[email protected]
>
7
*
8
* There are a number of reasons for patching instructions. Rather than duplicating code
9
* all over the place, we put the common stuff here. Reasons for patching: in-kernel
10
* module-loader, virtual-to-physical patch-list, McKinley Errata 9 workaround, and gate
11
* shared library. Undoubtedly, some of these reasons will disappear and others will
12
* be added over time.
13
*/
14
#include <linux/elf.h>
15
#include <linux/types.h>
16
17
extern
void
ia64_patch
(
u64
insn_addr,
u64
mask
,
u64
val
);
/* patch any insn slot */
18
extern
void
ia64_patch_imm64
(
u64
insn_addr,
u64
val
);
/* patch "movl" w/abs. value*/
19
extern
void
ia64_patch_imm60
(
u64
insn_addr,
u64
val
);
/* patch "brl" w/ip-rel value */
20
21
extern
void
ia64_patch_mckinley_e9
(
unsigned
long
start
,
unsigned
long
end
);
22
extern
void
ia64_patch_vtop
(
unsigned
long
start
,
unsigned
long
end
);
23
extern
void
ia64_patch_phys_stack_reg
(
unsigned
long
val
);
24
extern
void
ia64_patch_rse
(
unsigned
long
start
,
unsigned
long
end
);
25
extern
void
ia64_patch_gate
(
void
);
26
27
#endif
/* _ASM_IA64_PATCH_H */
Generated on Thu Jan 10 2013 12:56:19 for Linux Kernel by
1.8.2