lines up under the data vector.
* dcache.c (dcache_read_line): New function.
(dcache_peek_byte): Use it.
(dcache_alloc): Return NULL if write of reclaimed cache line fails.
(dcache_peek_byte, dcache_poke_byte): Return failure if
dcache_alloc() returns a NULL data block pointer.
(dcache_xfer_memory): Don't force writeback unless we were writing.
* monitor.c (monitor_expect): Change places where immediate_quit
is set to 1 or 0 to increments and decrements respectively. This
allows such changes to nest properly.
* ocd.c (ocd_start_remote): Likewise.
* remote-adapt.c (expect): Likewise.
* remote-array.c (expect): Likewise.
* remote-eb.c (expect): Likewise.
* remote-e7000.c (e7000_start_remote): Likewise.
* remote-mips.c (mips_expect_timeout, mips_getstring): Likewise.
* remote-nrom.c (expect): Likewise.
* remote-os9k.c (expect): Likewise.
* remote-sds.c (sds_start_remote): Likewise.
* remote-st.c (expect): Likewise.
* remote-utils.c (sr_expect): Likewise.
* remote.c (remote_start_remote): Likewise.
* tracepoint.c (read_actions): Likewise.
* remote-mips.c (mips_getstring): Balance changes to immediate_quit.
* remote-mips.c (mips_initialize): Fix parameters to clear_breakpoint.
(common_breakpoint): Restore support for instruction breakpoints
on non-LSI targets.
remote_mips_remove_hw_breakpoint): New functions for hardware
breakpoints on LSI targets.
* config/mips/tm-embed.h (target_remove_hw_breakpoint,
target_insert_hw_breakpoint): Define to call
remote_mips_insert_hw_breakpoint and remote_mips_remove_hw_breakpoint,
respectively.
stepping over an instruction that triggered a watchpoint.
* remote-mips.c: Numerous changes to support hardware breakpoints
and watchpoints on LSI MiniRISC and TinyRISC boards.
* mips-tdep.c: Move MIPS16-related macros to config/mips/tm-mips.h.
(mips_breakpoint_from_pc): Account for different breakpoint
instructions used by PMON and IDT monitor.
* config/mips/tm-embed.h: Enable hardware breakpoints on embedded
MIPS targets.
* config/mips/tm-mips.h: Define breakpoint instructions for
PMON and IDT monitor. Move MIPS16-related macros here from
mips-tdep.c.
(mips_initialize): LSI PMON doesn't support 'set regsize' command.
(pmon_wait): Don't need to exit and re-enter debug mode on LSI
PMON after a continue; it causes target program misbehavior.
(mips_fetch_register): Don't fetch unsupported registers; this
cuts down on wasted serial traffic.
(find_proc_desc): Move non-heuristic proc search code into separate
function.
(gdb_print_insn_mips): Use non-heuristic method to find procedure
descriptor, to avoid prologue examination when disassembling.
* remote-mips.c: Add support for new "lsi" target (LSI MiniRISC
aka MicroMeteor board).
(mips_exit_debug): Prevent protocol reinitialization if an error
occurs while exiting debug mode.
from being sent to 32-bit targets by masking off upper bits.
* mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits
of PC on 32-bit targets.
(mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a
frame setup instruction.
(mips32_heuristic_proc_desc): Fix warning found by gcc -Wall.
(mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid
prologue instruction. Fix warnings and bugs found by gcc -Wall.
* buildsym.c (finish_block): Improve handling of overlapping blocks;
fixes problem on MIPS16 printing function arguments.
(mips_addr_bits_remove): Declare.
* mips-tdep.c (mips_push_dummy_frame): Fix heuristic-fence-post
errors when hitting breakpoints during inferior function calls
in 64-bit programs.
(fix_sign_extension): Make public, rename to mips_addr_bits_remove.
* utils.c (paddr_nz, preg_nz): New functions, similar to
paddr and preg but don't print leading zeroes.
* defs.h (paddr_nz, preg_nz): Declare.
* remote-mips.c: Use paddr_nz instead of paddr throughout
to reduce packet size.
(pmon_end_download): Improve timeout error handling.
config/mips/tm-mips.h: Add/fix bugs for 64-bit mips support.
* defs.h: Cleanup; add prototypess
* corefile.c: Change FIXME #ifdef
* win32-nat.c: Include windefs instead of windows.h.
* utils.c: Add routines for printing addresses and registers
based on type size.
* remote-mips.c: Provide support for CAIRO target board.
(cairo_open, cairo_ops): Added.
(mips_monitor_type): MON_CAIRO Added.
(mips_enter_debug, mips_exit_debug, mips_initialize,
mips_fetch_registers, common_breakpoint, mips_load,
_initialize_remote_mips): Updated.
Add simple support for NEC CAIRO Vr4300 development board.