]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/src/tsc-cbr-cyc-tsc.ptt
Import Intel Processor Trace library.
[FreeBSD/FreeBSD.git] / test / src / tsc-cbr-cyc-tsc.ptt
1 ; Copyright (c) 2014-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 CYC-based TSC estimation.
28 ;
29 ; Variant: CBR-based calibration, time correction on TSC
30 ;
31 ; opt:ptdump --time --time-delta
32 ; opt:ptdump --nom-freq 4
33
34 org 0x100000
35 bits 64
36
37 ; @pt p1: psb()
38 ; @pt p2: tsc(0xa0000)
39 ; @pt p3: cbr(0x2)
40 ; @pt p4: psbend()
41
42 ; @pt p5: cyc(0x3)
43 ; @pt p6: cyc(0x1)
44
45 ; @pt p7: tsc(0xa0007)
46 ; @pt p8: cyc(0x2)
47
48
49 ; @pt .exp(ptdump)
50 ;%0p1   psb
51 ;%0p2   tsc a0000       tsc +a0000
52 ;%0p3   cbr 2
53 ;%0p4   psbend
54 ;%0p5   cyc 3           tsc +6
55 ;%0p6   cyc 1           tsc +2
56 ;%0p7   tsc a0007       tsc -1
57 ;%0p8   cyc 2           tsc +4