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
powerpc
include
asm
sstep.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2004 Paul Mackerras <
[email protected]
>, IBM
3
*
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License
6
* as published by the Free Software Foundation; either version
7
* 2 of the License, or (at your option) any later version.
8
*/
9
10
struct
pt_regs
;
11
12
/*
13
* We don't allow single-stepping an mtmsrd that would clear
14
* MSR_RI, since that would make the exception unrecoverable.
15
* Since we need to single-step to proceed from a breakpoint,
16
* we don't allow putting a breakpoint on an mtmsrd instruction.
17
* Similarly we don't allow breakpoints on rfid instructions.
18
* These macros tell us if an instruction is a mtmsrd or rfid.
19
* Note that IS_MTMSRD returns true for both an mtmsr (32-bit)
20
* and an mtmsrd (64-bit).
21
*/
22
#define IS_MTMSRD(instr) (((instr) & 0xfc0007be) == 0x7c000124)
23
#define IS_RFID(instr) (((instr) & 0xfc0007fe) == 0x4c000024)
24
#define IS_RFI(instr) (((instr) & 0xfc0007fe) == 0x4c000064)
25
26
/* Emulate instructions that cause a transfer of control. */
27
extern
int
emulate_step
(
struct
pt_regs
*
regs
,
unsigned
int
instr
);
Generated on Thu Jan 10 2013 13:13:29 for Linux Kernel by
1.8.2