GDB (xrefs)

Functions
mips-linux-watch.c File Reference
`#include "common-defs.h"`
`#include "nat/gdb_ptrace.h"`
`#include "mips-linux-watch.h"`

Go to the source code of this file.

## Functions
uint32_t | mips_linux_watch_get_irw_mask (struct pt_watch_regs *regs, int n)
static uint32_t | get_reg_mask (struct pt_watch_regs *regs, int n)
uint32_t | mips_linux_watch_get_num_valid (struct pt_watch_regs *regs)
CORE_ADDR | mips_linux_watch_get_watchlo (struct pt_watch_regs *regs, int n)
void | mips_linux_watch_set_watchlo (struct pt_watch_regs *regs, int n, CORE_ADDR value)
uint32_t | mips_linux_watch_get_watchhi (struct pt_watch_regs *regs, int n)
void | mips_linux_watch_set_watchhi (struct pt_watch_regs *regs, int n, uint16_t value)
int | mips_linux_read_watch_registers (long lwpid, struct pt_watch_regs *watch_readback, int *watch_readback_valid, int force)
uint32_t | mips_linux_watch_type_to_irw (enum target_hw_bp_type type)
static CORE_ADDR | fill_mask (CORE_ADDR mask)
int | mips_linux_watch_try_one_watch (struct pt_watch_regs *regs, CORE_ADDR addr, int len, uint32_t irw)
void | mips_linux_watch_populate_regs (struct mips_watchpoint *current_watches, struct pt_watch_regs *regs)

## Function Documentation

## ◆ fill_mask()

static CORE_ADDR fill_mask | ( | CORE_ADDR | mask | ) |
| static

Definition at line 219 of file mips-linux-watch.c.

Referenced by mips_linux_watch_try_one_watch().

## ◆ get_reg_mask()

static uint32_t get_reg_mask | ( | struct pt_watch_regs * | regs,
|  | int | n
| ) |  |
| static

Definition at line 44 of file mips-linux-watch.c.

References _, internal_error(), IRW_MASK, pt_watch_regs::mips32, pt_watch_regs::mips64, pt_watch_style_mips32, pt_watch_style_mips64, pt_watch_regs::style, mips32_watch_regs::watch_masks, and mips64_watch_regs::watch_masks.

Referenced by mips_linux_watch_try_one_watch().

## ◆ mips_linux_read_watch_registers()

int mips_linux_read_watch_registers | ( | long | lwpid,
|  | struct pt_watch_regs * | watch_readback,
|  | int * | watch_readback_valid,
|  | int | force
| ) |  |

Definition at line 161 of file mips-linux-watch.c.

References pt_watch_regs::mips32, pt_watch_regs::mips64, mips32_watch_regs::num_valid, mips64_watch_regs::num_valid, pt_watch_style_mips32, pt_watch_style_mips64, ptrace(), PTRACE_GET_WATCH_REGS, pt_watch_regs::style, watch_readback, and watch_readback_valid.

Referenced by mips_linux_can_use_hw_breakpoint(), mips_linux_insert_watchpoint(), mips_linux_new_thread(), mips_linux_region_ok_for_hw_watchpoint(), and mips_linux_stopped_by_watchpoint().

## ◆ mips_linux_watch_get_irw_mask()

uint32_t mips_linux_watch_get_irw_mask | ( | struct pt_watch_regs * | regs,
|  | int | n
| ) |  |

Definition at line 26 of file mips-linux-watch.c.

References _, internal_error(), IRW_MASK, pt_watch_regs::mips32, pt_watch_regs::mips64, pt_watch_style_mips32, pt_watch_style_mips64, pt_watch_regs::style, mips32_watch_regs::watch_masks, and mips64_watch_regs::watch_masks.

Referenced by mips_linux_can_use_hw_breakpoint(), and mips_linux_watch_try_one_watch().

## ◆ mips_linux_watch_get_num_valid()

uint32_t mips_linux_watch_get_num_valid | ( | struct pt_watch_regs * | regs | ) |

Definition at line 61 of file mips-linux-watch.c.

References _, internal_error(), pt_watch_regs::mips32, pt_watch_regs::mips64, mips32_watch_regs::num_valid, mips64_watch_regs::num_valid, pt_watch_style_mips32, pt_watch_style_mips64, and pt_watch_regs::style.

Referenced by mips_linux_can_use_hw_breakpoint(), mips_linux_region_ok_for_hw_watchpoint(), mips_linux_stopped_by_watchpoint(), mips_linux_watch_populate_regs(), and mips_linux_watch_try_one_watch().

