21#include "gdbsupport/selftest.h"
24#if defined(HAVE_LIBEXPAT)
27namespace memory_map_tests {
31static const char valid_mem_map[] = R
"(<?xml version="1.0"?>
33 PUBLIC "+//IDN gnu.org//DTD GDB Memory Map V1.0//EN"
34 "http://sourceware.org/gdb/gdb-memory-map.dtd">
36 <memory type="ram" start="0" length="4096" />
37 <memory type="rom" start="65536" length="256" />
38 <memory type="flash" start="131072" length="65536">
39 <property name="blocksize">1024</property>
48check_mem_region (
const mem_region &r, CORE_ADDR lo, CORE_ADDR hi,
51 SELF_CHECK (r.
lo == lo);
52 SELF_CHECK (r.
hi == hi);
63parse_memory_map_tests ()
67 SELF_CHECK (regions.size () == 3);
69 check_mem_region (regions[0], 0, 0 + 4096,
MEM_RW, -1);
70 check_mem_region (regions[1], 65536, 65536 + 256,
MEM_RO, -1);
71 check_mem_region (regions[2], 131072, 131072 + 65536,
MEM_FLASH, 1024);
79void _initialize_memory_map_selftests ();
81_initialize_memory_map_selftests ()
83#if defined(HAVE_LIBEXPAT)
84 selftests::register_test
86 selftests::memory_map_tests::parse_memory_map_tests);
std::vector< mem_region > parse_memory_map(const char *memory_map)
enum mem_access_mode mode