diff options
Diffstat (limited to 'cpukit/libmisc/monitor/mon-region.c')
-rw-r--r-- | cpukit/libmisc/monitor/mon-region.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/cpukit/libmisc/monitor/mon-region.c b/cpukit/libmisc/monitor/mon-region.c new file mode 100644 index 0000000000..136d739fab --- /dev/null +++ b/cpukit/libmisc/monitor/mon-region.c @@ -0,0 +1,69 @@ +/* + * RTEMS Monitor region support + * + * $Id$ + */ + +#include <rtems.h> +#include "monitor.h" +#include <rtems/rtems/attr.inl> +#include <stdio.h> +#include <string.h> /* memcpy() */ + +void +rtems_monitor_region_canonical( + rtems_monitor_region_t *canonical_region, + void *region_void +) +{ + Region_Control *rtems_region = (Region_Control *) region_void; + + canonical_region->attribute = rtems_region->attribute_set; + canonical_region->start_addr = rtems_region->starting_address; + canonical_region->length = rtems_region->length; + canonical_region->page_size = rtems_region->page_size; + canonical_region->max_seg_size = rtems_region->maximum_segment_size; + canonical_region->used_blocks = rtems_region->number_of_used_blocks; +} + + +void +rtems_monitor_region_dump_header( + boolean verbose +) +{ + printf("\ + ID NAME ATTR STARTADDR LENGTH PAGE_SIZE USED_BLOCKS\n"); +/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 1234 + 1 2 3 4 5 6 7 */ + + rtems_monitor_separator(); +} + +/* + */ + +void +rtems_monitor_region_dump( + rtems_monitor_region_t *monitor_region, + boolean verbose +) +{ + int length = 0; + + length += rtems_monitor_dump_id(monitor_region->id); + length += rtems_monitor_pad(11, length); + length += rtems_monitor_dump_name(monitor_region->name); + length += rtems_monitor_pad(18, length); + length += rtems_monitor_dump_attributes(monitor_region->attribute); + length += rtems_monitor_pad(30, length); + length += rtems_monitor_dump_hex((uint32_t)monitor_region->start_addr); + length += rtems_monitor_pad(40, length); + length += rtems_monitor_dump_hex(monitor_region->length); + length += rtems_monitor_pad(50, length); + length += rtems_monitor_dump_hex(monitor_region->page_size); + length += rtems_monitor_pad(60, length); + length += rtems_monitor_dump_hex(monitor_region->used_blocks); + printf("\n"); +} + |