annotate lldb/tools/intel-features/README.txt @ 180:680fa57a2f20

fix compile errors.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 30 May 2020 17:44:06 +0900
parents 1d019706d866
children 2e18cbf3894f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 ****************************************************************************
anatofuz
parents:
diff changeset
2 * README *
anatofuz
parents:
diff changeset
3 * *
anatofuz
parents:
diff changeset
4 * This file provides all the information regarding new CLI commands that *
anatofuz
parents:
diff changeset
5 * enable using various hardware features of Intel(R) architecture based *
anatofuz
parents:
diff changeset
6 * processors from LLDB's CLI. *
anatofuz
parents:
diff changeset
7 ****************************************************************************
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9
anatofuz
parents:
diff changeset
10 ============
anatofuz
parents:
diff changeset
11 Introduction
anatofuz
parents:
diff changeset
12 ============
anatofuz
parents:
diff changeset
13 A shared library has been developed to use various hardware features of
anatofuz
parents:
diff changeset
14 Intel(R) architecture based processors through LLDB's command line. The library
anatofuz
parents:
diff changeset
15 currently comprises of hardware features namely Intel(R) Processor Trace and
anatofuz
parents:
diff changeset
16 Intel(R) Memory Protection Extensions.
anatofuz
parents:
diff changeset
17
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 ============
anatofuz
parents:
diff changeset
20 Details
anatofuz
parents:
diff changeset
21 ============
anatofuz
parents:
diff changeset
22 A C++ based cli wrapper (cli-wrapper.cpp) has been developed here that
anatofuz
parents:
diff changeset
23 agglomerates all cli commands for various hardware features. This wrapper is
anatofuz
parents:
diff changeset
24 build to generate a shared library (lldbIntelFeatures) to provide all these
anatofuz
parents:
diff changeset
25 commands.
anatofuz
parents:
diff changeset
26
anatofuz
parents:
diff changeset
27 For each hardware feature, separate cli commands have been developed that are
anatofuz
parents:
diff changeset
28 provided by wrappers (cli-wrapper-pt.cpp and cli-wrapper-mpxtable.cpp) residing
anatofuz
parents:
diff changeset
29 in feature specific folders ("intel-pt" and "intel-mpx" respectively).
anatofuz
parents:
diff changeset
30
anatofuz
parents:
diff changeset
31 For details regarding cli commands of each feature, please refer to these
anatofuz
parents:
diff changeset
32 feature specific wrappers.
anatofuz
parents:
diff changeset
33
anatofuz
parents:
diff changeset
34
anatofuz
parents:
diff changeset
35
anatofuz
parents:
diff changeset
36 ============
anatofuz
parents:
diff changeset
37 How to Build
anatofuz
parents:
diff changeset
38 ============
anatofuz
parents:
diff changeset
39 The shared library (lldbIntelFeatures) has a cmake based build and can be built
anatofuz
parents:
diff changeset
40 while building LLDB with cmake. "cli-wrapper.cpp" file is compiled along with all
anatofuz
parents:
diff changeset
41 the feature specific source files (residing in feature specific folders).
anatofuz
parents:
diff changeset
42
anatofuz
parents:
diff changeset
43 Furthermore, flexibility is provided to the user to include/exclude a particular
anatofuz
parents:
diff changeset
44 feature while building lldbIntelFeatures library. This is done by flags described
anatofuz
parents:
diff changeset
45 below:
anatofuz
parents:
diff changeset
46
anatofuz
parents:
diff changeset
47 - LLDB_BUILD_INTEL_PT - The flag enables building of Intel(R) Processor Trace
anatofuz
parents:
diff changeset
48 feature (inside intel-pt folder). This flag defaults to "OFF" meaning the
anatofuz
parents:
diff changeset
49 feature is excluded while building lldbIntelFeatures library. Set it to "ON"
anatofuz
parents:
diff changeset
50 in order to include it.
anatofuz
parents:
diff changeset
51
anatofuz
parents:
diff changeset
52 - LLDB_BUILD_INTEL_MPX - Enables building Intel(R) Memory Protection Extensions
anatofuz
parents:
diff changeset
53 feature (inside intel-mpx folder). This flag defaults to "ON" meaning
anatofuz
parents:
diff changeset
54 the feature is excluded while building lldbIntelFeatures library.
anatofuz
parents:
diff changeset
55
anatofuz
parents:
diff changeset
56 Please refer to README files in feature specific folders to know about additional
anatofuz
parents:
diff changeset
57 flags that need to be set in order to build that feature successfully.
anatofuz
parents:
diff changeset
58
anatofuz
parents:
diff changeset
59
anatofuz
parents:
diff changeset
60 ============
anatofuz
parents:
diff changeset
61 How to Use
anatofuz
parents:
diff changeset
62 ============
anatofuz
parents:
diff changeset
63 All CLI commands provided by this shared library can be used through the LLDB's
anatofuz
parents:
diff changeset
64 CLI by executing "plugin load <shared_lib_name>" on LLDB CLI. shared_lib_name here
anatofuz
parents:
diff changeset
65 is lldbIntelFeatures
anatofuz
parents:
diff changeset
66
anatofuz
parents:
diff changeset
67
anatofuz
parents:
diff changeset
68
anatofuz
parents:
diff changeset
69 ============
anatofuz
parents:
diff changeset
70 Description
anatofuz
parents:
diff changeset
71 ============
anatofuz
parents:
diff changeset
72 Please refer to README_CLI file of each feature to know about details of CLI
anatofuz
parents:
diff changeset
73 commands.