Lines Matching refs:packet

220 			const struct pt_packet_ip *packet)  in pt_encode_ip()  argument
226 if (!encoder || !packet) in pt_encode_ip()
229 size = pt_ipc_size(packet->ipc); in pt_encode_ip()
238 ipc = (uint8_t) (packet->ipc << pt_opm_ipc_shr); in pt_encode_ip()
244 encoder->pos = pt_encode_int(pos, packet->ip, size); in pt_encode_ip()
248 int pt_enc_next(struct pt_encoder *encoder, const struct pt_packet *packet) in pt_enc_next() argument
253 if (!encoder || !packet) in pt_enc_next()
257 switch (packet->type) { in pt_enc_next()
310 return pt_encode_ip(encoder, pt_opc_fup, &packet->payload.ip); in pt_enc_next()
313 return pt_encode_ip(encoder, pt_opc_tip, &packet->payload.ip); in pt_enc_next()
317 &packet->payload.ip); in pt_enc_next()
321 &packet->payload.ip); in pt_enc_next()
326 if (packet->payload.tnt.bit_size >= 7) in pt_enc_next()
333 stop = packet->payload.tnt.bit_size + pt_opm_tnt_8_shr; in pt_enc_next()
335 (packet->payload.tnt.payload << pt_opm_tnt_8_shr); in pt_enc_next()
350 if (packet->payload.tnt.bit_size >= pt_pl_tnt_64_bits) in pt_enc_next()
353 stop = 1ull << packet->payload.tnt.bit_size; in pt_enc_next()
354 tnt = packet->payload.tnt.payload; in pt_enc_next()
374 switch (packet->payload.mode.leaf) { in pt_enc_next()
381 if (packet->payload.mode.bits.exec.csl) in pt_enc_next()
384 if (packet->payload.mode.bits.exec.csd) in pt_enc_next()
391 if (packet->payload.mode.bits.tsx.intx) in pt_enc_next()
394 if (packet->payload.mode.bits.tsx.abrt) in pt_enc_next()
413 cr3 = packet->payload.pip.cr3; in pt_enc_next()
417 if (packet->payload.pip.nr) in pt_enc_next()
434 pos = pt_encode_int(pos, packet->payload.tsc.tsc, in pt_enc_next()
447 *pos++ = packet->payload.cbr.ratio; in pt_enc_next()
460 ctc = packet->payload.tma.ctc; in pt_enc_next()
461 fc = packet->payload.tma.fc; in pt_enc_next()
482 *pos++ = packet->payload.mtc.ctc; in pt_enc_next()
491 ctc = (uint8_t) packet->payload.cyc.value; in pt_enc_next()
497 ctc = packet->payload.cyc.value; in pt_enc_next()
546 packet->payload.vmcs.base >> pt_pl_vmcs_shl, in pt_enc_next()
560 pos = pt_encode_int(pos, packet->payload.mnt.payload, in pt_enc_next()
573 ext = packet->payload.exstop.ip ? in pt_enc_next()
590 pos = pt_encode_int(pos, packet->payload.mwait.hints, in pt_enc_next()
592 pos = pt_encode_int(pos, packet->payload.mwait.ext, in pt_enc_next()
606 payload |= ((uint64_t) packet->payload.pwre.state << in pt_enc_next()
609 payload |= ((uint64_t) packet->payload.pwre.sub_state << in pt_enc_next()
613 if (packet->payload.pwre.hw) in pt_enc_next()
632 payload |= ((uint64_t) packet->payload.pwrx.last << in pt_enc_next()
635 payload |= ((uint64_t) packet->payload.pwrx.deepest << in pt_enc_next()
639 if (packet->payload.pwrx.interrupt) in pt_enc_next()
641 if (packet->payload.pwrx.store) in pt_enc_next()
643 if (packet->payload.pwrx.autonomous) in pt_enc_next()
658 plc = packet->payload.ptw.plc; in pt_enc_next()
671 if (packet->payload.ptw.ip) in pt_enc_next()
676 pos = pt_encode_int(pos, packet->payload.ptw.payload, size); in pt_enc_next()
692 struct pt_packet packet; in pt_encode_pad() local
694 packet.type = ppt_pad; in pt_encode_pad()
696 return pt_enc_next(encoder, &packet); in pt_encode_pad()
701 struct pt_packet packet; in pt_encode_psb() local
703 packet.type = ppt_psb; in pt_encode_psb()
705 return pt_enc_next(encoder, &packet); in pt_encode_psb()
710 struct pt_packet packet; in pt_encode_psbend() local
712 packet.type = ppt_psbend; in pt_encode_psbend()
714 return pt_enc_next(encoder, &packet); in pt_encode_psbend()
720 struct pt_packet packet; in pt_encode_tip() local
722 packet.type = ppt_tip; in pt_encode_tip()
723 packet.payload.ip.ip = ip; in pt_encode_tip()
724 packet.payload.ip.ipc = ipc; in pt_encode_tip()
726 return pt_enc_next(encoder, &packet); in pt_encode_tip()
731 struct pt_packet packet; in pt_encode_tnt_8() local
733 packet.type = ppt_tnt_8; in pt_encode_tnt_8()
734 packet.payload.tnt.bit_size = (uint8_t) size; in pt_encode_tnt_8()
735 packet.payload.tnt.payload = tnt; in pt_encode_tnt_8()
737 return pt_enc_next(encoder, &packet); in pt_encode_tnt_8()
742 struct pt_packet packet; in pt_encode_tnt_64() local
744 packet.type = ppt_tnt_64; in pt_encode_tnt_64()
745 packet.payload.tnt.bit_size = (uint8_t) size; in pt_encode_tnt_64()
746 packet.payload.tnt.payload = tnt; in pt_encode_tnt_64()
748 return pt_enc_next(encoder, &packet); in pt_encode_tnt_64()
754 struct pt_packet packet; in pt_encode_tip_pge() local
756 packet.type = ppt_tip_pge; in pt_encode_tip_pge()
757 packet.payload.ip.ip = ip; in pt_encode_tip_pge()
758 packet.payload.ip.ipc = ipc; in pt_encode_tip_pge()
760 return pt_enc_next(encoder, &packet); in pt_encode_tip_pge()
766 struct pt_packet packet; in pt_encode_tip_pgd() local
768 packet.type = ppt_tip_pgd; in pt_encode_tip_pgd()
769 packet.payload.ip.ip = ip; in pt_encode_tip_pgd()
770 packet.payload.ip.ipc = ipc; in pt_encode_tip_pgd()
772 return pt_enc_next(encoder, &packet); in pt_encode_tip_pgd()
778 struct pt_packet packet; in pt_encode_fup() local
780 packet.type = ppt_fup; in pt_encode_fup()
781 packet.payload.ip.ip = ip; in pt_encode_fup()
782 packet.payload.ip.ipc = ipc; in pt_encode_fup()
784 return pt_enc_next(encoder, &packet); in pt_encode_fup()
789 struct pt_packet packet; in pt_encode_pip() local
791 packet.type = ppt_pip; in pt_encode_pip()
792 packet.payload.pip.cr3 = cr3; in pt_encode_pip()
793 packet.payload.pip.nr = (flags & pt_pl_pip_nr) != 0; in pt_encode_pip()
795 return pt_enc_next(encoder, &packet); in pt_encode_pip()
800 struct pt_packet packet; in pt_encode_ovf() local
802 packet.type = ppt_ovf; in pt_encode_ovf()
804 return pt_enc_next(encoder, &packet); in pt_encode_ovf()
809 struct pt_packet packet; in pt_encode_mode_exec() local
811 packet.type = ppt_mode; in pt_encode_mode_exec()
812 packet.payload.mode.leaf = pt_mol_exec; in pt_encode_mode_exec()
813 packet.payload.mode.bits.exec = pt_set_exec_mode(mode); in pt_encode_mode_exec()
815 return pt_enc_next(encoder, &packet); in pt_encode_mode_exec()
821 struct pt_packet packet; in pt_encode_mode_tsx() local
823 packet.type = ppt_mode; in pt_encode_mode_tsx()
824 packet.payload.mode.leaf = pt_mol_tsx; in pt_encode_mode_tsx()
827 packet.payload.mode.bits.tsx.intx = 1; in pt_encode_mode_tsx()
829 packet.payload.mode.bits.tsx.intx = 0; in pt_encode_mode_tsx()
832 packet.payload.mode.bits.tsx.abrt = 1; in pt_encode_mode_tsx()
834 packet.payload.mode.bits.tsx.abrt = 0; in pt_encode_mode_tsx()
836 return pt_enc_next(encoder, &packet); in pt_encode_mode_tsx()
841 struct pt_packet packet; in pt_encode_tsc() local
843 packet.type = ppt_tsc; in pt_encode_tsc()
844 packet.payload.tsc.tsc = tsc; in pt_encode_tsc()
846 return pt_enc_next(encoder, &packet); in pt_encode_tsc()
851 struct pt_packet packet; in pt_encode_cbr() local
853 packet.type = ppt_cbr; in pt_encode_cbr()
854 packet.payload.cbr.ratio = cbr; in pt_encode_cbr()
856 return pt_enc_next(encoder, &packet); in pt_encode_cbr()
861 struct pt_packet packet; in pt_encode_tma() local
863 packet.type = ppt_tma; in pt_encode_tma()
864 packet.payload.tma.ctc = ctc; in pt_encode_tma()
865 packet.payload.tma.fc = fc; in pt_encode_tma()
867 return pt_enc_next(encoder, &packet); in pt_encode_tma()
872 struct pt_packet packet; in pt_encode_mtc() local
874 packet.type = ppt_mtc; in pt_encode_mtc()
875 packet.payload.mtc.ctc = ctc; in pt_encode_mtc()
877 return pt_enc_next(encoder, &packet); in pt_encode_mtc()
882 struct pt_packet packet; in pt_encode_cyc() local
884 packet.type = ppt_cyc; in pt_encode_cyc()
885 packet.payload.cyc.value = ctc; in pt_encode_cyc()
887 return pt_enc_next(encoder, &packet); in pt_encode_cyc()
892 struct pt_packet packet; in pt_encode_stop() local
894 packet.type = ppt_stop; in pt_encode_stop()
896 return pt_enc_next(encoder, &packet); in pt_encode_stop()
901 struct pt_packet packet; in pt_encode_vmcs() local
903 packet.type = ppt_vmcs; in pt_encode_vmcs()
904 packet.payload.vmcs.base = payload; in pt_encode_vmcs()
906 return pt_enc_next(encoder, &packet); in pt_encode_vmcs()
911 struct pt_packet packet; in pt_encode_mnt() local
913 packet.type = ppt_mnt; in pt_encode_mnt()
914 packet.payload.mnt.payload = payload; in pt_encode_mnt()
916 return pt_enc_next(encoder, &packet); in pt_encode_mnt()