Linux Kernel
3.7.1
|
#include <linux/moduleparam.h>
#include <linux/compiler.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/uaccess.h>
#include <asm/cp15.h>
#include <asm/system_info.h>
#include <asm/unaligned.h>
#include "fault.h"
Go to the source code of this file.
Data Structures | |
union | offset_union |
Macros | |
#define | CODING_BITS(i) (i & 0x0e000000) |
#define | LDST_I_BIT(i) (i & (1 << 26)) /* Immediate constant */ |
#define | LDST_P_BIT(i) (i & (1 << 24)) /* Preindex */ |
#define | LDST_U_BIT(i) (i & (1 << 23)) /* Add offset */ |
#define | LDST_W_BIT(i) (i & (1 << 21)) /* Writeback */ |
#define | LDST_L_BIT(i) (i & (1 << 20)) /* Load */ |
#define | LDST_P_EQ_U(i) ((((i) ^ ((i) >> 1)) & (1 << 23)) == 0) |
#define | LDSTHD_I_BIT(i) (i & (1 << 22)) /* double/half-word immed */ |
#define | LDM_S_BIT(i) (i & (1 << 22)) /* write CPSR from SPSR */ |
#define | RN_BITS(i) ((i >> 16) & 15) /* Rn */ |
#define | RD_BITS(i) ((i >> 12) & 15) /* Rd */ |
#define | RM_BITS(i) (i & 15) /* Rm */ |
#define | REGMASK_BITS(i) (i & 0xffff) |
#define | OFFSET_BITS(i) (i & 0x0fff) |
#define | IS_SHIFT(i) (i & 0x0ff0) |
#define | SHIFT_BITS(i) ((i >> 7) & 0x1f) |
#define | SHIFT_TYPE(i) (i & 0x60) |
#define | SHIFT_LSL 0x00 |
#define | SHIFT_LSR 0x20 |
#define | SHIFT_ASR 0x40 |
#define | SHIFT_RORRRX 0x60 |
#define | BAD_INSTR 0xdeadc0de |
#define | IS_T32(hi16) (((hi16) & 0xe000) == 0xe000 && ((hi16) & 0x1800)) |
#define | UM_WARN (1 << 0) |
#define | UM_FIXUP (1 << 1) |
#define | UM_SIGNAL (1 << 2) |
#define | TYPE_ERROR 0 |
#define | TYPE_FAULT 1 |
#define | TYPE_LDST 2 |
#define | TYPE_DONE 3 |
#define | BE 0 |
#define | FIRST_BYTE_16 |
#define | FIRST_BYTE_32 |
#define | NEXT_BYTE "lsr #8" |
#define | __get8_unaligned_check(ins, val, addr, err) |
#define | __get16_unaligned_check(ins, val, addr) |
#define | get16_unaligned_check(val, addr) __get16_unaligned_check("ldrb",val,addr) |
#define | get16t_unaligned_check(val, addr) __get16_unaligned_check("ldrbt",val,addr) |
#define | __get32_unaligned_check(ins, val, addr) |
#define | get32_unaligned_check(val, addr) __get32_unaligned_check("ldrb",val,addr) |
#define | get32t_unaligned_check(val, addr) __get32_unaligned_check("ldrbt",val,addr) |
#define | __put16_unaligned_check(ins, val, addr) |
#define | put16_unaligned_check(val, addr) __put16_unaligned_check("strb",val,addr) |
#define | put16t_unaligned_check(val, addr) __put16_unaligned_check("strbt",val,addr) |
#define | __put32_unaligned_check(ins, val, addr) |
#define | put32_unaligned_check(val, addr) __put32_unaligned_check("strb", val, addr) |
#define | put32t_unaligned_check(val, addr) __put32_unaligned_check("strbt", val, addr) |
Functions | |
core_param (alignment, ai_usermode, int, 0600) | |
fs_initcall (alignment_init) | |
Definition at line 228 of file alignment.c.
Definition at line 193 of file alignment.c.
Definition at line 249 of file alignment.c.
Definition at line 281 of file alignment.c.
#define BAD_INSTR 0xdeadc0de |
Definition at line 69 of file alignment.c.
#define BE 0 |
Definition at line 187 of file alignment.c.
Definition at line 41 of file alignment.c.
#define FIRST_BYTE_16 |
Definition at line 188 of file alignment.c.
#define FIRST_BYTE_32 |
Definition at line 189 of file alignment.c.
#define get16_unaligned_check | ( | val, | |
addr | |||
) | __get16_unaligned_check("ldrb",val,addr) |
Definition at line 222 of file alignment.c.
#define get16t_unaligned_check | ( | val, | |
addr | |||
) | __get16_unaligned_check("ldrbt",val,addr) |
Definition at line 225 of file alignment.c.
#define get32_unaligned_check | ( | val, | |
addr | |||
) | __get32_unaligned_check("ldrb",val,addr) |
Definition at line 243 of file alignment.c.
#define get32t_unaligned_check | ( | val, | |
addr | |||
) | __get32_unaligned_check("ldrbt",val,addr) |
Definition at line 246 of file alignment.c.
Definition at line 61 of file alignment.c.
#define IS_T32 | ( | hi16 | ) | (((hi16) & 0xe000) == 0xe000 && ((hi16) & 0x1800)) |
Definition at line 72 of file alignment.c.
Definition at line 52 of file alignment.c.
Definition at line 43 of file alignment.c.
Definition at line 47 of file alignment.c.
Definition at line 44 of file alignment.c.
Definition at line 49 of file alignment.c.
Definition at line 45 of file alignment.c.
Definition at line 46 of file alignment.c.
Definition at line 51 of file alignment.c.
#define NEXT_BYTE "lsr #8" |
Definition at line 190 of file alignment.c.
Definition at line 59 of file alignment.c.
#define put16_unaligned_check | ( | val, | |
addr | |||
) | __put16_unaligned_check("strb",val,addr) |
Definition at line 275 of file alignment.c.
#define put16t_unaligned_check | ( | val, | |
addr | |||
) | __put16_unaligned_check("strbt",val,addr) |
Definition at line 278 of file alignment.c.
#define put32_unaligned_check | ( | val, | |
addr | |||
) | __put32_unaligned_check("strb", val, addr) |
Definition at line 317 of file alignment.c.
#define put32t_unaligned_check | ( | val, | |
addr | |||
) | __put32_unaligned_check("strbt", val, addr) |
Definition at line 320 of file alignment.c.
Definition at line 55 of file alignment.c.
Definition at line 58 of file alignment.c.
Definition at line 56 of file alignment.c.
Definition at line 54 of file alignment.c.
#define SHIFT_ASR 0x40 |
Definition at line 66 of file alignment.c.
Definition at line 62 of file alignment.c.
#define SHIFT_LSL 0x00 |
Definition at line 64 of file alignment.c.
#define SHIFT_LSR 0x20 |
Definition at line 65 of file alignment.c.
#define SHIFT_RORRRX 0x60 |
Definition at line 67 of file alignment.c.
Definition at line 63 of file alignment.c.
#define TYPE_DONE 3 |
Definition at line 179 of file alignment.c.
#define TYPE_ERROR 0 |
Definition at line 176 of file alignment.c.
#define TYPE_FAULT 1 |
Definition at line 177 of file alignment.c.
#define TYPE_LDST 2 |
Definition at line 178 of file alignment.c.
#define UM_FIXUP (1 << 1) |
Definition at line 87 of file alignment.c.
#define UM_SIGNAL (1 << 2) |
Definition at line 88 of file alignment.c.
#define UM_WARN (1 << 0) |
Definition at line 86 of file alignment.c.
fs_initcall | ( | alignment_init | ) |