| . @(#)kmed.1 $Revision$ $Date$ |
| .TH KMED 1 "$Revision$ $Date$" |
| .SH NAME |
| kmed \- Example of a remote kme daemon |
| .SH SYNOPSIS |
| .TP 7 |
| \fBkmed |
| \fB[\-c\ \fRcorefile\fB] |
| \fB[\-e\ \fRendian\fB] |
| \fB[\-r] |
| \fB[\-U\ \fRport\fB] |
| \fB[\-D\ \fRdebug\fB] |
| .SH DESCRIPTION |
| \fIKmed\fR is an example of a remote daemon for \fIkme(1)\fP. |
| \fIKmed\fR communicates with \fIkme\fP over a socket using a simple |
| custom UDP protocol called \fBRW\fP (for read-write). The example |
| version of kmed is useful as-is for many debugging situations. |
| kmed, however, may require customization in order to provide access |
| to some types of hardware. |
| |
| .PP |
| Command line options include: |
| .TP 15n |
| .BI \-c \ corefile(s) |
| A colon-separated list of pathname(s) or device names which the |
| remote kme will be given access to. An unadorned pathname will |
| be accessed using open(), close(), lseek(), read(), and write(). |
| |
| Two alternative syntaxes are available for corefile, and both allow |
| access to the corefile by using mmap() to map the corefile into |
| the kmed process. Mmap() is very useful when you want to access |
| the /dev/mem special file on Linux. |
| |
| A fixed mmap()ing is selected with the syntax: device,offset,size. |
| In this case, size bytes at offset from the start of the |
| device special file are mmap()ed. This is useful if you want to access |
| just a small region of a special device file. |
| |
| A floating mmap()ing is selected with the syntax: device,1,size. |
| In this case, size bytes are mmap()ed, but the offset of the mmap() |
| will be determined based on the addresses that kme requests. The |
| offset may change over and over depending on what kme needs. This |
| is useful if you want to access into a potentially large area of |
| a special device file. Howver, there may be performance implications |
| if the addresses that kme needs bounce all over the place. A well |
| designed kme_defs file and kme display can minimize this problem. |
| |
| The default for corefile is \fI/dev/kmem\fR. |
| .TP |
| .BI \-e \ endian |
| Unfortunately, the original RW protocol was designed eons ago with |
| no consideration |
| given to the endianess of the protocol. This can cause problems |
| when kme and kmed are running on computers with different endianess. |
| The endian option can be set to 0 (as-is), 1 (big-endian), or 2 (auto detect). |
| The default is to autodetect the endianess, and this usually works. |
| .TP |
| .BI \-r |
| Open the corefile(s) for read access only. The default is to open the |
| corefile(s) for both read and write access. |
| .TP |
| .BI \-U \ port |
| The UDP port number to use for communications with kme. The default is |
| port 2773. |
| .TP |
| .BI \-D \ level |
| Set the debug output level for debugging kmed itself. |
| The default is 0 (no debugging output). |
| .SH "SEE ALSO" |
| kme(1) |