## ◆ mips_linux_watch_get_watchhi()

uint32_t mips_linux_watch_get_watchhi | ( | struct pt_watch_regs * | regs,
|  | int | n
| ) |  |

Definition at line 120 of file mips-linux-watch.c.

References _, internal_error(), pt_watch_regs::mips32, pt_watch_regs::mips64, pt_watch_style_mips32, pt_watch_style_mips64, pt_watch_regs::style, mips32_watch_regs::watchhi, and mips64_watch_regs::watchhi.

Referenced by mips_linux_stopped_by_watchpoint(), mips_linux_watch_try_one_watch(), and mips_show_dr().

## ◆ mips_linux_watch_get_watchlo()

CORE_ADDR mips_linux_watch_get_watchlo | ( | struct pt_watch_regs * | regs,
|  | int | n
| ) |  |

Definition at line 79 of file mips-linux-watch.c.

References _, internal_error(), pt_watch_regs::mips32, pt_watch_regs::mips64, pt_watch_style_mips32, pt_watch_style_mips64, pt_watch_regs::style, mips32_watch_regs::watchlo, and mips64_watch_regs::watchlo.

Referenced by mips_linux_watch_try_one_watch(), and mips_show_dr().

## ◆ mips_linux_watch_populate_regs()

void mips_linux_watch_populate_regs | ( | struct mips_watchpoint * | current_watches,
|  | struct pt_watch_regs * | regs
| ) |  |

Definition at line 325 of file mips-linux-watch.c.

References mips_watchpoint::addr, current_watches, gdb_assert, mips_watchpoint::len, mips_linux_watch_get_num_valid(), mips_linux_watch_set_watchhi(), mips_linux_watch_set_watchlo(), mips_linux_watch_try_one_watch(), mips_linux_watch_type_to_irw(), mips_watchpoint::next, and mips_watchpoint::type.

Referenced by mips_linux_insert_watchpoint(), and mips_linux_remove_watchpoint().

## ◆ mips_linux_watch_set_watchhi()

void mips_linux_watch_set_watchhi | ( | struct pt_watch_regs * | regs,
|  | int | n,
|  | uint16_t | value
| ) |  |

Definition at line 138 of file mips-linux-watch.c.

References _, internal_error(), pt_watch_regs::mips32, pt_watch_regs::mips64, pt_watch_style_mips32, pt_watch_style_mips64, pt_watch_regs::style, mips32_watch_regs::watchhi, and mips64_watch_regs::watchhi.

Referenced by mips_linux_watch_populate_regs(), and mips_linux_watch_try_one_watch().

## ◆ mips_linux_watch_set_watchlo()

void mips_linux_watch_set_watchlo | ( | struct pt_watch_regs * | regs,
|  | int | n,
|  | CORE_ADDR | value
| ) |  |

Definition at line 97 of file mips-linux-watch.c.

References _, internal_error(), pt_watch_regs::mips32, pt_watch_regs::mips64, pt_watch_style_mips32, pt_watch_style_mips64, pt_watch_regs::style, mips32_watch_regs::watchlo, and mips64_watch_regs::watchlo.

Referenced by mips_linux_region_ok_for_hw_watchpoint(), mips_linux_watch_populate_regs(), and mips_linux_watch_try_one_watch().

## ◆ mips_linux_watch_try_one_watch()

int mips_linux_watch_try_one_watch | ( | struct pt_watch_regs * | regs,
|  | CORE_ADDR | addr,
|  | int | len,
|  | uint32_t | irw
| ) |  |

Definition at line 236 of file mips-linux-watch.c.

References fill_mask(), get_reg_mask(), IRW_MASK, mips_linux_watch_get_irw_mask(), mips_linux_watch_get_num_valid(), mips_linux_watch_get_watchhi(), mips_linux_watch_get_watchlo(), mips_linux_watch_set_watchhi(), and mips_linux_watch_set_watchlo().

Referenced by mips_linux_insert_watchpoint(), mips_linux_region_ok_for_hw_watchpoint(), and mips_linux_watch_populate_regs().

## ◆ mips_linux_watch_type_to_irw()

uint32_t mips_linux_watch_type_to_irw | ( | enum target_hw_bp_type | type | ) |

Definition at line 201 of file mips-linux-watch.c.

References hw_access, hw_read, hw_write, R_MASK, and W_MASK.

Referenced by mips_linux_insert_watchpoint(), and mips_linux_watch_populate_regs().