s390/debug: remove raw view
There is not a single user of the debug raw view. Therefore remove it before anybody uses it. If anybody would make use of the view it would expose the struct __debug_entry definition to userspace and really would make it uapi. This wouldn't be good, since the definition is suboptimal and needs to be changed. Right now the structure definition is only defined to be uapi, however there is no user. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
Родитель
7fa0d6ff35
Коммит
ecb1ff6833
|
@ -67,7 +67,7 @@ corresponding component. The debugfs normally should be mounted to
|
||||||
The content of the directories are files which represent different views
|
The content of the directories are files which represent different views
|
||||||
to the debug log. Each component can decide which views should be
|
to the debug log. Each component can decide which views should be
|
||||||
used through registering them with the function :c:func:`debug_register_view()`.
|
used through registering them with the function :c:func:`debug_register_view()`.
|
||||||
Predefined views for hex/ascii, sprintf and raw binary data are provided.
|
Predefined views for hex/ascii and sprintf data are provided.
|
||||||
It is also possible to define other views. The content of
|
It is also possible to define other views. The content of
|
||||||
a view can be inspected simply by reading the corresponding debugfs file.
|
a view can be inspected simply by reading the corresponding debugfs file.
|
||||||
|
|
||||||
|
@ -119,8 +119,6 @@ Predefined views:
|
||||||
|
|
||||||
extern struct debug_view debug_hex_ascii_view;
|
extern struct debug_view debug_hex_ascii_view;
|
||||||
|
|
||||||
extern struct debug_view debug_raw_view;
|
|
||||||
|
|
||||||
extern struct debug_view debug_sprintf_view;
|
extern struct debug_view debug_sprintf_view;
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
|
@ -129,7 +127,7 @@ Examples
|
||||||
.. code-block:: c
|
.. code-block:: c
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* hex_ascii- + raw-view Example
|
* hex_ascii-view Example
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
@ -143,7 +141,6 @@ Examples
|
||||||
|
|
||||||
debug_info = debug_register("test", 1, 4, 4 );
|
debug_info = debug_register("test", 1, 4, 4 );
|
||||||
debug_register_view(debug_info, &debug_hex_ascii_view);
|
debug_register_view(debug_info, &debug_hex_ascii_view);
|
||||||
debug_register_view(debug_info, &debug_raw_view);
|
|
||||||
|
|
||||||
debug_text_event(debug_info, 4 , "one ");
|
debug_text_event(debug_info, 4 , "one ");
|
||||||
debug_int_exception(debug_info, 4, 4711);
|
debug_int_exception(debug_info, 4, 4711);
|
||||||
|
@ -201,7 +198,7 @@ debugfs-files:
|
||||||
Example::
|
Example::
|
||||||
|
|
||||||
> ls /sys/kernel/debug/s390dbf/dasd
|
> ls /sys/kernel/debug/s390dbf/dasd
|
||||||
flush hex_ascii level pages raw
|
flush hex_ascii level pages
|
||||||
> cat /sys/kernel/debug/s390dbf/dasd/hex_ascii | sort -k2,2 -s
|
> cat /sys/kernel/debug/s390dbf/dasd/hex_ascii | sort -k2,2 -s
|
||||||
00 00974733272:680099 2 - 02 0006ad7e 07 ea 4a 90 | ....
|
00 00974733272:680099 2 - 02 0006ad7e 07 ea 4a 90 | ....
|
||||||
00 00974733272:682210 2 - 02 0006ade6 46 52 45 45 | FREE
|
00 00974733272:682210 2 - 02 0006ade6 46 52 45 45 | FREE
|
||||||
|
@ -298,10 +295,9 @@ order to see the debug entries well formatted.
|
||||||
Predefined Views
|
Predefined Views
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
There are three predefined views: hex_ascii, raw and sprintf.
|
There are two predefined views: hex_ascii and sprintf.
|
||||||
The hex_ascii view shows the data field in hex and ascii representation
|
The hex_ascii view shows the data field in hex and ascii representation
|
||||||
(e.g. ``45 43 4b 44 | ECKD``).
|
(e.g. ``45 43 4b 44 | ECKD``).
|
||||||
The raw view returns a bytestream as the debug areas are stored in memory.
|
|
||||||
|
|
||||||
The sprintf view formats the debug entries in the same way as the sprintf
|
The sprintf view formats the debug entries in the same way as the sprintf
|
||||||
function would do. The sprintf event/exception functions write to the
|
function would do. The sprintf event/exception functions write to the
|
||||||
|
@ -334,11 +330,6 @@ The format of the hex_ascii and sprintf view is as follows:
|
||||||
- Return Address to caller
|
- Return Address to caller
|
||||||
- data field
|
- data field
|
||||||
|
|
||||||
The format of the raw view is:
|
|
||||||
|
|
||||||
- Header as described in debug.h
|
|
||||||
- datafield
|
|
||||||
|
|
||||||
A typical line of the hex_ascii view will look like the following (first line
|
A typical line of the hex_ascii view will look like the following (first line
|
||||||
is only for explanation and will not be displayed when 'cating' the view)::
|
is only for explanation and will not be displayed when 'cating' the view)::
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,6 @@ struct debug_view {
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct debug_view debug_hex_ascii_view;
|
extern struct debug_view debug_hex_ascii_view;
|
||||||
extern struct debug_view debug_raw_view;
|
|
||||||
extern struct debug_view debug_sprintf_view;
|
extern struct debug_view debug_sprintf_view;
|
||||||
|
|
||||||
/* do NOT use the _common functions */
|
/* do NOT use the _common functions */
|
||||||
|
|
|
@ -90,27 +90,11 @@ static int debug_input_flush_fn(debug_info_t *id, struct debug_view *view,
|
||||||
size_t user_buf_size, loff_t *offset);
|
size_t user_buf_size, loff_t *offset);
|
||||||
static int debug_hex_ascii_format_fn(debug_info_t *id, struct debug_view *view,
|
static int debug_hex_ascii_format_fn(debug_info_t *id, struct debug_view *view,
|
||||||
char *out_buf, const char *in_buf);
|
char *out_buf, const char *in_buf);
|
||||||
static int debug_raw_format_fn(debug_info_t *id,
|
|
||||||
struct debug_view *view, char *out_buf,
|
|
||||||
const char *in_buf);
|
|
||||||
static int debug_raw_header_fn(debug_info_t *id, struct debug_view *view,
|
|
||||||
int area, debug_entry_t *entry, char *out_buf);
|
|
||||||
|
|
||||||
static int debug_sprintf_format_fn(debug_info_t *id, struct debug_view *view,
|
static int debug_sprintf_format_fn(debug_info_t *id, struct debug_view *view,
|
||||||
char *out_buf, debug_sprintf_entry_t *curr_event);
|
char *out_buf, debug_sprintf_entry_t *curr_event);
|
||||||
|
|
||||||
/* globals */
|
/* globals */
|
||||||
|
|
||||||
struct debug_view debug_raw_view = {
|
|
||||||
"raw",
|
|
||||||
NULL,
|
|
||||||
&debug_raw_header_fn,
|
|
||||||
&debug_raw_format_fn,
|
|
||||||
NULL,
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
EXPORT_SYMBOL(debug_raw_view);
|
|
||||||
|
|
||||||
struct debug_view debug_hex_ascii_view = {
|
struct debug_view debug_hex_ascii_view = {
|
||||||
"hex_ascii",
|
"hex_ascii",
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -1385,32 +1369,6 @@ out:
|
||||||
return rc; /* number of input characters */
|
return rc; /* number of input characters */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* prints debug header in raw format
|
|
||||||
*/
|
|
||||||
static int debug_raw_header_fn(debug_info_t *id, struct debug_view *view,
|
|
||||||
int area, debug_entry_t *entry, char *out_buf)
|
|
||||||
{
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
rc = sizeof(debug_entry_t);
|
|
||||||
memcpy(out_buf, entry, sizeof(debug_entry_t));
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* prints debug data in raw format
|
|
||||||
*/
|
|
||||||
static int debug_raw_format_fn(debug_info_t *id, struct debug_view *view,
|
|
||||||
char *out_buf, const char *in_buf)
|
|
||||||
{
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
rc = id->buf_size;
|
|
||||||
memcpy(out_buf, in_buf, id->buf_size);
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* prints debug data in hex/ascii format
|
* prints debug data in hex/ascii format
|
||||||
*/
|
*/
|
||||||
|
|
Загрузка…
Ссылка в новой задаче