coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
misaligned.c File Reference
#include <stdint.h>
#include <vm.h>
#include <arch/exception.h>
#include <commonlib/helpers.h>
Include dependency graph for misaligned.c:

Go to the source code of this file.

Data Structures

union  endian_buf
 
struct  memory_instruction_info
 

Functions

static struct memory_instruction_infomatch_instruction (uintptr_t insn)
 
static int fetch_16bit_instruction (uintptr_t vaddr, uintptr_t *insn, int *size)
 
static int fetch_32bit_instruction (uintptr_t vaddr, uintptr_t *insn, int *size)
 
void handle_misaligned (trapframe *tf)
 

Variables

static struct memory_instruction_info insn_info []
 

Function Documentation

◆ fetch_16bit_instruction()

static int fetch_16bit_instruction ( uintptr_t  vaddr,
uintptr_t insn,
int *  size 
)
static

Definition at line 134 of file misaligned.c.

References EXTRACT_FIELD, and ins().

Referenced by handle_misaligned().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetch_32bit_instruction()

static int fetch_32bit_instruction ( uintptr_t  vaddr,
uintptr_t insn,
int *  size 
)
static

Definition at line 145 of file misaligned.c.

References EXTRACT_FIELD, and ins().

Referenced by handle_misaligned().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_misaligned()

◆ match_instruction()

static struct memory_instruction_info* match_instruction ( uintptr_t  insn)
static

Definition at line 125 of file misaligned.c.

References ARRAY_SIZE, insn_info, mask, NULL, and memory_instruction_info::opcode.

Referenced by handle_misaligned().

Here is the caller graph for this function:

Variable Documentation

◆ insn_info

struct memory_instruction_info insn_info[]
static

Definition at line 1 of file misaligned.c.

Referenced by match_instruction().