xref: /freebsd/contrib/processor-trace/libipt/test/src/ptunit-fetch.c (revision 74fe6c29fb7eef3418d7919dcd41dc1a04a982a1)
1*74fe6c29SRuslan Bukin /*
2*74fe6c29SRuslan Bukin  * Copyright (c) 2014-2018, Intel Corporation
3*74fe6c29SRuslan Bukin  *
4*74fe6c29SRuslan Bukin  * Redistribution and use in source and binary forms, with or without
5*74fe6c29SRuslan Bukin  * modification, are permitted provided that the following conditions are met:
6*74fe6c29SRuslan Bukin  *
7*74fe6c29SRuslan Bukin  *  * Redistributions of source code must retain the above copyright notice,
8*74fe6c29SRuslan Bukin  *    this list of conditions and the following disclaimer.
9*74fe6c29SRuslan Bukin  *  * Redistributions in binary form must reproduce the above copyright notice,
10*74fe6c29SRuslan Bukin  *    this list of conditions and the following disclaimer in the documentation
11*74fe6c29SRuslan Bukin  *    and/or other materials provided with the distribution.
12*74fe6c29SRuslan Bukin  *  * Neither the name of Intel Corporation nor the names of its contributors
13*74fe6c29SRuslan Bukin  *    may be used to endorse or promote products derived from this software
14*74fe6c29SRuslan Bukin  *    without specific prior written permission.
15*74fe6c29SRuslan Bukin  *
16*74fe6c29SRuslan Bukin  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17*74fe6c29SRuslan Bukin  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18*74fe6c29SRuslan Bukin  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19*74fe6c29SRuslan Bukin  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20*74fe6c29SRuslan Bukin  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21*74fe6c29SRuslan Bukin  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22*74fe6c29SRuslan Bukin  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23*74fe6c29SRuslan Bukin  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24*74fe6c29SRuslan Bukin  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25*74fe6c29SRuslan Bukin  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26*74fe6c29SRuslan Bukin  * POSSIBILITY OF SUCH DAMAGE.
27*74fe6c29SRuslan Bukin  */
28*74fe6c29SRuslan Bukin 
29*74fe6c29SRuslan Bukin #include "ptunit.h"
30*74fe6c29SRuslan Bukin 
31*74fe6c29SRuslan Bukin #include "pt_decoder_function.h"
32*74fe6c29SRuslan Bukin #include "pt_packet_decoder.h"
33*74fe6c29SRuslan Bukin #include "pt_query_decoder.h"
34*74fe6c29SRuslan Bukin #include "pt_encoder.h"
35*74fe6c29SRuslan Bukin #include "pt_opcodes.h"
36*74fe6c29SRuslan Bukin 
37*74fe6c29SRuslan Bukin #include "intel-pt.h"
38*74fe6c29SRuslan Bukin 
39*74fe6c29SRuslan Bukin 
40*74fe6c29SRuslan Bukin /* A test fixture for decoder function fetch tests. */
41*74fe6c29SRuslan Bukin struct fetch_fixture {
42*74fe6c29SRuslan Bukin 	/* The trace buffer. */
43*74fe6c29SRuslan Bukin 	uint8_t buffer[1024];
44*74fe6c29SRuslan Bukin 
45*74fe6c29SRuslan Bukin 	/* A trace configuration. */
46*74fe6c29SRuslan Bukin 	struct pt_config config;
47*74fe6c29SRuslan Bukin 
48*74fe6c29SRuslan Bukin 	/* A trace encoder. */
49*74fe6c29SRuslan Bukin 	struct pt_encoder encoder;
50*74fe6c29SRuslan Bukin 
51*74fe6c29SRuslan Bukin 	/* The test fixture initialization and finalization functions. */
52*74fe6c29SRuslan Bukin 	struct ptunit_result (*init)(struct fetch_fixture *);
53*74fe6c29SRuslan Bukin 	struct ptunit_result (*fini)(struct fetch_fixture *);
54*74fe6c29SRuslan Bukin };
55*74fe6c29SRuslan Bukin 
56*74fe6c29SRuslan Bukin static struct ptunit_result ffix_init(struct fetch_fixture *ffix)
57*74fe6c29SRuslan Bukin {
58*74fe6c29SRuslan Bukin 	memset(ffix->buffer, pt_opc_bad, sizeof(ffix->buffer));
59*74fe6c29SRuslan Bukin 
60*74fe6c29SRuslan Bukin 	memset(&ffix->config, 0, sizeof(ffix->config));
61*74fe6c29SRuslan Bukin 	ffix->config.size = sizeof(ffix->config);
62*74fe6c29SRuslan Bukin 	ffix->config.begin = ffix->buffer;
63*74fe6c29SRuslan Bukin 	ffix->config.end = ffix->buffer + sizeof(ffix->buffer);
64*74fe6c29SRuslan Bukin 
65*74fe6c29SRuslan Bukin 	pt_encoder_init(&ffix->encoder, &ffix->config);
66*74fe6c29SRuslan Bukin 
67*74fe6c29SRuslan Bukin 	return ptu_passed();
68*74fe6c29SRuslan Bukin }
69*74fe6c29SRuslan Bukin 
70*74fe6c29SRuslan Bukin static struct ptunit_result ffix_fini(struct fetch_fixture *ffix)
71*74fe6c29SRuslan Bukin {
72*74fe6c29SRuslan Bukin 	pt_encoder_fini(&ffix->encoder);
73*74fe6c29SRuslan Bukin 
74*74fe6c29SRuslan Bukin 	return ptu_passed();
75*74fe6c29SRuslan Bukin }
76*74fe6c29SRuslan Bukin 
77*74fe6c29SRuslan Bukin 
78*74fe6c29SRuslan Bukin static struct ptunit_result fetch_null(struct fetch_fixture *ffix)
79*74fe6c29SRuslan Bukin {
80*74fe6c29SRuslan Bukin 	const struct pt_decoder_function *dfun;
81*74fe6c29SRuslan Bukin 	int errcode;
82*74fe6c29SRuslan Bukin 
83*74fe6c29SRuslan Bukin 	errcode = pt_df_fetch(NULL, ffix->config.begin, &ffix->config);
84*74fe6c29SRuslan Bukin 	ptu_int_eq(errcode, -pte_internal);
85*74fe6c29SRuslan Bukin 
86*74fe6c29SRuslan Bukin 	errcode = pt_df_fetch(&dfun, NULL, &ffix->config);
87*74fe6c29SRuslan Bukin 	ptu_int_eq(errcode, -pte_nosync);
88*74fe6c29SRuslan Bukin 
89*74fe6c29SRuslan Bukin 	errcode = pt_df_fetch(&dfun, ffix->config.begin, NULL);
90*74fe6c29SRuslan Bukin 	ptu_int_eq(errcode, -pte_internal);
91*74fe6c29SRuslan Bukin 
92*74fe6c29SRuslan Bukin 	return ptu_passed();
93*74fe6c29SRuslan Bukin }
94*74fe6c29SRuslan Bukin 
95*74fe6c29SRuslan Bukin static struct ptunit_result fetch_empty(struct fetch_fixture *ffix)
96*74fe6c29SRuslan Bukin {
97*74fe6c29SRuslan Bukin 	const struct pt_decoder_function *dfun;
98*74fe6c29SRuslan Bukin 	int errcode;
99*74fe6c29SRuslan Bukin 
100*74fe6c29SRuslan Bukin 	errcode = pt_df_fetch(&dfun, ffix->config.end, &ffix->config);
101*74fe6c29SRuslan Bukin 	ptu_int_eq(errcode, -pte_eos);
102*74fe6c29SRuslan Bukin 
103*74fe6c29SRuslan Bukin 	return ptu_passed();
104*74fe6c29SRuslan Bukin }
105*74fe6c29SRuslan Bukin 
106*74fe6c29SRuslan Bukin static struct ptunit_result fetch_unknown(struct fetch_fixture *ffix)
107*74fe6c29SRuslan Bukin {
108*74fe6c29SRuslan Bukin 	const struct pt_decoder_function *dfun;
109*74fe6c29SRuslan Bukin 	int errcode;
110*74fe6c29SRuslan Bukin 
111*74fe6c29SRuslan Bukin 	ffix->config.begin[0] = pt_opc_bad;
112*74fe6c29SRuslan Bukin 
113*74fe6c29SRuslan Bukin 	errcode = pt_df_fetch(&dfun, ffix->config.begin, &ffix->config);
114*74fe6c29SRuslan Bukin 	ptu_int_eq(errcode, 0);
115*74fe6c29SRuslan Bukin 	ptu_ptr_eq(dfun, &pt_decode_unknown);
116*74fe6c29SRuslan Bukin 
117*74fe6c29SRuslan Bukin 	return ptu_passed();
118*74fe6c29SRuslan Bukin }
119*74fe6c29SRuslan Bukin 
120*74fe6c29SRuslan Bukin static struct ptunit_result fetch_unknown_ext(struct fetch_fixture *ffix)
121*74fe6c29SRuslan Bukin {
122*74fe6c29SRuslan Bukin 	const struct pt_decoder_function *dfun;
123*74fe6c29SRuslan Bukin 	int errcode;
124*74fe6c29SRuslan Bukin 
125*74fe6c29SRuslan Bukin 	ffix->config.begin[0] = pt_opc_ext;
126*74fe6c29SRuslan Bukin 	ffix->config.begin[1] = pt_ext_bad;
127*74fe6c29SRuslan Bukin 
128*74fe6c29SRuslan Bukin 	errcode = pt_df_fetch(&dfun, ffix->config.begin, &ffix->config);
129*74fe6c29SRuslan Bukin 	ptu_int_eq(errcode, 0);
130*74fe6c29SRuslan Bukin 	ptu_ptr_eq(dfun, &pt_decode_unknown);
131*74fe6c29SRuslan Bukin 
132*74fe6c29SRuslan Bukin 	return ptu_passed();
133*74fe6c29SRuslan Bukin }
134*74fe6c29SRuslan Bukin 
135*74fe6c29SRuslan Bukin static struct ptunit_result fetch_unknown_ext2(struct fetch_fixture *ffix)
136*74fe6c29SRuslan Bukin {
137*74fe6c29SRuslan Bukin 	const struct pt_decoder_function *dfun;
138*74fe6c29SRuslan Bukin 	int errcode;
139*74fe6c29SRuslan Bukin 
140*74fe6c29SRuslan Bukin 	ffix->config.begin[0] = pt_opc_ext;
141*74fe6c29SRuslan Bukin 	ffix->config.begin[1] = pt_ext_ext2;
142*74fe6c29SRuslan Bukin 	ffix->config.begin[2] = pt_ext2_bad;
143*74fe6c29SRuslan Bukin 
144*74fe6c29SRuslan Bukin 	errcode = pt_df_fetch(&dfun, ffix->config.begin, &ffix->config);
145*74fe6c29SRuslan Bukin 	ptu_int_eq(errcode, 0);
146*74fe6c29SRuslan Bukin 	ptu_ptr_eq(dfun, &pt_decode_unknown);
147*74fe6c29SRuslan Bukin 
148*74fe6c29SRuslan Bukin 	return ptu_passed();
149*74fe6c29SRuslan Bukin }
150*74fe6c29SRuslan Bukin 
151*74fe6c29SRuslan Bukin static struct ptunit_result fetch_packet(struct fetch_fixture *ffix,
152*74fe6c29SRuslan Bukin 					 const struct pt_packet *packet,
153*74fe6c29SRuslan Bukin 					 const struct pt_decoder_function *df)
154*74fe6c29SRuslan Bukin {
155*74fe6c29SRuslan Bukin 	const struct pt_decoder_function *dfun;
156*74fe6c29SRuslan Bukin 	int errcode;
157*74fe6c29SRuslan Bukin 
158*74fe6c29SRuslan Bukin 	errcode = pt_enc_next(&ffix->encoder, packet);
159*74fe6c29SRuslan Bukin 	ptu_int_ge(errcode, 0);
160*74fe6c29SRuslan Bukin 
161*74fe6c29SRuslan Bukin 	errcode = pt_df_fetch(&dfun, ffix->config.begin, &ffix->config);
162*74fe6c29SRuslan Bukin 	ptu_int_eq(errcode, 0);
163*74fe6c29SRuslan Bukin 	ptu_ptr_eq(dfun, df);
164*74fe6c29SRuslan Bukin 
165*74fe6c29SRuslan Bukin 	return ptu_passed();
166*74fe6c29SRuslan Bukin }
167*74fe6c29SRuslan Bukin 
168*74fe6c29SRuslan Bukin static struct ptunit_result fetch_type(struct fetch_fixture *ffix,
169*74fe6c29SRuslan Bukin 				       enum pt_packet_type type,
170*74fe6c29SRuslan Bukin 				       const struct pt_decoder_function *dfun)
171*74fe6c29SRuslan Bukin {
172*74fe6c29SRuslan Bukin 	struct pt_packet packet;
173*74fe6c29SRuslan Bukin 
174*74fe6c29SRuslan Bukin 	memset(&packet, 0, sizeof(packet));
175*74fe6c29SRuslan Bukin 	packet.type = type;
176*74fe6c29SRuslan Bukin 
177*74fe6c29SRuslan Bukin 	ptu_test(fetch_packet, ffix, &packet, dfun);
178*74fe6c29SRuslan Bukin 
179*74fe6c29SRuslan Bukin 	return ptu_passed();
180*74fe6c29SRuslan Bukin }
181*74fe6c29SRuslan Bukin 
182*74fe6c29SRuslan Bukin static struct ptunit_result fetch_tnt_8(struct fetch_fixture *ffix)
183*74fe6c29SRuslan Bukin {
184*74fe6c29SRuslan Bukin 	struct pt_packet packet;
185*74fe6c29SRuslan Bukin 
186*74fe6c29SRuslan Bukin 	memset(&packet, 0, sizeof(packet));
187*74fe6c29SRuslan Bukin 	packet.type = ppt_tnt_8;
188*74fe6c29SRuslan Bukin 	packet.payload.tnt.bit_size = 1;
189*74fe6c29SRuslan Bukin 
190*74fe6c29SRuslan Bukin 	ptu_test(fetch_packet, ffix, &packet, &pt_decode_tnt_8);
191*74fe6c29SRuslan Bukin 
192*74fe6c29SRuslan Bukin 	return ptu_passed();
193*74fe6c29SRuslan Bukin }
194*74fe6c29SRuslan Bukin 
195*74fe6c29SRuslan Bukin static struct ptunit_result fetch_mode_exec(struct fetch_fixture *ffix)
196*74fe6c29SRuslan Bukin {
197*74fe6c29SRuslan Bukin 	struct pt_packet packet;
198*74fe6c29SRuslan Bukin 
199*74fe6c29SRuslan Bukin 	memset(&packet, 0, sizeof(packet));
200*74fe6c29SRuslan Bukin 	packet.type = ppt_mode;
201*74fe6c29SRuslan Bukin 	packet.payload.mode.leaf = pt_mol_exec;
202*74fe6c29SRuslan Bukin 
203*74fe6c29SRuslan Bukin 	ptu_test(fetch_packet, ffix, &packet, &pt_decode_mode);
204*74fe6c29SRuslan Bukin 
205*74fe6c29SRuslan Bukin 	return ptu_passed();
206*74fe6c29SRuslan Bukin }
207*74fe6c29SRuslan Bukin 
208*74fe6c29SRuslan Bukin static struct ptunit_result fetch_mode_tsx(struct fetch_fixture *ffix)
209*74fe6c29SRuslan Bukin {
210*74fe6c29SRuslan Bukin 	struct pt_packet packet;
211*74fe6c29SRuslan Bukin 
212*74fe6c29SRuslan Bukin 	memset(&packet, 0, sizeof(packet));
213*74fe6c29SRuslan Bukin 	packet.type = ppt_mode;
214*74fe6c29SRuslan Bukin 	packet.payload.mode.leaf = pt_mol_tsx;
215*74fe6c29SRuslan Bukin 
216*74fe6c29SRuslan Bukin 	ptu_test(fetch_packet, ffix, &packet, &pt_decode_mode);
217*74fe6c29SRuslan Bukin 
218*74fe6c29SRuslan Bukin 	return ptu_passed();
219*74fe6c29SRuslan Bukin }
220*74fe6c29SRuslan Bukin 
221*74fe6c29SRuslan Bukin static struct ptunit_result fetch_exstop_ip(struct fetch_fixture *ffix)
222*74fe6c29SRuslan Bukin {
223*74fe6c29SRuslan Bukin 	struct pt_packet packet;
224*74fe6c29SRuslan Bukin 
225*74fe6c29SRuslan Bukin 	memset(&packet, 0, sizeof(packet));
226*74fe6c29SRuslan Bukin 	packet.type = ppt_exstop;
227*74fe6c29SRuslan Bukin 	packet.payload.exstop.ip = 1;
228*74fe6c29SRuslan Bukin 
229*74fe6c29SRuslan Bukin 	ptu_test(fetch_packet, ffix, &packet, &pt_decode_exstop);
230*74fe6c29SRuslan Bukin 
231*74fe6c29SRuslan Bukin 	return ptu_passed();
232*74fe6c29SRuslan Bukin }
233*74fe6c29SRuslan Bukin 
234*74fe6c29SRuslan Bukin int main(int argc, char **argv)
235*74fe6c29SRuslan Bukin {
236*74fe6c29SRuslan Bukin 	struct fetch_fixture ffix;
237*74fe6c29SRuslan Bukin 	struct ptunit_suite suite;
238*74fe6c29SRuslan Bukin 
239*74fe6c29SRuslan Bukin 	ffix.init = ffix_init;
240*74fe6c29SRuslan Bukin 	ffix.fini = ffix_fini;
241*74fe6c29SRuslan Bukin 
242*74fe6c29SRuslan Bukin 	suite = ptunit_mk_suite(argc, argv);
243*74fe6c29SRuslan Bukin 
244*74fe6c29SRuslan Bukin 	ptu_run_f(suite, fetch_null, ffix);
245*74fe6c29SRuslan Bukin 	ptu_run_f(suite, fetch_empty, ffix);
246*74fe6c29SRuslan Bukin 
247*74fe6c29SRuslan Bukin 	ptu_run_f(suite, fetch_unknown, ffix);
248*74fe6c29SRuslan Bukin 	ptu_run_f(suite, fetch_unknown_ext, ffix);
249*74fe6c29SRuslan Bukin 	ptu_run_f(suite, fetch_unknown_ext2, ffix);
250*74fe6c29SRuslan Bukin 
251*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_pad, &pt_decode_pad);
252*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_psb, &pt_decode_psb);
253*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_tip, &pt_decode_tip);
254*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_tnt_64, &pt_decode_tnt_64);
255*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_tip_pge, &pt_decode_tip_pge);
256*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_tip_pgd, &pt_decode_tip_pgd);
257*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_fup, &pt_decode_fup);
258*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_pip, &pt_decode_pip);
259*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_ovf, &pt_decode_ovf);
260*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_psbend, &pt_decode_psbend);
261*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_tsc, &pt_decode_tsc);
262*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_cbr, &pt_decode_cbr);
263*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_tma, &pt_decode_tma);
264*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_mtc, &pt_decode_mtc);
265*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_cyc, &pt_decode_cyc);
266*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_stop, &pt_decode_stop);
267*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_vmcs, &pt_decode_vmcs);
268*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_mnt, &pt_decode_mnt);
269*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_exstop, &pt_decode_exstop);
270*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_mwait, &pt_decode_mwait);
271*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_pwre, &pt_decode_pwre);
272*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_pwrx, &pt_decode_pwrx);
273*74fe6c29SRuslan Bukin 	ptu_run_fp(suite, fetch_type, ffix, ppt_ptw, &pt_decode_ptw);
274*74fe6c29SRuslan Bukin 
275*74fe6c29SRuslan Bukin 	ptu_run_f(suite, fetch_tnt_8, ffix);
276*74fe6c29SRuslan Bukin 	ptu_run_f(suite, fetch_mode_exec, ffix);
277*74fe6c29SRuslan Bukin 	ptu_run_f(suite, fetch_mode_tsx, ffix);
278*74fe6c29SRuslan Bukin 	ptu_run_f(suite, fetch_exstop_ip, ffix);
279*74fe6c29SRuslan Bukin 
280*74fe6c29SRuslan Bukin 	return ptunit_report(&suite);
281*74fe6c29SRuslan Bukin }
282*74fe6c29SRuslan Bukin 
283*74fe6c29SRuslan Bukin 
284*74fe6c29SRuslan Bukin /* Dummy decode functions to satisfy link dependencies.
285*74fe6c29SRuslan Bukin  *
286*74fe6c29SRuslan Bukin  * As a nice side-effect, we will know if we need to add more tests when
287*74fe6c29SRuslan Bukin  * adding new decoder functions.
288*74fe6c29SRuslan Bukin  */
289*74fe6c29SRuslan Bukin int pt_pkt_decode_unknown(struct pt_packet_decoder *d, struct pt_packet *p)
290*74fe6c29SRuslan Bukin {
291*74fe6c29SRuslan Bukin 	(void) d;
292*74fe6c29SRuslan Bukin 	(void) p;
293*74fe6c29SRuslan Bukin 
294*74fe6c29SRuslan Bukin 	return -pte_internal;
295*74fe6c29SRuslan Bukin }
296*74fe6c29SRuslan Bukin int pt_qry_decode_unknown(struct pt_query_decoder *d)
297*74fe6c29SRuslan Bukin {
298*74fe6c29SRuslan Bukin 	(void) d;
299*74fe6c29SRuslan Bukin 
300*74fe6c29SRuslan Bukin 	return -pte_internal;
301*74fe6c29SRuslan Bukin }
302*74fe6c29SRuslan Bukin 
303*74fe6c29SRuslan Bukin int pt_pkt_decode_pad(struct pt_packet_decoder *d, struct pt_packet *p)
304*74fe6c29SRuslan Bukin {
305*74fe6c29SRuslan Bukin 	(void) d;
306*74fe6c29SRuslan Bukin 	(void) p;
307*74fe6c29SRuslan Bukin 
308*74fe6c29SRuslan Bukin 	return -pte_internal;
309*74fe6c29SRuslan Bukin }
310*74fe6c29SRuslan Bukin int pt_qry_decode_pad(struct pt_query_decoder *d)
311*74fe6c29SRuslan Bukin {
312*74fe6c29SRuslan Bukin 	(void) d;
313*74fe6c29SRuslan Bukin 
314*74fe6c29SRuslan Bukin 	return -pte_internal;
315*74fe6c29SRuslan Bukin }
316*74fe6c29SRuslan Bukin 
317*74fe6c29SRuslan Bukin int pt_pkt_decode_psb(struct pt_packet_decoder *d, struct pt_packet *p)
318*74fe6c29SRuslan Bukin {
319*74fe6c29SRuslan Bukin 	(void) d;
320*74fe6c29SRuslan Bukin 	(void) p;
321*74fe6c29SRuslan Bukin 
322*74fe6c29SRuslan Bukin 	return -pte_internal;
323*74fe6c29SRuslan Bukin }
324*74fe6c29SRuslan Bukin int pt_qry_decode_psb(struct pt_query_decoder *d)
325*74fe6c29SRuslan Bukin {
326*74fe6c29SRuslan Bukin 	(void) d;
327*74fe6c29SRuslan Bukin 
328*74fe6c29SRuslan Bukin 	return -pte_internal;
329*74fe6c29SRuslan Bukin }
330*74fe6c29SRuslan Bukin 
331*74fe6c29SRuslan Bukin int pt_pkt_decode_tip(struct pt_packet_decoder *d, struct pt_packet *p)
332*74fe6c29SRuslan Bukin {
333*74fe6c29SRuslan Bukin 	(void) d;
334*74fe6c29SRuslan Bukin 	(void) p;
335*74fe6c29SRuslan Bukin 
336*74fe6c29SRuslan Bukin 	return -pte_internal;
337*74fe6c29SRuslan Bukin }
338*74fe6c29SRuslan Bukin int pt_qry_decode_tip(struct pt_query_decoder *d)
339*74fe6c29SRuslan Bukin {
340*74fe6c29SRuslan Bukin 	(void) d;
341*74fe6c29SRuslan Bukin 
342*74fe6c29SRuslan Bukin 	return -pte_internal;
343*74fe6c29SRuslan Bukin }
344*74fe6c29SRuslan Bukin 
345*74fe6c29SRuslan Bukin int pt_pkt_decode_tnt_8(struct pt_packet_decoder *d, struct pt_packet *p)
346*74fe6c29SRuslan Bukin {
347*74fe6c29SRuslan Bukin 	(void) d;
348*74fe6c29SRuslan Bukin 	(void) p;
349*74fe6c29SRuslan Bukin 
350*74fe6c29SRuslan Bukin 	return -pte_internal;
351*74fe6c29SRuslan Bukin }
352*74fe6c29SRuslan Bukin int pt_qry_decode_tnt_8(struct pt_query_decoder *d)
353*74fe6c29SRuslan Bukin {
354*74fe6c29SRuslan Bukin 	(void) d;
355*74fe6c29SRuslan Bukin 
356*74fe6c29SRuslan Bukin 	return -pte_internal;
357*74fe6c29SRuslan Bukin }
358*74fe6c29SRuslan Bukin 
359*74fe6c29SRuslan Bukin int pt_pkt_decode_tnt_64(struct pt_packet_decoder *d, struct pt_packet *p)
360*74fe6c29SRuslan Bukin {
361*74fe6c29SRuslan Bukin 	(void) d;
362*74fe6c29SRuslan Bukin 	(void) p;
363*74fe6c29SRuslan Bukin 
364*74fe6c29SRuslan Bukin 	return -pte_internal;
365*74fe6c29SRuslan Bukin }
366*74fe6c29SRuslan Bukin int pt_qry_decode_tnt_64(struct pt_query_decoder *d)
367*74fe6c29SRuslan Bukin {
368*74fe6c29SRuslan Bukin 	(void) d;
369*74fe6c29SRuslan Bukin 
370*74fe6c29SRuslan Bukin 	return -pte_internal;
371*74fe6c29SRuslan Bukin }
372*74fe6c29SRuslan Bukin 
373*74fe6c29SRuslan Bukin int pt_pkt_decode_tip_pge(struct pt_packet_decoder *d, struct pt_packet *p)
374*74fe6c29SRuslan Bukin {
375*74fe6c29SRuslan Bukin 	(void) d;
376*74fe6c29SRuslan Bukin 	(void) p;
377*74fe6c29SRuslan Bukin 
378*74fe6c29SRuslan Bukin 	return -pte_internal;
379*74fe6c29SRuslan Bukin }
380*74fe6c29SRuslan Bukin int pt_qry_decode_tip_pge(struct pt_query_decoder *d)
381*74fe6c29SRuslan Bukin {
382*74fe6c29SRuslan Bukin 	(void) d;
383*74fe6c29SRuslan Bukin 
384*74fe6c29SRuslan Bukin 	return -pte_internal;
385*74fe6c29SRuslan Bukin }
386*74fe6c29SRuslan Bukin 
387*74fe6c29SRuslan Bukin int pt_pkt_decode_tip_pgd(struct pt_packet_decoder *d, struct pt_packet *p)
388*74fe6c29SRuslan Bukin {
389*74fe6c29SRuslan Bukin 	(void) d;
390*74fe6c29SRuslan Bukin 	(void) p;
391*74fe6c29SRuslan Bukin 
392*74fe6c29SRuslan Bukin 	return -pte_internal;
393*74fe6c29SRuslan Bukin }
394*74fe6c29SRuslan Bukin int pt_qry_decode_tip_pgd(struct pt_query_decoder *d)
395*74fe6c29SRuslan Bukin {
396*74fe6c29SRuslan Bukin 	(void) d;
397*74fe6c29SRuslan Bukin 
398*74fe6c29SRuslan Bukin 	return -pte_internal;
399*74fe6c29SRuslan Bukin }
400*74fe6c29SRuslan Bukin 
401*74fe6c29SRuslan Bukin int pt_pkt_decode_fup(struct pt_packet_decoder *d, struct pt_packet *p)
402*74fe6c29SRuslan Bukin {
403*74fe6c29SRuslan Bukin 	(void) d;
404*74fe6c29SRuslan Bukin 	(void) p;
405*74fe6c29SRuslan Bukin 
406*74fe6c29SRuslan Bukin 	return -pte_internal;
407*74fe6c29SRuslan Bukin }
408*74fe6c29SRuslan Bukin int pt_qry_decode_fup(struct pt_query_decoder *d)
409*74fe6c29SRuslan Bukin {
410*74fe6c29SRuslan Bukin 	(void) d;
411*74fe6c29SRuslan Bukin 
412*74fe6c29SRuslan Bukin 	return -pte_internal;
413*74fe6c29SRuslan Bukin }
414*74fe6c29SRuslan Bukin int pt_qry_header_fup(struct pt_query_decoder *d)
415*74fe6c29SRuslan Bukin {
416*74fe6c29SRuslan Bukin 	(void) d;
417*74fe6c29SRuslan Bukin 
418*74fe6c29SRuslan Bukin 	return -pte_internal;
419*74fe6c29SRuslan Bukin }
420*74fe6c29SRuslan Bukin 
421*74fe6c29SRuslan Bukin int pt_pkt_decode_pip(struct pt_packet_decoder *d, struct pt_packet *p)
422*74fe6c29SRuslan Bukin {
423*74fe6c29SRuslan Bukin 	(void) d;
424*74fe6c29SRuslan Bukin 	(void) p;
425*74fe6c29SRuslan Bukin 
426*74fe6c29SRuslan Bukin 	return -pte_internal;
427*74fe6c29SRuslan Bukin }
428*74fe6c29SRuslan Bukin int pt_qry_decode_pip(struct pt_query_decoder *d)
429*74fe6c29SRuslan Bukin {
430*74fe6c29SRuslan Bukin 	(void) d;
431*74fe6c29SRuslan Bukin 
432*74fe6c29SRuslan Bukin 	return -pte_internal;
433*74fe6c29SRuslan Bukin }
434*74fe6c29SRuslan Bukin int pt_qry_header_pip(struct pt_query_decoder *d)
435*74fe6c29SRuslan Bukin {
436*74fe6c29SRuslan Bukin 	(void) d;
437*74fe6c29SRuslan Bukin 
438*74fe6c29SRuslan Bukin 	return -pte_internal;
439*74fe6c29SRuslan Bukin }
440*74fe6c29SRuslan Bukin 
441*74fe6c29SRuslan Bukin int pt_pkt_decode_ovf(struct pt_packet_decoder *d, struct pt_packet *p)
442*74fe6c29SRuslan Bukin {
443*74fe6c29SRuslan Bukin 	(void) d;
444*74fe6c29SRuslan Bukin 	(void) p;
445*74fe6c29SRuslan Bukin 
446*74fe6c29SRuslan Bukin 	return -pte_internal;
447*74fe6c29SRuslan Bukin }
448*74fe6c29SRuslan Bukin int pt_qry_decode_ovf(struct pt_query_decoder *d)
449*74fe6c29SRuslan Bukin {
450*74fe6c29SRuslan Bukin 	(void) d;
451*74fe6c29SRuslan Bukin 
452*74fe6c29SRuslan Bukin 	return -pte_internal;
453*74fe6c29SRuslan Bukin }
454*74fe6c29SRuslan Bukin 
455*74fe6c29SRuslan Bukin int pt_pkt_decode_mode(struct pt_packet_decoder *d, struct pt_packet *p)
456*74fe6c29SRuslan Bukin {
457*74fe6c29SRuslan Bukin 	(void) d;
458*74fe6c29SRuslan Bukin 	(void) p;
459*74fe6c29SRuslan Bukin 
460*74fe6c29SRuslan Bukin 	return -pte_internal;
461*74fe6c29SRuslan Bukin }
462*74fe6c29SRuslan Bukin int pt_qry_decode_mode(struct pt_query_decoder *d)
463*74fe6c29SRuslan Bukin {
464*74fe6c29SRuslan Bukin 	(void) d;
465*74fe6c29SRuslan Bukin 
466*74fe6c29SRuslan Bukin 	return -pte_internal;
467*74fe6c29SRuslan Bukin }
468*74fe6c29SRuslan Bukin int pt_qry_header_mode(struct pt_query_decoder *d)
469*74fe6c29SRuslan Bukin {
470*74fe6c29SRuslan Bukin 	(void) d;
471*74fe6c29SRuslan Bukin 
472*74fe6c29SRuslan Bukin 	return -pte_internal;
473*74fe6c29SRuslan Bukin }
474*74fe6c29SRuslan Bukin 
475*74fe6c29SRuslan Bukin int pt_pkt_decode_psbend(struct pt_packet_decoder *d, struct pt_packet *p)
476*74fe6c29SRuslan Bukin {
477*74fe6c29SRuslan Bukin 	(void) d;
478*74fe6c29SRuslan Bukin 	(void) p;
479*74fe6c29SRuslan Bukin 
480*74fe6c29SRuslan Bukin 	return -pte_internal;
481*74fe6c29SRuslan Bukin }
482*74fe6c29SRuslan Bukin int pt_qry_decode_psbend(struct pt_query_decoder *d)
483*74fe6c29SRuslan Bukin {
484*74fe6c29SRuslan Bukin 	(void) d;
485*74fe6c29SRuslan Bukin 
486*74fe6c29SRuslan Bukin 	return -pte_internal;
487*74fe6c29SRuslan Bukin }
488*74fe6c29SRuslan Bukin 
489*74fe6c29SRuslan Bukin int pt_pkt_decode_tsc(struct pt_packet_decoder *d, struct pt_packet *p)
490*74fe6c29SRuslan Bukin {
491*74fe6c29SRuslan Bukin 	(void) d;
492*74fe6c29SRuslan Bukin 	(void) p;
493*74fe6c29SRuslan Bukin 
494*74fe6c29SRuslan Bukin 	return -pte_internal;
495*74fe6c29SRuslan Bukin }
496*74fe6c29SRuslan Bukin int pt_qry_decode_tsc(struct pt_query_decoder *d)
497*74fe6c29SRuslan Bukin {
498*74fe6c29SRuslan Bukin 	(void) d;
499*74fe6c29SRuslan Bukin 
500*74fe6c29SRuslan Bukin 	return -pte_internal;
501*74fe6c29SRuslan Bukin }
502*74fe6c29SRuslan Bukin int pt_qry_header_tsc(struct pt_query_decoder *d)
503*74fe6c29SRuslan Bukin {
504*74fe6c29SRuslan Bukin 	(void) d;
505*74fe6c29SRuslan Bukin 
506*74fe6c29SRuslan Bukin 	return -pte_internal;
507*74fe6c29SRuslan Bukin }
508*74fe6c29SRuslan Bukin 
509*74fe6c29SRuslan Bukin int pt_pkt_decode_cbr(struct pt_packet_decoder *d, struct pt_packet *p)
510*74fe6c29SRuslan Bukin {
511*74fe6c29SRuslan Bukin 	(void) d;
512*74fe6c29SRuslan Bukin 	(void) p;
513*74fe6c29SRuslan Bukin 
514*74fe6c29SRuslan Bukin 	return -pte_internal;
515*74fe6c29SRuslan Bukin }
516*74fe6c29SRuslan Bukin int pt_qry_decode_cbr(struct pt_query_decoder *d)
517*74fe6c29SRuslan Bukin {
518*74fe6c29SRuslan Bukin 	(void) d;
519*74fe6c29SRuslan Bukin 
520*74fe6c29SRuslan Bukin 	return -pte_internal;
521*74fe6c29SRuslan Bukin }
522*74fe6c29SRuslan Bukin int pt_qry_header_cbr(struct pt_query_decoder *d)
523*74fe6c29SRuslan Bukin {
524*74fe6c29SRuslan Bukin 	(void) d;
525*74fe6c29SRuslan Bukin 
526*74fe6c29SRuslan Bukin 	return -pte_internal;
527*74fe6c29SRuslan Bukin }
528*74fe6c29SRuslan Bukin 
529*74fe6c29SRuslan Bukin int pt_pkt_decode_tma(struct pt_packet_decoder *d, struct pt_packet *p)
530*74fe6c29SRuslan Bukin {
531*74fe6c29SRuslan Bukin 	(void) d;
532*74fe6c29SRuslan Bukin 	(void) p;
533*74fe6c29SRuslan Bukin 
534*74fe6c29SRuslan Bukin 	return -pte_internal;
535*74fe6c29SRuslan Bukin }
536*74fe6c29SRuslan Bukin int pt_qry_decode_tma(struct pt_query_decoder *d)
537*74fe6c29SRuslan Bukin {
538*74fe6c29SRuslan Bukin 	(void) d;
539*74fe6c29SRuslan Bukin 
540*74fe6c29SRuslan Bukin 	return -pte_internal;
541*74fe6c29SRuslan Bukin }
542*74fe6c29SRuslan Bukin 
543*74fe6c29SRuslan Bukin int pt_pkt_decode_mtc(struct pt_packet_decoder *d, struct pt_packet *p)
544*74fe6c29SRuslan Bukin {
545*74fe6c29SRuslan Bukin 	(void) d;
546*74fe6c29SRuslan Bukin 	(void) p;
547*74fe6c29SRuslan Bukin 
548*74fe6c29SRuslan Bukin 	return -pte_internal;
549*74fe6c29SRuslan Bukin }
550*74fe6c29SRuslan Bukin int pt_qry_decode_mtc(struct pt_query_decoder *d)
551*74fe6c29SRuslan Bukin {
552*74fe6c29SRuslan Bukin 	(void) d;
553*74fe6c29SRuslan Bukin 
554*74fe6c29SRuslan Bukin 	return -pte_internal;
555*74fe6c29SRuslan Bukin }
556*74fe6c29SRuslan Bukin 
557*74fe6c29SRuslan Bukin int pt_pkt_decode_cyc(struct pt_packet_decoder *d, struct pt_packet *p)
558*74fe6c29SRuslan Bukin {
559*74fe6c29SRuslan Bukin 	(void) d;
560*74fe6c29SRuslan Bukin 	(void) p;
561*74fe6c29SRuslan Bukin 
562*74fe6c29SRuslan Bukin 	return -pte_internal;
563*74fe6c29SRuslan Bukin }
564*74fe6c29SRuslan Bukin int pt_qry_decode_cyc(struct pt_query_decoder *d)
565*74fe6c29SRuslan Bukin {
566*74fe6c29SRuslan Bukin 	(void) d;
567*74fe6c29SRuslan Bukin 
568*74fe6c29SRuslan Bukin 	return -pte_internal;
569*74fe6c29SRuslan Bukin }
570*74fe6c29SRuslan Bukin 
571*74fe6c29SRuslan Bukin int pt_pkt_decode_stop(struct pt_packet_decoder *d, struct pt_packet *p)
572*74fe6c29SRuslan Bukin {
573*74fe6c29SRuslan Bukin 	(void) d;
574*74fe6c29SRuslan Bukin 	(void) p;
575*74fe6c29SRuslan Bukin 
576*74fe6c29SRuslan Bukin 	return -pte_internal;
577*74fe6c29SRuslan Bukin }
578*74fe6c29SRuslan Bukin int pt_qry_decode_stop(struct pt_query_decoder *d)
579*74fe6c29SRuslan Bukin {
580*74fe6c29SRuslan Bukin 	(void) d;
581*74fe6c29SRuslan Bukin 
582*74fe6c29SRuslan Bukin 	return -pte_internal;
583*74fe6c29SRuslan Bukin }
584*74fe6c29SRuslan Bukin 
585*74fe6c29SRuslan Bukin int pt_pkt_decode_vmcs(struct pt_packet_decoder *d, struct pt_packet *p)
586*74fe6c29SRuslan Bukin {
587*74fe6c29SRuslan Bukin 	(void) d;
588*74fe6c29SRuslan Bukin 	(void) p;
589*74fe6c29SRuslan Bukin 
590*74fe6c29SRuslan Bukin 	return -pte_internal;
591*74fe6c29SRuslan Bukin }
592*74fe6c29SRuslan Bukin int pt_qry_decode_vmcs(struct pt_query_decoder *d)
593*74fe6c29SRuslan Bukin {
594*74fe6c29SRuslan Bukin 	(void) d;
595*74fe6c29SRuslan Bukin 
596*74fe6c29SRuslan Bukin 	return -pte_internal;
597*74fe6c29SRuslan Bukin }
598*74fe6c29SRuslan Bukin int pt_qry_header_vmcs(struct pt_query_decoder *d)
599*74fe6c29SRuslan Bukin {
600*74fe6c29SRuslan Bukin 	(void) d;
601*74fe6c29SRuslan Bukin 
602*74fe6c29SRuslan Bukin 	return -pte_internal;
603*74fe6c29SRuslan Bukin }
604*74fe6c29SRuslan Bukin 
605*74fe6c29SRuslan Bukin int pt_pkt_decode_mnt(struct pt_packet_decoder *d, struct pt_packet *p)
606*74fe6c29SRuslan Bukin {
607*74fe6c29SRuslan Bukin 	(void) d;
608*74fe6c29SRuslan Bukin 	(void) p;
609*74fe6c29SRuslan Bukin 
610*74fe6c29SRuslan Bukin 	return -pte_internal;
611*74fe6c29SRuslan Bukin }
612*74fe6c29SRuslan Bukin int pt_qry_decode_mnt(struct pt_query_decoder *d)
613*74fe6c29SRuslan Bukin {
614*74fe6c29SRuslan Bukin 	(void) d;
615*74fe6c29SRuslan Bukin 
616*74fe6c29SRuslan Bukin 	return -pte_internal;
617*74fe6c29SRuslan Bukin }
618*74fe6c29SRuslan Bukin int pt_qry_header_mnt(struct pt_query_decoder *d)
619*74fe6c29SRuslan Bukin {
620*74fe6c29SRuslan Bukin 	(void) d;
621*74fe6c29SRuslan Bukin 
622*74fe6c29SRuslan Bukin 	return -pte_internal;
623*74fe6c29SRuslan Bukin }
624*74fe6c29SRuslan Bukin 
625*74fe6c29SRuslan Bukin int pt_pkt_decode_exstop(struct pt_packet_decoder *d, struct pt_packet *p)
626*74fe6c29SRuslan Bukin {
627*74fe6c29SRuslan Bukin 	(void) d;
628*74fe6c29SRuslan Bukin 	(void) p;
629*74fe6c29SRuslan Bukin 
630*74fe6c29SRuslan Bukin 	return -pte_internal;
631*74fe6c29SRuslan Bukin }
632*74fe6c29SRuslan Bukin int pt_qry_decode_exstop(struct pt_query_decoder *d)
633*74fe6c29SRuslan Bukin {
634*74fe6c29SRuslan Bukin 	(void) d;
635*74fe6c29SRuslan Bukin 
636*74fe6c29SRuslan Bukin 	return -pte_internal;
637*74fe6c29SRuslan Bukin }
638*74fe6c29SRuslan Bukin 
639*74fe6c29SRuslan Bukin int pt_pkt_decode_mwait(struct pt_packet_decoder *d, struct pt_packet *p)
640*74fe6c29SRuslan Bukin {
641*74fe6c29SRuslan Bukin 	(void) d;
642*74fe6c29SRuslan Bukin 	(void) p;
643*74fe6c29SRuslan Bukin 
644*74fe6c29SRuslan Bukin 	return -pte_internal;
645*74fe6c29SRuslan Bukin }
646*74fe6c29SRuslan Bukin int pt_qry_decode_mwait(struct pt_query_decoder *d)
647*74fe6c29SRuslan Bukin {
648*74fe6c29SRuslan Bukin 	(void) d;
649*74fe6c29SRuslan Bukin 
650*74fe6c29SRuslan Bukin 	return -pte_internal;
651*74fe6c29SRuslan Bukin }
652*74fe6c29SRuslan Bukin 
653*74fe6c29SRuslan Bukin int pt_pkt_decode_pwre(struct pt_packet_decoder *d, struct pt_packet *p)
654*74fe6c29SRuslan Bukin {
655*74fe6c29SRuslan Bukin 	(void) d;
656*74fe6c29SRuslan Bukin 	(void) p;
657*74fe6c29SRuslan Bukin 
658*74fe6c29SRuslan Bukin 	return -pte_internal;
659*74fe6c29SRuslan Bukin }
660*74fe6c29SRuslan Bukin int pt_qry_decode_pwre(struct pt_query_decoder *d)
661*74fe6c29SRuslan Bukin {
662*74fe6c29SRuslan Bukin 	(void) d;
663*74fe6c29SRuslan Bukin 
664*74fe6c29SRuslan Bukin 	return -pte_internal;
665*74fe6c29SRuslan Bukin }
666*74fe6c29SRuslan Bukin 
667*74fe6c29SRuslan Bukin int pt_pkt_decode_pwrx(struct pt_packet_decoder *d, struct pt_packet *p)
668*74fe6c29SRuslan Bukin {
669*74fe6c29SRuslan Bukin 	(void) d;
670*74fe6c29SRuslan Bukin 	(void) p;
671*74fe6c29SRuslan Bukin 
672*74fe6c29SRuslan Bukin 	return -pte_internal;
673*74fe6c29SRuslan Bukin }
674*74fe6c29SRuslan Bukin int pt_qry_decode_pwrx(struct pt_query_decoder *d)
675*74fe6c29SRuslan Bukin {
676*74fe6c29SRuslan Bukin 	(void) d;
677*74fe6c29SRuslan Bukin 
678*74fe6c29SRuslan Bukin 	return -pte_internal;
679*74fe6c29SRuslan Bukin }
680*74fe6c29SRuslan Bukin 
681*74fe6c29SRuslan Bukin int pt_pkt_decode_ptw(struct pt_packet_decoder *d, struct pt_packet *p)
682*74fe6c29SRuslan Bukin {
683*74fe6c29SRuslan Bukin 	(void) d;
684*74fe6c29SRuslan Bukin 	(void) p;
685*74fe6c29SRuslan Bukin 
686*74fe6c29SRuslan Bukin 	return -pte_internal;
687*74fe6c29SRuslan Bukin }
688*74fe6c29SRuslan Bukin int pt_qry_decode_ptw(struct pt_query_decoder *d)
689*74fe6c29SRuslan Bukin {
690*74fe6c29SRuslan Bukin 	(void) d;
691*74fe6c29SRuslan Bukin 
692*74fe6c29SRuslan Bukin 	return -pte_internal;
693*74fe6c29SRuslan Bukin }
694