summaryrefslogtreecommitdiff
path: root/extension_eppic.h
Commit message (Collapse)AuthorAge
* [PATCH] eppic: Add support to module data structures.Aravinda Prasad2014-03-03
| | | | | | | | | | | | | | | | | | | | | | When trying to refer a module data structure GET_DIE_NFIELDS does not set the dwarf_info to the right module. For instance: struct ap_device { ... struct list_head list; ... }; struct ap_device *dev; As a result, it was able to resolve only dev->list and it was failing to resolve dev->list.next. The patch takes care of handling this by introducing GET_DIE_NFIELDS_ALL which takes care of setting the dwarf_info to the appropriate module. Signed-off-by: Aruna Balakrishnaiah <aruna@linux.vnet.ibm.com>
* [PATCH v2] Add support to module data structures.Aruna Balakrishnaiah2013-11-11
| | | | | | | | | | Current version of makedumpfile/eppic integration patches works only for data structures in vmlinux. This patch adds support to module data structures. Changes from v1: Fix return value when failed to set dwarf_debuginfo Signed-off-by: Aruna Balakrishnaiah <aruna@linux.vnet.ibm.com>
* [PATCH] Add support to module symbols.Aravinda Prasad2013-03-18
| | | | | | | | | | | | | Current version of makedumpfile/eppic integration patches works only for symbols in vmlinux. This patch adds support to module symbols. I have tested the patch on dynamically linked version of makedumpfile with EPPIC_LEGACY_MODE=1. However it should work on non-legacy mode also. Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com> Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
* [PATCH v4 8/9] Hack for the limitation when compiled with -static.Aravinda Prasad2013-02-05
| | | | | | | | | | | | | | | | | | | | For programs compiled with -static option, there is no dynamic section in the ELF file. Hence, the functions in the main executable cannot be invoked by dynamically loaded libraries as they cannot be resolved. The eppic extension for makedumpfile, which is dynamically loaded when -eppic flag is specified, needs to call few functions in makedumpfile. This will not work if makedumpfile is compiled with -static flag. This patch is a hack which overcomes this limitation by passing the address of the functions required by the dynamically loaded library, eppic_makedumpfile.so, during initialization. The dynamically loaded library branches to the function address eliminating the need to resolve functions. Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
* [PATCH v4 6/9] Extend eppic built-in functions to include memset function.Aravinda Prasad2013-02-05
| | | | | | | | | | | The memset function will be used to specify the virtual address and the length of the data to be scrubbed in the dump file from the eppic macro. makedumpfile will convert these requests into filter_info nodes which will be enqueued for filtering. Existing makedumpfile functionality reads the filter_info nodes and scrubs the data accordingly. Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
* [PATCH v4 5/9] Implement apimember and apigetrtype call back functions.Aravinda Prasad2013-02-05
| | | | | | | | | | | | | | | The patch includes functionality for apimember and apigetrtype eppic callback routines along with helper functions to fetch information related to the member of the structure/union Whenever a structure/union member is accessed inside the eppic macro, eppic will query makedumpfile through call back functions requesting more information on the structure or union member. The information includes member name, offset from structure, data type and size. makedumpfile will get all these information using DWARF and pass back to eppic using libeppic API calls. Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
* [PATCH v4 3/9] Eppic call back functions to query a dump image.Aravinda Prasad2013-02-05
| | | | | | | | | | | | | This patch implements a series of apigetuint* call back functions which are used to access data from the dump image. Eppic uses these call back functions to fetch the actual value of the global variables. This patch also adds other call back functions as a place holder which will be implemented in later patches. This is mainly to avoid compilation error while registering the call back functions using eppic_apiset() function. Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
* [PATCH v4 2/9] makedumpfile and eppic interface layer.Aravinda Prasad2013-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | This patch extends the makedumpfile functionality to include eppic language support. The patch dynamically loads the makedumpfile specific shared object and calls the eppic_load function in shared object to load/compile and execute the specified eppic macros. This patch also includes "--eppic" option to makedumpfile command to specify the eppic macro or the directory containing eppic macros. The specified eppic macro will be executed to scrub the data in the dumpfile. In case of a directory, all the eppic macros inside the directory will be executed for scrubbing the data. TODO - Support specifying eppic macros in the makedumpfile.conf file. A new command should be added to makedumpfile.conf to identify an eppic macro. This command could be used in any section of the makedumpfile.conf, where the section name indicates the kernel module name. makedumpfile will only search for symbols encountered by eppic macro only in the specified module. Because, searching these symbols in all the modules will cause huge performance overhead. Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
* [PATCH v4 1/9] Initialize and setup eppic.Aravinda Prasad2013-02-05
This patch contains routines which initialize eppic and register call back function which will be called whenever a new eppic macro is loaded using eppic_load() API. The registered call back function executes the eppic macro as soon as it is loaded. Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>