diff -up oprofile-0.9.9/doc/ophelp.xsd.ophelp oprofile-0.9.9/doc/ophelp.xsd
--- oprofile-0.9.9/doc/ophelp.xsd.ophelp 2014-05-28 10:09:46.279270117 -0400
+++ oprofile-0.9.9/doc/ophelp.xsd 2014-05-28 10:08:59.416060557 -0400
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="help_events">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" ref="header"/>
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="event"/>
+ </xs:sequence>
+ <!-- integer part of schemaversion should changes for major schema -->
+ <xs:attribute name="schemaversion" use="required">
+ <xs:simpleType>
+ <xs:restriction base = "xs:string">
+ <xs:pattern value = "1\.[0-9]+"/>
+ </xs:restriction>
+ </xs:simpleType> </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="header">
+ <xs:complexType>
+ <xs:attribute name="title" type="xs:string" use="required"/>
+ <xs:attribute name="doc" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="event">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" ref="unit_masks"/>
+ </xs:sequence>
+ <xs:attribute name="event_name" type="xs:string" use="required"/>
+ <xs:attribute name="group" type="xs:nonNegativeInteger" use="optional"/>
+ <xs:attribute name="counter_mask" type="xs:nonNegativeInteger" use="required"/>
+ <xs:attribute name="min_count" type="xs:nonNegativeInteger" use="required"/>
+ <xs:attribute name="desc" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="unit_masks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="unit_mask"/>
+ </xs:sequence>
+ <xs:attribute name="default" type="xs:nonNegativeInteger" use="required"/>
+ <xs:attribute name="category" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="unit_mask">
+ <xs:complexType>
+ <xs:attribute name="mask" type="xs:nonNegativeInteger" use="required"/>
+ <xs:attribute name="desc" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+
commit a339a069f4ceba748df44d2babd9f08ce06abd78
Author: Maynard Johnson <maynardj@us.ibm.com>
Date: Thu Nov 7 08:24:05 2013 -0600
ophelp schema is not included in installed files
A one-line change in doc/Makefile.am was needed in order for
'make install' to put ophelp.xsd in <installdir>/share/doc/oprofile.
Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 45fbe92..258842f 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -26,7 +26,7 @@ man_MANS += operf.1 \
endif
htmldir = $(prefix)/share/doc/oprofile
-dist_html_DATA = oprofile.html internals.html opreport.xsd op-jit-devel.html
+dist_html_DATA = oprofile.html internals.html opreport.xsd ophelp.xsd op-jit-devel.html
if have_xsltproc
commit ed40d8d444a17e7cf16a4653607b04a24f4c0513
Author: William Cohen <wcohen@redhat.com>
Date: Tue Jan 28 11:05:46 2014 -0600
Print unit mask name where applicable in ophelp XML output
Some Intel architectures have named unit masks and it would be useful
to include the unit mask name in the XML output. This patch also
updates the ophelp.xsd schema file to include the optional unit
mask 'name' field.
Signed-off-by: William Cohen <wcohen@redhat.com>
diff --git a/doc/ophelp.xsd b/doc/ophelp.xsd
index 9bd7f82..c07bdb4 100644
--- a/doc/ophelp.xsd
+++ b/doc/ophelp.xsd
@@ -49,6 +49,7 @@
<xs:element name="unit_mask">
<xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="mask" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="desc" type="xs:string" use="required"/>
</xs:complexType>
diff --git a/libop/op_xml_events.c b/libop/op_xml_events.c
index 3b1af21..de107c2 100644
--- a/libop/op_xml_events.c
+++ b/libop/op_xml_events.c
@@ -95,6 +95,10 @@ void xml_help_for_event(struct op_event const * event)
close_xml_element(NONE, 1, buffer, MAX_BUFFER);
for (i = 0; i < event->unit->num; i++) {
open_xml_element(HELP_UNIT_MASK, 1, buffer, MAX_BUFFER);
+ if (event->unit->um[i].name)
+ init_xml_str_attr(HELP_UNIT_MASK_NAME,
+ event->unit->um[i].name,
+ buffer, MAX_BUFFER);
init_xml_int_attr(HELP_UNIT_MASK_VALUE,
event->unit->um[i].value,
buffer, MAX_BUFFER);
diff --git a/libop/op_xml_out.c b/libop/op_xml_out.c
index 0b3deea..ac3c97b 100644
--- a/libop/op_xml_out.c
+++ b/libop/op_xml_out.c
@@ -84,7 +84,8 @@ char const * xml_tag_map[] = {
"unit_mask",
"mask",
"desc",
- "extra"
+ "extra",
+ "name"
};
#define MAX_BUF_LEN 2048
diff --git a/libop/op_xml_out.h b/libop/op_xml_out.h
index 544bd51..6d5a468 100644
--- a/libop/op_xml_out.h
+++ b/libop/op_xml_out.h
@@ -59,6 +59,7 @@ typedef enum {
HELP_UNIT_MASK_VALUE,
HELP_UNIT_MASK_DESC,
HELP_UNIT_EXTRA_VALUE,
+ HELP_UNIT_MASK_NAME,
} tag_t;
char const * xml_tag_name(tag_t tag);
commit fd05dade355b482ee9286b7bf90b4b150f49f81c
Author: Maynard Johnson <maynardj@us.ibm.com>
Date: Mon Feb 3 08:47:30 2014 -0600
Remove 'extra' attribute from ophelp XML output; bump schema version
As discussed on the oprofile mailing list on Sep 24, 2013, there is
no value add in keeping the 'extra' attribute in ophelp's XML output.
The previous commit added the 'name' field to the XML output, and
that is actual valuable information that consumers of the XML output
should use when coding event specifications to pass to operf or
ocount.
This patch removes the 'extra' attribute and also bumps the schema
version (both in the ophelp.xsd and the XML instance documents).
The schema bump is needed mostly due to removing the 'extra' attribute;
but another reason for it is to draw attention to the new 'name'
attribute, which consumers really must use (when present) in order
to be sure they can properly specify the unitmask that the user
requests.
Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>
diff --git a/doc/ophelp.xsd b/doc/ophelp.xsd
index c07bdb4..1270121 100644
--- a/doc/ophelp.xsd
+++ b/doc/ophelp.xsd
@@ -11,7 +11,7 @@
<xs:attribute name="schemaversion" use="required">
<xs:simpleType>
<xs:restriction base = "xs:string">
- <xs:pattern value = "1\.[0-9]+"/>
+ <xs:pattern value = "2\.[0-9]+"/>
</xs:restriction>
</xs:simpleType> </xs:attribute>
</xs:complexType>
diff --git a/libop/op_xml_events.c b/libop/op_xml_events.c
index de107c2..c301732 100644
--- a/libop/op_xml_events.c
+++ b/libop/op_xml_events.c
@@ -21,7 +21,7 @@ static char buffer[MAX_BUFFER];
void open_xml_events(char const * title, char const * doc, op_cpu the_cpu_type)
{
- char const * schema_version = "1.1";
+ char const * schema_version = "2.0";
buffer[0] = '\0';
cpu_type = the_cpu_type;
@@ -105,10 +105,6 @@ void xml_help_for_event(struct op_event const * event)
init_xml_str_attr(HELP_UNIT_MASK_DESC,
event->unit->um[i].desc,
buffer, MAX_BUFFER);
- if (event->unit->um[i].extra)
- init_xml_int_attr(HELP_UNIT_EXTRA_VALUE,
- event->unit->um[i].extra,
- buffer, MAX_BUFFER);
close_xml_element(NONE, 0, buffer, MAX_BUFFER);
}
close_xml_element(HELP_UNIT_MASKS, 0, buffer, MAX_BUFFER);
diff --git a/libop/op_xml_out.c b/libop/op_xml_out.c
index ac3c97b..63ee41c 100644
--- a/libop/op_xml_out.c
+++ b/libop/op_xml_out.c
@@ -84,7 +84,6 @@ char const * xml_tag_map[] = {
"unit_mask",
"mask",
"desc",
- "extra",
"name"
};
diff --git a/libop/op_xml_out.h b/libop/op_xml_out.h
index 6d5a468..a829f66 100644
--- a/libop/op_xml_out.h
+++ b/libop/op_xml_out.h
@@ -58,7 +58,6 @@ typedef enum {
HELP_UNIT_MASK,
HELP_UNIT_MASK_VALUE,
HELP_UNIT_MASK_DESC,
- HELP_UNIT_EXTRA_VALUE,
HELP_UNIT_MASK_NAME,
} tag_t;