]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/src/skl014-no_filter.ptt
Import Intel Processor Trace library.
[FreeBSD/FreeBSD.git] / test / src / skl014-no_filter.ptt
1 ; Copyright (c) 2017-2018, Intel Corporation
2 ;
3 ; Redistribution and use in source and binary forms, with or without
4 ; modification, are permitted provided that the following conditions are met:
5 ;
6 ;  * Redistributions of source code must retain the above copyright notice,
7 ;    this list of conditions and the following disclaimer.
8 ;  * Redistributions in binary form must reproduce the above copyright notice,
9 ;    this list of conditions and the following disclaimer in the documentation
10 ;    and/or other materials provided with the distribution.
11 ;  * Neither the name of Intel Corporation nor the names of its contributors
12 ;    may be used to endorse or promote products derived from this software
13 ;    without specific prior written permission.
14 ;
15 ; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16 ; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 ; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 ; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19 ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 ; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 ; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 ; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 ; POSSIBILITY OF SUCH DAMAGE.
26
27 ; Test that TIP.PGD with suppressed IP payload is not applied to the next direct
28 ; branch if we do not have a filter configuration.
29 ;
30 ;   cpu 6/78
31 ;   cpu 6/94
32 ;   cpu 6/142
33 ;   cpu 6/158
34 ;
35
36 org 0x100000
37 bits 64
38
39 ; @pt p0: psb()
40 ; @pt p1: fup(3: %l0)
41 ; @pt p2: mode.exec(64bit)
42 ; @pt p3: psbend()
43 l0:     jmp l2
44 l1:     hlt
45
46 l2:     jmp far [rax] ; l4
47 l3:     hlt
48
49 ; @pt p4: tip.pgd(0: %l4)
50 l4:     hlt
51
52 ; @pt .exp(ptxed)
53 ;%0l0 # jmp l2
54 ;%0l2 # jmp far [rax] ; l4
55 ;[disabled]
56
57
58 ; @pt .exp(ptdump)
59 ;%0p0  psb
60 ;%0p1  fup        3: %0l0
61 ;%0p2  mode.exec  cs.l
62 ;%0p3  psbend
63 ;%0p4  tip.pgd    0: %?l4.0