����JFIFXX�����    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222����"��4�� ���,�PG"Z_�4�˷����kjز�Z�,F+��_z�,�© �����zh6�٨�ic�fu���#ډb���_�N�?��wQ���5-�~�I���8����TK<5o�Iv-�����k�_U_�����~b�M��d����Ӝ�U�Hh��?]��E�w��Q���k�{��_}qFW7HTՑ��Y��F�?_�'ϔ��_�Ջt��=||I ��6�έ"�����D���/[�k�9���Y�8ds|\���Ҿp6�Ҵ���]��.����6�z<�v��@]�i%��$j��~�g��J>��no����pM[me�i$[����s�o�ᘨ�˸ nɜG-�ĨU�ycP�3.DB�li�;��hj���x7Z^�N�h������N3u{�:j�x�힞��#M&��jL P@_���� P��&��o8������9�����@Sz6�t7#O�ߋ �s}Yf�T���lmr����Z)'N��k�۞p����w\�Tȯ?�8`�O��i{wﭹW�[�r�� ��Q4F�׊���3m&L�=��h3����z~��#�\�l :�F,j@�� ʱ�wQT����8�"kJO���6�֚l����}���R�>ډK���]��y����&����p�}b��;N�1�m�r$�|��7�>e�@B�TM*-iH��g�D�)� E�m�|�ؘbҗ�a��Ҿ����t4���o���G��*oCN�rP���Q��@z,|?W[0�����:�n,jWiE��W��$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S����VN;�}�s?.����� w�9��˟<���Mq4�Wv'��{)0�1mB��V����W[�����8�/<� �%���wT^�5���b��)iM� pg�N�&ݝ��VO~�q���u���9� ����!��J27����$O-���! �:�%H��� ـ����y�ΠM=t{!S�� oK8������t<����è:a������[�����ա�H���~��w��Qz`�po�^ ����Q��n� �,uu�C�$ ^���,������8�#��:�6��e�|~���!�3�3.�\0��q��o�4`.|� ����y�Q�`~;�d�ׯ,��O�Zw�������`73�v�܋�<���Ȏ�� ـ4k��5�K�a�u�=9Yd��$>x�A�&�� j0� ���vF��� Y�|�y��� ~�6�@c��1vOp�Ig����4��l�OD���L����� R���c���j�_�uX6��3?nk��Wy�f;^*B� ��@�~a�`��Eu������+���6�L��.ü>��}y���}_�O�6�͐�:�YrG�X��kG�����l^w���~㒶sy��Iu�!� W ��X��N�7BV��O��!X�2����wvG�R�f�T#�����t�/?���%8�^�W�aT��G�cL�M���I��(J����1~�8�?aT ���]����AS�E��(��*E}� 2��#I/�׍qz��^t�̔���b�Yz4x���t�){ OH��+(E��A&�N�������XT��o��"�XC��'���)}�J�z�p� ��~5�}�^����+�6����w��c��Q�|Lp�d�H��}�(�.|����k��c4^�"�����Z?ȕ ��a<�L�!039C� �Eu�C�F�Ew�ç ;�n?�*o���B�8�bʝ���'#Rqf���M}7����]����s2tcS{�\icTx;�\��7K���P���ʇ Z O-��~��c>"��?�������P��E��O�8��@�8��G��Q�g�a�Վ���󁶠�䧘��_%#r�>�1�z�a��eb��qcPѵ��n���#L��� =��׀t� L�7�`��V���A{�C:�g���e@�w1 Xp3�c3�ġ����p��M"'-�@n4���fG��B3�DJ�8[Jo�ߐ���gK)ƛ��$���� ���8�3�����+���� �����6�ʻ���� ���S�kI�*KZlT _`���?��K����QK�d����B`�s}�>���`��*�>��,*@J�d�oF*����弝��O}�k��s��]��y�ߘ��c1G�V���<=�7��7����6�q�PT��tXԀ�!9*4�4Tހ3XΛex�46���Y��D ����� �BdemDa����\�_l,��G�/���֌7���Y�](�xTt^%�GE�����4�}bT���ڹ�����;Y)���B�Q��u��>J/J �⮶.�XԄ��j�ݳ�+E��d ��r�5�_D�1 ��o�� �B�x�΢�#���<��W�����8���R6�@g�M�.��� dr�D��>(otU��@x=��~v���2� ӣ�d�oBd��3�eO�6�㣷�����ݜ6��6Y��Qz`��S��{���\P�~z m5{J/L��1������<�e�ͅPu�b�]�ϔ���'������f�b� Zpw��c`"��i���BD@:)ִ�:�]��hv�E�w���T�l��P���"Ju�}��وV J��G6��. J/�Qgl߭�e�����@�z�Zev2u�)]կ�����7x���s�M�-<ɯ�c��r�v�����@��$�ޮ}lk���a���'����>x��O\�ZFu>�����ck#��&:��`�$�ai�>2Δ����l���oF[h��lE�ܺ�Πk:)���`�� $[6�����9�����kOw�\|���8}������ބ:��񶐕��I�A1/�=�2[�,�!��.}gN#�u����b��� ~��݊��}34q����d�E��Lc��$��"�[q�U�硬g^��%B �z���r�pJ�ru%v\h1Y�ne`ǥ:g���pQM~�^�Xi� ��`S�:V29.�P���V�?B�k�� AEvw%�_�9C�Q����wKekPؠ�\�;Io d�{ ߞo�c1eP����\� `����E=���@K<�Y���eڼ�J���w����{av�F�'�M�@/J��+9p���|]�����Iw &`��8���&M�hg��[�{��Xj��%��Ӓ�$��(����ʹN���<>�I���RY���K2�NPlL�ɀ)��&e����B+ь����( � �JTx���_?EZ� }@ 6�U���뙢ط�z��dWI�n` D����噥�[��uV��"�G&Ú����2g�}&m��?ċ�"����Om#��������� ��{�ON��"S�X��Ne��ysQ���@Fn��Vg���dX�~nj�]J�<�K]:��FW��b�������62�=��5f����JKw��bf�X�55��~J �%^����:�-�QIE��P��v�nZum� z � ~ə ���� ���ة����;�f��\v���g�8�1��f24;�V���ǔ�)����9���1\��c��v�/'Ƞ�w�������$�4�R-��t���� e�6�/�ġ �̕Ecy�J���u�B���<�W�ַ~�w[B1L۲�-JS΂�{���΃������A��20�c#��@ 0!1@AP"#2Q`$3V�%45a6�FRUq��� ����^7ׅ,$n�������+��F�`��2X'��0vM��p�L=������5��8������u�p~���.�`r�����\���O��,ư�0oS ��_�M�����l���4�kv\JSd���x���SW�<��Ae�IX����������$I���w�:S���y���›R��9�Q[���,�5�;�@]�%���u�@ *ro�lbI �� ��+���%m:�͇ZV�����u�̉����θau<�fc�.����{�4Ա� �Q����*�Sm��8\ujqs]{kN���)qO�y�_*dJ�b�7���yQqI&9�ԌK!�M}�R�;������S�T���1���i[U�ɵz�]��U)V�S6���3$K{�ߊ<�(� E]Զ[ǼENg�����'�\?#)Dkf��J���o��v���'�%ƞ�&K�u�!��b�35LX�Ϸ��63$K�a�;�9>,R��W��3�3� d�JeTYE.Mϧ��-�o�j3+y��y^�c�������VO�9NV\nd�1 ��!͕_)a�v;����թ�M�lWR1��)El��P;��yوÏ�u 3�k�5Pr6<�⒲l�!˞*��u־�n�!�l:����UNW ��%��Chx8vL'��X�@��*��)���̮��ˍ��� ���D-M�+J�U�kvK����+�x8��cY������?�Ԡ��~3mo��|�u@[XeY�C�\Kp�x8�oC�C�&����N�~3-H���� ��MX�s�u<`���~"WL��$8ξ��3���a�)|:@�m�\���^�`�@ҷ)�5p+��6���p�%i)P M���ngc�����#0Aruz���RL+xSS?���ʮ}()#�t��mˇ!��0}}y����<�e� �-ή�Ԩ��X������ MF���ԙ~l L.3���}�V뽺�v�����멬��Nl�)�2����^�Iq��a��M��qG��T�����c3#������3U�Ǎ���}��לS�|qa��ڃ�+���-��2�f����/��bz��ڐ�� �ݼ[2�ç����k�X�2�* �Z�d���J�G����M*9W���s{��w���T��x��y,�in�O�v��]���n����P�$�JB@=4�OTI�n��e�22a\����q�d���%�$��(���:���: /*�K[PR�fr\nڙdN���F�n�$�4�[�� U�zƶ����� �mʋ���,�ao�u 3�z� �x��Kn����\[��VFmbE;�_U��&V�Gg�]L�۪&#n%�$ɯ�dG���D�TI=�%+AB�Ru#��b4�1�»x�cs�YzڙJG��f��Il��d�eF'T� iA��T���uC�$����Y��H?����[!G`}���ͪ� �纤Hv\������j�Ex�K���!���OiƸ�Yj�+u-<���'q����uN�*�r\��+�]���<�wOZ.fp�ێ��,-*)V?j-kÊ#�`�r��dV����(�ݽBk�����G�ƛk�QmUڗe��Z���f}|����8�8��a���i��3'J�����~G_�^���d�8w������ R�`(�~�.��u���l�s+g�bv���W���lGc}��u���afE~1�Ue������Z�0�8�=e�� f@/�jqEKQQ�J��oN��J���W5~M>$6�Lt�;$ʳ{���^��6�{����v6���ķܰg�V�cnn �~z�x�«�,2�u�?cE+Ș�H؎�%�Za�)���X>uW�Tz�Nyo����s���FQƤ��$��*�&�LLXL)�1�" L��eO��ɟ�9=���:t��Z���c��Ž���Y?�ӭV�wv�~,Y��r�ۗ�|�y��GaF�����C�����.�+� ���v1���fήJ�����]�S��T��B��n5sW}y�$��~z�'�c ��8 ��� ,! �p��VN�S��N�N�q��y8z˱�A��4��*��'������2n<�s���^ǧ˭P�Jޮɏ�U�G�L�J�*#��<�V��t7�8����TĜ>��i}K%,���)[��z�21z ?�N�i�n1?T�I�R#��m-�����������������1����lA�`��fT5+��ܐ�c�q՝��ʐ��,���3�f2U�եmab��#ŠdQ�y>\��)�SLY����w#��.���ʑ�f��� ,"+�w�~�N�'�c�O�3F�������N<���)j��&��,-� �љ���֊�_�zS���TǦ����w�>��?�������n��U仆�V���e�����0���$�C�d���rP �m�׈e�Xm�Vu� �L��.�bֹ��� �[Դaզ���*��\y�8�Է:�Ez\�0�Kq�C b��̘��cө���Q��=0Y��s�N��S.���3.���O�o:���#���v7�[#߫ ��5�܎�L���Er4���9n��COWlG�^��0k�%<���ZB���aB_���������'=��{i�v�l�$�uC���mƎҝ{�c㱼�y]���W�i ��ߧc��m�H� m�"�"�����;Y�ߝ�Z�Ǔ�����:S#��|}�y�,/k�Ld� TA�(�AI$+I3��;Y*���Z��}|��ӧO��d�v��..#:n��f>�>���ȶI�TX��� 8��y����"d�R�|�)0���=���n4��6ⲑ�+��r<�O�܂~zh�z����7ܓ�HH�Ga롏���nCo�>������a ���~]���R���̲c?�6(�q�;5%� |�uj�~z8R=X��I�V=�|{v�Gj\gc��q����z�؋%M�ߍ����1y��#��@f^���^�>N�����#x#۹��6�Y~�?�dfPO��{��P�4��V��u1E1J �*|���%���JN��`eWu�zk M6���q t[�� ��g�G���v��WIG��u_ft����5�j�"�Y�:T��ɐ���*�;� e5���4����q$C��2d�}���� _S�L#m�Yp��O�.�C�;��c����Hi#֩%+) �Ӎ��ƲV���SYź��g |���tj��3�8���r|���V��1#;.SQ�A[���S������#���`n�+���$��$I �P\[�@�s��(�ED�z���P��])8�G#��0B��[ى��X�II�q<��9�~[Z멜�Z�⊔IWU&A>�P~�#��dp<�?����7���c��'~���5 ��+$���lx@�M�dm��n<=e�dyX��?{�|Aef ,|n3�<~z�ƃ�uۧ�����P��Y,�ӥQ�*g�#먙R�\���;T��i,��[9Qi歉����c>]9�� ��"�c��P�� �Md?٥��If�ت�u��k��/����F��9�c*9��Ǎ:�ØF���z�n*�@|I�ށ9����N3{'��[�'ͬ�Ҳ4��#}��!�V� Fu��,�,mTIk���v C�7v���B�6k�T9��1�*l� '~��ƞF��lU��'�M ����][ΩũJ_�{�i�I�n��$���L�� j��O�dx�����kza۪��#�E��Cl����x˘�o�����V���ɞ�ljr��)�/,�߬h�L��#��^��L�ф�,íMƁe�̩�NB�L�����iL����q�}��(��q��6IçJ$�W�E$��:������=#����(�K�B����zђ <��K(�N�۫K�w��^O{!����)�H���>x�������lx�?>Պ�+�>�W���,Ly!_�D���Ō�l���Q�!�[ �S����J��1��Ɛ�Y}��b,+�Lo�x�ɓ)����=�y�oh�@�꥟/��I��ѭ=��P�y9��� �ۍYӘ�e+�p�Jnϱ?V\SO%�(�t� ���=?MR�[Ș�����d�/ ��n�l��B�7j� ��!�;ӥ�/�[-���A�>�dN�sLj ��,ɪv��=1c�.SQ�O3�U���ƀ�ܽ�E����������̻��9G�ϷD�7(�}��Ävӌ\�y�_0[w ���<΍>����a_��[0+�L��F.�޺��f�>oN�T����q;���y\��bՃ��y�jH�<|q-eɏ�_?_9+P���Hp$�����[ux�K w�Mw��N�ی'$Y2�=��q���KB��P��~������Yul:�[<����F1�2�O���5=d����]Y�sw:���Ϯ���E��j,_Q��X��z`H1,#II ��d�wr��P˂@�ZJV����y$�\y�{}��^~���[:N����ߌ�U�������O��d�����ؾe��${p>G��3c���Ė�lʌ�� ת��[��`ϱ�-W����dg�I��ig2��� ��}s ��ؤ(%#sS@���~���3�X�nRG�~\jc3�v��ӍL��M[JB�T��s3}��j�Nʖ��W����;7��ç?=X�F=-�=����q�ߚ���#���='�c��7���ڑW�I(O+=:uxq�������������e2�zi+�kuG�R��������0�&e�n���iT^J����~\jy���p'dtG��s����O��3����9* �b#Ɋ�� p������[Bws�T�>d4�ۧs���nv�n���U���_�~,�v����ƜJ1��s�� �QIz��)�(lv8M���U=�;����56��G���s#�K���MP�=��LvyGd��}�VwWBF�'�à �?MH�U�g2�� ����!�p�7Q��j��ڴ����=��j�u��� Jn�A s���uM������e��Ɔ�Ҕ�!)'��8Ϣ�ٔ��ޝ(��Vp���צ֖d=�IC�J�Ǡ{q������kԭ�߸���i��@K����u�|�p=..�*+����x�����z[Aqġ#s2a�Ɗ���RR�)*HRsi�~�a &f��M��P����-K�L@��Z��Xy�'x�{}��Zm+���:�)�) IJ�-i�u���� ���ܒH��'�L(7�y�GӜq���� j��� 6ߌg1�g�o���,kر���tY�?W,���p���e���f�OQS��!K�۟cҒA�|ս�j�>��=⬒��˧L[�� �߿2JaB~R��u�:��Q�] �0H~���]�7��Ƽ�I���(}��cq '�ήET���q�?f�ab���ӥvr� �)o��-Q��_'����ᴎo��K������;��V���o��%���~OK ����*��b�f:���-ťIR��`B�5!RB@���ï�� �u �̯e\�_U�_������� g�ES��3�������QT��a����x����U<~�c?�*�#]�MW,[8O�a�x��]�1bC|踤�P��lw5V%�)�{t�<��d��5���0i�XSU��m:��Z�┵�i�"��1�^B�-��P�hJ��&)O��*�D��c�W��vM��)����}���P��ܗ-q����\mmζZ-l@�}��a��E�6��F�@��&Sg@���ݚ�M����� ȹ 4����#p�\H����dYDo�H���"��\��..R�B�H�z_�/5˘����6��KhJR��P�mƶi�m���3�,#c�co��q�a)*Pt����R�m�k�7x�D�E�\Y�閣_X�<���~�)���c[[�BP����6�Yq���S��0����%_����;��Àv�~�| VS؇ ��'O0��F0��\���U�-�d@�����7�SJ*z��3n��y��P����O���������m�~�P�3|Y��ʉr#�C�<�G~�.,! ���bqx���h~0=��!ǫ�jy����l�O,�[B��~��|9��ٱ����Xly�#�i�B��g%�S��������tˋ���e���ې��\[d�t)��.+u�|1 ������#�~Oj����hS�%��i.�~X���I�H�m��0n���c�1uE�q��cF�RF�o���7� �O�ꮧ� ���ۛ{��ʛi5�rw?׌#Qn�TW��~?y$��m\�\o����%W� ?=>S�N@�� �Ʈ���R����N�)�r"C�:��:����� �����#��qb��Y�. �6[��2K����2u�Ǧ�HYR��Q�MV��� �G�$��Q+.>�����nNH��q�^��� ����q��mM��V��D�+�-�#*�U�̒ ���p욳��u:�������IB���m���PV@O���r[b= �� ��1U�E��_Nm�yKbN�O���U�}�the�`�|6֮P>�\2�P�V���I�D�i�P�O;�9�r�mAHG�W�S]��J*�_�G��+kP�2����Ka�Z���H�'K�x�W�MZ%�O�YD�Rc+o��?�q��Ghm��d�S�oh�\�D�|:W������UA�Qc yT�q������~^�H��/��#p�CZ���T�I�1�ӏT����4��"�ČZ�����}��`w�#�*,ʹ�� ��0�i��課�Om�*�da��^gJ݅{���l�e9uF#T�ֲ��̲�ٞC"�q���ߍ ոޑ�o#�XZTp����@ o�8��(jd��xw�]�,f���`~�|,s��^����f�1���t��|��m�򸄭/ctr��5s��7�9Q�4�H1꠲BB@l9@���C�����+�wp�xu�£Yc�9��?`@#�o�mH�s2��)�=��2�.�l����jg�9$�Y�S�%*L������R�Y������7Z���,*=�䷘$�������arm�o�ϰ���UW.|�r�uf����IGw�t����Zwo��~5 ��YյhO+=8fF�)�W�7�L9lM�̘·Y���֘YLf�큹�pRF���99.A �"wz��=E\Z���'a� 2��Ǚ�#;�'}�G���*��l��^"q��+2FQ� hj��kŦ��${���ޮ-�T�٭cf�|�3#~�RJ����t��$b�(R��(����r���dx� >U b�&9,>���%E\� Ά�e�$��'�q't��*�א���ެ�b��-|d���SB�O�O��$�R+�H�)�܎�K��1m`;�J�2�Y~9��O�g8=vqD`K[�F)k�[���1m޼c��n���]s�k�z$@��)!I �x՝"v��9=�ZA=`Ɠi �:�E��)`7��vI��}d�YI�_ �o�:ob���o ���3Q��&D&�2=�� �Ά��;>�h����y.*ⅥS������Ӭ�+q&����j|UƧ����}���J0��WW< ۋS�)jQR�j���Ư��rN)�Gű�4Ѷ(�S)Ǣ�8��i��W52���No˓� ۍ%�5brOn�L�;�n��\G����=�^U�dI���8$�&���h��'���+�(������cȁ߫k�l��S^���cƗjԌE�ꭔ��gF���Ȓ��@���}O���*;e�v�WV���YJ\�]X'5��ղ�k�F��b 6R�o՜m��i N�i����>J����?��lPm�U��}>_Z&�KK��q�r��I�D�Չ~�q�3fL�:S�e>���E���-G���{L�6p�e,8��������QI��h��a�Xa��U�A'���ʂ���s�+טIjP�-��y�8ۈZ?J$��W�P� ��R�s�]��|�l(�ԓ��sƊi��o(��S0��Y� 8�T97.�����WiL��c�~�dxc�E|�2!�X�K�Ƙਫ਼�$((�6�~|d9u+�qd�^3�89��Y�6L�.I�����?���iI�q���9�)O/뚅����O���X��X�V��ZF[�یgQ�L��K1���RҖr@v�#��X�l��F���Нy�S�8�7�kF!A��sM���^rkp�jP�DyS$N���q��nxҍ!U�f�!eh�i�2�m���`�Y�I�9r�6� �TF���C}/�y�^���Η���5d�'��9A-��J��>{�_l+�`��A���[�'��յ�ϛ#w:݅�%��X�}�&�PSt�Q�"�-��\縵�/����$Ɨh�Xb�*�y��BS����;W�ջ_mc�����vt?2}1�;qS�d�d~u:2k5�2�R�~�z+|HE!)�Ǟl��7`��0�<�,�2*���Hl-��x�^����'_TV�gZA�'j� ^�2Ϊ��N7t�����?w�� �x1��f��Iz�C-Ȗ��K�^q�;���-W�DvT�7��8�Z�������� hK�(P:��Q- �8�n�Z���܃e貾�<�1�YT<�,�����"�6{/ �?�͟��|1�:�#g��W�>$����d��J��d�B��=��jf[��%rE^��il:��B���x���Sּ�1հ��,�=��*�7 fcG��#q� �eh?��2�7�����,�!7x��6�n�LC�4x��},Geǝ�tC.��vS �F�43��zz\��;QYC,6����~;RYS/6���|2���5���v��T��i����������mlv��������&� �nRh^ejR�LG�f���? �ۉҬܦƩ��|��Ȱ����>3����!v��i�ʯ�>�v��オ�X3e���_1z�Kȗ\<������!�8���V��]��?b�k41�Re��T�q��mz��TiOʦ�Z��Xq���L������q"+���2ۨ��8}�&N7XU7Ap�d�X��~�׿��&4e�o�F��� �H����O���č�c�� 懴�6���͉��+)��v;j��ݷ�� �UV�� i��� j���Y9GdÒJ1��詞�����V?h��l����l�cGs�ځ�������y�Ac�����\V3�? �� ܙg�>qH�S,�E�W�[�㺨�uch�⍸�O�}���a��>�q�6�n6����N6�q������N ! 1AQaq�0@����"2BRb�#Pr���3C`��Scst���$4D���%Td�� ?���N����a��3��m���C���w��������xA�m�q�m���m������$����4n淿t'��C"w��zU=D�\R+w�p+Y�T�&�պ@��ƃ��3ޯ?�Aﶂ��aŘ���@-�����Q�=���9D��ռ�ѻ@��M�V��P��܅�G5�f�Y<�u=,EC)�<�Fy'�"�&�չ�X~f��l�KԆV��?�� �W�N����=(� �;���{�r����ٌ�Y���h{�١������jW����P���Tc�����X�K�r��}���w�R��%��?���E��m�� �Y�q|����\lEE4���r���}�lsI�Y������f�$�=�d�yO����p�����yBj8jU�o�/�S��?�U��*������ˍ�0������u�q�m [�?f����a�� )Q�>����6#������� ?����0UQ����,IX���(6ڵ[�DI�MNލ�c&���υ�j\��X�R|,4��� j������T�hA�e��^���d���b<����n�� �즇�=!���3�^�`j�h�ȓr��jẕ�c�,ٞX����-����a�ﶔ���#�$��]w�O��Ӫ�1y%��L�Y<�wg#�ǝ�̗`�x�xa�t�w��»1���o7o5��>�m뭛C���Uƃߜ}�C���y1Xνm�F8�jI���]����H���ۺиE@I�i;r�8ӭ����V�F�Շ| ��&?�3|x�B�MuS�Ge�=Ӕ�#BE5G�����Y!z��_e��q�р/W>|-�Ci߇�t�1ޯќd�R3�u��g�=0 5��[?�#͏��q�cf���H��{ ?u�=?�?ǯ���}Z��z���hmΔ�BFTW�����<�q�(v� ��!��z���iW]*�J�V�z��gX֧A�q�&��/w���u�gYӘa���; �i=����g:��?2�dž6�ى�k�4�>�Pxs����}������G�9��3 ���)gG�R<>r h�$��'nc�h�P��Bj��J�ҧH� -��N1���N��?��~��}-q!=��_2hc�M��l�vY%UE�@|�v����M2�.Y[|y�"Eï��K�ZF,�ɯ?,q�?v�M 80jx�"�;�9vk�����+ ֧�� �ȺU��?�%�vcV��mA�6��Qg^M����A}�3�nl� QRN�l8�kkn�'�����(��M�7m9و�q���%ޟ���*h$Zk"��$�9��: �?U8�Sl��,,|ɒ��xH(ѷ����Gn�/Q�4�P��G�%��Ա8�N��!� �&�7�;���eKM7�4��9R/%����l�c>�x;������>��C�:�����t��h?aKX�bhe�ᜋ^�$�Iհ �hr7%F$�E��Fd���t��5���+�(M6�t����Ü�UU|zW�=a�Ts�Tg������dqP�Q����b'�m���1{|Y����X�N��b �P~��F^F:����k6�"�j!�� �I�r�`��1&�-$�Bevk:y���#yw��I0��x��=D�4��tU���P�ZH��ڠ底taP��6����b>�xa����Q�#� WeF��ŮNj�p�J* mQ�N����*I�-*�ȩ�F�g�3 �5��V�ʊ�ɮ�a��5F���O@{���NX��?����H�]3��1�Ri_u��������ѕ�� ����0��� F��~��:60�p�͈�S��qX#a�5>���`�o&+�<2�D����: �������ڝ�$�nP���*)�N�|y�Ej�F�5ټ�e���ihy�Z �>���k�bH�a�v��h�-#���!�Po=@k̆IEN��@��}Ll?j�O������߭�ʞ���Q|A07x���wt!xf���I2?Z��<ץ�T���cU�j��]��陎Ltl �}5�ϓ��$�,��O�mˊ�;�@O��jE��j(�ا,��LX���LO���Ц�90�O �.����a��nA���7������j4 ��W��_ٓ���zW�jcB������y՗+EM�)d���N�g6�y1_x��p�$Lv:��9�"z��p���ʙ$��^��JԼ*�ϭ����o���=x�Lj�6�J��u82�A�H�3$�ٕ@�=Vv�]�'�qEz�;I˼��)��=��ɯ���x �/�W(V���p�����$ �m�������u�����񶤑Oqˎ�T����r��㠚x�sr�GC��byp�G��1ߠ�w e�8�$⿄����/�M{*}��W�]˷.�CK\�ުx���/$�WPw���r� |i���&�}�{�X� �>��$-��l���?-z���g����lΆ���(F���h�vS*���b���߲ڡn,|)mrH[���a�3�ר�[1��3o_�U�3�TC�$��(�=�)0�kgP���� ��u�^=��4 �WYCҸ:��vQ�ר�X�à��tk�m,�t*��^�,�}D*� �"(�I��9R����>`�`��[~Q]�#af��i6l��8���6�:,s�s�N6�j"�A4���IuQ��6E,�GnH��zS�HO�uk�5$�I�4��ؤ�Q9�@��C����wp�BGv[]�u�Ov���0I4���\��y�����Q�Ѹ��~>Z��8�T��a��q�ޣ;z��a���/��S��I:�ܫ_�|������>=Z����8:�S��U�I�J��"IY���8%b8���H��:�QO�6�;7�I�S��J��ҌAά3��>c���E+&jf$eC+�z�;��V����� �r���ʺ������my�e���aQ�f&��6�ND��.:��NT�vm�<- u���ǝ\MvZY�N�NT��-A�>jr!S��n�O 1�3�Ns�%�3D@���`������ܟ 1�^c<���� �a�ɽ�̲�Xë#�w�|y�cW�=�9I*H8�p�^(4���՗�k��arOcW�tO�\�ƍR��8����'�K���I�Q�����?5�>[�}��yU�ײ -h��=��% q�ThG�2�)���"ו3]�!kB��*p�FDl�A���,�eEi�H�f�Ps�����5�H:�Փ~�H�0Dت�D�I����h�F3�������c��2���E��9�H��5�zԑ�ʚ�i�X�=:m�xg�hd(�v����׊�9iS��O��d@0ڽ���:�p�5�h-��t�&���X�q�ӕ,��ie�|���7A�2���O%P��E��htj��Y1��w�Ѓ!����  ���� ࢽ��My�7�\�a�@�ţ�J �4�Ȼ�F�@o�̒?4�wx��)��]�P��~�����u�����5�����7X ��9��^ܩ�U;Iꭆ 5 �������eK2�7(�{|��Y׎ �V��\"���Z�1� Z�����}��(�Ǝ"�1S���_�vE30>���p;� ΝD��%x�W�?W?v����o�^V�i�d��r[��/&>�~`�9Wh��y�;���R��� ;;ɮT��?����r$�g1�K����A��C��c��K��l:�'��3 c�ﳯ*"t8�~l��)���m��+U,z��`(�>yJ�?����h>��]��v��ЍG*�{`��;y]��I�T� ;c��NU�fo¾h���/$���|NS���1�S�"�H��V���T���4��uhǜ�]�v;���5�͠x��'C\�SBpl���h}�N����� A�Bx���%��ޭ�l��/����T��w�ʽ]D�=����K���ž�r㻠l4�S�O?=�k �M:� ��c�C�a�#ha���)�ѐxc�s���gP�iG��{+���x���Q���I= �� z��ԫ+ �8"�k�ñ�j=|����c ��y��CF��/��*9ж�h{ �?4�o� ��k�m�Q�N�x��;�Y��4膚�a�w?�6�>e]�����Q�r�:����g�,i"�����ԩA�*M�<�G��b�if��l^M��5� �Ҩ�{����6J��ZJ�����P�*�����Y���ݛu�_4�9�I8�7���������,^ToR���m4�H��?�N�S�ѕw��/S��甍�@�9H�S�T��t�ƻ���ʒU��*{Xs�@����f�����֒Li�K{H�w^���������Ϥm�tq���s� ���ք��f:��o~s��g�r��ט� �S�ѱC�e]�x���a��) ���(b-$(�j>�7q�B?ӕ�F��hV25r[7 Y� }L�R��}����*sg+��x�r�2�U=�*'WS��ZDW]�WǞ�<��叓���{�$�9Ou4��y�90-�1�'*D`�c�^o?(�9��u���ݐ��'PI&� f�Jݮ�������:wS����jfP1F:X �H�9dԯ���˝[�_54 �}*;@�ܨ�� ð�yn�T���?�ןd�#���4rG�ͨ��H�1�|-#���Mr�S3��G�3�����)�.᧏3v�z֑��r����$G"�`j �1t��x0<Ɔ�Wh6�y�6��,œ�Ga��gA����y��b��)��h�D��ß�_�m��ü �gG;��e�v��ݝ�nQ� ��C����-�*��o���y�a��M��I�>�<���]obD��"�:���G�A��-\%LT�8���c�)��+y76���o�Q�#*{�(F�⽕�y����=���rW�\p���۩�c���A���^e6��K������ʐ�cVf5$�'->���ՉN"���F�"�UQ@�f��Gb~��#�&�M=��8�ט�JNu9��D��[̤�s�o�~������ G��9T�tW^g5y$b��Y'��س�Ǵ�=��U-2 #�MC�t(�i� �lj�@Q 5�̣i�*�O����s�x�K�f��}\��M{E�V�{�υ��Ƈ�����);�H����I��fe�Lȣr�2��>��W�I�Ȃ6������i��k�� �5�YOxȺ����>��Y�f5'��|��H+��98pj�n�.O�y�������jY��~��i�w'������l�;�s�2��Y��:'lg�ꥴ)o#'Sa�a�K��Z� �m��}�`169�n���"���x��I ��*+� }F<��cГ���F�P�������ֹ*�PqX�x۩��,� ��N�� �4<-����%����:��7����W���u�`����� $�?�I��&����o��o��`v�>��P��"��l���4��5'�Z�gE���8���?��[�X�7(��.Q�-��*���ތL@̲����v��.5���[��=�t\+�CNܛ��,g�SQnH����}*F�G16���&:�t��4ُ"A��̣��$�b �|����#rs��a�����T�� ]�<�j��BS�('$�ɻ� �wP;�/�n��?�ݜ��x�F��yUn�~mL*-�������Xf�wd^�a�}��f�,=t�׵i�.2/wpN�Ep8�OР���•��R�FJ� 55TZ��T �ɭ�<��]��/�0�r�@�f��V��V����Nz�G��^���7hZi����k��3�,kN�e|�vg�1{9]_i��X5y7� 8e]�U����'�-2,���e"����]ot�I��Y_��n�(JҼ��1�O ]bXc���Nu�No��pS���Q_���_�?i�~�x h5d'�(qw52] ��'ޤ�q��o1�R!���`ywy�A4u���h<קy���\[~�4�\ X�Wt/� 6�����n�F�a8��f���z �3$�t(���q��q�x��^�XWeN'p<-v�!�{�(>ӽDP7��ո0�y)�e$ٕv�Ih'Q�EA�m*�H��RI��=:��� ���4牢) �%_iN�ݧ�l]� �Nt���G��H�L��� ɱ�g<���1V�,�J~�ٹ�"K��Q�� 9�HS�9�?@��k����r�;we݁�]I�!{ �@�G�[�"��`���J:�n]�{�cA�E����V��ʆ���#��U9�6����j�#Y�m\��q�e4h�B�7��C�������d<�?J����1g:ٳ���=Y���D�p�ц� ׈ǔ��1�]26؜oS�'��9�V�FVu�P�h�9�xc�oq�X��p�o�5��Ա5$�9W�V(�[Ak�aY錎qf;�'�[�|���b�6�Ck��)��#a#a˙��8���=äh�4��2��C��4tm^ �n'c���]GQ$[Wҿ��i���vN�{Fu ��1�gx��1┷���N�m��{j-,��x�� Ūm�ЧS�[�s���Gna���䑴�� x�p 8<������97�Q���ϴ�v�aϚG��Rt�Һ׈�f^\r��WH�JU�7Z���y)�vg=����n��4�_)y��D'y�6�]�c�5̪�\� �PF�k����&�c;��cq�$~T�7j ���nç]�<�g ":�to�t}�159�<�/�8������m�b�K#g'I'.W�����6��I/��>v��\�MN��g���m�A�yQL�4u�Lj�j9��#44�t��l^�}L����n��R��!��t��±]��r��h6ٍ>�yҏ�N��fU�� ���� Fm@�8}�/u��jb9������he:A�y�ծw��GpΧh�5����l}�3p468��)U��d��c����;Us/�֔�YX�1�O2��uq�s��`hwg�r~�{ R��mhN��؎*q 42�*th��>�#���E����#��Hv�O����q�}�����6�e��\�,Wk�#���X��b>��p}�դ��3���T5��†��6��[��@�P�y*n��|'f�֧>�lư΂�̺����SU�'*�q�p�_S�����M�� '��c�6�����m�� ySʨ;M��r���Ƌ�m�Kxo,���Gm�P��A�G�:��i��w�9�}M(�^�V��$ǒ�ѽ�9���|���� �a����J�SQ�a���r�B;����}���ٻ֢�2�%U���c�#�g���N�a�ݕ�'�v�[�OY'��3L�3�;,p�]@�S��{ls��X�'���c�jw�k'a�.��}�}&�� �dP�*�bK=ɍ!����;3n�gΊU�ߴmt�'*{,=SzfD� A��ko~�G�aoq�_mi}#�m�������P�Xhύ����mxǍ�΂���巿zf��Q���c���|kc�����?���W��Y�$���_Lv����l߶��c���`?����l�j�ݲˏ!V��6����U�Ђ(A���4y)H���p�Z_�x��>���e��R��$�/�`^'3qˏ�-&Q�=?��CFVR �D�fV�9��{�8g�������n�h�(P"��6�[�D���< E�����~0<@�`�G�6����Hг�cc�� �c�K.5��D��d�B���`?�XQ��2��ٿyqo&+�1^� DW�0�ꊩ���G�#��Q�nL3��c���������/��x ��1�1[y�x�პCW��C�c�UĨ80�m�e�4.{�m��u���I=��f�����0QRls9���f���������9���~f�����Ǩ��a�"@�8���ȁ�Q����#c�ic������G��$���G���r/$W�(��W���V�"��m�7�[m�A�m����bo��D� j����۳� l���^�k�h׽����� ��#� iXn�v��eT�k�a�^Y�4�BN��ĕ��0 !01@Q"2AaPq3BR������?���@4�Q�����T3,���㺠�W�[=JK�Ϟ���2�r^7��vc�:�9 �E�ߴ�w�S#d���Ix��u��:��Hp��9E!�� V 2;73|F��9Y���*ʬ�F��D����u&���y؟��^EA��A��(ɩ���^��GV:ݜDy�`��Jr29ܾ�㝉��[���E;Fzx��YG��U�e�Y�C���� ����v-tx����I�sם�Ę�q��Eb�+P\ :>�i�C'�;�����k|z�رn�y]�#ǿb��Q��������w�����(�r|ӹs��[�D��2v-%��@;�8<a���[\o[ϧw��I!��*0�krs)�[�J9^��ʜ��p1)� "��/_>��o��<1����A�E�y^�C��`�x1'ܣn�p��s`l���fQ��):�l����b>�Me�jH^?�kl3(�z:���1ŠK&?Q�~�{�ٺ�h�y���/�[��V�|6��}�KbX����mn[-��7�5q�94�������dm���c^���h� X��5��<�eޘ>G���-�}�دB�ޟ� ��|�rt�M��V+�]�c?�-#ڛ��^ǂ}���Lkr���O��u�>�-D�ry� D?:ޞ�U��ǜ�7�V��?瓮�"�#���r��չģVR;�n���/_� ؉v�ݶe5d�b9��/O��009�G���5n�W����JpA�*�r9�>�1��.[t���s�F���nQ� V 77R�]�ɫ8����_0<՜�IF�u(v��4��F�k�3��E)��N:��yڮe��P�`�1}�$WS��J�SQ�N�j�ٺ��޵�#l���ј(�5=��5�lǏmoW�v-�1����v,W�mn��߀$x�<����v�j(����c]��@#��1������Ǔ���o'��u+����;G�#�޸��v-lη��/(`i⣍Pm^���ԯ̾9Z��F��������n��1��� ��]�[��)�'������:�֪�W��FC����� �B9،!?���]��V��A�Վ�M��b�w��G F>_DȬ0¤�#�QR�[V��kz���m�w�"��9ZG�7'[��=�Q����j8R?�zf�\a�=��O�U����*oB�A�|G���2�54 �p��.w7� �� ��&������ξxGHp� B%��$g�����t�Џ򤵍z���HN�u�Я�-�'4��0��;_��3 !01"@AQa2Pq#3BR������?��ʩca��en��^��8���<�u#��m*08r��y�N"�<�Ѳ0��@\�p��� �����Kv�D��J8�Fҽ� �f�Y��-m�ybX�NP����}�!*8t(�OqѢ��Q�wW�K��ZD��Δ^e��!� ��B�K��p~�����e*l}z#9ң�k���q#�Ft�o��S�R����-�w�!�S���Ӥß|M�l޶V��!eˈ�8Y���c�ЮM2��tk���� ������J�fS����Ö*i/2�����n]�k�\���|4yX�8��U�P.���Ы[���l��@"�t�<������5�lF���vU�����W��W��;�b�cД^6[#7@vU�xgZv��F�6��Q,K�v��� �+Ъ��n��Ǣ��Ft���8��0��c�@�!�Zq s�v�t�;#](B��-�nῃ~���3g������5�J�%���O������n�kB�ĺ�.r��+���#�N$?�q�/�s�6��p��a����a��J/��M�8��6�ܰ"�*������ɗud"\w���aT(����[��F��U՛����RT�b���n�*��6���O��SJ�.�ij<�v�MT��R\c��5l�sZB>F��<7�;EA��{��E���Ö��1U/�#��d1�a�n.1ě����0�ʾR�h��|�R��Ao�3�m3 ��%�� ���28Q� ��y��φ���H�To�7�lW>����#i`�q���c����a��� �m,B�-j����݋�'mR1Ήt�>��V��p���s�0IbI�C.���1R�ea�����]H�6����������4B>��o��](��$B���m�����a�!=��?�B� K�Ǿ+�Ծ"�n���K��*��+��[T#�{E�J�S����Q�����s�5�:�U�\wĐ�f�3����܆&�)����I���Ԇw��E T�lrTf6Q|R�h:��[K�� �z��c֧�G�C��%\��_�a�84��HcO�bi��ؖV��7H �)*ģK~Xhչ0��4?�0��� �E<���}3���#���u�?�� ��|g�S�6ꊤ�|�I#Hڛ� �ա��w�X��9��7���Ŀ%�SL��y6č��|�F�a 8���b��$�sק�h���b9RAu7�˨p�Č�_\*w��묦��F ����4D~�f����|(�"m���NK��i�S�>�$d7SlA��/�²����SL��|6N�}���S�˯���g��]6��; �#�.��<���q'Q�1|KQ$�����񛩶"�$r�b:���N8�w@��8$�� �AjfG|~�9F ���Y��ʺ��Bwؒ������M:I岎�G��`s�YV5����6��A �b:�W���G�q%l�����F��H���7�������Fsv7��k�� 403WebShell
403Webshell
Server IP : 14.139.229.36  /  Your IP : 10.1.1.9
Web Server : Apache
System : Linux gbpuat-tech.ac.in 4.18.0-240.15.1.el8_3.x86_64 #1 SMP Mon Mar 1 17:16:16 UTC 2021 x86_64
User : apache ( 48)
PHP Version : 7.2.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/systemtap/tapset/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/systemtap/tapset/qemu-kvm-log.stp
/* This file is autogenerated by tracetool, do not edit. */

probe qemu.kvm.log.cpu_in = qemu.kvm.cpu_in ?
{
    printf("%d@%d cpu_in addr 0x%x(%c) value %u\n", pid(), gettimeofday_ns(), addr, size, val)
}
probe qemu.kvm.log.cpu_out = qemu.kvm.cpu_out ?
{
    printf("%d@%d cpu_out addr 0x%x(%c) value %u\n", pid(), gettimeofday_ns(), addr, size, val)
}
probe qemu.kvm.log.balloon_event = qemu.kvm.balloon_event ?
{
    printf("%d@%d balloon_event opaque %p addr %lu\n", pid(), gettimeofday_ns(), opaque, addr)
}
probe qemu.kvm.log.vm_state_notify = qemu.kvm.vm_state_notify ?
{
    try {
        argreason_str_str = reason_str ? user_string_n(reason_str, 512) : "<null>"
    } catch {}
    printf("%d@%d vm_state_notify running %d reason %d (%s)\n", pid(), gettimeofday_ns(), running, reason, argreason_str_str)
}
probe qemu.kvm.log.load_file = qemu.kvm.load_file ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d load_file name %s location %s\n", pid(), gettimeofday_ns(), argname_str, argpath_str)
}
probe qemu.kvm.log.runstate_set = qemu.kvm.runstate_set ?
{
    try {
        argcurrent_state_str_str = current_state_str ? user_string_n(current_state_str, 512) : "<null>"
    } catch {}
    try {
        argnew_state_str_str = new_state_str ? user_string_n(new_state_str, 512) : "<null>"
    } catch {}
    printf("%d@%d runstate_set current_run_state %d (%s) new_state %d (%s)\n", pid(), gettimeofday_ns(), current_state, argcurrent_state_str_str, new_state, argnew_state_str_str)
}
probe qemu.kvm.log.system_wakeup_request = qemu.kvm.system_wakeup_request ?
{
    printf("%d@%d system_wakeup_request reason=%d\n", pid(), gettimeofday_ns(), reason)
}
probe qemu.kvm.log.qemu_system_shutdown_request = qemu.kvm.qemu_system_shutdown_request ?
{
    printf("%d@%d qemu_system_shutdown_request reason=%d\n", pid(), gettimeofday_ns(), reason)
}
probe qemu.kvm.log.qemu_system_powerdown_request = qemu.kvm.qemu_system_powerdown_request ?
{
    printf("%d@%d qemu_system_powerdown_request \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.dma_blk_io = qemu.kvm.dma_blk_io ?
{
    printf("%d@%d dma_blk_io dbs=%p bs=%p offset=%d to_dev=%d\n", pid(), gettimeofday_ns(), dbs, bs, offset, to_dev)
}
probe qemu.kvm.log.dma_aio_cancel = qemu.kvm.dma_aio_cancel ?
{
    printf("%d@%d dma_aio_cancel dbs=%p\n", pid(), gettimeofday_ns(), dbs)
}
probe qemu.kvm.log.dma_complete = qemu.kvm.dma_complete ?
{
    printf("%d@%d dma_complete dbs=%p ret=%d cb=%p\n", pid(), gettimeofday_ns(), dbs, ret, cb)
}
probe qemu.kvm.log.dma_blk_cb = qemu.kvm.dma_blk_cb ?
{
    printf("%d@%d dma_blk_cb dbs=%p ret=%d\n", pid(), gettimeofday_ns(), dbs, ret)
}
probe qemu.kvm.log.dma_map_wait = qemu.kvm.dma_map_wait ?
{
    printf("%d@%d dma_map_wait dbs=%p\n", pid(), gettimeofday_ns(), dbs)
}
probe qemu.kvm.log.find_ram_offset = qemu.kvm.find_ram_offset ?
{
    printf("%d@%d find_ram_offset size: 0x%x @ 0x%x\n", pid(), gettimeofday_ns(), size, offset)
}
probe qemu.kvm.log.find_ram_offset_loop = qemu.kvm.find_ram_offset_loop ?
{
    printf("%d@%d find_ram_offset_loop trying size: 0x%x @ 0x%x, offset: 0x%x next: 0x%x mingap: 0x%x\n", pid(), gettimeofday_ns(), size, candidate, offset, next_, mingap)
}
probe qemu.kvm.log.ram_block_discard_range = qemu.kvm.ram_block_discard_range ?
{
    try {
        argrbname_str = rbname ? user_string_n(rbname, 512) : "<null>"
    } catch {}
    printf("%d@%d ram_block_discard_range %s@%p + 0x%x: madvise: %d fallocate: %d ret: %d\n", pid(), gettimeofday_ns(), argrbname_str, hva, length, need_madvise, need_fallocate, ret)
}
probe qemu.kvm.log.memory_notdirty_write_access = qemu.kvm.memory_notdirty_write_access ?
{
    printf("%d@%d memory_notdirty_write_access 0x%x ram_addr 0x%x size %u\n", pid(), gettimeofday_ns(), vaddr, ram_addr, size)
}
probe qemu.kvm.log.memory_notdirty_set_dirty = qemu.kvm.memory_notdirty_set_dirty ?
{
    printf("%d@%d memory_notdirty_set_dirty 0x%x\n", pid(), gettimeofday_ns(), vaddr)
}
probe qemu.kvm.log.memory_region_ops_read = qemu.kvm.memory_region_ops_read ?
{
    printf("%d@%d memory_region_ops_read cpu %d mr %p addr 0x%x value 0x%x size %u\n", pid(), gettimeofday_ns(), cpu_index, mr, addr, value, size)
}
probe qemu.kvm.log.memory_region_ops_write = qemu.kvm.memory_region_ops_write ?
{
    printf("%d@%d memory_region_ops_write cpu %d mr %p addr 0x%x value 0x%x size %u\n", pid(), gettimeofday_ns(), cpu_index, mr, addr, value, size)
}
probe qemu.kvm.log.memory_region_subpage_read = qemu.kvm.memory_region_subpage_read ?
{
    printf("%d@%d memory_region_subpage_read cpu %d mr %p offset 0x%x value 0x%x size %u\n", pid(), gettimeofday_ns(), cpu_index, mr, offset, value, size)
}
probe qemu.kvm.log.memory_region_subpage_write = qemu.kvm.memory_region_subpage_write ?
{
    printf("%d@%d memory_region_subpage_write cpu %d mr %p offset 0x%x value 0x%x size %u\n", pid(), gettimeofday_ns(), cpu_index, mr, offset, value, size)
}
probe qemu.kvm.log.memory_region_ram_device_read = qemu.kvm.memory_region_ram_device_read ?
{
    printf("%d@%d memory_region_ram_device_read cpu %d mr %p addr 0x%x value 0x%x size %u\n", pid(), gettimeofday_ns(), cpu_index, mr, addr, value, size)
}
probe qemu.kvm.log.memory_region_ram_device_write = qemu.kvm.memory_region_ram_device_write ?
{
    printf("%d@%d memory_region_ram_device_write cpu %d mr %p addr 0x%x value 0x%x size %u\n", pid(), gettimeofday_ns(), cpu_index, mr, addr, value, size)
}
probe qemu.kvm.log.flatview_new = qemu.kvm.flatview_new ?
{
    printf("%d@%d flatview_new %p (root %p)\n", pid(), gettimeofday_ns(), view, root)
}
probe qemu.kvm.log.flatview_destroy = qemu.kvm.flatview_destroy ?
{
    printf("%d@%d flatview_destroy %p (root %p)\n", pid(), gettimeofday_ns(), view, root)
}
probe qemu.kvm.log.flatview_destroy_rcu = qemu.kvm.flatview_destroy_rcu ?
{
    printf("%d@%d flatview_destroy_rcu %p (root %p)\n", pid(), gettimeofday_ns(), view, root)
}
probe qemu.kvm.log.gdbstub_op_start = qemu.kvm.gdbstub_op_start ?
{
    try {
        argdevice_str = device ? user_string_n(device, 512) : "<null>"
    } catch {}
    printf("%d@%d gdbstub_op_start Starting gdbstub using device %s\n", pid(), gettimeofday_ns(), argdevice_str)
}
probe qemu.kvm.log.gdbstub_op_exiting = qemu.kvm.gdbstub_op_exiting ?
{
    printf("%d@%d gdbstub_op_exiting notifying exit with code=0x%02x\n", pid(), gettimeofday_ns(), code)
}
probe qemu.kvm.log.gdbstub_op_continue = qemu.kvm.gdbstub_op_continue ?
{
    printf("%d@%d gdbstub_op_continue Continuing all CPUs\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_op_continue_cpu = qemu.kvm.gdbstub_op_continue_cpu ?
{
    printf("%d@%d gdbstub_op_continue_cpu Continuing CPU %d\n", pid(), gettimeofday_ns(), cpu_index)
}
probe qemu.kvm.log.gdbstub_op_stepping = qemu.kvm.gdbstub_op_stepping ?
{
    printf("%d@%d gdbstub_op_stepping Stepping CPU %d\n", pid(), gettimeofday_ns(), cpu_index)
}
probe qemu.kvm.log.gdbstub_op_extra_info = qemu.kvm.gdbstub_op_extra_info ?
{
    try {
        arginfo_str = info ? user_string_n(info, 512) : "<null>"
    } catch {}
    printf("%d@%d gdbstub_op_extra_info Thread extra info: %s\n", pid(), gettimeofday_ns(), arginfo_str)
}
probe qemu.kvm.log.gdbstub_hit_watchpoint = qemu.kvm.gdbstub_hit_watchpoint ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d gdbstub_hit_watchpoint Watchpoint hit, type=\"%s\" cpu=%d, vaddr=0x%x\n", pid(), gettimeofday_ns(), argtype_str, cpu_gdb_index, vaddr)
}
probe qemu.kvm.log.gdbstub_hit_internal_error = qemu.kvm.gdbstub_hit_internal_error ?
{
    printf("%d@%d gdbstub_hit_internal_error RUN_STATE_INTERNAL_ERROR\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_hit_break = qemu.kvm.gdbstub_hit_break ?
{
    printf("%d@%d gdbstub_hit_break RUN_STATE_DEBUG\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_hit_paused = qemu.kvm.gdbstub_hit_paused ?
{
    printf("%d@%d gdbstub_hit_paused RUN_STATE_PAUSED\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_hit_shutdown = qemu.kvm.gdbstub_hit_shutdown ?
{
    printf("%d@%d gdbstub_hit_shutdown RUN_STATE_SHUTDOWN\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_hit_io_error = qemu.kvm.gdbstub_hit_io_error ?
{
    printf("%d@%d gdbstub_hit_io_error RUN_STATE_IO_ERROR\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_hit_watchdog = qemu.kvm.gdbstub_hit_watchdog ?
{
    printf("%d@%d gdbstub_hit_watchdog RUN_STATE_WATCHDOG\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_hit_unknown = qemu.kvm.gdbstub_hit_unknown ?
{
    printf("%d@%d gdbstub_hit_unknown Unknown run state=0x%x\n", pid(), gettimeofday_ns(), state)
}
probe qemu.kvm.log.gdbstub_io_reply = qemu.kvm.gdbstub_io_reply ?
{
    try {
        argmessage_str = message ? user_string_n(message, 512) : "<null>"
    } catch {}
    printf("%d@%d gdbstub_io_reply Sent: %s\n", pid(), gettimeofday_ns(), argmessage_str)
}
probe qemu.kvm.log.gdbstub_io_binaryreply = qemu.kvm.gdbstub_io_binaryreply ?
{
    try {
        argline_str = line ? user_string_n(line, 512) : "<null>"
    } catch {}
    printf("%d@%d gdbstub_io_binaryreply 0x%04x: %s\n", pid(), gettimeofday_ns(), ofs, argline_str)
}
probe qemu.kvm.log.gdbstub_io_command = qemu.kvm.gdbstub_io_command ?
{
    try {
        argcommand_str = command ? user_string_n(command, 512) : "<null>"
    } catch {}
    printf("%d@%d gdbstub_io_command Received: %s\n", pid(), gettimeofday_ns(), argcommand_str)
}
probe qemu.kvm.log.gdbstub_io_got_ack = qemu.kvm.gdbstub_io_got_ack ?
{
    printf("%d@%d gdbstub_io_got_ack Got ACK\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_io_got_unexpected = qemu.kvm.gdbstub_io_got_unexpected ?
{
    printf("%d@%d gdbstub_io_got_unexpected Got 0x%02x when expecting ACK/NACK\n", pid(), gettimeofday_ns(), ch)
}
probe qemu.kvm.log.gdbstub_err_got_nack = qemu.kvm.gdbstub_err_got_nack ?
{
    printf("%d@%d gdbstub_err_got_nack Got NACK, retransmitting\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_err_garbage = qemu.kvm.gdbstub_err_garbage ?
{
    printf("%d@%d gdbstub_err_garbage received garbage between packets: 0x%02x\n", pid(), gettimeofday_ns(), ch)
}
probe qemu.kvm.log.gdbstub_err_overrun = qemu.kvm.gdbstub_err_overrun ?
{
    printf("%d@%d gdbstub_err_overrun command buffer overrun, dropping command\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_err_invalid_repeat = qemu.kvm.gdbstub_err_invalid_repeat ?
{
    printf("%d@%d gdbstub_err_invalid_repeat got invalid RLE count: 0x%02x\n", pid(), gettimeofday_ns(), ch)
}
probe qemu.kvm.log.gdbstub_err_invalid_rle = qemu.kvm.gdbstub_err_invalid_rle ?
{
    printf("%d@%d gdbstub_err_invalid_rle got invalid RLE sequence\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.gdbstub_err_checksum_invalid = qemu.kvm.gdbstub_err_checksum_invalid ?
{
    printf("%d@%d gdbstub_err_checksum_invalid got invalid command checksum digit: 0x%02x\n", pid(), gettimeofday_ns(), ch)
}
probe qemu.kvm.log.gdbstub_err_checksum_incorrect = qemu.kvm.gdbstub_err_checksum_incorrect ?
{
    printf("%d@%d gdbstub_err_checksum_incorrect got command packet with incorrect checksum, expected=0x%02x, received=0x%02x\n", pid(), gettimeofday_ns(), expected, got)
}
probe qemu.kvm.log.job_state_transition = qemu.kvm.job_state_transition ?
{
    try {
        arglegal_str = legal ? user_string_n(legal, 512) : "<null>"
    } catch {}
    try {
        args0_str = s0 ? user_string_n(s0, 512) : "<null>"
    } catch {}
    try {
        args1_str = s1 ? user_string_n(s1, 512) : "<null>"
    } catch {}
    printf("%d@%d job_state_transition job %p (ret: %d) attempting %s transition (%s-->%s)\n", pid(), gettimeofday_ns(), job, ret, arglegal_str, args0_str, args1_str)
}
probe qemu.kvm.log.job_apply_verb = qemu.kvm.job_apply_verb ?
{
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    try {
        argverb_str = verb ? user_string_n(verb, 512) : "<null>"
    } catch {}
    try {
        arglegal_str = legal ? user_string_n(legal, 512) : "<null>"
    } catch {}
    printf("%d@%d job_apply_verb job %p in state %s; applying verb %s (%s)\n", pid(), gettimeofday_ns(), job, argstate_str, argverb_str, arglegal_str)
}
probe qemu.kvm.log.job_completed = qemu.kvm.job_completed ?
{
    printf("%d@%d job_completed job %p ret %d\n", pid(), gettimeofday_ns(), job, ret)
}
probe qemu.kvm.log.qmp_job_cancel = qemu.kvm.qmp_job_cancel ?
{
    printf("%d@%d qmp_job_cancel job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_job_pause = qemu.kvm.qmp_job_pause ?
{
    printf("%d@%d qmp_job_pause job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_job_resume = qemu.kvm.qmp_job_resume ?
{
    printf("%d@%d qmp_job_resume job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_job_complete = qemu.kvm.qmp_job_complete ?
{
    printf("%d@%d qmp_job_complete job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_job_finalize = qemu.kvm.qmp_job_finalize ?
{
    printf("%d@%d qmp_job_finalize job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_job_dismiss = qemu.kvm.qmp_job_dismiss ?
{
    printf("%d@%d qmp_job_dismiss job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.guest_cpu_enter = qemu.kvm.guest_cpu_enter ?
{
    printf("%d@%d guest_cpu_enter cpu=%p \n", pid(), gettimeofday_ns(), __cpu)
}
probe qemu.kvm.log.guest_cpu_exit = qemu.kvm.guest_cpu_exit ?
{
    printf("%d@%d guest_cpu_exit cpu=%p \n", pid(), gettimeofday_ns(), __cpu)
}
probe qemu.kvm.log.guest_cpu_reset = qemu.kvm.guest_cpu_reset ?
{
    printf("%d@%d guest_cpu_reset cpu=%p \n", pid(), gettimeofday_ns(), __cpu)
}
probe qemu.kvm.log.guest_mem_before_trans = qemu.kvm.guest_mem_before_trans ?
{
    printf("%d@%d guest_mem_before_trans cpu=%p info=%d\n", pid(), gettimeofday_ns(), __cpu, info)
}
probe qemu.kvm.log.guest_mem_before_exec = qemu.kvm.guest_mem_before_exec ?
{
    printf("%d@%d guest_mem_before_exec cpu=%p vaddr=0x%016x info=%d\n", pid(), gettimeofday_ns(), __cpu, vaddr, info)
}
probe qemu.kvm.log.guest_user_syscall = qemu.kvm.guest_user_syscall ?
{
    printf("%d@%d guest_user_syscall cpu=%p num=0x%016x arg1=0x%016x arg2=0x%016x arg3=0x%016x arg4=0x%016x arg5=0x%016x arg6=0x%016x arg7=0x%016x arg8=0x%016x\n", pid(), gettimeofday_ns(), __cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
}
probe qemu.kvm.log.guest_user_syscall_ret = qemu.kvm.guest_user_syscall_ret ?
{
    printf("%d@%d guest_user_syscall_ret cpu=%p num=0x%016x ret=0x%016x\n", pid(), gettimeofday_ns(), __cpu, num, ret)
}
probe qemu.kvm.log.kvm_ioctl = qemu.kvm.kvm_ioctl ?
{
    printf("%d@%d kvm_ioctl type 0x%x, arg %p\n", pid(), gettimeofday_ns(), type, arg)
}
probe qemu.kvm.log.kvm_vm_ioctl = qemu.kvm.kvm_vm_ioctl ?
{
    printf("%d@%d kvm_vm_ioctl type 0x%x, arg %p\n", pid(), gettimeofday_ns(), type, arg)
}
probe qemu.kvm.log.kvm_vcpu_ioctl = qemu.kvm.kvm_vcpu_ioctl ?
{
    printf("%d@%d kvm_vcpu_ioctl cpu_index %d, type 0x%x, arg %p\n", pid(), gettimeofday_ns(), cpu_index, type, arg)
}
probe qemu.kvm.log.kvm_run_exit = qemu.kvm.kvm_run_exit ?
{
    printf("%d@%d kvm_run_exit cpu_index %d, reason %d\n", pid(), gettimeofday_ns(), cpu_index, reason)
}
probe qemu.kvm.log.kvm_device_ioctl = qemu.kvm.kvm_device_ioctl ?
{
    printf("%d@%d kvm_device_ioctl dev fd %d, type 0x%x, arg %p\n", pid(), gettimeofday_ns(), fd, type, arg)
}
probe qemu.kvm.log.kvm_failed_reg_get = qemu.kvm.kvm_failed_reg_get ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_reg_get Warning: Unable to retrieve ONEREG %u from KVM: %s\n", pid(), gettimeofday_ns(), id, argmsg_str)
}
probe qemu.kvm.log.kvm_failed_reg_set = qemu.kvm.kvm_failed_reg_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_reg_set Warning: Unable to set ONEREG %u to KVM: %s\n", pid(), gettimeofday_ns(), id, argmsg_str)
}
probe qemu.kvm.log.kvm_irqchip_commit_routes = qemu.kvm.kvm_irqchip_commit_routes ?
{
    printf("%d@%d kvm_irqchip_commit_routes \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_irqchip_add_msi_route = qemu.kvm.kvm_irqchip_add_msi_route ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_irqchip_add_msi_route dev %s vector %d virq %d\n", pid(), gettimeofday_ns(), argname_str, vector, virq)
}
probe qemu.kvm.log.kvm_irqchip_update_msi_route = qemu.kvm.kvm_irqchip_update_msi_route ?
{
    printf("%d@%d kvm_irqchip_update_msi_route Updating MSI route virq=%d\n", pid(), gettimeofday_ns(), virq)
}
probe qemu.kvm.log.kvm_irqchip_release_virq = qemu.kvm.kvm_irqchip_release_virq ?
{
    printf("%d@%d kvm_irqchip_release_virq virq %d\n", pid(), gettimeofday_ns(), virq)
}
probe qemu.kvm.log.kvm_set_ioeventfd_mmio = qemu.kvm.kvm_set_ioeventfd_mmio ?
{
    printf("%d@%d kvm_set_ioeventfd_mmio fd: %d @0x%x val=0x%x assign: %d size: %d match: %d\n", pid(), gettimeofday_ns(), fd, addr, val, assign, size, datamatch)
}
probe qemu.kvm.log.kvm_set_ioeventfd_pio = qemu.kvm.kvm_set_ioeventfd_pio ?
{
    printf("%d@%d kvm_set_ioeventfd_pio fd: %d @0x%x val=0x%x assign: %d size: %d match: %d\n", pid(), gettimeofday_ns(), fd, addr, val, assign, size, datamatch)
}
probe qemu.kvm.log.kvm_set_user_memory = qemu.kvm.kvm_set_user_memory ?
{
    printf("%d@%d kvm_set_user_memory Slot#%d flags=0x%x gpa=0x%x size=0x%x ua=0x%x ret=%d\n", pid(), gettimeofday_ns(), slot, flags, guest_phys_addr, memory_size, userspace_addr, ret)
}
probe qemu.kvm.log.kvm_clear_dirty_log = qemu.kvm.kvm_clear_dirty_log ?
{
    printf("%d@%d kvm_clear_dirty_log slot#%d start 0x%d size 0x%d\n", pid(), gettimeofday_ns(), slot, start, size)
}
probe qemu.kvm.log.translate_block = qemu.kvm.translate_block ?
{
    printf("%d@%d translate_block tb:%p, pc:0x%x, tb_code:%p\n", pid(), gettimeofday_ns(), tb, pc, tb_code)
}
probe qemu.kvm.log.qcrypto_tls_creds_load_dh = qemu.kvm.qcrypto_tls_creds_load_dh ?
{
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_load_dh TLS creds load DH creds=%p filename=%s\n", pid(), gettimeofday_ns(), creds, argfilename_str)
}
probe qemu.kvm.log.qcrypto_tls_creds_get_path = qemu.kvm.qcrypto_tls_creds_get_path ?
{
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_get_path TLS creds path creds=%p filename=%s path=%s\n", pid(), gettimeofday_ns(), creds, argfilename_str, argpath_str)
}
probe qemu.kvm.log.qcrypto_tls_creds_anon_load = qemu.kvm.qcrypto_tls_creds_anon_load ?
{
    try {
        argdir_str = dir ? user_string_n(dir, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_anon_load TLS creds anon load creds=%p dir=%s\n", pid(), gettimeofday_ns(), creds, argdir_str)
}
probe qemu.kvm.log.qcrypto_tls_creds_psk_load = qemu.kvm.qcrypto_tls_creds_psk_load ?
{
    try {
        argdir_str = dir ? user_string_n(dir, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_psk_load TLS creds psk load creds=%p dir=%s\n", pid(), gettimeofday_ns(), creds, argdir_str)
}
probe qemu.kvm.log.qcrypto_tls_creds_x509_load = qemu.kvm.qcrypto_tls_creds_x509_load ?
{
    try {
        argdir_str = dir ? user_string_n(dir, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_x509_load TLS creds x509 load creds=%p dir=%s\n", pid(), gettimeofday_ns(), creds, argdir_str)
}
probe qemu.kvm.log.qcrypto_tls_creds_x509_check_basic_constraints = qemu.kvm.qcrypto_tls_creds_x509_check_basic_constraints ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_x509_check_basic_constraints TLS creds x509 check basic constraints creds=%p file=%s status=%d\n", pid(), gettimeofday_ns(), creds, argfile_str, status)
}
probe qemu.kvm.log.qcrypto_tls_creds_x509_check_key_usage = qemu.kvm.qcrypto_tls_creds_x509_check_key_usage ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_x509_check_key_usage TLS creds x509 check key usage creds=%p file=%s status=%d usage=%d critical=%d\n", pid(), gettimeofday_ns(), creds, argfile_str, status, usage, critical)
}
probe qemu.kvm.log.qcrypto_tls_creds_x509_check_key_purpose = qemu.kvm.qcrypto_tls_creds_x509_check_key_purpose ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    try {
        argusage_str = usage ? user_string_n(usage, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_x509_check_key_purpose TLS creds x509 check key usage creds=%p file=%s status=%d usage=%s critical=%d\n", pid(), gettimeofday_ns(), creds, argfile_str, status, argusage_str, critical)
}
probe qemu.kvm.log.qcrypto_tls_creds_x509_load_cert = qemu.kvm.qcrypto_tls_creds_x509_load_cert ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_x509_load_cert TLS creds x509 load cert creds=%p isServer=%d file=%s\n", pid(), gettimeofday_ns(), creds, isServer, argfile_str)
}
probe qemu.kvm.log.qcrypto_tls_creds_x509_load_cert_list = qemu.kvm.qcrypto_tls_creds_x509_load_cert_list ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_creds_x509_load_cert_list TLS creds x509 load cert list creds=%p file=%s\n", pid(), gettimeofday_ns(), creds, argfile_str)
}
probe qemu.kvm.log.qcrypto_tls_session_new = qemu.kvm.qcrypto_tls_session_new ?
{
    try {
        arghostname_str = hostname ? user_string_n(hostname, 512) : "<null>"
    } catch {}
    try {
        argauthzid_str = authzid ? user_string_n(authzid, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_session_new TLS session new session=%p creds=%p hostname=%s authzid=%s endpoint=%d\n", pid(), gettimeofday_ns(), session, creds, arghostname_str, argauthzid_str, endpoint)
}
probe qemu.kvm.log.qcrypto_tls_session_check_creds = qemu.kvm.qcrypto_tls_session_check_creds ?
{
    try {
        argstatus_str = status ? user_string_n(status, 512) : "<null>"
    } catch {}
    printf("%d@%d qcrypto_tls_session_check_creds TLS session check creds session=%p status=%s\n", pid(), gettimeofday_ns(), session, argstatus_str)
}
probe qemu.kvm.log.handle_hmp_command = qemu.kvm.handle_hmp_command ?
{
    try {
        argcmdline_str = cmdline ? user_string_n(cmdline, 512) : "<null>"
    } catch {}
    printf("%d@%d handle_hmp_command mon %p cmdline: %s\n", pid(), gettimeofday_ns(), mon, argcmdline_str)
}
probe qemu.kvm.log.monitor_protocol_event_handler = qemu.kvm.monitor_protocol_event_handler ?
{
    printf("%d@%d monitor_protocol_event_handler event=%d data=%p\n", pid(), gettimeofday_ns(), event, qdict)
}
probe qemu.kvm.log.monitor_protocol_event_emit = qemu.kvm.monitor_protocol_event_emit ?
{
    printf("%d@%d monitor_protocol_event_emit event=%d data=%p\n", pid(), gettimeofday_ns(), event, data)
}
probe qemu.kvm.log.monitor_protocol_event_queue = qemu.kvm.monitor_protocol_event_queue ?
{
    printf("%d@%d monitor_protocol_event_queue event=%d data=%p rate=%d\n", pid(), gettimeofday_ns(), event, qdict, rate)
}
probe qemu.kvm.log.monitor_suspend = qemu.kvm.monitor_suspend ?
{
    printf("%d@%d monitor_suspend mon %p: %d\n", pid(), gettimeofday_ns(), ptr, cnt)
}
probe qemu.kvm.log.monitor_qmp_cmd_in_band = qemu.kvm.monitor_qmp_cmd_in_band ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d monitor_qmp_cmd_in_band %s\n", pid(), gettimeofday_ns(), argid_str)
}
probe qemu.kvm.log.monitor_qmp_cmd_out_of_band = qemu.kvm.monitor_qmp_cmd_out_of_band ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d monitor_qmp_cmd_out_of_band %s\n", pid(), gettimeofday_ns(), argid_str)
}
probe qemu.kvm.log.handle_qmp_command = qemu.kvm.handle_qmp_command ?
{
    try {
        argreq_str = req ? user_string_n(req, 512) : "<null>"
    } catch {}
    printf("%d@%d handle_qmp_command mon %p req: %s\n", pid(), gettimeofday_ns(), mon, argreq_str)
}
probe qemu.kvm.log.qauthz_is_allowed = qemu.kvm.qauthz_is_allowed ?
{
    try {
        argidentity_str = identity ? user_string_n(identity, 512) : "<null>"
    } catch {}
    printf("%d@%d qauthz_is_allowed AuthZ %p check identity=%s allowed=%d\n", pid(), gettimeofday_ns(), authz, argidentity_str, allowed)
}
probe qemu.kvm.log.qauthz_simple_is_allowed = qemu.kvm.qauthz_simple_is_allowed ?
{
    try {
        argwantidentity_str = wantidentity ? user_string_n(wantidentity, 512) : "<null>"
    } catch {}
    try {
        arggotidentity_str = gotidentity ? user_string_n(gotidentity, 512) : "<null>"
    } catch {}
    printf("%d@%d qauthz_simple_is_allowed AuthZ simple %p check want identity=%s got identity=%s\n", pid(), gettimeofday_ns(), authz, argwantidentity_str, arggotidentity_str)
}
probe qemu.kvm.log.qauthz_list_check_rule = qemu.kvm.qauthz_list_check_rule ?
{
    try {
        argidentity_str = identity ? user_string_n(identity, 512) : "<null>"
    } catch {}
    try {
        argrule_str = rule ? user_string_n(rule, 512) : "<null>"
    } catch {}
    printf("%d@%d qauthz_list_check_rule AuthZ list %p check rule=%s identity=%s format=%d policy=%d\n", pid(), gettimeofday_ns(), authz, argidentity_str, argrule_str, format, policy)
}
probe qemu.kvm.log.qauthz_list_default_policy = qemu.kvm.qauthz_list_default_policy ?
{
    try {
        argidentity_str = identity ? user_string_n(identity, 512) : "<null>"
    } catch {}
    printf("%d@%d qauthz_list_default_policy AuthZ list %p default identity=%s policy=%d\n", pid(), gettimeofday_ns(), authz, argidentity_str, policy)
}
probe qemu.kvm.log.qauthz_list_file_load = qemu.kvm.qauthz_list_file_load ?
{
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    printf("%d@%d qauthz_list_file_load AuthZ file %p load filename=%s\n", pid(), gettimeofday_ns(), authz, argfilename_str)
}
probe qemu.kvm.log.qauthz_list_file_refresh = qemu.kvm.qauthz_list_file_refresh ?
{
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    printf("%d@%d qauthz_list_file_refresh AuthZ file %p load filename=%s success=%d\n", pid(), gettimeofday_ns(), authz, argfilename_str, success)
}
probe qemu.kvm.log.qauthz_pam_check = qemu.kvm.qauthz_pam_check ?
{
    try {
        argidentity_str = identity ? user_string_n(identity, 512) : "<null>"
    } catch {}
    try {
        argservice_str = service ? user_string_n(service, 512) : "<null>"
    } catch {}
    printf("%d@%d qauthz_pam_check AuthZ PAM %p identity=%s service=%s\n", pid(), gettimeofday_ns(), authz, argidentity_str, argservice_str)
}
probe qemu.kvm.log.bdrv_open_common = qemu.kvm.bdrv_open_common ?
{
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    try {
        argformat_name_str = format_name ? user_string_n(format_name, 512) : "<null>"
    } catch {}
    printf("%d@%d bdrv_open_common bs %p filename \"%s\" flags 0x%x format_name \"%s\"\n", pid(), gettimeofday_ns(), bs, argfilename_str, flags, argformat_name_str)
}
probe qemu.kvm.log.bdrv_lock_medium = qemu.kvm.bdrv_lock_medium ?
{
    printf("%d@%d bdrv_lock_medium bs %p locked %d\n", pid(), gettimeofday_ns(), bs, locked)
}
probe qemu.kvm.log.blk_co_preadv = qemu.kvm.blk_co_preadv ?
{
    printf("%d@%d blk_co_preadv blk %p bs %p offset %d bytes %u flags 0x%x\n", pid(), gettimeofday_ns(), blk, bs, offset, bytes, flags)
}
probe qemu.kvm.log.blk_co_pwritev = qemu.kvm.blk_co_pwritev ?
{
    printf("%d@%d blk_co_pwritev blk %p bs %p offset %d bytes %u flags 0x%x\n", pid(), gettimeofday_ns(), blk, bs, offset, bytes, flags)
}
probe qemu.kvm.log.blk_root_attach = qemu.kvm.blk_root_attach ?
{
    printf("%d@%d blk_root_attach child %p blk %p bs %p\n", pid(), gettimeofday_ns(), child, blk, bs)
}
probe qemu.kvm.log.blk_root_detach = qemu.kvm.blk_root_detach ?
{
    printf("%d@%d blk_root_detach child %p blk %p bs %p\n", pid(), gettimeofday_ns(), child, blk, bs)
}
probe qemu.kvm.log.bdrv_co_preadv = qemu.kvm.bdrv_co_preadv ?
{
    printf("%d@%d bdrv_co_preadv bs %p offset %d nbytes %d flags 0x%x\n", pid(), gettimeofday_ns(), bs, offset, nbytes, flags)
}
probe qemu.kvm.log.bdrv_co_pwritev = qemu.kvm.bdrv_co_pwritev ?
{
    printf("%d@%d bdrv_co_pwritev bs %p offset %d nbytes %d flags 0x%x\n", pid(), gettimeofday_ns(), bs, offset, nbytes, flags)
}
probe qemu.kvm.log.bdrv_co_pwrite_zeroes = qemu.kvm.bdrv_co_pwrite_zeroes ?
{
    printf("%d@%d bdrv_co_pwrite_zeroes bs %p offset %d count %d flags 0x%x\n", pid(), gettimeofday_ns(), bs, offset, count, flags)
}
probe qemu.kvm.log.bdrv_co_do_copy_on_readv = qemu.kvm.bdrv_co_do_copy_on_readv ?
{
    printf("%d@%d bdrv_co_do_copy_on_readv bs %p offset %d bytes %u cluster_offset %d cluster_bytes %d\n", pid(), gettimeofday_ns(), bs, offset, bytes, cluster_offset, cluster_bytes)
}
probe qemu.kvm.log.bdrv_co_copy_range_from = qemu.kvm.bdrv_co_copy_range_from ?
{
    printf("%d@%d bdrv_co_copy_range_from src %p offset %u dst %p offset %u bytes %u rw flags 0x%x 0x%x\n", pid(), gettimeofday_ns(), src, src_offset, dst, dst_offset, bytes, read_flags, write_flags)
}
probe qemu.kvm.log.bdrv_co_copy_range_to = qemu.kvm.bdrv_co_copy_range_to ?
{
    printf("%d@%d bdrv_co_copy_range_to src %p offset %u dst %p offset %u bytes %u rw flags 0x%x 0x%x\n", pid(), gettimeofday_ns(), src, src_offset, dst, dst_offset, bytes, read_flags, write_flags)
}
probe qemu.kvm.log.stream_one_iteration = qemu.kvm.stream_one_iteration ?
{
    printf("%d@%d stream_one_iteration s %p offset %d bytes %u is_allocated %d\n", pid(), gettimeofday_ns(), s, offset, bytes, is_allocated)
}
probe qemu.kvm.log.stream_start = qemu.kvm.stream_start ?
{
    printf("%d@%d stream_start bs %p base %p s %p\n", pid(), gettimeofday_ns(), bs, base, s)
}
probe qemu.kvm.log.commit_one_iteration = qemu.kvm.commit_one_iteration ?
{
    printf("%d@%d commit_one_iteration s %p offset %d bytes %u is_allocated %d\n", pid(), gettimeofday_ns(), s, offset, bytes, is_allocated)
}
probe qemu.kvm.log.commit_start = qemu.kvm.commit_start ?
{
    printf("%d@%d commit_start bs %p base %p top %p s %p\n", pid(), gettimeofday_ns(), bs, base, top, s)
}
probe qemu.kvm.log.mirror_start = qemu.kvm.mirror_start ?
{
    printf("%d@%d mirror_start bs %p s %p opaque %p\n", pid(), gettimeofday_ns(), bs, s, opaque)
}
probe qemu.kvm.log.mirror_restart_iter = qemu.kvm.mirror_restart_iter ?
{
    printf("%d@%d mirror_restart_iter s %p dirty count %d\n", pid(), gettimeofday_ns(), s, cnt)
}
probe qemu.kvm.log.mirror_before_flush = qemu.kvm.mirror_before_flush ?
{
    printf("%d@%d mirror_before_flush s %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.mirror_before_drain = qemu.kvm.mirror_before_drain ?
{
    printf("%d@%d mirror_before_drain s %p dirty count %d\n", pid(), gettimeofday_ns(), s, cnt)
}
probe qemu.kvm.log.mirror_before_sleep = qemu.kvm.mirror_before_sleep ?
{
    printf("%d@%d mirror_before_sleep s %p dirty count %d synced %d delay %dns\n", pid(), gettimeofday_ns(), s, cnt, synced, delay_ns)
}
probe qemu.kvm.log.mirror_one_iteration = qemu.kvm.mirror_one_iteration ?
{
    printf("%d@%d mirror_one_iteration s %p offset %d bytes %u\n", pid(), gettimeofday_ns(), s, offset, bytes)
}
probe qemu.kvm.log.mirror_iteration_done = qemu.kvm.mirror_iteration_done ?
{
    printf("%d@%d mirror_iteration_done s %p offset %d bytes %u ret %d\n", pid(), gettimeofday_ns(), s, offset, bytes, ret)
}
probe qemu.kvm.log.mirror_yield = qemu.kvm.mirror_yield ?
{
    printf("%d@%d mirror_yield s %p dirty count %d free buffers %d in_flight %d\n", pid(), gettimeofday_ns(), s, cnt, buf_free_count, in_flight)
}
probe qemu.kvm.log.mirror_yield_in_flight = qemu.kvm.mirror_yield_in_flight ?
{
    printf("%d@%d mirror_yield_in_flight s %p offset %d in_flight %d\n", pid(), gettimeofday_ns(), s, offset, in_flight)
}
probe qemu.kvm.log.backup_do_cow_enter = qemu.kvm.backup_do_cow_enter ?
{
    printf("%d@%d backup_do_cow_enter job %p start %d offset %d bytes %u\n", pid(), gettimeofday_ns(), job, start, offset, bytes)
}
probe qemu.kvm.log.backup_do_cow_return = qemu.kvm.backup_do_cow_return ?
{
    printf("%d@%d backup_do_cow_return job %p offset %d bytes %u ret %d\n", pid(), gettimeofday_ns(), job, offset, bytes, ret)
}
probe qemu.kvm.log.block_copy_skip = qemu.kvm.block_copy_skip ?
{
    printf("%d@%d block_copy_skip bcs %p start %d\n", pid(), gettimeofday_ns(), bcs, start)
}
probe qemu.kvm.log.block_copy_skip_range = qemu.kvm.block_copy_skip_range ?
{
    printf("%d@%d block_copy_skip_range bcs %p start %d bytes %d\n", pid(), gettimeofday_ns(), bcs, start, bytes)
}
probe qemu.kvm.log.block_copy_process = qemu.kvm.block_copy_process ?
{
    printf("%d@%d block_copy_process bcs %p start %d\n", pid(), gettimeofday_ns(), bcs, start)
}
probe qemu.kvm.log.block_copy_copy_range_fail = qemu.kvm.block_copy_copy_range_fail ?
{
    printf("%d@%d block_copy_copy_range_fail bcs %p start %d ret %d\n", pid(), gettimeofday_ns(), bcs, start, ret)
}
probe qemu.kvm.log.block_copy_read_fail = qemu.kvm.block_copy_read_fail ?
{
    printf("%d@%d block_copy_read_fail bcs %p start %d ret %d\n", pid(), gettimeofday_ns(), bcs, start, ret)
}
probe qemu.kvm.log.block_copy_write_fail = qemu.kvm.block_copy_write_fail ?
{
    printf("%d@%d block_copy_write_fail bcs %p start %d ret %d\n", pid(), gettimeofday_ns(), bcs, start, ret)
}
probe qemu.kvm.log.qmp_block_job_cancel = qemu.kvm.qmp_block_job_cancel ?
{
    printf("%d@%d qmp_block_job_cancel job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_block_job_pause = qemu.kvm.qmp_block_job_pause ?
{
    printf("%d@%d qmp_block_job_pause job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_block_job_resume = qemu.kvm.qmp_block_job_resume ?
{
    printf("%d@%d qmp_block_job_resume job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_block_job_complete = qemu.kvm.qmp_block_job_complete ?
{
    printf("%d@%d qmp_block_job_complete job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_block_job_finalize = qemu.kvm.qmp_block_job_finalize ?
{
    printf("%d@%d qmp_block_job_finalize job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_block_job_dismiss = qemu.kvm.qmp_block_job_dismiss ?
{
    printf("%d@%d qmp_block_job_dismiss job %p\n", pid(), gettimeofday_ns(), job)
}
probe qemu.kvm.log.qmp_block_stream = qemu.kvm.qmp_block_stream ?
{
    printf("%d@%d qmp_block_stream bs %p\n", pid(), gettimeofday_ns(), bs)
}
probe qemu.kvm.log.file_paio_submit = qemu.kvm.file_paio_submit ?
{
    printf("%d@%d file_paio_submit acb %p opaque %p offset %d count %d type %d\n", pid(), gettimeofday_ns(), acb, opaque, offset, count, type)
}
probe qemu.kvm.log.file_copy_file_range = qemu.kvm.file_copy_file_range ?
{
    printf("%d@%d file_copy_file_range bs %p src_fd %d offset %u dst_fd %d offset %u bytes %u flags %d ret %u\n", pid(), gettimeofday_ns(), bs, src, src_off, dst, dst_off, bytes, flags, ret)
}
probe qemu.kvm.log.qcow2_add_task = qemu.kvm.qcow2_add_task ?
{
    try {
        argaction_str = action ? user_string_n(action, 512) : "<null>"
    } catch {}
    printf("%d@%d qcow2_add_task co %p bs %p pool %p: %s: cluster_type %d file_cluster_offset %u offset %u bytes %u qiov %p qiov_offset %u\n", pid(), gettimeofday_ns(), co, bs, pool, argaction_str, cluster_type, file_cluster_offset, offset, bytes, qiov, qiov_offset)
}
probe qemu.kvm.log.qcow2_writev_start_req = qemu.kvm.qcow2_writev_start_req ?
{
    printf("%d@%d qcow2_writev_start_req co %p offset 0x%x bytes %d\n", pid(), gettimeofday_ns(), co, offset, bytes)
}
probe qemu.kvm.log.qcow2_writev_done_req = qemu.kvm.qcow2_writev_done_req ?
{
    printf("%d@%d qcow2_writev_done_req co %p ret %d\n", pid(), gettimeofday_ns(), co, ret)
}
probe qemu.kvm.log.qcow2_writev_start_part = qemu.kvm.qcow2_writev_start_part ?
{
    printf("%d@%d qcow2_writev_start_part co %p\n", pid(), gettimeofday_ns(), co)
}
probe qemu.kvm.log.qcow2_writev_done_part = qemu.kvm.qcow2_writev_done_part ?
{
    printf("%d@%d qcow2_writev_done_part co %p cur_bytes %d\n", pid(), gettimeofday_ns(), co, cur_bytes)
}
probe qemu.kvm.log.qcow2_writev_data = qemu.kvm.qcow2_writev_data ?
{
    printf("%d@%d qcow2_writev_data co %p offset 0x%x\n", pid(), gettimeofday_ns(), co, offset)
}
probe qemu.kvm.log.qcow2_pwrite_zeroes_start_req = qemu.kvm.qcow2_pwrite_zeroes_start_req ?
{
    printf("%d@%d qcow2_pwrite_zeroes_start_req co %p offset 0x%x count %d\n", pid(), gettimeofday_ns(), co, offset, count)
}
probe qemu.kvm.log.qcow2_pwrite_zeroes = qemu.kvm.qcow2_pwrite_zeroes ?
{
    printf("%d@%d qcow2_pwrite_zeroes co %p offset 0x%x count %d\n", pid(), gettimeofday_ns(), co, offset, count)
}
probe qemu.kvm.log.qcow2_skip_cow = qemu.kvm.qcow2_skip_cow ?
{
    printf("%d@%d qcow2_skip_cow co %p offset 0x%x nb_clusters %d\n", pid(), gettimeofday_ns(), co, offset, nb_clusters)
}
probe qemu.kvm.log.qcow2_alloc_clusters_offset = qemu.kvm.qcow2_alloc_clusters_offset ?
{
    printf("%d@%d qcow2_alloc_clusters_offset co %p offset 0x%x bytes %d\n", pid(), gettimeofday_ns(), co, offset, bytes)
}
probe qemu.kvm.log.qcow2_handle_copied = qemu.kvm.qcow2_handle_copied ?
{
    printf("%d@%d qcow2_handle_copied co %p guest_offset 0x%x host_offset 0x%x bytes 0x%x\n", pid(), gettimeofday_ns(), co, guest_offset, host_offset, bytes)
}
probe qemu.kvm.log.qcow2_handle_alloc = qemu.kvm.qcow2_handle_alloc ?
{
    printf("%d@%d qcow2_handle_alloc co %p guest_offset 0x%x host_offset 0x%x bytes 0x%x\n", pid(), gettimeofday_ns(), co, guest_offset, host_offset, bytes)
}
probe qemu.kvm.log.qcow2_do_alloc_clusters_offset = qemu.kvm.qcow2_do_alloc_clusters_offset ?
{
    printf("%d@%d qcow2_do_alloc_clusters_offset co %p guest_offset 0x%x host_offset 0x%x nb_clusters %d\n", pid(), gettimeofday_ns(), co, guest_offset, host_offset, nb_clusters)
}
probe qemu.kvm.log.qcow2_cluster_alloc_phys = qemu.kvm.qcow2_cluster_alloc_phys ?
{
    printf("%d@%d qcow2_cluster_alloc_phys co %p\n", pid(), gettimeofday_ns(), co)
}
probe qemu.kvm.log.qcow2_cluster_link_l2 = qemu.kvm.qcow2_cluster_link_l2 ?
{
    printf("%d@%d qcow2_cluster_link_l2 co %p nb_clusters %d\n", pid(), gettimeofday_ns(), co, nb_clusters)
}
probe qemu.kvm.log.qcow2_l2_allocate = qemu.kvm.qcow2_l2_allocate ?
{
    printf("%d@%d qcow2_l2_allocate bs %p l1_index %d\n", pid(), gettimeofday_ns(), bs, l1_index)
}
probe qemu.kvm.log.qcow2_l2_allocate_get_empty = qemu.kvm.qcow2_l2_allocate_get_empty ?
{
    printf("%d@%d qcow2_l2_allocate_get_empty bs %p l1_index %d\n", pid(), gettimeofday_ns(), bs, l1_index)
}
probe qemu.kvm.log.qcow2_l2_allocate_write_l2 = qemu.kvm.qcow2_l2_allocate_write_l2 ?
{
    printf("%d@%d qcow2_l2_allocate_write_l2 bs %p l1_index %d\n", pid(), gettimeofday_ns(), bs, l1_index)
}
probe qemu.kvm.log.qcow2_l2_allocate_write_l1 = qemu.kvm.qcow2_l2_allocate_write_l1 ?
{
    printf("%d@%d qcow2_l2_allocate_write_l1 bs %p l1_index %d\n", pid(), gettimeofday_ns(), bs, l1_index)
}
probe qemu.kvm.log.qcow2_l2_allocate_done = qemu.kvm.qcow2_l2_allocate_done ?
{
    printf("%d@%d qcow2_l2_allocate_done bs %p l1_index %d ret %d\n", pid(), gettimeofday_ns(), bs, l1_index, ret)
}
probe qemu.kvm.log.qcow2_cache_get = qemu.kvm.qcow2_cache_get ?
{
    printf("%d@%d qcow2_cache_get co %p is_l2_cache %d offset 0x%x read_from_disk %d\n", pid(), gettimeofday_ns(), co, c, offset, read_from_disk)
}
probe qemu.kvm.log.qcow2_cache_get_replace_entry = qemu.kvm.qcow2_cache_get_replace_entry ?
{
    printf("%d@%d qcow2_cache_get_replace_entry co %p is_l2_cache %d index %d\n", pid(), gettimeofday_ns(), co, c, i)
}
probe qemu.kvm.log.qcow2_cache_get_read = qemu.kvm.qcow2_cache_get_read ?
{
    printf("%d@%d qcow2_cache_get_read co %p is_l2_cache %d index %d\n", pid(), gettimeofday_ns(), co, c, i)
}
probe qemu.kvm.log.qcow2_cache_get_done = qemu.kvm.qcow2_cache_get_done ?
{
    printf("%d@%d qcow2_cache_get_done co %p is_l2_cache %d index %d\n", pid(), gettimeofday_ns(), co, c, i)
}
probe qemu.kvm.log.qcow2_cache_flush = qemu.kvm.qcow2_cache_flush ?
{
    printf("%d@%d qcow2_cache_flush co %p is_l2_cache %d\n", pid(), gettimeofday_ns(), co, c)
}
probe qemu.kvm.log.qcow2_cache_entry_flush = qemu.kvm.qcow2_cache_entry_flush ?
{
    printf("%d@%d qcow2_cache_entry_flush co %p is_l2_cache %d index %d\n", pid(), gettimeofday_ns(), co, c, i)
}
probe qemu.kvm.log.qcow2_process_discards_failed_region = qemu.kvm.qcow2_process_discards_failed_region ?
{
    printf("%d@%d qcow2_process_discards_failed_region offset 0x%x bytes 0x%x ret %d\n", pid(), gettimeofday_ns(), offset, bytes, ret)
}
probe qemu.kvm.log.qed_alloc_l2_cache_entry = qemu.kvm.qed_alloc_l2_cache_entry ?
{
    printf("%d@%d qed_alloc_l2_cache_entry l2_cache %p entry %p\n", pid(), gettimeofday_ns(), l2_cache, entry)
}
probe qemu.kvm.log.qed_unref_l2_cache_entry = qemu.kvm.qed_unref_l2_cache_entry ?
{
    printf("%d@%d qed_unref_l2_cache_entry entry %p ref %d\n", pid(), gettimeofday_ns(), entry, ref)
}
probe qemu.kvm.log.qed_find_l2_cache_entry = qemu.kvm.qed_find_l2_cache_entry ?
{
    printf("%d@%d qed_find_l2_cache_entry l2_cache %p entry %p offset %u ref %d\n", pid(), gettimeofday_ns(), l2_cache, entry, offset, ref)
}
probe qemu.kvm.log.qed_read_table = qemu.kvm.qed_read_table ?
{
    printf("%d@%d qed_read_table s %p offset %u table %p\n", pid(), gettimeofday_ns(), s, offset, table)
}
probe qemu.kvm.log.qed_read_table_cb = qemu.kvm.qed_read_table_cb ?
{
    printf("%d@%d qed_read_table_cb s %p table %p ret %d\n", pid(), gettimeofday_ns(), s, table, ret)
}
probe qemu.kvm.log.qed_write_table = qemu.kvm.qed_write_table ?
{
    printf("%d@%d qed_write_table s %p offset %u table %p index %u n %u\n", pid(), gettimeofday_ns(), s, offset, table, index, n)
}
probe qemu.kvm.log.qed_write_table_cb = qemu.kvm.qed_write_table_cb ?
{
    printf("%d@%d qed_write_table_cb s %p table %p flush %d ret %d\n", pid(), gettimeofday_ns(), s, table, flush, ret)
}
probe qemu.kvm.log.qed_need_check_timer_cb = qemu.kvm.qed_need_check_timer_cb ?
{
    printf("%d@%d qed_need_check_timer_cb s %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.qed_start_need_check_timer = qemu.kvm.qed_start_need_check_timer ?
{
    printf("%d@%d qed_start_need_check_timer s %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.qed_cancel_need_check_timer = qemu.kvm.qed_cancel_need_check_timer ?
{
    printf("%d@%d qed_cancel_need_check_timer s %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.qed_aio_complete = qemu.kvm.qed_aio_complete ?
{
    printf("%d@%d qed_aio_complete s %p acb %p ret %d\n", pid(), gettimeofday_ns(), s, acb, ret)
}
probe qemu.kvm.log.qed_aio_setup = qemu.kvm.qed_aio_setup ?
{
    printf("%d@%d qed_aio_setup s %p acb %p sector_num %d nb_sectors %d opaque %p flags 0x%x\n", pid(), gettimeofday_ns(), s, acb, sector_num, nb_sectors, opaque, flags)
}
probe qemu.kvm.log.qed_aio_next_io = qemu.kvm.qed_aio_next_io ?
{
    printf("%d@%d qed_aio_next_io s %p acb %p ret %d cur_pos %u\n", pid(), gettimeofday_ns(), s, acb, ret, cur_pos)
}
probe qemu.kvm.log.qed_aio_read_data = qemu.kvm.qed_aio_read_data ?
{
    printf("%d@%d qed_aio_read_data s %p acb %p ret %d offset %u len %u\n", pid(), gettimeofday_ns(), s, acb, ret, offset, len)
}
probe qemu.kvm.log.qed_aio_write_data = qemu.kvm.qed_aio_write_data ?
{
    printf("%d@%d qed_aio_write_data s %p acb %p ret %d offset %u len %u\n", pid(), gettimeofday_ns(), s, acb, ret, offset, len)
}
probe qemu.kvm.log.qed_aio_write_prefill = qemu.kvm.qed_aio_write_prefill ?
{
    printf("%d@%d qed_aio_write_prefill s %p acb %p start %u len %u offset %u\n", pid(), gettimeofday_ns(), s, acb, start, len, offset)
}
probe qemu.kvm.log.qed_aio_write_postfill = qemu.kvm.qed_aio_write_postfill ?
{
    printf("%d@%d qed_aio_write_postfill s %p acb %p start %u len %u offset %u\n", pid(), gettimeofday_ns(), s, acb, start, len, offset)
}
probe qemu.kvm.log.qed_aio_write_main = qemu.kvm.qed_aio_write_main ?
{
    printf("%d@%d qed_aio_write_main s %p acb %p ret %d offset %u len %u\n", pid(), gettimeofday_ns(), s, acb, ret, offset, len)
}
probe qemu.kvm.log.vxhs_iio_callback = qemu.kvm.vxhs_iio_callback ?
{
    printf("%d@%d vxhs_iio_callback ctx is NULL: error %d\n", pid(), gettimeofday_ns(), error)
}
probe qemu.kvm.log.vxhs_iio_callback_chnfail = qemu.kvm.vxhs_iio_callback_chnfail ?
{
    printf("%d@%d vxhs_iio_callback_chnfail QNIO channel failed, no i/o %d, %d\n", pid(), gettimeofday_ns(), err, error)
}
probe qemu.kvm.log.vxhs_iio_callback_unknwn = qemu.kvm.vxhs_iio_callback_unknwn ?
{
    printf("%d@%d vxhs_iio_callback_unknwn unexpected opcode %d, errno %d\n", pid(), gettimeofday_ns(), opcode, err)
}
probe qemu.kvm.log.vxhs_aio_rw_invalid = qemu.kvm.vxhs_aio_rw_invalid ?
{
    printf("%d@%d vxhs_aio_rw_invalid Invalid I/O request iodir %d\n", pid(), gettimeofday_ns(), req)
}
probe qemu.kvm.log.vxhs_aio_rw_ioerr = qemu.kvm.vxhs_aio_rw_ioerr ?
{
    try {
        argguid_str = guid ? user_string_n(guid, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_aio_rw_ioerr IO ERROR (vDisk %s) FOR : Read/Write = %d size = %u offset = %u ACB = %p. Error = %d, errno = %d\n", pid(), gettimeofday_ns(), argguid_str, iodir, size, off, acb, ret, err)
}
probe qemu.kvm.log.vxhs_get_vdisk_stat_err = qemu.kvm.vxhs_get_vdisk_stat_err ?
{
    try {
        argguid_str = guid ? user_string_n(guid, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_get_vdisk_stat_err vDisk (%s) stat ioctl failed, ret = %d, errno = %d\n", pid(), gettimeofday_ns(), argguid_str, ret, err)
}
probe qemu.kvm.log.vxhs_get_vdisk_stat = qemu.kvm.vxhs_get_vdisk_stat ?
{
    try {
        argvdisk_guid_str = vdisk_guid ? user_string_n(vdisk_guid, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_get_vdisk_stat vDisk %s stat ioctl returned size %u\n", pid(), gettimeofday_ns(), argvdisk_guid_str, vdisk_size)
}
probe qemu.kvm.log.vxhs_complete_aio = qemu.kvm.vxhs_complete_aio ?
{
    printf("%d@%d vxhs_complete_aio aio failed acb %p ret %u\n", pid(), gettimeofday_ns(), acb, ret)
}
probe qemu.kvm.log.vxhs_parse_uri_filename = qemu.kvm.vxhs_parse_uri_filename ?
{
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_parse_uri_filename URI passed via bdrv_parse_filename %s\n", pid(), gettimeofday_ns(), argfilename_str)
}
probe qemu.kvm.log.vxhs_open_vdiskid = qemu.kvm.vxhs_open_vdiskid ?
{
    try {
        argvdisk_id_str = vdisk_id ? user_string_n(vdisk_id, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_open_vdiskid Opening vdisk-id %s\n", pid(), gettimeofday_ns(), argvdisk_id_str)
}
probe qemu.kvm.log.vxhs_open_hostinfo = qemu.kvm.vxhs_open_hostinfo ?
{
    try {
        argof_vsa_addr_str = of_vsa_addr ? user_string_n(of_vsa_addr, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_open_hostinfo Adding host %s:%d to BDRVVXHSState\n", pid(), gettimeofday_ns(), argof_vsa_addr_str, port)
}
probe qemu.kvm.log.vxhs_open_iio_open = qemu.kvm.vxhs_open_iio_open ?
{
    try {
        arghost_str = host ? user_string_n(host, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_open_iio_open Failed to connect to storage agent on host %s\n", pid(), gettimeofday_ns(), arghost_str)
}
probe qemu.kvm.log.vxhs_parse_uri_hostinfo = qemu.kvm.vxhs_parse_uri_hostinfo ?
{
    try {
        arghost_str = host ? user_string_n(host, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_parse_uri_hostinfo Host: IP %s, Port %d\n", pid(), gettimeofday_ns(), arghost_str, port)
}
probe qemu.kvm.log.vxhs_close = qemu.kvm.vxhs_close ?
{
    try {
        argvdisk_guid_str = vdisk_guid ? user_string_n(vdisk_guid, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_close Closing vdisk %s\n", pid(), gettimeofday_ns(), argvdisk_guid_str)
}
probe qemu.kvm.log.vxhs_get_creds = qemu.kvm.vxhs_get_creds ?
{
    try {
        argcacert_str = cacert ? user_string_n(cacert, 512) : "<null>"
    } catch {}
    try {
        argclient_key_str = client_key ? user_string_n(client_key, 512) : "<null>"
    } catch {}
    try {
        argclient_cert_str = client_cert ? user_string_n(client_cert, 512) : "<null>"
    } catch {}
    printf("%d@%d vxhs_get_creds cacert %s, client_key %s, client_cert %s\n", pid(), gettimeofday_ns(), argcacert_str, argclient_key_str, argclient_cert_str)
}
probe qemu.kvm.log.nvme_kick = qemu.kvm.nvme_kick ?
{
    printf("%d@%d nvme_kick s %p queue %d\n", pid(), gettimeofday_ns(), s, queue)
}
probe qemu.kvm.log.nvme_dma_flush_queue_wait = qemu.kvm.nvme_dma_flush_queue_wait ?
{
    printf("%d@%d nvme_dma_flush_queue_wait s %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.nvme_error = qemu.kvm.nvme_error ?
{
    printf("%d@%d nvme_error cmd_specific %d sq_head %d sqid %d cid %d status 0x%x\n", pid(), gettimeofday_ns(), cmd_specific, sq_head, sqid, cid, status)
}
probe qemu.kvm.log.nvme_process_completion = qemu.kvm.nvme_process_completion ?
{
    printf("%d@%d nvme_process_completion s %p queue %d inflight %d\n", pid(), gettimeofday_ns(), s, index, inflight)
}
probe qemu.kvm.log.nvme_process_completion_queue_busy = qemu.kvm.nvme_process_completion_queue_busy ?
{
    printf("%d@%d nvme_process_completion_queue_busy s %p queue %d\n", pid(), gettimeofday_ns(), s, index)
}
probe qemu.kvm.log.nvme_complete_command = qemu.kvm.nvme_complete_command ?
{
    printf("%d@%d nvme_complete_command s %p queue %d cid %d\n", pid(), gettimeofday_ns(), s, index, cid)
}
probe qemu.kvm.log.nvme_submit_command = qemu.kvm.nvme_submit_command ?
{
    printf("%d@%d nvme_submit_command s %p queue %d cid %d\n", pid(), gettimeofday_ns(), s, index, cid)
}
probe qemu.kvm.log.nvme_submit_command_raw = qemu.kvm.nvme_submit_command_raw ?
{
    printf("%d@%d nvme_submit_command_raw %02x %02x %02x %02x %02x %02x %02x %02x\n", pid(), gettimeofday_ns(), c0, c1, c2, c3, c4, c5, c6, c7)
}
probe qemu.kvm.log.nvme_handle_event = qemu.kvm.nvme_handle_event ?
{
    printf("%d@%d nvme_handle_event s %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.nvme_poll_cb = qemu.kvm.nvme_poll_cb ?
{
    printf("%d@%d nvme_poll_cb s %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.nvme_prw_aligned = qemu.kvm.nvme_prw_aligned ?
{
    printf("%d@%d nvme_prw_aligned s %p is_write %d offset %d bytes %d flags %d niov %d\n", pid(), gettimeofday_ns(), s, is_write, offset, bytes, flags, niov)
}
probe qemu.kvm.log.nvme_write_zeroes = qemu.kvm.nvme_write_zeroes ?
{
    printf("%d@%d nvme_write_zeroes s %p offset %d bytes %d flags %d\n", pid(), gettimeofday_ns(), s, offset, bytes, flags)
}
probe qemu.kvm.log.nvme_qiov_unaligned = qemu.kvm.nvme_qiov_unaligned ?
{
    printf("%d@%d nvme_qiov_unaligned qiov %p n %d base %p size 0x%x align 0x%x\n", pid(), gettimeofday_ns(), qiov, n, base, size, align)
}
probe qemu.kvm.log.nvme_prw_buffered = qemu.kvm.nvme_prw_buffered ?
{
    printf("%d@%d nvme_prw_buffered s %p offset %d bytes %d niov %d is_write %d\n", pid(), gettimeofday_ns(), s, offset, bytes, niov, is_write)
}
probe qemu.kvm.log.nvme_rw_done = qemu.kvm.nvme_rw_done ?
{
    printf("%d@%d nvme_rw_done s %p is_write %d offset %d bytes %d ret %d\n", pid(), gettimeofday_ns(), s, is_write, offset, bytes, ret)
}
probe qemu.kvm.log.nvme_dsm = qemu.kvm.nvme_dsm ?
{
    printf("%d@%d nvme_dsm s %p offset %d bytes %d\n", pid(), gettimeofday_ns(), s, offset, bytes)
}
probe qemu.kvm.log.nvme_dsm_done = qemu.kvm.nvme_dsm_done ?
{
    printf("%d@%d nvme_dsm_done s %p offset %d bytes %d ret %d\n", pid(), gettimeofday_ns(), s, offset, bytes, ret)
}
probe qemu.kvm.log.nvme_dma_map_flush = qemu.kvm.nvme_dma_map_flush ?
{
    printf("%d@%d nvme_dma_map_flush s %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.nvme_free_req_queue_wait = qemu.kvm.nvme_free_req_queue_wait ?
{
    printf("%d@%d nvme_free_req_queue_wait q %p\n", pid(), gettimeofday_ns(), q)
}
probe qemu.kvm.log.nvme_cmd_map_qiov = qemu.kvm.nvme_cmd_map_qiov ?
{
    printf("%d@%d nvme_cmd_map_qiov s %p cmd %p req %p qiov %p entries %d\n", pid(), gettimeofday_ns(), s, cmd, req, qiov, entries)
}
probe qemu.kvm.log.nvme_cmd_map_qiov_pages = qemu.kvm.nvme_cmd_map_qiov_pages ?
{
    printf("%d@%d nvme_cmd_map_qiov_pages s %p page[%d] 0x%x\n", pid(), gettimeofday_ns(), s, i, page)
}
probe qemu.kvm.log.nvme_cmd_map_qiov_iov = qemu.kvm.nvme_cmd_map_qiov_iov ?
{
    printf("%d@%d nvme_cmd_map_qiov_iov s %p iov[%d] %p pages %d\n", pid(), gettimeofday_ns(), s, i, page, pages)
}
probe qemu.kvm.log.iscsi_xcopy = qemu.kvm.iscsi_xcopy ?
{
    printf("%d@%d iscsi_xcopy src_lun %p offset %u dst_lun %p offset %u bytes %u ret %d\n", pid(), gettimeofday_ns(), src_lun, src_off, dst_lun, dst_off, bytes, ret)
}
probe qemu.kvm.log.nbd_parse_blockstatus_compliance = qemu.kvm.nbd_parse_blockstatus_compliance ?
{
    try {
        argerr_str = err ? user_string_n(err, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_parse_blockstatus_compliance ignoring extra data from non-compliant server: %s\n", pid(), gettimeofday_ns(), argerr_str)
}
probe qemu.kvm.log.nbd_structured_read_compliance = qemu.kvm.nbd_structured_read_compliance ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_structured_read_compliance server sent non-compliant unaligned read %s chunk\n", pid(), gettimeofday_ns(), argtype_str)
}
probe qemu.kvm.log.nbd_read_reply_entry_fail = qemu.kvm.nbd_read_reply_entry_fail ?
{
    try {
        argerr_str = err ? user_string_n(err, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_read_reply_entry_fail ret = %d, err: %s\n", pid(), gettimeofday_ns(), ret, argerr_str)
}
probe qemu.kvm.log.nbd_co_request_fail = qemu.kvm.nbd_co_request_fail ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argerr_str = err ? user_string_n(err, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_co_request_fail Request failed { .from = %u, .len = %u, .handle = %u, .flags = 0x%x, .type = %u (%s) } ret = %d, err: %s\n", pid(), gettimeofday_ns(), from, len, handle, flags, type, argname_str, ret, argerr_str)
}
probe qemu.kvm.log.nbd_client_connect = qemu.kvm.nbd_client_connect ?
{
    try {
        argexport_name_str = export_name ? user_string_n(export_name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_client_connect export '%s'\n", pid(), gettimeofday_ns(), argexport_name_str)
}
probe qemu.kvm.log.nbd_client_connect_success = qemu.kvm.nbd_client_connect_success ?
{
    try {
        argexport_name_str = export_name ? user_string_n(export_name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_client_connect_success export '%s'\n", pid(), gettimeofday_ns(), argexport_name_str)
}
probe qemu.kvm.log.ssh_restart_coroutine = qemu.kvm.ssh_restart_coroutine ?
{
    printf("%d@%d ssh_restart_coroutine co=%p\n", pid(), gettimeofday_ns(), co)
}
probe qemu.kvm.log.ssh_flush = qemu.kvm.ssh_flush ?
{
    printf("%d@%d ssh_flush fsync\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ssh_check_host_key_knownhosts = qemu.kvm.ssh_check_host_key_knownhosts ?
{
    printf("%d@%d ssh_check_host_key_knownhosts host key OK\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ssh_connect_to_ssh = qemu.kvm.ssh_connect_to_ssh ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d ssh_connect_to_ssh opening file %s flags=0x%x creat_mode=0%o\n", pid(), gettimeofday_ns(), argpath_str, flags, mode)
}
probe qemu.kvm.log.ssh_co_yield = qemu.kvm.ssh_co_yield ?
{
    printf("%d@%d ssh_co_yield s->sock=%d rd_handler=%p wr_handler=%p\n", pid(), gettimeofday_ns(), sock, rd_handler, wr_handler)
}
probe qemu.kvm.log.ssh_co_yield_back = qemu.kvm.ssh_co_yield_back ?
{
    printf("%d@%d ssh_co_yield_back s->sock=%d - back\n", pid(), gettimeofday_ns(), sock)
}
probe qemu.kvm.log.ssh_getlength = qemu.kvm.ssh_getlength ?
{
    printf("%d@%d ssh_getlength length=%i\n", pid(), gettimeofday_ns(), length)
}
probe qemu.kvm.log.ssh_co_create_opts = qemu.kvm.ssh_co_create_opts ?
{
    printf("%d@%d ssh_co_create_opts total_size=%u\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.ssh_read = qemu.kvm.ssh_read ?
{
    printf("%d@%d ssh_read offset=%i size=%u\n", pid(), gettimeofday_ns(), offset, size)
}
probe qemu.kvm.log.ssh_read_buf = qemu.kvm.ssh_read_buf ?
{
    printf("%d@%d ssh_read_buf sftp_read buf=%p size=%u (actual size=%u)\n", pid(), gettimeofday_ns(), buf, size, actual_size)
}
probe qemu.kvm.log.ssh_read_return = qemu.kvm.ssh_read_return ?
{
    printf("%d@%d ssh_read_return sftp_read returned %d (sftp error=%d)\n", pid(), gettimeofday_ns(), ret, sftp_err)
}
probe qemu.kvm.log.ssh_write = qemu.kvm.ssh_write ?
{
    printf("%d@%d ssh_write offset=%i size=%u\n", pid(), gettimeofday_ns(), offset, size)
}
probe qemu.kvm.log.ssh_write_buf = qemu.kvm.ssh_write_buf ?
{
    printf("%d@%d ssh_write_buf sftp_write buf=%p size=%u (actual size=%u)\n", pid(), gettimeofday_ns(), buf, size, actual_size)
}
probe qemu.kvm.log.ssh_write_return = qemu.kvm.ssh_write_return ?
{
    printf("%d@%d ssh_write_return sftp_write returned %d (sftp error=%d)\n", pid(), gettimeofday_ns(), ret, sftp_err)
}
probe qemu.kvm.log.ssh_seek = qemu.kvm.ssh_seek ?
{
    printf("%d@%d ssh_seek seeking to offset=%i\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.ssh_auth_methods = qemu.kvm.ssh_auth_methods ?
{
    printf("%d@%d ssh_auth_methods auth methods=0x%x\n", pid(), gettimeofday_ns(), methods)
}
probe qemu.kvm.log.ssh_server_status = qemu.kvm.ssh_server_status ?
{
    printf("%d@%d ssh_server_status server status=%d\n", pid(), gettimeofday_ns(), status)
}
probe qemu.kvm.log.curl_timer_cb = qemu.kvm.curl_timer_cb ?
{
    printf("%d@%d curl_timer_cb timer callback timeout_ms %ld\n", pid(), gettimeofday_ns(), timeout_ms)
}
probe qemu.kvm.log.curl_sock_cb = qemu.kvm.curl_sock_cb ?
{
    printf("%d@%d curl_sock_cb sock action %d on fd %d\n", pid(), gettimeofday_ns(), action, fd)
}
probe qemu.kvm.log.curl_read_cb = qemu.kvm.curl_read_cb ?
{
    printf("%d@%d curl_read_cb just reading %u bytes\n", pid(), gettimeofday_ns(), realsize)
}
probe qemu.kvm.log.curl_open = qemu.kvm.curl_open ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    printf("%d@%d curl_open opening %s\n", pid(), gettimeofday_ns(), argfile_str)
}
probe qemu.kvm.log.curl_open_size = qemu.kvm.curl_open_size ?
{
    printf("%d@%d curl_open_size size = %u\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.curl_setup_preadv = qemu.kvm.curl_setup_preadv ?
{
    try {
        argrange_str = range ? user_string_n(range, 512) : "<null>"
    } catch {}
    printf("%d@%d curl_setup_preadv reading %u at %u (%s)\n", pid(), gettimeofday_ns(), bytes, start, argrange_str)
}
probe qemu.kvm.log.curl_close = qemu.kvm.curl_close ?
{
    printf("%d@%d curl_close close\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.file_xfs_write_zeroes = qemu.kvm.file_xfs_write_zeroes ?
{
    try {
        argerror_str = error ? user_string_n(error, 512) : "<null>"
    } catch {}
    printf("%d@%d file_xfs_write_zeroes cannot write zero range (%s)\n", pid(), gettimeofday_ns(), argerror_str)
}
probe qemu.kvm.log.file_xfs_discard = qemu.kvm.file_xfs_discard ?
{
    try {
        argerror_str = error ? user_string_n(error, 512) : "<null>"
    } catch {}
    printf("%d@%d file_xfs_discard cannot punch hole (%s)\n", pid(), gettimeofday_ns(), argerror_str)
}
probe qemu.kvm.log.file_FindEjectableOpticalMedia = qemu.kvm.file_FindEjectableOpticalMedia ?
{
    try {
        argmedia_str = media ? user_string_n(media, 512) : "<null>"
    } catch {}
    printf("%d@%d file_FindEjectableOpticalMedia Matching using %s\n", pid(), gettimeofday_ns(), argmedia_str)
}
probe qemu.kvm.log.file_setup_cdrom = qemu.kvm.file_setup_cdrom ?
{
    try {
        argpartition_str = partition ? user_string_n(partition, 512) : "<null>"
    } catch {}
    printf("%d@%d file_setup_cdrom Using %s as optical disc\n", pid(), gettimeofday_ns(), argpartition_str)
}
probe qemu.kvm.log.file_hdev_is_sg = qemu.kvm.file_hdev_is_sg ?
{
    printf("%d@%d file_hdev_is_sg SG device found: type=%d, version=%d\n", pid(), gettimeofday_ns(), type, version)
}
probe qemu.kvm.log.sheepdog_reconnect_to_sdog = qemu.kvm.sheepdog_reconnect_to_sdog ?
{
    printf("%d@%d sheepdog_reconnect_to_sdog Wait for connection to be established\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sheepdog_aio_read_response = qemu.kvm.sheepdog_aio_read_response ?
{
    printf("%d@%d sheepdog_aio_read_response disable cache since the server doesn't support it\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sheepdog_open = qemu.kvm.sheepdog_open ?
{
    printf("%d@%d sheepdog_open 0x%x snapshot inode was open\n", pid(), gettimeofday_ns(), vid)
}
probe qemu.kvm.log.sheepdog_close = qemu.kvm.sheepdog_close ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d sheepdog_close %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.sheepdog_create_branch_snapshot = qemu.kvm.sheepdog_create_branch_snapshot ?
{
    printf("%d@%d sheepdog_create_branch_snapshot 0x%x is snapshot\n", pid(), gettimeofday_ns(), vdi)
}
probe qemu.kvm.log.sheepdog_create_branch_created = qemu.kvm.sheepdog_create_branch_created ?
{
    printf("%d@%d sheepdog_create_branch_created 0x%x is created\n", pid(), gettimeofday_ns(), vdi)
}
probe qemu.kvm.log.sheepdog_create_branch_new = qemu.kvm.sheepdog_create_branch_new ?
{
    printf("%d@%d sheepdog_create_branch_new 0x%x was newly created\n", pid(), gettimeofday_ns(), vdi)
}
probe qemu.kvm.log.sheepdog_co_rw_vector_update = qemu.kvm.sheepdog_co_rw_vector_update ?
{
    printf("%d@%d sheepdog_co_rw_vector_update update ino (%u) %u %u %ld\n", pid(), gettimeofday_ns(), vdi, oid, data, idx)
}
probe qemu.kvm.log.sheepdog_co_rw_vector_new = qemu.kvm.sheepdog_co_rw_vector_new ?
{
    printf("%d@%d sheepdog_co_rw_vector_new new oid 0x%x\n", pid(), gettimeofday_ns(), oid)
}
probe qemu.kvm.log.sheepdog_snapshot_create_info = qemu.kvm.sheepdog_snapshot_create_info ?
{
    try {
        argsn_name_str = sn_name ? user_string_n(sn_name, 512) : "<null>"
    } catch {}
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d sheepdog_snapshot_create_info sn_info: name %s id_str %s s: name %s vm_state_size %d is_snapshot %d\n", pid(), gettimeofday_ns(), argsn_name_str, argid_str, argname_str, size, is_snapshot)
}
probe qemu.kvm.log.sheepdog_snapshot_create = qemu.kvm.sheepdog_snapshot_create ?
{
    try {
        argsn_name_str = sn_name ? user_string_n(sn_name, 512) : "<null>"
    } catch {}
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d sheepdog_snapshot_create %s %s\n", pid(), gettimeofday_ns(), argsn_name_str, argid_str)
}
probe qemu.kvm.log.sheepdog_snapshot_create_inode = qemu.kvm.sheepdog_snapshot_create_inode ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d sheepdog_snapshot_create_inode s->inode: name %s snap_id 0x%x vdi 0x%x\n", pid(), gettimeofday_ns(), argname_str, snap, vdi)
}
probe qemu.kvm.log.sftp_error = qemu.kvm.sftp_error ?
{
    try {
        argop_str = op ? user_string_n(op, 512) : "<null>"
    } catch {}
    try {
        argssh_err_str = ssh_err ? user_string_n(ssh_err, 512) : "<null>"
    } catch {}
    printf("%d@%d sftp_error %s failed: %s (libssh error code: %d, sftp error code: %d)\n", pid(), gettimeofday_ns(), argop_str, argssh_err_str, ssh_err_code, sftp_err_code)
}
probe qemu.kvm.log.qio_task_new = qemu.kvm.qio_task_new ?
{
    printf("%d@%d qio_task_new Task new task=%p source=%p func=%p opaque=%p\n", pid(), gettimeofday_ns(), task, source, func, opaque)
}
probe qemu.kvm.log.qio_task_complete = qemu.kvm.qio_task_complete ?
{
    printf("%d@%d qio_task_complete Task complete task=%p\n", pid(), gettimeofday_ns(), task)
}
probe qemu.kvm.log.qio_task_thread_start = qemu.kvm.qio_task_thread_start ?
{
    printf("%d@%d qio_task_thread_start Task thread start task=%p worker=%p opaque=%p\n", pid(), gettimeofday_ns(), task, worker, opaque)
}
probe qemu.kvm.log.qio_task_thread_run = qemu.kvm.qio_task_thread_run ?
{
    printf("%d@%d qio_task_thread_run Task thread run task=%p\n", pid(), gettimeofday_ns(), task)
}
probe qemu.kvm.log.qio_task_thread_exit = qemu.kvm.qio_task_thread_exit ?
{
    printf("%d@%d qio_task_thread_exit Task thread exit task=%p\n", pid(), gettimeofday_ns(), task)
}
probe qemu.kvm.log.qio_task_thread_result = qemu.kvm.qio_task_thread_result ?
{
    printf("%d@%d qio_task_thread_result Task thread result task=%p\n", pid(), gettimeofday_ns(), task)
}
probe qemu.kvm.log.qio_task_thread_source_attach = qemu.kvm.qio_task_thread_source_attach ?
{
    printf("%d@%d qio_task_thread_source_attach Task thread source attach task=%p source=%p\n", pid(), gettimeofday_ns(), task, source)
}
probe qemu.kvm.log.qio_task_thread_source_cancel = qemu.kvm.qio_task_thread_source_cancel ?
{
    printf("%d@%d qio_task_thread_source_cancel Task thread source cancel task=%p source=%p\n", pid(), gettimeofday_ns(), task, source)
}
probe qemu.kvm.log.qio_channel_socket_new = qemu.kvm.qio_channel_socket_new ?
{
    printf("%d@%d qio_channel_socket_new Socket new ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_socket_new_fd = qemu.kvm.qio_channel_socket_new_fd ?
{
    printf("%d@%d qio_channel_socket_new_fd Socket new ioc=%p fd=%d\n", pid(), gettimeofday_ns(), ioc, fd)
}
probe qemu.kvm.log.qio_channel_socket_connect_sync = qemu.kvm.qio_channel_socket_connect_sync ?
{
    printf("%d@%d qio_channel_socket_connect_sync Socket connect sync ioc=%p addr=%p\n", pid(), gettimeofday_ns(), ioc, addr)
}
probe qemu.kvm.log.qio_channel_socket_connect_async = qemu.kvm.qio_channel_socket_connect_async ?
{
    printf("%d@%d qio_channel_socket_connect_async Socket connect async ioc=%p addr=%p\n", pid(), gettimeofday_ns(), ioc, addr)
}
probe qemu.kvm.log.qio_channel_socket_connect_fail = qemu.kvm.qio_channel_socket_connect_fail ?
{
    printf("%d@%d qio_channel_socket_connect_fail Socket connect fail ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_socket_connect_complete = qemu.kvm.qio_channel_socket_connect_complete ?
{
    printf("%d@%d qio_channel_socket_connect_complete Socket connect complete ioc=%p fd=%d\n", pid(), gettimeofday_ns(), ioc, fd)
}
probe qemu.kvm.log.qio_channel_socket_listen_sync = qemu.kvm.qio_channel_socket_listen_sync ?
{
    printf("%d@%d qio_channel_socket_listen_sync Socket listen sync ioc=%p addr=%p num=%d\n", pid(), gettimeofday_ns(), ioc, addr, num)
}
probe qemu.kvm.log.qio_channel_socket_listen_async = qemu.kvm.qio_channel_socket_listen_async ?
{
    printf("%d@%d qio_channel_socket_listen_async Socket listen async ioc=%p addr=%p num=%d\n", pid(), gettimeofday_ns(), ioc, addr, num)
}
probe qemu.kvm.log.qio_channel_socket_listen_fail = qemu.kvm.qio_channel_socket_listen_fail ?
{
    printf("%d@%d qio_channel_socket_listen_fail Socket listen fail ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_socket_listen_complete = qemu.kvm.qio_channel_socket_listen_complete ?
{
    printf("%d@%d qio_channel_socket_listen_complete Socket listen complete ioc=%p fd=%d\n", pid(), gettimeofday_ns(), ioc, fd)
}
probe qemu.kvm.log.qio_channel_socket_dgram_sync = qemu.kvm.qio_channel_socket_dgram_sync ?
{
    printf("%d@%d qio_channel_socket_dgram_sync Socket dgram sync ioc=%p localAddr=%p remoteAddr=%p\n", pid(), gettimeofday_ns(), ioc, localAddr, remoteAddr)
}
probe qemu.kvm.log.qio_channel_socket_dgram_async = qemu.kvm.qio_channel_socket_dgram_async ?
{
    printf("%d@%d qio_channel_socket_dgram_async Socket dgram async ioc=%p localAddr=%p remoteAddr=%p\n", pid(), gettimeofday_ns(), ioc, localAddr, remoteAddr)
}
probe qemu.kvm.log.qio_channel_socket_dgram_fail = qemu.kvm.qio_channel_socket_dgram_fail ?
{
    printf("%d@%d qio_channel_socket_dgram_fail Socket dgram fail ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_socket_dgram_complete = qemu.kvm.qio_channel_socket_dgram_complete ?
{
    printf("%d@%d qio_channel_socket_dgram_complete Socket dgram complete ioc=%p fd=%d\n", pid(), gettimeofday_ns(), ioc, fd)
}
probe qemu.kvm.log.qio_channel_socket_accept = qemu.kvm.qio_channel_socket_accept ?
{
    printf("%d@%d qio_channel_socket_accept Socket accept start ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_socket_accept_fail = qemu.kvm.qio_channel_socket_accept_fail ?
{
    printf("%d@%d qio_channel_socket_accept_fail Socket accept fail ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_socket_accept_complete = qemu.kvm.qio_channel_socket_accept_complete ?
{
    printf("%d@%d qio_channel_socket_accept_complete Socket accept complete ioc=%p cioc=%p fd=%d\n", pid(), gettimeofday_ns(), ioc, cioc, fd)
}
probe qemu.kvm.log.qio_channel_file_new_fd = qemu.kvm.qio_channel_file_new_fd ?
{
    printf("%d@%d qio_channel_file_new_fd File new fd ioc=%p fd=%d\n", pid(), gettimeofday_ns(), ioc, fd)
}
probe qemu.kvm.log.qio_channel_file_new_path = qemu.kvm.qio_channel_file_new_path ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d qio_channel_file_new_path File new fd ioc=%p path=%s flags=%d mode=%d fd=%d\n", pid(), gettimeofday_ns(), ioc, argpath_str, flags, mode, fd)
}
probe qemu.kvm.log.qio_channel_tls_new_client = qemu.kvm.qio_channel_tls_new_client ?
{
    try {
        arghostname_str = hostname ? user_string_n(hostname, 512) : "<null>"
    } catch {}
    printf("%d@%d qio_channel_tls_new_client TLS new client ioc=%p master=%p creds=%p hostname=%s\n", pid(), gettimeofday_ns(), ioc, master, creds, arghostname_str)
}
probe qemu.kvm.log.qio_channel_tls_new_server = qemu.kvm.qio_channel_tls_new_server ?
{
    try {
        argaclname_str = aclname ? user_string_n(aclname, 512) : "<null>"
    } catch {}
    printf("%d@%d qio_channel_tls_new_server TLS new client ioc=%p master=%p creds=%p acltname=%s\n", pid(), gettimeofday_ns(), ioc, master, creds, argaclname_str)
}
probe qemu.kvm.log.qio_channel_tls_handshake_start = qemu.kvm.qio_channel_tls_handshake_start ?
{
    printf("%d@%d qio_channel_tls_handshake_start TLS handshake start ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_tls_handshake_pending = qemu.kvm.qio_channel_tls_handshake_pending ?
{
    printf("%d@%d qio_channel_tls_handshake_pending TLS handshake pending ioc=%p status=%d\n", pid(), gettimeofday_ns(), ioc, status)
}
probe qemu.kvm.log.qio_channel_tls_handshake_fail = qemu.kvm.qio_channel_tls_handshake_fail ?
{
    printf("%d@%d qio_channel_tls_handshake_fail TLS handshake fail ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_tls_handshake_complete = qemu.kvm.qio_channel_tls_handshake_complete ?
{
    printf("%d@%d qio_channel_tls_handshake_complete TLS handshake complete ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_tls_credentials_allow = qemu.kvm.qio_channel_tls_credentials_allow ?
{
    printf("%d@%d qio_channel_tls_credentials_allow TLS credentials allow ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_tls_credentials_deny = qemu.kvm.qio_channel_tls_credentials_deny ?
{
    printf("%d@%d qio_channel_tls_credentials_deny TLS credentials deny ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_websock_new_server = qemu.kvm.qio_channel_websock_new_server ?
{
    printf("%d@%d qio_channel_websock_new_server Websock new client ioc=%p master=%p\n", pid(), gettimeofday_ns(), ioc, master)
}
probe qemu.kvm.log.qio_channel_websock_handshake_start = qemu.kvm.qio_channel_websock_handshake_start ?
{
    printf("%d@%d qio_channel_websock_handshake_start Websock handshake start ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_websock_handshake_pending = qemu.kvm.qio_channel_websock_handshake_pending ?
{
    printf("%d@%d qio_channel_websock_handshake_pending Websock handshake pending ioc=%p status=%d\n", pid(), gettimeofday_ns(), ioc, status)
}
probe qemu.kvm.log.qio_channel_websock_handshake_reply = qemu.kvm.qio_channel_websock_handshake_reply ?
{
    printf("%d@%d qio_channel_websock_handshake_reply Websock handshake reply ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_websock_handshake_fail = qemu.kvm.qio_channel_websock_handshake_fail ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d qio_channel_websock_handshake_fail Websock handshake fail ioc=%p err=%s\n", pid(), gettimeofday_ns(), ioc, argmsg_str)
}
probe qemu.kvm.log.qio_channel_websock_handshake_complete = qemu.kvm.qio_channel_websock_handshake_complete ?
{
    printf("%d@%d qio_channel_websock_handshake_complete Websock handshake complete ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_websock_http_greeting = qemu.kvm.qio_channel_websock_http_greeting ?
{
    try {
        arggreeting_str = greeting ? user_string_n(greeting, 512) : "<null>"
    } catch {}
    printf("%d@%d qio_channel_websock_http_greeting Websocket HTTP request ioc=%p greeting='%s'\n", pid(), gettimeofday_ns(), ioc, arggreeting_str)
}
probe qemu.kvm.log.qio_channel_websock_http_request = qemu.kvm.qio_channel_websock_http_request ?
{
    try {
        argprotocols_str = protocols ? user_string_n(protocols, 512) : "<null>"
    } catch {}
    try {
        argversion_str = version ? user_string_n(version, 512) : "<null>"
    } catch {}
    try {
        arghost_str = host ? user_string_n(host, 512) : "<null>"
    } catch {}
    try {
        argconnection_str = connection ? user_string_n(connection, 512) : "<null>"
    } catch {}
    try {
        argupgrade_str = upgrade ? user_string_n(upgrade, 512) : "<null>"
    } catch {}
    try {
        argkey_str = key ? user_string_n(key, 512) : "<null>"
    } catch {}
    printf("%d@%d qio_channel_websock_http_request Websocket HTTP request ioc=%p protocols='%s' version='%s' host='%s' connection='%s' upgrade='%s' key='%s'\n", pid(), gettimeofday_ns(), ioc, argprotocols_str, argversion_str, arghost_str, argconnection_str, argupgrade_str, argkey_str)
}
probe qemu.kvm.log.qio_channel_websock_header_partial_decode = qemu.kvm.qio_channel_websock_header_partial_decode ?
{
    printf("%d@%d qio_channel_websock_header_partial_decode Websocket header decoded ioc=%p payload-len=%u fin=0x%x opcode=0x%x has_mask=0x%x\n", pid(), gettimeofday_ns(), ioc, payloadlen, fin, opcode, has_mask)
}
probe qemu.kvm.log.qio_channel_websock_header_full_decode = qemu.kvm.qio_channel_websock_header_full_decode ?
{
    printf("%d@%d qio_channel_websock_header_full_decode Websocket header decoded ioc=%p header-len=%u payload-len=%u mask=0x%x\n", pid(), gettimeofday_ns(), ioc, headerlen, payloadlen, mask)
}
probe qemu.kvm.log.qio_channel_websock_payload_decode = qemu.kvm.qio_channel_websock_payload_decode ?
{
    printf("%d@%d qio_channel_websock_payload_decode Websocket header decoded ioc=%p opcode=0x%x payload-remain=%u\n", pid(), gettimeofday_ns(), ioc, opcode, payload_remain)
}
probe qemu.kvm.log.qio_channel_websock_encode = qemu.kvm.qio_channel_websock_encode ?
{
    printf("%d@%d qio_channel_websock_encode Websocket encoded ioc=%p opcode=0x%x header-len=%u payload-len=%u\n", pid(), gettimeofday_ns(), ioc, opcode, payloadlen, headerlen)
}
probe qemu.kvm.log.qio_channel_websock_close = qemu.kvm.qio_channel_websock_close ?
{
    printf("%d@%d qio_channel_websock_close Websocket close ioc=%p\n", pid(), gettimeofday_ns(), ioc)
}
probe qemu.kvm.log.qio_channel_command_new_pid = qemu.kvm.qio_channel_command_new_pid ?
{
    printf("%d@%d qio_channel_command_new_pid Command new pid ioc=%p writefd=%d readfd=%d pid=%d\n", pid(), gettimeofday_ns(), ioc, writefd, readfd, pid)
}
probe qemu.kvm.log.qio_channel_command_new_spawn = qemu.kvm.qio_channel_command_new_spawn ?
{
    try {
        argbinary_str = binary ? user_string_n(binary, 512) : "<null>"
    } catch {}
    printf("%d@%d qio_channel_command_new_spawn Command new spawn ioc=%p binary=%s flags=%d\n", pid(), gettimeofday_ns(), ioc, argbinary_str, flags)
}
probe qemu.kvm.log.qio_channel_command_abort = qemu.kvm.qio_channel_command_abort ?
{
    printf("%d@%d qio_channel_command_abort Command abort ioc=%p pid=%d\n", pid(), gettimeofday_ns(), ioc, pid)
}
probe qemu.kvm.log.qio_channel_command_wait = qemu.kvm.qio_channel_command_wait ?
{
    printf("%d@%d qio_channel_command_wait Command abort ioc=%p pid=%d ret=%d status=%d\n", pid(), gettimeofday_ns(), ioc, pid, ret, status)
}
probe qemu.kvm.log.nbd_send_option_request = qemu.kvm.nbd_send_option_request ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_send_option_request Sending option request %u (%s), len %u\n", pid(), gettimeofday_ns(), opt, argname_str, len)
}
probe qemu.kvm.log.nbd_receive_option_reply = qemu.kvm.nbd_receive_option_reply ?
{
    try {
        argoptname_str = optname ? user_string_n(optname, 512) : "<null>"
    } catch {}
    try {
        argtypename_str = typename ? user_string_n(typename, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_receive_option_reply Received option reply %u (%s), type %u (%s), len %u\n", pid(), gettimeofday_ns(), option, argoptname_str, type, argtypename_str, length)
}
probe qemu.kvm.log.nbd_server_error_msg = qemu.kvm.nbd_server_error_msg ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_server_error_msg server reported error 0x%x (%s) with additional message: %s\n", pid(), gettimeofday_ns(), err, argtype_str, argmsg_str)
}
probe qemu.kvm.log.nbd_reply_err_ignored = qemu.kvm.nbd_reply_err_ignored ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argreply_name_str = reply_name ? user_string_n(reply_name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_reply_err_ignored server failed request %u (%s) with error 0x%x (%s), attempting fallback\n", pid(), gettimeofday_ns(), option, argname_str, reply, argreply_name_str)
}
probe qemu.kvm.log.nbd_receive_list = qemu.kvm.nbd_receive_list ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_receive_list export list includes '%s', description '%s'\n", pid(), gettimeofday_ns(), argname_str, argdesc_str)
}
probe qemu.kvm.log.nbd_opt_info_go_start = qemu.kvm.nbd_opt_info_go_start ?
{
    try {
        argopt_str = opt ? user_string_n(opt, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_opt_info_go_start Attempting %s for export '%s'\n", pid(), gettimeofday_ns(), argopt_str, argname_str)
}
probe qemu.kvm.log.nbd_opt_info_go_success = qemu.kvm.nbd_opt_info_go_success ?
{
    try {
        argopt_str = opt ? user_string_n(opt, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_opt_info_go_success Export is ready after %s request\n", pid(), gettimeofday_ns(), argopt_str)
}
probe qemu.kvm.log.nbd_opt_info_unknown = qemu.kvm.nbd_opt_info_unknown ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_opt_info_unknown Ignoring unknown info %d (%s)\n", pid(), gettimeofday_ns(), info, argname_str)
}
probe qemu.kvm.log.nbd_opt_info_block_size = qemu.kvm.nbd_opt_info_block_size ?
{
    printf("%d@%d nbd_opt_info_block_size Block sizes are 0x%x, 0x%x, 0x%x\n", pid(), gettimeofday_ns(), minimum, preferred, maximum)
}
probe qemu.kvm.log.nbd_receive_query_exports_start = qemu.kvm.nbd_receive_query_exports_start ?
{
    try {
        argwantname_str = wantname ? user_string_n(wantname, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_receive_query_exports_start Querying export list for '%s'\n", pid(), gettimeofday_ns(), argwantname_str)
}
probe qemu.kvm.log.nbd_receive_query_exports_success = qemu.kvm.nbd_receive_query_exports_success ?
{
    try {
        argwantname_str = wantname ? user_string_n(wantname, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_receive_query_exports_success Found desired export name '%s'\n", pid(), gettimeofday_ns(), argwantname_str)
}
probe qemu.kvm.log.nbd_receive_starttls_new_client = qemu.kvm.nbd_receive_starttls_new_client ?
{
    printf("%d@%d nbd_receive_starttls_new_client Setting up TLS\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_receive_starttls_tls_handshake = qemu.kvm.nbd_receive_starttls_tls_handshake ?
{
    printf("%d@%d nbd_receive_starttls_tls_handshake Starting TLS handshake\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_opt_meta_request = qemu.kvm.nbd_opt_meta_request ?
{
    try {
        argoptname_str = optname ? user_string_n(optname, 512) : "<null>"
    } catch {}
    try {
        argcontext_str = context ? user_string_n(context, 512) : "<null>"
    } catch {}
    try {
        argexport_str = export ? user_string_n(export, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_opt_meta_request Requesting %s %s for export %s\n", pid(), gettimeofday_ns(), argoptname_str, argcontext_str, argexport_str)
}
probe qemu.kvm.log.nbd_opt_meta_reply = qemu.kvm.nbd_opt_meta_reply ?
{
    try {
        argoptname_str = optname ? user_string_n(optname, 512) : "<null>"
    } catch {}
    try {
        argcontext_str = context ? user_string_n(context, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_opt_meta_reply Received %s mapping of %s to id %u\n", pid(), gettimeofday_ns(), argoptname_str, argcontext_str, id)
}
probe qemu.kvm.log.nbd_start_negotiate = qemu.kvm.nbd_start_negotiate ?
{
    try {
        arghostname_str = hostname ? user_string_n(hostname, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_start_negotiate Receiving negotiation tlscreds=%p hostname=%s\n", pid(), gettimeofday_ns(), tlscreds, arghostname_str)
}
probe qemu.kvm.log.nbd_receive_negotiate_magic = qemu.kvm.nbd_receive_negotiate_magic ?
{
    printf("%d@%d nbd_receive_negotiate_magic Magic is 0x%x\n", pid(), gettimeofday_ns(), magic)
}
probe qemu.kvm.log.nbd_receive_negotiate_server_flags = qemu.kvm.nbd_receive_negotiate_server_flags ?
{
    printf("%d@%d nbd_receive_negotiate_server_flags Global flags are 0x%x\n", pid(), gettimeofday_ns(), globalflags)
}
probe qemu.kvm.log.nbd_receive_negotiate_name = qemu.kvm.nbd_receive_negotiate_name ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_receive_negotiate_name Requesting NBD export name '%s'\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.nbd_receive_negotiate_size_flags = qemu.kvm.nbd_receive_negotiate_size_flags ?
{
    printf("%d@%d nbd_receive_negotiate_size_flags Size is %u, export flags 0x%x\n", pid(), gettimeofday_ns(), size, flags)
}
probe qemu.kvm.log.nbd_init_set_socket = qemu.kvm.nbd_init_set_socket ?
{
    printf("%d@%d nbd_init_set_socket Setting NBD socket\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_init_set_block_size = qemu.kvm.nbd_init_set_block_size ?
{
    printf("%d@%d nbd_init_set_block_size Setting block size to %lu\n", pid(), gettimeofday_ns(), block_size)
}
probe qemu.kvm.log.nbd_init_set_size = qemu.kvm.nbd_init_set_size ?
{
    printf("%d@%d nbd_init_set_size Setting size to %lu block(s)\n", pid(), gettimeofday_ns(), sectors)
}
probe qemu.kvm.log.nbd_init_trailing_bytes = qemu.kvm.nbd_init_trailing_bytes ?
{
    printf("%d@%d nbd_init_trailing_bytes Ignoring trailing %d bytes of export\n", pid(), gettimeofday_ns(), ignored_bytes)
}
probe qemu.kvm.log.nbd_init_set_readonly = qemu.kvm.nbd_init_set_readonly ?
{
    printf("%d@%d nbd_init_set_readonly Setting readonly attribute\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_init_finish = qemu.kvm.nbd_init_finish ?
{
    printf("%d@%d nbd_init_finish Negotiation ended\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_client_loop = qemu.kvm.nbd_client_loop ?
{
    printf("%d@%d nbd_client_loop Doing NBD loop\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_client_loop_ret = qemu.kvm.nbd_client_loop_ret ?
{
    try {
        argerror_str = error ? user_string_n(error, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_client_loop_ret NBD loop returned %d: %s\n", pid(), gettimeofday_ns(), ret, argerror_str)
}
probe qemu.kvm.log.nbd_client_clear_queue = qemu.kvm.nbd_client_clear_queue ?
{
    printf("%d@%d nbd_client_clear_queue Clearing NBD queue\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_client_clear_socket = qemu.kvm.nbd_client_clear_socket ?
{
    printf("%d@%d nbd_client_clear_socket Clearing NBD socket\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_send_request = qemu.kvm.nbd_send_request ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_send_request Sending request to server: { .from = %u, .len = %u, .handle = %u, .flags = 0x%x, .type = %u (%s) }\n", pid(), gettimeofday_ns(), from, len, handle, flags, type, argname_str)
}
probe qemu.kvm.log.nbd_receive_simple_reply = qemu.kvm.nbd_receive_simple_reply ?
{
    try {
        argerrname_str = errname ? user_string_n(errname, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_receive_simple_reply Got simple reply: { .error = %d (%s), handle = %u }\n", pid(), gettimeofday_ns(), error, argerrname_str, handle)
}
probe qemu.kvm.log.nbd_receive_structured_reply_chunk = qemu.kvm.nbd_receive_structured_reply_chunk ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_receive_structured_reply_chunk Got structured reply chunk: { flags = 0x%x, type = %d (%s), handle = %u, length = %u }\n", pid(), gettimeofday_ns(), flags, type, argname_str, handle, length)
}
probe qemu.kvm.log.nbd_unknown_error = qemu.kvm.nbd_unknown_error ?
{
    printf("%d@%d nbd_unknown_error Squashing unexpected error %d to EINVAL\n", pid(), gettimeofday_ns(), err)
}
probe qemu.kvm.log.nbd_negotiate_send_rep_len = qemu.kvm.nbd_negotiate_send_rep_len ?
{
    try {
        argoptname_str = optname ? user_string_n(optname, 512) : "<null>"
    } catch {}
    try {
        argtypename_str = typename ? user_string_n(typename, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_send_rep_len Reply opt=%u (%s), type=%u (%s), len=%u\n", pid(), gettimeofday_ns(), opt, argoptname_str, type, argtypename_str, len)
}
probe qemu.kvm.log.nbd_negotiate_send_rep_err = qemu.kvm.nbd_negotiate_send_rep_err ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_send_rep_err sending error message \"%s\"\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.nbd_negotiate_send_rep_list = qemu.kvm.nbd_negotiate_send_rep_list ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_send_rep_list Advertising export name '%s' description '%s'\n", pid(), gettimeofday_ns(), argname_str, argdesc_str)
}
probe qemu.kvm.log.nbd_negotiate_handle_export_name = qemu.kvm.nbd_negotiate_handle_export_name ?
{
    printf("%d@%d nbd_negotiate_handle_export_name Checking length\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_negotiate_handle_export_name_request = qemu.kvm.nbd_negotiate_handle_export_name_request ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_handle_export_name_request Client requested export '%s'\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.nbd_negotiate_send_info = qemu.kvm.nbd_negotiate_send_info ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_send_info Sending NBD_REP_INFO type %d (%s) with remaining length %u\n", pid(), gettimeofday_ns(), info, argname_str, length)
}
probe qemu.kvm.log.nbd_negotiate_handle_info_requests = qemu.kvm.nbd_negotiate_handle_info_requests ?
{
    printf("%d@%d nbd_negotiate_handle_info_requests Client requested %d items of info\n", pid(), gettimeofday_ns(), requests)
}
probe qemu.kvm.log.nbd_negotiate_handle_info_request = qemu.kvm.nbd_negotiate_handle_info_request ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_handle_info_request Client requested info %d (%s)\n", pid(), gettimeofday_ns(), request, argname_str)
}
probe qemu.kvm.log.nbd_negotiate_handle_info_block_size = qemu.kvm.nbd_negotiate_handle_info_block_size ?
{
    printf("%d@%d nbd_negotiate_handle_info_block_size advertising minimum 0x%x, preferred 0x%x, maximum 0x%x\n", pid(), gettimeofday_ns(), minimum, preferred, maximum)
}
probe qemu.kvm.log.nbd_negotiate_handle_starttls = qemu.kvm.nbd_negotiate_handle_starttls ?
{
    printf("%d@%d nbd_negotiate_handle_starttls Setting up TLS\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_negotiate_handle_starttls_handshake = qemu.kvm.nbd_negotiate_handle_starttls_handshake ?
{
    printf("%d@%d nbd_negotiate_handle_starttls_handshake Starting TLS handshake\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_negotiate_meta_context = qemu.kvm.nbd_negotiate_meta_context ?
{
    try {
        argoptname_str = optname ? user_string_n(optname, 512) : "<null>"
    } catch {}
    try {
        argexport_str = export ? user_string_n(export, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_meta_context Client requested %s for export %s, with %u queries\n", pid(), gettimeofday_ns(), argoptname_str, argexport_str, queries)
}
probe qemu.kvm.log.nbd_negotiate_meta_query_skip = qemu.kvm.nbd_negotiate_meta_query_skip ?
{
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_meta_query_skip Skipping meta query: %s\n", pid(), gettimeofday_ns(), argreason_str)
}
probe qemu.kvm.log.nbd_negotiate_meta_query_parse = qemu.kvm.nbd_negotiate_meta_query_parse ?
{
    try {
        argquery_str = query ? user_string_n(query, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_meta_query_parse Parsed meta query '%s'\n", pid(), gettimeofday_ns(), argquery_str)
}
probe qemu.kvm.log.nbd_negotiate_meta_query_reply = qemu.kvm.nbd_negotiate_meta_query_reply ?
{
    try {
        argcontext_str = context ? user_string_n(context, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_meta_query_reply Replying with meta context '%s' id %u\n", pid(), gettimeofday_ns(), argcontext_str, id)
}
probe qemu.kvm.log.nbd_negotiate_options_flags = qemu.kvm.nbd_negotiate_options_flags ?
{
    printf("%d@%d nbd_negotiate_options_flags Received client flags 0x%x\n", pid(), gettimeofday_ns(), flags)
}
probe qemu.kvm.log.nbd_negotiate_options_check_magic = qemu.kvm.nbd_negotiate_options_check_magic ?
{
    printf("%d@%d nbd_negotiate_options_check_magic Checking opts magic 0x%x\n", pid(), gettimeofday_ns(), magic)
}
probe qemu.kvm.log.nbd_negotiate_options_check_option = qemu.kvm.nbd_negotiate_options_check_option ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_negotiate_options_check_option Checking option %u (%s)\n", pid(), gettimeofday_ns(), option, argname_str)
}
probe qemu.kvm.log.nbd_negotiate_begin = qemu.kvm.nbd_negotiate_begin ?
{
    printf("%d@%d nbd_negotiate_begin Beginning negotiation\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_negotiate_new_style_size_flags = qemu.kvm.nbd_negotiate_new_style_size_flags ?
{
    printf("%d@%d nbd_negotiate_new_style_size_flags advertising size %u and flags 0x%x\n", pid(), gettimeofday_ns(), size, flags)
}
probe qemu.kvm.log.nbd_negotiate_success = qemu.kvm.nbd_negotiate_success ?
{
    printf("%d@%d nbd_negotiate_success Negotiation succeeded\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nbd_receive_request = qemu.kvm.nbd_receive_request ?
{
    printf("%d@%d nbd_receive_request Got request: { magic = 0x%x, .flags = 0x%x, .type = 0x%x, from = %u, len = %u }\n", pid(), gettimeofday_ns(), magic, flags, type, from, len)
}
probe qemu.kvm.log.nbd_blk_aio_attached = qemu.kvm.nbd_blk_aio_attached ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_blk_aio_attached Export %s: Attaching clients to AIO context %p\n", pid(), gettimeofday_ns(), argname_str, ctx)
}
probe qemu.kvm.log.nbd_blk_aio_detach = qemu.kvm.nbd_blk_aio_detach ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_blk_aio_detach Export %s: Detaching clients from AIO context %p\n", pid(), gettimeofday_ns(), argname_str, ctx)
}
probe qemu.kvm.log.nbd_co_send_simple_reply = qemu.kvm.nbd_co_send_simple_reply ?
{
    try {
        argerrname_str = errname ? user_string_n(errname, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_co_send_simple_reply Send simple reply: handle = %u, error = %u (%s), len = %d\n", pid(), gettimeofday_ns(), handle, error, argerrname_str, len)
}
probe qemu.kvm.log.nbd_co_send_structured_done = qemu.kvm.nbd_co_send_structured_done ?
{
    printf("%d@%d nbd_co_send_structured_done Send structured reply done: handle = %u\n", pid(), gettimeofday_ns(), handle)
}
probe qemu.kvm.log.nbd_co_send_structured_read = qemu.kvm.nbd_co_send_structured_read ?
{
    printf("%d@%d nbd_co_send_structured_read Send structured read data reply: handle = %u, offset = %u, data = %p, len = %u\n", pid(), gettimeofday_ns(), handle, offset, data, size)
}
probe qemu.kvm.log.nbd_co_send_structured_read_hole = qemu.kvm.nbd_co_send_structured_read_hole ?
{
    printf("%d@%d nbd_co_send_structured_read_hole Send structured read hole reply: handle = %u, offset = %u, len = %u\n", pid(), gettimeofday_ns(), handle, offset, size)
}
probe qemu.kvm.log.nbd_co_send_extents = qemu.kvm.nbd_co_send_extents ?
{
    printf("%d@%d nbd_co_send_extents Send block status reply: handle = %u, extents = %u, context = %d (extents cover %u bytes, last chunk = %d)\n", pid(), gettimeofday_ns(), handle, extents, id, length, last)
}
probe qemu.kvm.log.nbd_co_send_structured_error = qemu.kvm.nbd_co_send_structured_error ?
{
    try {
        argerrname_str = errname ? user_string_n(errname, 512) : "<null>"
    } catch {}
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_co_send_structured_error Send structured error reply: handle = %u, error = %d (%s), msg = '%s'\n", pid(), gettimeofday_ns(), handle, err, argerrname_str, argmsg_str)
}
probe qemu.kvm.log.nbd_co_receive_request_decode_type = qemu.kvm.nbd_co_receive_request_decode_type ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_co_receive_request_decode_type Decoding type: handle = %u, type = %u (%s)\n", pid(), gettimeofday_ns(), handle, type, argname_str)
}
probe qemu.kvm.log.nbd_co_receive_request_payload_received = qemu.kvm.nbd_co_receive_request_payload_received ?
{
    printf("%d@%d nbd_co_receive_request_payload_received Payload received: handle = %u, len = %u\n", pid(), gettimeofday_ns(), handle, len)
}
probe qemu.kvm.log.nbd_co_receive_align_compliance = qemu.kvm.nbd_co_receive_align_compliance ?
{
    try {
        argop_str = op ? user_string_n(op, 512) : "<null>"
    } catch {}
    printf("%d@%d nbd_co_receive_align_compliance client sent non-compliant unaligned %s request: from=0x%x, len=0x%x, align=0x%x\n", pid(), gettimeofday_ns(), argop_str, from, len, align)
}
probe qemu.kvm.log.nbd_trip = qemu.kvm.nbd_trip ?
{
    printf("%d@%d nbd_trip Reading request\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pr_manager_execute = qemu.kvm.pr_manager_execute ?
{
    printf("%d@%d pr_manager_execute fd=%d cmd=0x%02x service action=0x%02x\n", pid(), gettimeofday_ns(), fd, cmd, sa)
}
probe qemu.kvm.log.pr_manager_run = qemu.kvm.pr_manager_run ?
{
    printf("%d@%d pr_manager_run fd=%d cmd=0x%02x service action=0x%02x\n", pid(), gettimeofday_ns(), fd, cmd, sa)
}
probe qemu.kvm.log.wct_init = qemu.kvm.wct_init ?
{
    printf("%d@%d wct_init \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.wct_cmd_re = qemu.kvm.wct_cmd_re ?
{
    printf("%d@%d wct_cmd_re \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.wct_cmd_st = qemu.kvm.wct_cmd_st ?
{
    printf("%d@%d wct_cmd_st \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.wct_cmd_sp = qemu.kvm.wct_cmd_sp ?
{
    printf("%d@%d wct_cmd_sp \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.wct_cmd_ts = qemu.kvm.wct_cmd_ts ?
{
    printf("%d@%d wct_cmd_ts 0x%02x\n", pid(), gettimeofday_ns(), input)
}
probe qemu.kvm.log.wct_cmd_other = qemu.kvm.wct_cmd_other ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d wct_cmd_other %s\n", pid(), gettimeofday_ns(), argcmd_str)
}
probe qemu.kvm.log.wct_speed = qemu.kvm.wct_speed ?
{
    printf("%d@%d wct_speed %d\n", pid(), gettimeofday_ns(), speed)
}
probe qemu.kvm.log.spice_chr_discard_write = qemu.kvm.spice_chr_discard_write ?
{
    printf("%d@%d spice_chr_discard_write spice chr write discarded %d\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.spice_vmc_write = qemu.kvm.spice_vmc_write ?
{
    printf("%d@%d spice_vmc_write spice wrote %d of requested %d\n", pid(), gettimeofday_ns(), out, len)
}
probe qemu.kvm.log.spice_vmc_read = qemu.kvm.spice_vmc_read ?
{
    printf("%d@%d spice_vmc_read spice read %d of requested %d\n", pid(), gettimeofday_ns(), bytes, len)
}
probe qemu.kvm.log.spice_vmc_register_interface = qemu.kvm.spice_vmc_register_interface ?
{
    printf("%d@%d spice_vmc_register_interface spice vmc registered interface %p\n", pid(), gettimeofday_ns(), scd)
}
probe qemu.kvm.log.spice_vmc_unregister_interface = qemu.kvm.spice_vmc_unregister_interface ?
{
    printf("%d@%d spice_vmc_unregister_interface spice vmc unregistered interface %p\n", pid(), gettimeofday_ns(), scd)
}
probe qemu.kvm.log.spice_vmc_event = qemu.kvm.spice_vmc_event ?
{
    printf("%d@%d spice_vmc_event spice vmc event %d\n", pid(), gettimeofday_ns(), event)
}
probe qemu.kvm.log.alsa_revents = qemu.kvm.alsa_revents ?
{
    printf("%d@%d alsa_revents revents = %d\n", pid(), gettimeofday_ns(), revents)
}
probe qemu.kvm.log.alsa_pollout = qemu.kvm.alsa_pollout ?
{
    printf("%d@%d alsa_pollout i = %d fd = %d\n", pid(), gettimeofday_ns(), i, fd)
}
probe qemu.kvm.log.alsa_set_handler = qemu.kvm.alsa_set_handler ?
{
    printf("%d@%d alsa_set_handler events=0x%x index=%d fd=%d err=%d\n", pid(), gettimeofday_ns(), events, index, fd, err)
}
probe qemu.kvm.log.alsa_wrote_zero = qemu.kvm.alsa_wrote_zero ?
{
    printf("%d@%d alsa_wrote_zero Failed to write %d frames (wrote zero)\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.alsa_read_zero = qemu.kvm.alsa_read_zero ?
{
    printf("%d@%d alsa_read_zero Failed to read %ld frames (read zero)\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.alsa_xrun_out = qemu.kvm.alsa_xrun_out ?
{
    printf("%d@%d alsa_xrun_out Recovering from playback xrun\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.alsa_xrun_in = qemu.kvm.alsa_xrun_in ?
{
    printf("%d@%d alsa_xrun_in Recovering from capture xrun\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.alsa_resume_out = qemu.kvm.alsa_resume_out ?
{
    printf("%d@%d alsa_resume_out Resuming suspended output stream\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.alsa_resume_in = qemu.kvm.alsa_resume_in ?
{
    printf("%d@%d alsa_resume_in Resuming suspended input stream\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.alsa_no_frames = qemu.kvm.alsa_no_frames ?
{
    printf("%d@%d alsa_no_frames No frames available and ALSA state is %d\n", pid(), gettimeofday_ns(), state)
}
probe qemu.kvm.log.oss_version = qemu.kvm.oss_version ?
{
    printf("%d@%d oss_version OSS version = 0x%x\n", pid(), gettimeofday_ns(), version)
}
probe qemu.kvm.log.oss_invalid_available_size = qemu.kvm.oss_invalid_available_size ?
{
    printf("%d@%d oss_invalid_available_size Invalid available size, size=%d bufsize=%d\n", pid(), gettimeofday_ns(), size, bufsize)
}
probe qemu.kvm.log.audio_timer_start = qemu.kvm.audio_timer_start ?
{
    printf("%d@%d audio_timer_start interval %d ms\n", pid(), gettimeofday_ns(), interval)
}
probe qemu.kvm.log.audio_timer_stop = qemu.kvm.audio_timer_stop ?
{
    printf("%d@%d audio_timer_stop \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.audio_timer_delayed = qemu.kvm.audio_timer_delayed ?
{
    printf("%d@%d audio_timer_delayed interval %d ms\n", pid(), gettimeofday_ns(), interval)
}
probe qemu.kvm.log.v9fs_rcancel = qemu.kvm.v9fs_rcancel ?
{
    printf("%d@%d v9fs_rcancel tag %d id %d\n", pid(), gettimeofday_ns(), tag, id)
}
probe qemu.kvm.log.v9fs_rerror = qemu.kvm.v9fs_rerror ?
{
    printf("%d@%d v9fs_rerror tag %d id %d err %d\n", pid(), gettimeofday_ns(), tag, id, err)
}
probe qemu.kvm.log.v9fs_version = qemu.kvm.v9fs_version ?
{
    try {
        argversion_str = version ? user_string_n(version, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_version tag %d id %d msize %d version %s\n", pid(), gettimeofday_ns(), tag, id, msize, argversion_str)
}
probe qemu.kvm.log.v9fs_version_return = qemu.kvm.v9fs_version_return ?
{
    try {
        argversion_str = version ? user_string_n(version, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_version_return tag %d id %d msize %d version %s\n", pid(), gettimeofday_ns(), tag, id, msize, argversion_str)
}
probe qemu.kvm.log.v9fs_attach = qemu.kvm.v9fs_attach ?
{
    try {
        arguname_str = uname ? user_string_n(uname, 512) : "<null>"
    } catch {}
    try {
        arganame_str = aname ? user_string_n(aname, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_attach tag %u id %u fid %d afid %d uname %s aname %s\n", pid(), gettimeofday_ns(), tag, id, fid, afid, arguname_str, arganame_str)
}
probe qemu.kvm.log.v9fs_attach_return = qemu.kvm.v9fs_attach_return ?
{
    printf("%d@%d v9fs_attach_return tag %u id %u type %u version %u path %u\n", pid(), gettimeofday_ns(), tag, id, type, version, path)
}
probe qemu.kvm.log.v9fs_stat = qemu.kvm.v9fs_stat ?
{
    printf("%d@%d v9fs_stat tag %d id %d fid %d\n", pid(), gettimeofday_ns(), tag, id, fid)
}
probe qemu.kvm.log.v9fs_stat_return = qemu.kvm.v9fs_stat_return ?
{
    printf("%d@%d v9fs_stat_return tag %d id %d stat={mode %d atime %d mtime %d length %d}\n", pid(), gettimeofday_ns(), tag, id, mode, atime, mtime, length)
}
probe qemu.kvm.log.v9fs_getattr = qemu.kvm.v9fs_getattr ?
{
    printf("%d@%d v9fs_getattr tag %d id %d fid %d request_mask %u\n", pid(), gettimeofday_ns(), tag, id, fid, request_mask)
}
probe qemu.kvm.log.v9fs_getattr_return = qemu.kvm.v9fs_getattr_return ?
{
    printf("%d@%d v9fs_getattr_return tag %d id %d getattr={result_mask %d mode %u uid %u gid %u}\n", pid(), gettimeofday_ns(), tag, id, result_mask, mode, uid, gid)
}
probe qemu.kvm.log.v9fs_walk = qemu.kvm.v9fs_walk ?
{
    printf("%d@%d v9fs_walk tag %d id %d fid %d newfid %d nwnames %d\n", pid(), gettimeofday_ns(), tag, id, fid, newfid, nwnames)
}
probe qemu.kvm.log.v9fs_walk_return = qemu.kvm.v9fs_walk_return ?
{
    printf("%d@%d v9fs_walk_return tag %d id %d nwnames %d qids %p\n", pid(), gettimeofday_ns(), tag, id, nwnames, qids)
}
probe qemu.kvm.log.v9fs_open = qemu.kvm.v9fs_open ?
{
    printf("%d@%d v9fs_open tag %d id %d fid %d mode %d\n", pid(), gettimeofday_ns(), tag, id, fid, mode)
}
probe qemu.kvm.log.v9fs_open_return = qemu.kvm.v9fs_open_return ?
{
    printf("%d@%d v9fs_open_return tag %u id %u qid={type %u version %u path %u} iounit %d\n", pid(), gettimeofday_ns(), tag, id, type, version, path, iounit)
}
probe qemu.kvm.log.v9fs_lcreate = qemu.kvm.v9fs_lcreate ?
{
    printf("%d@%d v9fs_lcreate tag %d id %d dfid %d flags %d mode %d gid %u\n", pid(), gettimeofday_ns(), tag, id, dfid, flags, mode, gid)
}
probe qemu.kvm.log.v9fs_lcreate_return = qemu.kvm.v9fs_lcreate_return ?
{
    printf("%d@%d v9fs_lcreate_return tag %u id %u qid={type %u version %u path %u} iounit %d\n", pid(), gettimeofday_ns(), tag, id, type, version, path, iounit)
}
probe qemu.kvm.log.v9fs_fsync = qemu.kvm.v9fs_fsync ?
{
    printf("%d@%d v9fs_fsync tag %d id %d fid %d datasync %d\n", pid(), gettimeofday_ns(), tag, id, fid, datasync)
}
probe qemu.kvm.log.v9fs_clunk = qemu.kvm.v9fs_clunk ?
{
    printf("%d@%d v9fs_clunk tag %d id %d fid %d\n", pid(), gettimeofday_ns(), tag, id, fid)
}
probe qemu.kvm.log.v9fs_read = qemu.kvm.v9fs_read ?
{
    printf("%d@%d v9fs_read tag %d id %d fid %d off %u max_count %u\n", pid(), gettimeofday_ns(), tag, id, fid, off, max_count)
}
probe qemu.kvm.log.v9fs_read_return = qemu.kvm.v9fs_read_return ?
{
    printf("%d@%d v9fs_read_return tag %d id %d count %d err %d\n", pid(), gettimeofday_ns(), tag, id, count, err)
}
probe qemu.kvm.log.v9fs_readdir = qemu.kvm.v9fs_readdir ?
{
    printf("%d@%d v9fs_readdir tag %d id %d fid %d offset %u max_count %u\n", pid(), gettimeofday_ns(), tag, id, fid, offset, max_count)
}
probe qemu.kvm.log.v9fs_readdir_return = qemu.kvm.v9fs_readdir_return ?
{
    printf("%d@%d v9fs_readdir_return tag %d id %d count %u retval %d\n", pid(), gettimeofday_ns(), tag, id, count, retval)
}
probe qemu.kvm.log.v9fs_write = qemu.kvm.v9fs_write ?
{
    printf("%d@%d v9fs_write tag %d id %d fid %d off %u count %u cnt %d\n", pid(), gettimeofday_ns(), tag, id, fid, off, count, cnt)
}
probe qemu.kvm.log.v9fs_write_return = qemu.kvm.v9fs_write_return ?
{
    printf("%d@%d v9fs_write_return tag %d id %d total %d err %d\n", pid(), gettimeofday_ns(), tag, id, total, err)
}
probe qemu.kvm.log.v9fs_create = qemu.kvm.v9fs_create ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_create tag %d id %d fid %d name %s perm %d mode %d\n", pid(), gettimeofday_ns(), tag, id, fid, argname_str, perm, mode)
}
probe qemu.kvm.log.v9fs_create_return = qemu.kvm.v9fs_create_return ?
{
    printf("%d@%d v9fs_create_return tag %u id %u qid={type %u version %u path %u} iounit %d\n", pid(), gettimeofday_ns(), tag, id, type, version, path, iounit)
}
probe qemu.kvm.log.v9fs_symlink = qemu.kvm.v9fs_symlink ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argsymname_str = symname ? user_string_n(symname, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_symlink tag %d id %d fid %d name %s symname %s gid %u\n", pid(), gettimeofday_ns(), tag, id, fid, argname_str, argsymname_str, gid)
}
probe qemu.kvm.log.v9fs_symlink_return = qemu.kvm.v9fs_symlink_return ?
{
    printf("%d@%d v9fs_symlink_return tag %u id %u qid={type %u version %u path %u}\n", pid(), gettimeofday_ns(), tag, id, type, version, path)
}
probe qemu.kvm.log.v9fs_flush = qemu.kvm.v9fs_flush ?
{
    printf("%d@%d v9fs_flush tag %d id %d flush_tag %d\n", pid(), gettimeofday_ns(), tag, id, flush_tag)
}
probe qemu.kvm.log.v9fs_link = qemu.kvm.v9fs_link ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_link tag %d id %d dfid %d oldfid %d name %s\n", pid(), gettimeofday_ns(), tag, id, dfid, oldfid, argname_str)
}
probe qemu.kvm.log.v9fs_remove = qemu.kvm.v9fs_remove ?
{
    printf("%d@%d v9fs_remove tag %d id %d fid %d\n", pid(), gettimeofday_ns(), tag, id, fid)
}
probe qemu.kvm.log.v9fs_wstat = qemu.kvm.v9fs_wstat ?
{
    printf("%d@%d v9fs_wstat tag %u id %u fid %d stat={mode %d atime %d mtime %d}\n", pid(), gettimeofday_ns(), tag, id, fid, mode, atime, mtime)
}
probe qemu.kvm.log.v9fs_mknod = qemu.kvm.v9fs_mknod ?
{
    printf("%d@%d v9fs_mknod tag %d id %d fid %d mode %d major %d minor %d\n", pid(), gettimeofday_ns(), tag, id, fid, mode, major, minor)
}
probe qemu.kvm.log.v9fs_mknod_return = qemu.kvm.v9fs_mknod_return ?
{
    printf("%d@%d v9fs_mknod_return tag %u id %u qid={type %u version %u path %u}\n", pid(), gettimeofday_ns(), tag, id, type, version, path)
}
probe qemu.kvm.log.v9fs_lock = qemu.kvm.v9fs_lock ?
{
    printf("%d@%d v9fs_lock tag %d id %d fid %d type %d start %u length %u\n", pid(), gettimeofday_ns(), tag, id, fid, type, start, length)
}
probe qemu.kvm.log.v9fs_lock_return = qemu.kvm.v9fs_lock_return ?
{
    printf("%d@%d v9fs_lock_return tag %d id %d status %d\n", pid(), gettimeofday_ns(), tag, id, status)
}
probe qemu.kvm.log.v9fs_getlock = qemu.kvm.v9fs_getlock ?
{
    printf("%d@%d v9fs_getlock tag %d id %d fid %d type %d start %u length %u\n", pid(), gettimeofday_ns(), tag, id, fid, type, start, length)
}
probe qemu.kvm.log.v9fs_getlock_return = qemu.kvm.v9fs_getlock_return ?
{
    printf("%d@%d v9fs_getlock_return tag %d id %d type %d start %u length %u proc_id %u\n", pid(), gettimeofday_ns(), tag, id, type, start, length, proc_id)
}
probe qemu.kvm.log.v9fs_mkdir = qemu.kvm.v9fs_mkdir ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_mkdir tag %u id %u fid %d name %s mode %d gid %u\n", pid(), gettimeofday_ns(), tag, id, fid, argname_str, mode, gid)
}
probe qemu.kvm.log.v9fs_mkdir_return = qemu.kvm.v9fs_mkdir_return ?
{
    printf("%d@%d v9fs_mkdir_return tag %u id %u qid={type %u version %u path %u} err %d\n", pid(), gettimeofday_ns(), tag, id, type, version, path, err)
}
probe qemu.kvm.log.v9fs_xattrwalk = qemu.kvm.v9fs_xattrwalk ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_xattrwalk tag %d id %d fid %d newfid %d name %s\n", pid(), gettimeofday_ns(), tag, id, fid, newfid, argname_str)
}
probe qemu.kvm.log.v9fs_xattrwalk_return = qemu.kvm.v9fs_xattrwalk_return ?
{
    printf("%d@%d v9fs_xattrwalk_return tag %d id %d size %d\n", pid(), gettimeofday_ns(), tag, id, size)
}
probe qemu.kvm.log.v9fs_xattrcreate = qemu.kvm.v9fs_xattrcreate ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_xattrcreate tag %d id %d fid %d name %s size %u flags %d\n", pid(), gettimeofday_ns(), tag, id, fid, argname_str, size, flags)
}
probe qemu.kvm.log.v9fs_readlink = qemu.kvm.v9fs_readlink ?
{
    printf("%d@%d v9fs_readlink tag %d id %d fid %d\n", pid(), gettimeofday_ns(), tag, id, fid)
}
probe qemu.kvm.log.v9fs_readlink_return = qemu.kvm.v9fs_readlink_return ?
{
    try {
        argtarget_str = target ? user_string_n(target, 512) : "<null>"
    } catch {}
    printf("%d@%d v9fs_readlink_return tag %d id %d name %s\n", pid(), gettimeofday_ns(), tag, id, argtarget_str)
}
probe qemu.kvm.log.v9fs_setattr = qemu.kvm.v9fs_setattr ?
{
    printf("%d@%d v9fs_setattr tag %u id %u fid %d iattr={valid %d mode %d uid %d gid %d size %d atime=%d mtime=%d }\n", pid(), gettimeofday_ns(), tag, id, fid, valid, mode, uid, gid, size, atime_sec, mtime_sec)
}
probe qemu.kvm.log.v9fs_setattr_return = qemu.kvm.v9fs_setattr_return ?
{
    printf("%d@%d v9fs_setattr_return tag %u id %u\n", pid(), gettimeofday_ns(), tag, id)
}
probe qemu.kvm.log.mhp_acpi_invalid_slot_selected = qemu.kvm.mhp_acpi_invalid_slot_selected ?
{
    printf("%d@%d mhp_acpi_invalid_slot_selected 0x%x\n", pid(), gettimeofday_ns(), slot)
}
probe qemu.kvm.log.mhp_acpi_ejecting_invalid_slot = qemu.kvm.mhp_acpi_ejecting_invalid_slot ?
{
    printf("%d@%d mhp_acpi_ejecting_invalid_slot 0x%x\n", pid(), gettimeofday_ns(), slot)
}
probe qemu.kvm.log.mhp_acpi_read_addr_lo = qemu.kvm.mhp_acpi_read_addr_lo ?
{
    printf("%d@%d mhp_acpi_read_addr_lo slot[0x%x] addr lo: 0x%x\n", pid(), gettimeofday_ns(), slot, addr)
}
probe qemu.kvm.log.mhp_acpi_read_addr_hi = qemu.kvm.mhp_acpi_read_addr_hi ?
{
    printf("%d@%d mhp_acpi_read_addr_hi slot[0x%x] addr hi: 0x%x\n", pid(), gettimeofday_ns(), slot, addr)
}
probe qemu.kvm.log.mhp_acpi_read_size_lo = qemu.kvm.mhp_acpi_read_size_lo ?
{
    printf("%d@%d mhp_acpi_read_size_lo slot[0x%x] size lo: 0x%x\n", pid(), gettimeofday_ns(), slot, size)
}
probe qemu.kvm.log.mhp_acpi_read_size_hi = qemu.kvm.mhp_acpi_read_size_hi ?
{
    printf("%d@%d mhp_acpi_read_size_hi slot[0x%x] size hi: 0x%x\n", pid(), gettimeofday_ns(), slot, size)
}
probe qemu.kvm.log.mhp_acpi_read_pxm = qemu.kvm.mhp_acpi_read_pxm ?
{
    printf("%d@%d mhp_acpi_read_pxm slot[0x%x] proximity: 0x%x\n", pid(), gettimeofday_ns(), slot, pxm)
}
probe qemu.kvm.log.mhp_acpi_read_flags = qemu.kvm.mhp_acpi_read_flags ?
{
    printf("%d@%d mhp_acpi_read_flags slot[0x%x] flags: 0x%x\n", pid(), gettimeofday_ns(), slot, flags)
}
probe qemu.kvm.log.mhp_acpi_write_slot = qemu.kvm.mhp_acpi_write_slot ?
{
    printf("%d@%d mhp_acpi_write_slot set active slot: 0x%x\n", pid(), gettimeofday_ns(), slot)
}
probe qemu.kvm.log.mhp_acpi_write_ost_ev = qemu.kvm.mhp_acpi_write_ost_ev ?
{
    printf("%d@%d mhp_acpi_write_ost_ev slot[0x%x] OST EVENT: 0x%x\n", pid(), gettimeofday_ns(), slot, ev)
}
probe qemu.kvm.log.mhp_acpi_write_ost_status = qemu.kvm.mhp_acpi_write_ost_status ?
{
    printf("%d@%d mhp_acpi_write_ost_status slot[0x%x] OST STATUS: 0x%x\n", pid(), gettimeofday_ns(), slot, st)
}
probe qemu.kvm.log.mhp_acpi_clear_insert_evt = qemu.kvm.mhp_acpi_clear_insert_evt ?
{
    printf("%d@%d mhp_acpi_clear_insert_evt slot[0x%x] clear insert event\n", pid(), gettimeofday_ns(), slot)
}
probe qemu.kvm.log.mhp_acpi_clear_remove_evt = qemu.kvm.mhp_acpi_clear_remove_evt ?
{
    printf("%d@%d mhp_acpi_clear_remove_evt slot[0x%x] clear remove event\n", pid(), gettimeofday_ns(), slot)
}
probe qemu.kvm.log.mhp_acpi_pc_dimm_deleted = qemu.kvm.mhp_acpi_pc_dimm_deleted ?
{
    printf("%d@%d mhp_acpi_pc_dimm_deleted slot[0x%x] pc-dimm deleted\n", pid(), gettimeofday_ns(), slot)
}
probe qemu.kvm.log.mhp_acpi_pc_dimm_delete_failed = qemu.kvm.mhp_acpi_pc_dimm_delete_failed ?
{
    printf("%d@%d mhp_acpi_pc_dimm_delete_failed slot[0x%x] pc-dimm delete failed\n", pid(), gettimeofday_ns(), slot)
}
probe qemu.kvm.log.cpuhp_acpi_invalid_idx_selected = qemu.kvm.cpuhp_acpi_invalid_idx_selected ?
{
    printf("%d@%d cpuhp_acpi_invalid_idx_selected 0x%x\n", pid(), gettimeofday_ns(), idx)
}
probe qemu.kvm.log.cpuhp_acpi_read_flags = qemu.kvm.cpuhp_acpi_read_flags ?
{
    printf("%d@%d cpuhp_acpi_read_flags idx[0x%x] flags: 0x%x\n", pid(), gettimeofday_ns(), idx, flags)
}
probe qemu.kvm.log.cpuhp_acpi_write_idx = qemu.kvm.cpuhp_acpi_write_idx ?
{
    printf("%d@%d cpuhp_acpi_write_idx set active cpu idx: 0x%x\n", pid(), gettimeofday_ns(), idx)
}
probe qemu.kvm.log.cpuhp_acpi_write_cmd = qemu.kvm.cpuhp_acpi_write_cmd ?
{
    printf("%d@%d cpuhp_acpi_write_cmd idx[0x%x] cmd: 0x%x\n", pid(), gettimeofday_ns(), idx, cmd)
}
probe qemu.kvm.log.cpuhp_acpi_read_cmd_data = qemu.kvm.cpuhp_acpi_read_cmd_data ?
{
    printf("%d@%d cpuhp_acpi_read_cmd_data idx[0x%x] data: 0x%x\n", pid(), gettimeofday_ns(), idx, data)
}
probe qemu.kvm.log.cpuhp_acpi_cpu_has_events = qemu.kvm.cpuhp_acpi_cpu_has_events ?
{
    printf("%d@%d cpuhp_acpi_cpu_has_events idx[0x%x] inserting: %d, removing: %d\n", pid(), gettimeofday_ns(), idx, ins, rm)
}
probe qemu.kvm.log.cpuhp_acpi_clear_inserting_evt = qemu.kvm.cpuhp_acpi_clear_inserting_evt ?
{
    printf("%d@%d cpuhp_acpi_clear_inserting_evt idx[0x%x]\n", pid(), gettimeofday_ns(), idx)
}
probe qemu.kvm.log.cpuhp_acpi_clear_remove_evt = qemu.kvm.cpuhp_acpi_clear_remove_evt ?
{
    printf("%d@%d cpuhp_acpi_clear_remove_evt idx[0x%x]\n", pid(), gettimeofday_ns(), idx)
}
probe qemu.kvm.log.cpuhp_acpi_ejecting_invalid_cpu = qemu.kvm.cpuhp_acpi_ejecting_invalid_cpu ?
{
    printf("%d@%d cpuhp_acpi_ejecting_invalid_cpu 0x%x\n", pid(), gettimeofday_ns(), idx)
}
probe qemu.kvm.log.cpuhp_acpi_ejecting_cpu = qemu.kvm.cpuhp_acpi_ejecting_cpu ?
{
    printf("%d@%d cpuhp_acpi_ejecting_cpu 0x%x\n", pid(), gettimeofday_ns(), idx)
}
probe qemu.kvm.log.cpuhp_acpi_write_ost_ev = qemu.kvm.cpuhp_acpi_write_ost_ev ?
{
    printf("%d@%d cpuhp_acpi_write_ost_ev idx[0x%x] OST EVENT: 0x%x\n", pid(), gettimeofday_ns(), slot, ev)
}
probe qemu.kvm.log.cpuhp_acpi_write_ost_status = qemu.kvm.cpuhp_acpi_write_ost_status ?
{
    printf("%d@%d cpuhp_acpi_write_ost_status idx[0x%x] OST STATUS: 0x%x\n", pid(), gettimeofday_ns(), slot, st)
}
probe qemu.kvm.log.acpi_pci_eject_slot = qemu.kvm.acpi_pci_eject_slot ?
{
    printf("%d@%d acpi_pci_eject_slot bsel: %u slot: %u\n", pid(), gettimeofday_ns(), bsel, slot)
}
probe qemu.kvm.log.acpi_pci_unplug = qemu.kvm.acpi_pci_unplug ?
{
    printf("%d@%d acpi_pci_unplug bsel: %d slot: %d\n", pid(), gettimeofday_ns(), bsel, slot)
}
probe qemu.kvm.log.acpi_pci_unplug_request = qemu.kvm.acpi_pci_unplug_request ?
{
    printf("%d@%d acpi_pci_unplug_request bsel: %d slot: %d\n", pid(), gettimeofday_ns(), bsel, slot)
}
probe qemu.kvm.log.acpi_pci_up_read = qemu.kvm.acpi_pci_up_read ?
{
    printf("%d@%d acpi_pci_up_read %u\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.acpi_pci_down_read = qemu.kvm.acpi_pci_down_read ?
{
    printf("%d@%d acpi_pci_down_read %u\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.acpi_pci_features_read = qemu.kvm.acpi_pci_features_read ?
{
    printf("%d@%d acpi_pci_features_read %u\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.acpi_pci_rmv_read = qemu.kvm.acpi_pci_rmv_read ?
{
    printf("%d@%d acpi_pci_rmv_read %u\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.acpi_pci_sel_read = qemu.kvm.acpi_pci_sel_read ?
{
    printf("%d@%d acpi_pci_sel_read %u\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.acpi_pci_ej_write = qemu.kvm.acpi_pci_ej_write ?
{
    printf("%d@%d acpi_pci_ej_write 0x%x <== %u\n", pid(), gettimeofday_ns(), addr, data)
}
probe qemu.kvm.log.acpi_pci_sel_write = qemu.kvm.acpi_pci_sel_write ?
{
    printf("%d@%d acpi_pci_sel_write 0x%x <== %u\n", pid(), gettimeofday_ns(), addr, data)
}
probe qemu.kvm.log.piix4_gpe_readb = qemu.kvm.piix4_gpe_readb ?
{
    printf("%d@%d piix4_gpe_readb addr: 0x%x width: %d ==> 0x%x\n", pid(), gettimeofday_ns(), addr, width, val)
}
probe qemu.kvm.log.piix4_gpe_writeb = qemu.kvm.piix4_gpe_writeb ?
{
    printf("%d@%d piix4_gpe_writeb addr: 0x%x width: %d <== 0x%x\n", pid(), gettimeofday_ns(), addr, width, val)
}
probe qemu.kvm.log.tco_timer_reload = qemu.kvm.tco_timer_reload ?
{
    printf("%d@%d tco_timer_reload ticks=%d (%d ms)\n", pid(), gettimeofday_ns(), ticks, msec)
}
probe qemu.kvm.log.tco_timer_expired = qemu.kvm.tco_timer_expired ?
{
    printf("%d@%d tco_timer_expired timeouts_no=%d no_reboot=%d/%d\n", pid(), gettimeofday_ns(), timeouts_no, strap, no_reboot)
}
probe qemu.kvm.log.alpha_pci_iack_write = qemu.kvm.alpha_pci_iack_write ?
{
    printf("%d@%d alpha_pci_iack_write \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.virt_acpi_setup = qemu.kvm.virt_acpi_setup ?
{
    printf("%d@%d virt_acpi_setup No fw cfg or ACPI disabled. Bailing out.\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.smmu_add_mr = qemu.kvm.smmu_add_mr ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d smmu_add_mr %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.smmu_ptw_level = qemu.kvm.smmu_ptw_level ?
{
    printf("%d@%d smmu_ptw_level level=%d iova=0x%x subpage_sz=0x%x baseaddr=0x%x offset=%d => pte=0x%x\n", pid(), gettimeofday_ns(), level, iova, subpage_size, baseaddr, offset, pte)
}
probe qemu.kvm.log.smmu_ptw_invalid_pte = qemu.kvm.smmu_ptw_invalid_pte ?
{
    printf("%d@%d smmu_ptw_invalid_pte stage=%d level=%d base@=0x%x pte@=0x%x offset=%d pte=0x%x\n", pid(), gettimeofday_ns(), stage, level, baseaddr, pteaddr, offset, pte)
}
probe qemu.kvm.log.smmu_ptw_page_pte = qemu.kvm.smmu_ptw_page_pte ?
{
    printf("%d@%d smmu_ptw_page_pte stage=%d level=%d iova=0x%x base@=0x%x pte@=0x%x pte=0x%x page address = 0x%x\n", pid(), gettimeofday_ns(), stage, level, iova, baseaddr, pteaddr, pte, address)
}
probe qemu.kvm.log.smmu_ptw_block_pte = qemu.kvm.smmu_ptw_block_pte ?
{
    printf("%d@%d smmu_ptw_block_pte stage=%d level=%d base@=0x%x pte@=0x%x pte=0x%x iova=0x%x block address = 0x%x block size = %d MiB\n", pid(), gettimeofday_ns(), stage, level, baseaddr, pteaddr, pte, iova, gpa, bsize_mb)
}
probe qemu.kvm.log.smmu_get_pte = qemu.kvm.smmu_get_pte ?
{
    printf("%d@%d smmu_get_pte baseaddr=0x%x index=0x%x, pteaddr=0x%x, pte=0x%x\n", pid(), gettimeofday_ns(), baseaddr, index, pteaddr, pte)
}
probe qemu.kvm.log.smmu_iotlb_inv_all = qemu.kvm.smmu_iotlb_inv_all ?
{
    printf("%d@%d smmu_iotlb_inv_all IOTLB invalidate all\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.smmu_iotlb_inv_asid = qemu.kvm.smmu_iotlb_inv_asid ?
{
    printf("%d@%d smmu_iotlb_inv_asid IOTLB invalidate asid=%d\n", pid(), gettimeofday_ns(), asid)
}
probe qemu.kvm.log.smmu_iotlb_inv_iova = qemu.kvm.smmu_iotlb_inv_iova ?
{
    printf("%d@%d smmu_iotlb_inv_iova IOTLB invalidate asid=%d addr=0x%x\n", pid(), gettimeofday_ns(), asid, addr)
}
probe qemu.kvm.log.smmu_inv_notifiers_mr = qemu.kvm.smmu_inv_notifiers_mr ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d smmu_inv_notifiers_mr iommu mr=%s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.smmuv3_read_mmio = qemu.kvm.smmuv3_read_mmio ?
{
    printf("%d@%d smmuv3_read_mmio addr: 0x%x val:0x%x size: 0x%x(%d)\n", pid(), gettimeofday_ns(), addr, val, size, r)
}
probe qemu.kvm.log.smmuv3_trigger_irq = qemu.kvm.smmuv3_trigger_irq ?
{
    printf("%d@%d smmuv3_trigger_irq irq=%d\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.smmuv3_write_gerror = qemu.kvm.smmuv3_write_gerror ?
{
    printf("%d@%d smmuv3_write_gerror toggled=0x%x, new GERROR=0x%x\n", pid(), gettimeofday_ns(), toggled, gerror)
}
probe qemu.kvm.log.smmuv3_write_gerrorn = qemu.kvm.smmuv3_write_gerrorn ?
{
    printf("%d@%d smmuv3_write_gerrorn acked=0x%x, new GERRORN=0x%x\n", pid(), gettimeofday_ns(), acked, gerrorn)
}
probe qemu.kvm.log.smmuv3_unhandled_cmd = qemu.kvm.smmuv3_unhandled_cmd ?
{
    printf("%d@%d smmuv3_unhandled_cmd Unhandled command type=%d\n", pid(), gettimeofday_ns(), type)
}
probe qemu.kvm.log.smmuv3_cmdq_consume = qemu.kvm.smmuv3_cmdq_consume ?
{
    printf("%d@%d smmuv3_cmdq_consume prod=%d cons=%d prod.wrap=%d cons.wrap=%d\n", pid(), gettimeofday_ns(), prod, cons, prod_wrap, cons_wrap)
}
probe qemu.kvm.log.smmuv3_cmdq_opcode = qemu.kvm.smmuv3_cmdq_opcode ?
{
    try {
        argopcode_str = opcode ? user_string_n(opcode, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_cmdq_opcode <--- %s\n", pid(), gettimeofday_ns(), argopcode_str)
}
probe qemu.kvm.log.smmuv3_cmdq_consume_out = qemu.kvm.smmuv3_cmdq_consume_out ?
{
    printf("%d@%d smmuv3_cmdq_consume_out prod:%d, cons:%d, prod_wrap:%d, cons_wrap:%d \n", pid(), gettimeofday_ns(), prod, cons, prod_wrap, cons_wrap)
}
probe qemu.kvm.log.smmuv3_cmdq_consume_error = qemu.kvm.smmuv3_cmdq_consume_error ?
{
    try {
        argcmd_name_str = cmd_name ? user_string_n(cmd_name, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_cmdq_consume_error Error on %s command execution: %d\n", pid(), gettimeofday_ns(), argcmd_name_str, cmd_error)
}
probe qemu.kvm.log.smmuv3_write_mmio = qemu.kvm.smmuv3_write_mmio ?
{
    printf("%d@%d smmuv3_write_mmio addr: 0x%x val:0x%x size: 0x%x(%d)\n", pid(), gettimeofday_ns(), addr, val, size, r)
}
probe qemu.kvm.log.smmuv3_record_event = qemu.kvm.smmuv3_record_event ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_record_event %s sid=%d\n", pid(), gettimeofday_ns(), argtype_str, sid)
}
probe qemu.kvm.log.smmuv3_find_ste = qemu.kvm.smmuv3_find_ste ?
{
    printf("%d@%d smmuv3_find_ste SID:0x%x features:0x%x, sid_split:0x%x\n", pid(), gettimeofday_ns(), sid, features, sid_split)
}
probe qemu.kvm.log.smmuv3_find_ste_2lvl = qemu.kvm.smmuv3_find_ste_2lvl ?
{
    printf("%d@%d smmuv3_find_ste_2lvl strtab_base:0x%x l1ptr:0x%x l1_off:0x%x, l2ptr:0x%x l2_off:0x%x max_l2_ste:%d\n", pid(), gettimeofday_ns(), strtab_base, l1ptr, l1_ste_offset, l2ptr, l2_ste_offset, max_l2_ste)
}
probe qemu.kvm.log.smmuv3_get_ste = qemu.kvm.smmuv3_get_ste ?
{
    printf("%d@%d smmuv3_get_ste STE addr: 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.smmuv3_translate_disable = qemu.kvm.smmuv3_translate_disable ?
{
    try {
        argn_str = n ? user_string_n(n, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_translate_disable %s sid=%d bypass (smmu disabled) iova:0x%x is_write=%d\n", pid(), gettimeofday_ns(), argn_str, sid, addr, is_write)
}
probe qemu.kvm.log.smmuv3_translate_bypass = qemu.kvm.smmuv3_translate_bypass ?
{
    try {
        argn_str = n ? user_string_n(n, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_translate_bypass %s sid=%d STE bypass iova:0x%x is_write=%d\n", pid(), gettimeofday_ns(), argn_str, sid, addr, is_write)
}
probe qemu.kvm.log.smmuv3_translate_abort = qemu.kvm.smmuv3_translate_abort ?
{
    try {
        argn_str = n ? user_string_n(n, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_translate_abort %s sid=%d abort on iova:0x%x is_write=%d\n", pid(), gettimeofday_ns(), argn_str, sid, addr, is_write)
}
probe qemu.kvm.log.smmuv3_translate_success = qemu.kvm.smmuv3_translate_success ?
{
    try {
        argn_str = n ? user_string_n(n, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_translate_success %s sid=%d iova=0x%x translated=0x%x perm=0x%x\n", pid(), gettimeofday_ns(), argn_str, sid, iova, translated, perm)
}
probe qemu.kvm.log.smmuv3_get_cd = qemu.kvm.smmuv3_get_cd ?
{
    printf("%d@%d smmuv3_get_cd CD addr: 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.smmuv3_decode_cd = qemu.kvm.smmuv3_decode_cd ?
{
    printf("%d@%d smmuv3_decode_cd oas=%d\n", pid(), gettimeofday_ns(), oas)
}
probe qemu.kvm.log.smmuv3_decode_cd_tt = qemu.kvm.smmuv3_decode_cd_tt ?
{
    printf("%d@%d smmuv3_decode_cd_tt TT[%d]:tsz:%d ttb:0x%x granule_sz:%d\n", pid(), gettimeofday_ns(), i, tsz, ttb, granule_sz)
}
probe qemu.kvm.log.smmuv3_cmdq_cfgi_ste = qemu.kvm.smmuv3_cmdq_cfgi_ste ?
{
    printf("%d@%d smmuv3_cmdq_cfgi_ste streamid =%d\n", pid(), gettimeofday_ns(), streamid)
}
probe qemu.kvm.log.smmuv3_cmdq_cfgi_ste_range = qemu.kvm.smmuv3_cmdq_cfgi_ste_range ?
{
    printf("%d@%d smmuv3_cmdq_cfgi_ste_range start=0x%d - end=0x%d\n", pid(), gettimeofday_ns(), start, end)
}
probe qemu.kvm.log.smmuv3_cmdq_cfgi_cd = qemu.kvm.smmuv3_cmdq_cfgi_cd ?
{
    printf("%d@%d smmuv3_cmdq_cfgi_cd streamid = %d\n", pid(), gettimeofday_ns(), sid)
}
probe qemu.kvm.log.smmuv3_config_cache_hit = qemu.kvm.smmuv3_config_cache_hit ?
{
    printf("%d@%d smmuv3_config_cache_hit Config cache HIT for sid %d (hits=%d, misses=%d, hit rate=%d)\n", pid(), gettimeofday_ns(), sid, hits, misses, perc)
}
probe qemu.kvm.log.smmuv3_config_cache_miss = qemu.kvm.smmuv3_config_cache_miss ?
{
    printf("%d@%d smmuv3_config_cache_miss Config cache MISS for sid %d (hits=%d, misses=%d, hit rate=%d)\n", pid(), gettimeofday_ns(), sid, hits, misses, perc)
}
probe qemu.kvm.log.smmuv3_cmdq_tlbi_nh_va = qemu.kvm.smmuv3_cmdq_tlbi_nh_va ?
{
    printf("%d@%d smmuv3_cmdq_tlbi_nh_va vmid =%d asid =%d addr=0x%x leaf=%d\n", pid(), gettimeofday_ns(), vmid, asid, addr, leaf)
}
probe qemu.kvm.log.smmuv3_cmdq_tlbi_nh_vaa = qemu.kvm.smmuv3_cmdq_tlbi_nh_vaa ?
{
    printf("%d@%d smmuv3_cmdq_tlbi_nh_vaa vmid =%d addr=0x%x\n", pid(), gettimeofday_ns(), vmid, addr)
}
probe qemu.kvm.log.smmuv3_cmdq_tlbi_nh = qemu.kvm.smmuv3_cmdq_tlbi_nh ?
{
    printf("%d@%d smmuv3_cmdq_tlbi_nh \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.smmuv3_cmdq_tlbi_nh_asid = qemu.kvm.smmuv3_cmdq_tlbi_nh_asid ?
{
    printf("%d@%d smmuv3_cmdq_tlbi_nh_asid asid=%d\n", pid(), gettimeofday_ns(), asid)
}
probe qemu.kvm.log.smmu_iotlb_cache_hit = qemu.kvm.smmu_iotlb_cache_hit ?
{
    printf("%d@%d smmu_iotlb_cache_hit IOTLB cache HIT asid=%d addr=0x%x hit=%d miss=%d hit rate=%d\n", pid(), gettimeofday_ns(), asid, addr, hit, miss, p)
}
probe qemu.kvm.log.smmu_iotlb_cache_miss = qemu.kvm.smmu_iotlb_cache_miss ?
{
    printf("%d@%d smmu_iotlb_cache_miss IOTLB cache MISS asid=%d addr=0x%x hit=%d miss=%d hit rate=%d\n", pid(), gettimeofday_ns(), asid, addr, hit, miss, p)
}
probe qemu.kvm.log.smmuv3_config_cache_inv = qemu.kvm.smmuv3_config_cache_inv ?
{
    printf("%d@%d smmuv3_config_cache_inv Config cache INV for sid %d\n", pid(), gettimeofday_ns(), sid)
}
probe qemu.kvm.log.smmuv3_notify_flag_add = qemu.kvm.smmuv3_notify_flag_add ?
{
    try {
        argiommu_str = iommu ? user_string_n(iommu, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_notify_flag_add ADD SMMUNotifier node for iommu mr=%s\n", pid(), gettimeofday_ns(), argiommu_str)
}
probe qemu.kvm.log.smmuv3_notify_flag_del = qemu.kvm.smmuv3_notify_flag_del ?
{
    try {
        argiommu_str = iommu ? user_string_n(iommu, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_notify_flag_del DEL SMMUNotifier node for iommu mr=%s\n", pid(), gettimeofday_ns(), argiommu_str)
}
probe qemu.kvm.log.smmuv3_inv_notifiers_iova = qemu.kvm.smmuv3_inv_notifiers_iova ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d smmuv3_inv_notifiers_iova iommu mr=%s asid=%d iova=0x%x\n", pid(), gettimeofday_ns(), argname_str, asid, iova)
}
probe qemu.kvm.log.cs4231_mem_readl_dreg = qemu.kvm.cs4231_mem_readl_dreg ?
{
    printf("%d@%d cs4231_mem_readl_dreg read dreg %d: 0x%02x\n", pid(), gettimeofday_ns(), reg, ret)
}
probe qemu.kvm.log.cs4231_mem_readl_reg = qemu.kvm.cs4231_mem_readl_reg ?
{
    printf("%d@%d cs4231_mem_readl_reg read reg %d: 0x%08x\n", pid(), gettimeofday_ns(), reg, ret)
}
probe qemu.kvm.log.cs4231_mem_writel_reg = qemu.kvm.cs4231_mem_writel_reg ?
{
    printf("%d@%d cs4231_mem_writel_reg write reg %d: 0x%08x -> 0x%08x\n", pid(), gettimeofday_ns(), reg, old, val)
}
probe qemu.kvm.log.cs4231_mem_writel_dreg = qemu.kvm.cs4231_mem_writel_dreg ?
{
    printf("%d@%d cs4231_mem_writel_dreg write dreg %d: 0x%02x -> 0x%02x\n", pid(), gettimeofday_ns(), reg, old, val)
}
probe qemu.kvm.log.milkymist_ac97_memory_read = qemu.kvm.milkymist_ac97_memory_read ?
{
    printf("%d@%d milkymist_ac97_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_ac97_memory_write = qemu.kvm.milkymist_ac97_memory_write ?
{
    printf("%d@%d milkymist_ac97_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_ac97_pulse_irq_crrequest = qemu.kvm.milkymist_ac97_pulse_irq_crrequest ?
{
    printf("%d@%d milkymist_ac97_pulse_irq_crrequest Pulse IRQ CR request\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_ac97_pulse_irq_crreply = qemu.kvm.milkymist_ac97_pulse_irq_crreply ?
{
    printf("%d@%d milkymist_ac97_pulse_irq_crreply Pulse IRQ CR reply\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_ac97_pulse_irq_dmaw = qemu.kvm.milkymist_ac97_pulse_irq_dmaw ?
{
    printf("%d@%d milkymist_ac97_pulse_irq_dmaw Pulse IRQ DMA write\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_ac97_pulse_irq_dmar = qemu.kvm.milkymist_ac97_pulse_irq_dmar ?
{
    printf("%d@%d milkymist_ac97_pulse_irq_dmar Pulse IRQ DMA read\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_ac97_in_cb = qemu.kvm.milkymist_ac97_in_cb ?
{
    printf("%d@%d milkymist_ac97_in_cb avail %d remaining %u\n", pid(), gettimeofday_ns(), avail, remaining)
}
probe qemu.kvm.log.milkymist_ac97_in_cb_transferred = qemu.kvm.milkymist_ac97_in_cb_transferred ?
{
    printf("%d@%d milkymist_ac97_in_cb_transferred transferred %d\n", pid(), gettimeofday_ns(), transferred)
}
probe qemu.kvm.log.milkymist_ac97_out_cb = qemu.kvm.milkymist_ac97_out_cb ?
{
    printf("%d@%d milkymist_ac97_out_cb free %d remaining %u\n", pid(), gettimeofday_ns(), free, remaining)
}
probe qemu.kvm.log.milkymist_ac97_out_cb_transferred = qemu.kvm.milkymist_ac97_out_cb_transferred ?
{
    printf("%d@%d milkymist_ac97_out_cb_transferred transferred %d\n", pid(), gettimeofday_ns(), transferred)
}
probe qemu.kvm.log.hda_audio_running = qemu.kvm.hda_audio_running ?
{
    try {
        argstream_str = stream ? user_string_n(stream, 512) : "<null>"
    } catch {}
    printf("%d@%d hda_audio_running st %s, nr %d, run %d\n", pid(), gettimeofday_ns(), argstream_str, nr, running)
}
probe qemu.kvm.log.hda_audio_format = qemu.kvm.hda_audio_format ?
{
    try {
        argstream_str = stream ? user_string_n(stream, 512) : "<null>"
    } catch {}
    try {
        argfmt_str = fmt ? user_string_n(fmt, 512) : "<null>"
    } catch {}
    printf("%d@%d hda_audio_format st %s, %d x %s @ %d Hz\n", pid(), gettimeofday_ns(), argstream_str, chan, argfmt_str, freq)
}
probe qemu.kvm.log.hda_audio_adjust = qemu.kvm.hda_audio_adjust ?
{
    try {
        argstream_str = stream ? user_string_n(stream, 512) : "<null>"
    } catch {}
    printf("%d@%d hda_audio_adjust st %s, pos %d\n", pid(), gettimeofday_ns(), argstream_str, pos)
}
probe qemu.kvm.log.hda_audio_overrun = qemu.kvm.hda_audio_overrun ?
{
    try {
        argstream_str = stream ? user_string_n(stream, 512) : "<null>"
    } catch {}
    printf("%d@%d hda_audio_overrun st %s\n", pid(), gettimeofday_ns(), argstream_str)
}
probe qemu.kvm.log.fdc_ioport_read = qemu.kvm.fdc_ioport_read ?
{
    printf("%d@%d fdc_ioport_read read reg 0x%02x val 0x%02x\n", pid(), gettimeofday_ns(), reg, value)
}
probe qemu.kvm.log.fdc_ioport_write = qemu.kvm.fdc_ioport_write ?
{
    printf("%d@%d fdc_ioport_write write reg 0x%02x val 0x%02x\n", pid(), gettimeofday_ns(), reg, value)
}
probe qemu.kvm.log.pflash_reset = qemu.kvm.pflash_reset ?
{
    printf("%d@%d pflash_reset reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pflash_timer_expired = qemu.kvm.pflash_timer_expired ?
{
    printf("%d@%d pflash_timer_expired command 0x%02x done\n", pid(), gettimeofday_ns(), cmd)
}
probe qemu.kvm.log.pflash_io_read = qemu.kvm.pflash_io_read ?
{
    printf("%d@%d pflash_io_read offset:0x%04x size:%u value:0x%04x cmd:0x%02x wcycle:%u\n", pid(), gettimeofday_ns(), offset, size, value, cmd, wcycle)
}
probe qemu.kvm.log.pflash_io_write = qemu.kvm.pflash_io_write ?
{
    printf("%d@%d pflash_io_write offset:0x%04x size:%u value:0x%04x wcycle:%u\n", pid(), gettimeofday_ns(), offset, size, value, wcycle)
}
probe qemu.kvm.log.pflash_data_read = qemu.kvm.pflash_data_read ?
{
    printf("%d@%d pflash_data_read data offset:0x%04x size:%u value:0x%04x\n", pid(), gettimeofday_ns(), offset, size, value)
}
probe qemu.kvm.log.pflash_data_write = qemu.kvm.pflash_data_write ?
{
    printf("%d@%d pflash_data_write data offset:0x%04x size:%u value:0x%04x counter:0x%016x\n", pid(), gettimeofday_ns(), offset, size, value, counter)
}
probe qemu.kvm.log.pflash_manufacturer_id = qemu.kvm.pflash_manufacturer_id ?
{
    printf("%d@%d pflash_manufacturer_id Read Manufacturer ID: 0x%04x\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.pflash_device_id = qemu.kvm.pflash_device_id ?
{
    printf("%d@%d pflash_device_id Read Device ID: 0x%04x\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.pflash_device_info = qemu.kvm.pflash_device_info ?
{
    printf("%d@%d pflash_device_info Read Device Information offset:0x%04x\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.virtio_blk_req_complete = qemu.kvm.virtio_blk_req_complete ?
{
    printf("%d@%d virtio_blk_req_complete vdev %p req %p status %d\n", pid(), gettimeofday_ns(), vdev, req, status)
}
probe qemu.kvm.log.virtio_blk_rw_complete = qemu.kvm.virtio_blk_rw_complete ?
{
    printf("%d@%d virtio_blk_rw_complete vdev %p req %p ret %d\n", pid(), gettimeofday_ns(), vdev, req, ret)
}
probe qemu.kvm.log.virtio_blk_handle_write = qemu.kvm.virtio_blk_handle_write ?
{
    printf("%d@%d virtio_blk_handle_write vdev %p req %p sector %u nsectors %u\n", pid(), gettimeofday_ns(), vdev, req, sector, nsectors)
}
probe qemu.kvm.log.virtio_blk_handle_read = qemu.kvm.virtio_blk_handle_read ?
{
    printf("%d@%d virtio_blk_handle_read vdev %p req %p sector %u nsectors %u\n", pid(), gettimeofday_ns(), vdev, req, sector, nsectors)
}
probe qemu.kvm.log.virtio_blk_submit_multireq = qemu.kvm.virtio_blk_submit_multireq ?
{
    printf("%d@%d virtio_blk_submit_multireq vdev %p mrb %p start %d num_reqs %d offset %u size %u is_write %d\n", pid(), gettimeofday_ns(), vdev, mrb, start, num_reqs, offset, size, is_write)
}
probe qemu.kvm.log.hd_geometry_lchs_guess = qemu.kvm.hd_geometry_lchs_guess ?
{
    printf("%d@%d hd_geometry_lchs_guess blk %p LCHS %d %d %d\n", pid(), gettimeofday_ns(), blk, cyls, heads, secs)
}
probe qemu.kvm.log.hd_geometry_guess = qemu.kvm.hd_geometry_guess ?
{
    printf("%d@%d hd_geometry_guess blk %p CHS %u %u %u trans %d\n", pid(), gettimeofday_ns(), blk, cyls, heads, secs, trans)
}
probe qemu.kvm.log.nvme_irq_msix = qemu.kvm.nvme_irq_msix ?
{
    printf("%d@%d nvme_irq_msix raising MSI-X IRQ vector %u\n", pid(), gettimeofday_ns(), vector)
}
probe qemu.kvm.log.nvme_irq_pin = qemu.kvm.nvme_irq_pin ?
{
    printf("%d@%d nvme_irq_pin pulsing IRQ pin\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_irq_masked = qemu.kvm.nvme_irq_masked ?
{
    printf("%d@%d nvme_irq_masked IRQ is masked\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_dma_read = qemu.kvm.nvme_dma_read ?
{
    printf("%d@%d nvme_dma_read DMA read, prp1=0x%x prp2=0x%x\n", pid(), gettimeofday_ns(), prp1, prp2)
}
probe qemu.kvm.log.nvme_rw = qemu.kvm.nvme_rw ?
{
    try {
        argverb_str = verb ? user_string_n(verb, 512) : "<null>"
    } catch {}
    printf("%d@%d nvme_rw %s %u blocks (%u bytes) from LBA %u\n", pid(), gettimeofday_ns(), argverb_str, blk_count, byte_count, lba)
}
probe qemu.kvm.log.nvme_create_sq = qemu.kvm.nvme_create_sq ?
{
    printf("%d@%d nvme_create_sq create submission queue, addr=0x%x, sqid=%x, cqid=%x, qsize=%x, qflags=%x\n", pid(), gettimeofday_ns(), addr, sqid, cqid, qsize, qflags)
}
probe qemu.kvm.log.nvme_create_cq = qemu.kvm.nvme_create_cq ?
{
    printf("%d@%d nvme_create_cq create completion queue, addr=0x%x, cqid=%x, vector=%x, qsize=%x, qflags=%x, ien=%d\n", pid(), gettimeofday_ns(), addr, cqid, vector, size, qflags, ien)
}
probe qemu.kvm.log.nvme_del_sq = qemu.kvm.nvme_del_sq ?
{
    printf("%d@%d nvme_del_sq deleting submission queue sqid=%u\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.nvme_del_cq = qemu.kvm.nvme_del_cq ?
{
    printf("%d@%d nvme_del_cq deleted completion queue, sqid=%u\n", pid(), gettimeofday_ns(), cqid)
}
probe qemu.kvm.log.nvme_identify_ctrl = qemu.kvm.nvme_identify_ctrl ?
{
    printf("%d@%d nvme_identify_ctrl identify controller\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_identify_ns = qemu.kvm.nvme_identify_ns ?
{
    printf("%d@%d nvme_identify_ns identify namespace, nsid=%u\n", pid(), gettimeofday_ns(), ns)
}
probe qemu.kvm.log.nvme_identify_nslist = qemu.kvm.nvme_identify_nslist ?
{
    printf("%d@%d nvme_identify_nslist identify namespace list, nsid=%u\n", pid(), gettimeofday_ns(), ns)
}
probe qemu.kvm.log.nvme_getfeat_vwcache = qemu.kvm.nvme_getfeat_vwcache ?
{
    try {
        argresult_str = result ? user_string_n(result, 512) : "<null>"
    } catch {}
    printf("%d@%d nvme_getfeat_vwcache get feature volatile write cache, result=%s\n", pid(), gettimeofday_ns(), argresult_str)
}
probe qemu.kvm.log.nvme_getfeat_numq = qemu.kvm.nvme_getfeat_numq ?
{
    printf("%d@%d nvme_getfeat_numq get feature number of queues, result=%d\n", pid(), gettimeofday_ns(), result)
}
probe qemu.kvm.log.nvme_setfeat_numq = qemu.kvm.nvme_setfeat_numq ?
{
    printf("%d@%d nvme_setfeat_numq requested cq_count=%d sq_count=%d, responding with cq_count=%d sq_count=%d\n", pid(), gettimeofday_ns(), reqcq, reqsq, gotcq, gotsq)
}
probe qemu.kvm.log.nvme_setfeat_timestamp = qemu.kvm.nvme_setfeat_timestamp ?
{
    printf("%d@%d nvme_setfeat_timestamp set feature timestamp = 0x%x\n", pid(), gettimeofday_ns(), ts)
}
probe qemu.kvm.log.nvme_getfeat_timestamp = qemu.kvm.nvme_getfeat_timestamp ?
{
    printf("%d@%d nvme_getfeat_timestamp get feature timestamp = 0x%x\n", pid(), gettimeofday_ns(), ts)
}
probe qemu.kvm.log.nvme_mmio_intm_set = qemu.kvm.nvme_mmio_intm_set ?
{
    printf("%d@%d nvme_mmio_intm_set wrote MMIO, interrupt mask set, data=0x%x, new_mask=0x%x\n", pid(), gettimeofday_ns(), data, new_mask)
}
probe qemu.kvm.log.nvme_mmio_intm_clr = qemu.kvm.nvme_mmio_intm_clr ?
{
    printf("%d@%d nvme_mmio_intm_clr wrote MMIO, interrupt mask clr, data=0x%x, new_mask=0x%x\n", pid(), gettimeofday_ns(), data, new_mask)
}
probe qemu.kvm.log.nvme_mmio_cfg = qemu.kvm.nvme_mmio_cfg ?
{
    printf("%d@%d nvme_mmio_cfg wrote MMIO, config controller config=0x%x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.nvme_mmio_aqattr = qemu.kvm.nvme_mmio_aqattr ?
{
    printf("%d@%d nvme_mmio_aqattr wrote MMIO, admin queue attributes=0x%x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.nvme_mmio_asqaddr = qemu.kvm.nvme_mmio_asqaddr ?
{
    printf("%d@%d nvme_mmio_asqaddr wrote MMIO, admin submission queue address=0x%x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.nvme_mmio_acqaddr = qemu.kvm.nvme_mmio_acqaddr ?
{
    printf("%d@%d nvme_mmio_acqaddr wrote MMIO, admin completion queue address=0x%x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.nvme_mmio_asqaddr_hi = qemu.kvm.nvme_mmio_asqaddr_hi ?
{
    printf("%d@%d nvme_mmio_asqaddr_hi wrote MMIO, admin submission queue high half=0x%x, new_address=0x%x\n", pid(), gettimeofday_ns(), data, new_addr)
}
probe qemu.kvm.log.nvme_mmio_acqaddr_hi = qemu.kvm.nvme_mmio_acqaddr_hi ?
{
    printf("%d@%d nvme_mmio_acqaddr_hi wrote MMIO, admin completion queue high half=0x%x, new_address=0x%x\n", pid(), gettimeofday_ns(), data, new_addr)
}
probe qemu.kvm.log.nvme_mmio_start_success = qemu.kvm.nvme_mmio_start_success ?
{
    printf("%d@%d nvme_mmio_start_success setting controller enable bit succeeded\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_mmio_stopped = qemu.kvm.nvme_mmio_stopped ?
{
    printf("%d@%d nvme_mmio_stopped cleared controller enable bit\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_mmio_shutdown_set = qemu.kvm.nvme_mmio_shutdown_set ?
{
    printf("%d@%d nvme_mmio_shutdown_set shutdown bit set\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_mmio_shutdown_cleared = qemu.kvm.nvme_mmio_shutdown_cleared ?
{
    printf("%d@%d nvme_mmio_shutdown_cleared shutdown bit cleared\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_invalid_dma = qemu.kvm.nvme_err_invalid_dma ?
{
    printf("%d@%d nvme_err_invalid_dma PRP/SGL is too small for transfer size\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_invalid_prplist_ent = qemu.kvm.nvme_err_invalid_prplist_ent ?
{
    printf("%d@%d nvme_err_invalid_prplist_ent PRP list entry is null or not page aligned: 0x%x\n", pid(), gettimeofday_ns(), prplist)
}
probe qemu.kvm.log.nvme_err_invalid_prp2_align = qemu.kvm.nvme_err_invalid_prp2_align ?
{
    printf("%d@%d nvme_err_invalid_prp2_align PRP2 is not page aligned: 0x%x\n", pid(), gettimeofday_ns(), prp2)
}
probe qemu.kvm.log.nvme_err_invalid_prp2_missing = qemu.kvm.nvme_err_invalid_prp2_missing ?
{
    printf("%d@%d nvme_err_invalid_prp2_missing PRP2 is null and more data to be transferred\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_invalid_prp = qemu.kvm.nvme_err_invalid_prp ?
{
    printf("%d@%d nvme_err_invalid_prp invalid PRP\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_invalid_ns = qemu.kvm.nvme_err_invalid_ns ?
{
    printf("%d@%d nvme_err_invalid_ns invalid namespace %u not within 1-%u\n", pid(), gettimeofday_ns(), ns, limit_)
}
probe qemu.kvm.log.nvme_err_invalid_opc = qemu.kvm.nvme_err_invalid_opc ?
{
    printf("%d@%d nvme_err_invalid_opc invalid opcode 0x%x\n", pid(), gettimeofday_ns(), opc)
}
probe qemu.kvm.log.nvme_err_invalid_admin_opc = qemu.kvm.nvme_err_invalid_admin_opc ?
{
    printf("%d@%d nvme_err_invalid_admin_opc invalid admin opcode 0x%x\n", pid(), gettimeofday_ns(), opc)
}
probe qemu.kvm.log.nvme_err_invalid_lba_range = qemu.kvm.nvme_err_invalid_lba_range ?
{
    printf("%d@%d nvme_err_invalid_lba_range Invalid LBA start=%u len=%u limit=%u\n", pid(), gettimeofday_ns(), start, len, limit_)
}
probe qemu.kvm.log.nvme_err_invalid_del_sq = qemu.kvm.nvme_err_invalid_del_sq ?
{
    printf("%d@%d nvme_err_invalid_del_sq invalid submission queue deletion, sid=%u\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.nvme_err_invalid_create_sq_cqid = qemu.kvm.nvme_err_invalid_create_sq_cqid ?
{
    printf("%d@%d nvme_err_invalid_create_sq_cqid failed creating submission queue, invalid cqid=%u\n", pid(), gettimeofday_ns(), cqid)
}
probe qemu.kvm.log.nvme_err_invalid_create_sq_sqid = qemu.kvm.nvme_err_invalid_create_sq_sqid ?
{
    printf("%d@%d nvme_err_invalid_create_sq_sqid failed creating submission queue, invalid sqid=%u\n", pid(), gettimeofday_ns(), sqid)
}
probe qemu.kvm.log.nvme_err_invalid_create_sq_size = qemu.kvm.nvme_err_invalid_create_sq_size ?
{
    printf("%d@%d nvme_err_invalid_create_sq_size failed creating submission queue, invalid qsize=%u\n", pid(), gettimeofday_ns(), qsize)
}
probe qemu.kvm.log.nvme_err_invalid_create_sq_addr = qemu.kvm.nvme_err_invalid_create_sq_addr ?
{
    printf("%d@%d nvme_err_invalid_create_sq_addr failed creating submission queue, addr=0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.nvme_err_invalid_create_sq_qflags = qemu.kvm.nvme_err_invalid_create_sq_qflags ?
{
    printf("%d@%d nvme_err_invalid_create_sq_qflags failed creating submission queue, qflags=%u\n", pid(), gettimeofday_ns(), qflags)
}
probe qemu.kvm.log.nvme_err_invalid_del_cq_cqid = qemu.kvm.nvme_err_invalid_del_cq_cqid ?
{
    printf("%d@%d nvme_err_invalid_del_cq_cqid failed deleting completion queue, cqid=%u\n", pid(), gettimeofday_ns(), cqid)
}
probe qemu.kvm.log.nvme_err_invalid_del_cq_notempty = qemu.kvm.nvme_err_invalid_del_cq_notempty ?
{
    printf("%d@%d nvme_err_invalid_del_cq_notempty failed deleting completion queue, it is not empty, cqid=%u\n", pid(), gettimeofday_ns(), cqid)
}
probe qemu.kvm.log.nvme_err_invalid_create_cq_cqid = qemu.kvm.nvme_err_invalid_create_cq_cqid ?
{
    printf("%d@%d nvme_err_invalid_create_cq_cqid failed creating completion queue, cqid=%u\n", pid(), gettimeofday_ns(), cqid)
}
probe qemu.kvm.log.nvme_err_invalid_create_cq_size = qemu.kvm.nvme_err_invalid_create_cq_size ?
{
    printf("%d@%d nvme_err_invalid_create_cq_size failed creating completion queue, size=%u\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.nvme_err_invalid_create_cq_addr = qemu.kvm.nvme_err_invalid_create_cq_addr ?
{
    printf("%d@%d nvme_err_invalid_create_cq_addr failed creating completion queue, addr=0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.nvme_err_invalid_create_cq_vector = qemu.kvm.nvme_err_invalid_create_cq_vector ?
{
    printf("%d@%d nvme_err_invalid_create_cq_vector failed creating completion queue, vector=%u\n", pid(), gettimeofday_ns(), vector)
}
probe qemu.kvm.log.nvme_err_invalid_create_cq_qflags = qemu.kvm.nvme_err_invalid_create_cq_qflags ?
{
    printf("%d@%d nvme_err_invalid_create_cq_qflags failed creating completion queue, qflags=%u\n", pid(), gettimeofday_ns(), qflags)
}
probe qemu.kvm.log.nvme_err_invalid_identify_cns = qemu.kvm.nvme_err_invalid_identify_cns ?
{
    printf("%d@%d nvme_err_invalid_identify_cns identify, invalid cns=0x%x\n", pid(), gettimeofday_ns(), cns)
}
probe qemu.kvm.log.nvme_err_invalid_getfeat = qemu.kvm.nvme_err_invalid_getfeat ?
{
    printf("%d@%d nvme_err_invalid_getfeat invalid get features, dw10=0x%x\n", pid(), gettimeofday_ns(), dw10)
}
probe qemu.kvm.log.nvme_err_invalid_setfeat = qemu.kvm.nvme_err_invalid_setfeat ?
{
    printf("%d@%d nvme_err_invalid_setfeat invalid set features, dw10=0x%x\n", pid(), gettimeofday_ns(), dw10)
}
probe qemu.kvm.log.nvme_err_startfail_cq = qemu.kvm.nvme_err_startfail_cq ?
{
    printf("%d@%d nvme_err_startfail_cq nvme_start_ctrl failed because there are non-admin completion queues\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_startfail_sq = qemu.kvm.nvme_err_startfail_sq ?
{
    printf("%d@%d nvme_err_startfail_sq nvme_start_ctrl failed because there are non-admin submission queues\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_startfail_nbarasq = qemu.kvm.nvme_err_startfail_nbarasq ?
{
    printf("%d@%d nvme_err_startfail_nbarasq nvme_start_ctrl failed because the admin submission queue address is null\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_startfail_nbaracq = qemu.kvm.nvme_err_startfail_nbaracq ?
{
    printf("%d@%d nvme_err_startfail_nbaracq nvme_start_ctrl failed because the admin completion queue address is null\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_startfail_asq_misaligned = qemu.kvm.nvme_err_startfail_asq_misaligned ?
{
    printf("%d@%d nvme_err_startfail_asq_misaligned nvme_start_ctrl failed because the admin submission queue address is misaligned: 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.nvme_err_startfail_acq_misaligned = qemu.kvm.nvme_err_startfail_acq_misaligned ?
{
    printf("%d@%d nvme_err_startfail_acq_misaligned nvme_start_ctrl failed because the admin completion queue address is misaligned: 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.nvme_err_startfail_page_too_small = qemu.kvm.nvme_err_startfail_page_too_small ?
{
    printf("%d@%d nvme_err_startfail_page_too_small nvme_start_ctrl failed because the page size is too small: log2size=%u, min=%u\n", pid(), gettimeofday_ns(), log2ps, maxlog2ps)
}
probe qemu.kvm.log.nvme_err_startfail_page_too_large = qemu.kvm.nvme_err_startfail_page_too_large ?
{
    printf("%d@%d nvme_err_startfail_page_too_large nvme_start_ctrl failed because the page size is too large: log2size=%u, max=%u\n", pid(), gettimeofday_ns(), log2ps, maxlog2ps)
}
probe qemu.kvm.log.nvme_err_startfail_cqent_too_small = qemu.kvm.nvme_err_startfail_cqent_too_small ?
{
    printf("%d@%d nvme_err_startfail_cqent_too_small nvme_start_ctrl failed because the completion queue entry size is too small: log2size=%u, min=%u\n", pid(), gettimeofday_ns(), log2ps, maxlog2ps)
}
probe qemu.kvm.log.nvme_err_startfail_cqent_too_large = qemu.kvm.nvme_err_startfail_cqent_too_large ?
{
    printf("%d@%d nvme_err_startfail_cqent_too_large nvme_start_ctrl failed because the completion queue entry size is too large: log2size=%u, max=%u\n", pid(), gettimeofday_ns(), log2ps, maxlog2ps)
}
probe qemu.kvm.log.nvme_err_startfail_sqent_too_small = qemu.kvm.nvme_err_startfail_sqent_too_small ?
{
    printf("%d@%d nvme_err_startfail_sqent_too_small nvme_start_ctrl failed because the submission queue entry size is too small: log2size=%u, min=%u\n", pid(), gettimeofday_ns(), log2ps, maxlog2ps)
}
probe qemu.kvm.log.nvme_err_startfail_sqent_too_large = qemu.kvm.nvme_err_startfail_sqent_too_large ?
{
    printf("%d@%d nvme_err_startfail_sqent_too_large nvme_start_ctrl failed because the submission queue entry size is too large: log2size=%u, max=%u\n", pid(), gettimeofday_ns(), log2ps, maxlog2ps)
}
probe qemu.kvm.log.nvme_err_startfail_asqent_sz_zero = qemu.kvm.nvme_err_startfail_asqent_sz_zero ?
{
    printf("%d@%d nvme_err_startfail_asqent_sz_zero nvme_start_ctrl failed because the admin submission queue size is zero\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_startfail_acqent_sz_zero = qemu.kvm.nvme_err_startfail_acqent_sz_zero ?
{
    printf("%d@%d nvme_err_startfail_acqent_sz_zero nvme_start_ctrl failed because the admin completion queue size is zero\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_err_startfail = qemu.kvm.nvme_err_startfail ?
{
    printf("%d@%d nvme_err_startfail setting controller enable bit failed\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_ub_mmiowr_misaligned32 = qemu.kvm.nvme_ub_mmiowr_misaligned32 ?
{
    printf("%d@%d nvme_ub_mmiowr_misaligned32 MMIO write not 32-bit aligned, offset=0x%x\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.nvme_ub_mmiowr_toosmall = qemu.kvm.nvme_ub_mmiowr_toosmall ?
{
    printf("%d@%d nvme_ub_mmiowr_toosmall MMIO write smaller than 32 bits, offset=0x%x, size=%u\n", pid(), gettimeofday_ns(), offset, size)
}
probe qemu.kvm.log.nvme_ub_mmiowr_intmask_with_msix = qemu.kvm.nvme_ub_mmiowr_intmask_with_msix ?
{
    printf("%d@%d nvme_ub_mmiowr_intmask_with_msix undefined access to interrupt mask set when MSI-X is enabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_ub_mmiowr_ro_csts = qemu.kvm.nvme_ub_mmiowr_ro_csts ?
{
    printf("%d@%d nvme_ub_mmiowr_ro_csts attempted to set a read only bit of controller status\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_ub_mmiowr_ssreset_w1c_unsupported = qemu.kvm.nvme_ub_mmiowr_ssreset_w1c_unsupported ?
{
    printf("%d@%d nvme_ub_mmiowr_ssreset_w1c_unsupported attempted to W1C CSTS.NSSRO but CAP.NSSRS is zero (not supported)\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_ub_mmiowr_ssreset_unsupported = qemu.kvm.nvme_ub_mmiowr_ssreset_unsupported ?
{
    printf("%d@%d nvme_ub_mmiowr_ssreset_unsupported attempted NVM subsystem reset but CAP.NSSRS is zero (not supported)\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_ub_mmiowr_cmbloc_reserved = qemu.kvm.nvme_ub_mmiowr_cmbloc_reserved ?
{
    printf("%d@%d nvme_ub_mmiowr_cmbloc_reserved invalid write to reserved CMBLOC when CMBSZ is zero, ignored\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_ub_mmiowr_cmbsz_readonly = qemu.kvm.nvme_ub_mmiowr_cmbsz_readonly ?
{
    printf("%d@%d nvme_ub_mmiowr_cmbsz_readonly invalid write to read only CMBSZ, ignored\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nvme_ub_mmiowr_invalid = qemu.kvm.nvme_ub_mmiowr_invalid ?
{
    printf("%d@%d nvme_ub_mmiowr_invalid invalid MMIO write, offset=0x%x, data=0x%x\n", pid(), gettimeofday_ns(), offset, data)
}
probe qemu.kvm.log.nvme_ub_mmiord_misaligned32 = qemu.kvm.nvme_ub_mmiord_misaligned32 ?
{
    printf("%d@%d nvme_ub_mmiord_misaligned32 MMIO read not 32-bit aligned, offset=0x%x\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.nvme_ub_mmiord_toosmall = qemu.kvm.nvme_ub_mmiord_toosmall ?
{
    printf("%d@%d nvme_ub_mmiord_toosmall MMIO read smaller than 32-bits, offset=0x%x\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.nvme_ub_mmiord_invalid_ofs = qemu.kvm.nvme_ub_mmiord_invalid_ofs ?
{
    printf("%d@%d nvme_ub_mmiord_invalid_ofs MMIO read beyond last register, offset=0x%x, returning 0\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.nvme_ub_db_wr_misaligned = qemu.kvm.nvme_ub_db_wr_misaligned ?
{
    printf("%d@%d nvme_ub_db_wr_misaligned doorbell write not 32-bit aligned, offset=0x%x, ignoring\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.nvme_ub_db_wr_invalid_cq = qemu.kvm.nvme_ub_db_wr_invalid_cq ?
{
    printf("%d@%d nvme_ub_db_wr_invalid_cq completion queue doorbell write for nonexistent queue, cqid=%u, ignoring\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.nvme_ub_db_wr_invalid_cqhead = qemu.kvm.nvme_ub_db_wr_invalid_cqhead ?
{
    printf("%d@%d nvme_ub_db_wr_invalid_cqhead completion queue doorbell write value beyond queue size, cqid=%u, new_head=%u, ignoring\n", pid(), gettimeofday_ns(), qid, new_head)
}
probe qemu.kvm.log.nvme_ub_db_wr_invalid_sq = qemu.kvm.nvme_ub_db_wr_invalid_sq ?
{
    printf("%d@%d nvme_ub_db_wr_invalid_sq submission queue doorbell write for nonexistent queue, sqid=%u, ignoring\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.nvme_ub_db_wr_invalid_sqtail = qemu.kvm.nvme_ub_db_wr_invalid_sqtail ?
{
    printf("%d@%d nvme_ub_db_wr_invalid_sqtail submission queue doorbell write value beyond queue size, sqid=%u, new_head=%u, ignoring\n", pid(), gettimeofday_ns(), qid, new_tail)
}
probe qemu.kvm.log.xen_block_realize = qemu.kvm.xen_block_realize ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_block_realize %s d%up%u\n", pid(), gettimeofday_ns(), argtype_str, disk, partition)
}
probe qemu.kvm.log.xen_block_connect = qemu.kvm.xen_block_connect ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_block_connect %s d%up%u\n", pid(), gettimeofday_ns(), argtype_str, disk, partition)
}
probe qemu.kvm.log.xen_block_disconnect = qemu.kvm.xen_block_disconnect ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_block_disconnect %s d%up%u\n", pid(), gettimeofday_ns(), argtype_str, disk, partition)
}
probe qemu.kvm.log.xen_block_unrealize = qemu.kvm.xen_block_unrealize ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_block_unrealize %s d%up%u\n", pid(), gettimeofday_ns(), argtype_str, disk, partition)
}
probe qemu.kvm.log.xen_block_size = qemu.kvm.xen_block_size ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_block_size %s d%up%u %i\n", pid(), gettimeofday_ns(), argtype_str, disk, partition, sectors)
}
probe qemu.kvm.log.xen_disk_realize = qemu.kvm.xen_disk_realize ?
{
    printf("%d@%d xen_disk_realize \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_disk_unrealize = qemu.kvm.xen_disk_unrealize ?
{
    printf("%d@%d xen_disk_unrealize \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_cdrom_realize = qemu.kvm.xen_cdrom_realize ?
{
    printf("%d@%d xen_cdrom_realize \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_cdrom_unrealize = qemu.kvm.xen_cdrom_unrealize ?
{
    printf("%d@%d xen_cdrom_unrealize \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_block_blockdev_add = qemu.kvm.xen_block_blockdev_add ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_block_blockdev_add %s\n", pid(), gettimeofday_ns(), argstr_str)
}
probe qemu.kvm.log.xen_block_blockdev_del = qemu.kvm.xen_block_blockdev_del ?
{
    try {
        argnode_name_str = node_name ? user_string_n(node_name, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_block_blockdev_del %s\n", pid(), gettimeofday_ns(), argnode_name_str)
}
probe qemu.kvm.log.xen_block_device_create = qemu.kvm.xen_block_device_create ?
{
    printf("%d@%d xen_block_device_create %u\n", pid(), gettimeofday_ns(), number)
}
probe qemu.kvm.log.xen_block_device_destroy = qemu.kvm.xen_block_device_destroy ?
{
    printf("%d@%d xen_block_device_destroy %u\n", pid(), gettimeofday_ns(), number)
}
probe qemu.kvm.log.virtio_blk_data_plane_start = qemu.kvm.virtio_blk_data_plane_start ?
{
    printf("%d@%d virtio_blk_data_plane_start dataplane %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.virtio_blk_data_plane_stop = qemu.kvm.virtio_blk_data_plane_stop ?
{
    printf("%d@%d virtio_blk_data_plane_stop dataplane %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.parallel_ioport_read = qemu.kvm.parallel_ioport_read ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d parallel_ioport_read read [%s] addr 0x%02x val 0x%02x\n", pid(), gettimeofday_ns(), argdesc_str, addr, value)
}
probe qemu.kvm.log.parallel_ioport_write = qemu.kvm.parallel_ioport_write ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d parallel_ioport_write write [%s] addr 0x%02x val 0x%02x\n", pid(), gettimeofday_ns(), argdesc_str, addr, value)
}
probe qemu.kvm.log.serial_ioport_read = qemu.kvm.serial_ioport_read ?
{
    printf("%d@%d serial_ioport_read read addr 0x%02x val 0x%02x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.serial_ioport_write = qemu.kvm.serial_ioport_write ?
{
    printf("%d@%d serial_ioport_write write addr 0x%02x val 0x%02x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.virtio_serial_send_control_event = qemu.kvm.virtio_serial_send_control_event ?
{
    printf("%d@%d virtio_serial_send_control_event port %u, event %u, value %u\n", pid(), gettimeofday_ns(), port, event, value)
}
probe qemu.kvm.log.virtio_serial_throttle_port = qemu.kvm.virtio_serial_throttle_port ?
{
    printf("%d@%d virtio_serial_throttle_port port %u, throttle %d\n", pid(), gettimeofday_ns(), port, throttle)
}
probe qemu.kvm.log.virtio_serial_handle_control_message = qemu.kvm.virtio_serial_handle_control_message ?
{
    printf("%d@%d virtio_serial_handle_control_message event %u, value %u\n", pid(), gettimeofday_ns(), event, value)
}
probe qemu.kvm.log.virtio_serial_handle_control_message_port = qemu.kvm.virtio_serial_handle_control_message_port ?
{
    printf("%d@%d virtio_serial_handle_control_message_port port %u\n", pid(), gettimeofday_ns(), port)
}
probe qemu.kvm.log.virtio_console_flush_buf = qemu.kvm.virtio_console_flush_buf ?
{
    printf("%d@%d virtio_console_flush_buf port %u, in_len %u, out_len %d\n", pid(), gettimeofday_ns(), port, len, ret)
}
probe qemu.kvm.log.virtio_console_chr_read = qemu.kvm.virtio_console_chr_read ?
{
    printf("%d@%d virtio_console_chr_read port %u, size %d\n", pid(), gettimeofday_ns(), port, size)
}
probe qemu.kvm.log.virtio_console_chr_event = qemu.kvm.virtio_console_chr_event ?
{
    printf("%d@%d virtio_console_chr_event port %u, event %d\n", pid(), gettimeofday_ns(), port, event)
}
probe qemu.kvm.log.grlib_apbuart_event = qemu.kvm.grlib_apbuart_event ?
{
    printf("%d@%d grlib_apbuart_event event:%d\n", pid(), gettimeofday_ns(), event)
}
probe qemu.kvm.log.grlib_apbuart_writel_unknown = qemu.kvm.grlib_apbuart_writel_unknown ?
{
    printf("%d@%d grlib_apbuart_writel_unknown addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.grlib_apbuart_readl_unknown = qemu.kvm.grlib_apbuart_readl_unknown ?
{
    printf("%d@%d grlib_apbuart_readl_unknown addr 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.lm32_juart_get_jtx = qemu.kvm.lm32_juart_get_jtx ?
{
    printf("%d@%d lm32_juart_get_jtx jtx 0x%08x\n", pid(), gettimeofday_ns(), value)
}
probe qemu.kvm.log.lm32_juart_set_jtx = qemu.kvm.lm32_juart_set_jtx ?
{
    printf("%d@%d lm32_juart_set_jtx jtx 0x%08x\n", pid(), gettimeofday_ns(), value)
}
probe qemu.kvm.log.lm32_juart_get_jrx = qemu.kvm.lm32_juart_get_jrx ?
{
    printf("%d@%d lm32_juart_get_jrx jrx 0x%08x\n", pid(), gettimeofday_ns(), value)
}
probe qemu.kvm.log.lm32_juart_set_jrx = qemu.kvm.lm32_juart_set_jrx ?
{
    printf("%d@%d lm32_juart_set_jrx jrx 0x%08x\n", pid(), gettimeofday_ns(), value)
}
probe qemu.kvm.log.lm32_uart_memory_write = qemu.kvm.lm32_uart_memory_write ?
{
    printf("%d@%d lm32_uart_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.lm32_uart_memory_read = qemu.kvm.lm32_uart_memory_read ?
{
    printf("%d@%d lm32_uart_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.lm32_uart_irq_state = qemu.kvm.lm32_uart_irq_state ?
{
    printf("%d@%d lm32_uart_irq_state irq state %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.milkymist_uart_memory_read = qemu.kvm.milkymist_uart_memory_read ?
{
    printf("%d@%d milkymist_uart_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_uart_memory_write = qemu.kvm.milkymist_uart_memory_write ?
{
    printf("%d@%d milkymist_uart_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_uart_raise_irq = qemu.kvm.milkymist_uart_raise_irq ?
{
    printf("%d@%d milkymist_uart_raise_irq Raise IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_uart_lower_irq = qemu.kvm.milkymist_uart_lower_irq ?
{
    printf("%d@%d milkymist_uart_lower_irq Lower IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.escc_put_queue = qemu.kvm.escc_put_queue ?
{
    printf("%d@%d escc_put_queue channel %c put: 0x%02x\n", pid(), gettimeofday_ns(), channel, b)
}
probe qemu.kvm.log.escc_get_queue = qemu.kvm.escc_get_queue ?
{
    printf("%d@%d escc_get_queue channel %c get 0x%02x\n", pid(), gettimeofday_ns(), channel, val)
}
probe qemu.kvm.log.escc_update_irq = qemu.kvm.escc_update_irq ?
{
    printf("%d@%d escc_update_irq IRQ = %d\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.escc_update_parameters = qemu.kvm.escc_update_parameters ?
{
    printf("%d@%d escc_update_parameters channel %c: speed=%d parity=%c data=%d stop=%d\n", pid(), gettimeofday_ns(), channel, speed, parity, data_bits, stop_bits)
}
probe qemu.kvm.log.escc_mem_writeb_ctrl = qemu.kvm.escc_mem_writeb_ctrl ?
{
    printf("%d@%d escc_mem_writeb_ctrl Write channel %c, reg[%d] = 0x%2.2x\n", pid(), gettimeofday_ns(), channel, reg, val)
}
probe qemu.kvm.log.escc_mem_writeb_data = qemu.kvm.escc_mem_writeb_data ?
{
    printf("%d@%d escc_mem_writeb_data Write channel %c, ch %d\n", pid(), gettimeofday_ns(), channel, val)
}
probe qemu.kvm.log.escc_mem_readb_ctrl = qemu.kvm.escc_mem_readb_ctrl ?
{
    printf("%d@%d escc_mem_readb_ctrl Read channel %c, reg[%d] = 0x%2.2x\n", pid(), gettimeofday_ns(), channel, reg, val)
}
probe qemu.kvm.log.escc_mem_readb_data = qemu.kvm.escc_mem_readb_data ?
{
    printf("%d@%d escc_mem_readb_data Read channel %c, ch %d\n", pid(), gettimeofday_ns(), channel, ret)
}
probe qemu.kvm.log.escc_serial_receive_byte = qemu.kvm.escc_serial_receive_byte ?
{
    printf("%d@%d escc_serial_receive_byte channel %c put ch %d\n", pid(), gettimeofday_ns(), channel, ch)
}
probe qemu.kvm.log.escc_sunkbd_event_in = qemu.kvm.escc_sunkbd_event_in ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d escc_sunkbd_event_in QKeyCode 0x%2.2x [%s], down %d\n", pid(), gettimeofday_ns(), ch, argname_str, down)
}
probe qemu.kvm.log.escc_sunkbd_event_out = qemu.kvm.escc_sunkbd_event_out ?
{
    printf("%d@%d escc_sunkbd_event_out Translated keycode 0x%2.2x\n", pid(), gettimeofday_ns(), ch)
}
probe qemu.kvm.log.escc_kbd_command = qemu.kvm.escc_kbd_command ?
{
    printf("%d@%d escc_kbd_command Command %d\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.escc_sunmouse_event = qemu.kvm.escc_sunmouse_event ?
{
    printf("%d@%d escc_sunmouse_event dx=%d dy=%d buttons=0x%01x\n", pid(), gettimeofday_ns(), dx, dy, buttons_state)
}
probe qemu.kvm.log.pl011_irq_state = qemu.kvm.pl011_irq_state ?
{
    printf("%d@%d pl011_irq_state irq state %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.pl011_read = qemu.kvm.pl011_read ?
{
    printf("%d@%d pl011_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.pl011_read_fifo = qemu.kvm.pl011_read_fifo ?
{
    printf("%d@%d pl011_read_fifo FIFO read, read_count now %d\n", pid(), gettimeofday_ns(), read_count)
}
probe qemu.kvm.log.pl011_write = qemu.kvm.pl011_write ?
{
    printf("%d@%d pl011_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.pl011_can_receive = qemu.kvm.pl011_can_receive ?
{
    printf("%d@%d pl011_can_receive LCR 0x%08x read_count %d returning %d\n", pid(), gettimeofday_ns(), lcr, read_count, r)
}
probe qemu.kvm.log.pl011_put_fifo = qemu.kvm.pl011_put_fifo ?
{
    printf("%d@%d pl011_put_fifo new char 0x%x read_count now %d\n", pid(), gettimeofday_ns(), c, read_count)
}
probe qemu.kvm.log.pl011_put_fifo_full = qemu.kvm.pl011_put_fifo_full ?
{
    printf("%d@%d pl011_put_fifo_full FIFO now full, RXFF set\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.cmsdk_apb_uart_read = qemu.kvm.cmsdk_apb_uart_read ?
{
    printf("%d@%d cmsdk_apb_uart_read CMSDK APB UART read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.cmsdk_apb_uart_write = qemu.kvm.cmsdk_apb_uart_write ?
{
    printf("%d@%d cmsdk_apb_uart_write CMSDK APB UART write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.cmsdk_apb_uart_reset = qemu.kvm.cmsdk_apb_uart_reset ?
{
    printf("%d@%d cmsdk_apb_uart_reset CMSDK APB UART: reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.cmsdk_apb_uart_receive = qemu.kvm.cmsdk_apb_uart_receive ?
{
    printf("%d@%d cmsdk_apb_uart_receive CMSDK APB UART: got character 0x%x from backend\n", pid(), gettimeofday_ns(), c)
}
probe qemu.kvm.log.cmsdk_apb_uart_tx_pending = qemu.kvm.cmsdk_apb_uart_tx_pending ?
{
    printf("%d@%d cmsdk_apb_uart_tx_pending CMSDK APB UART: character send to backend pending\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.cmsdk_apb_uart_tx = qemu.kvm.cmsdk_apb_uart_tx ?
{
    printf("%d@%d cmsdk_apb_uart_tx CMSDK APB UART: character 0x%x sent to backend\n", pid(), gettimeofday_ns(), c)
}
probe qemu.kvm.log.cmsdk_apb_uart_set_params = qemu.kvm.cmsdk_apb_uart_set_params ?
{
    printf("%d@%d cmsdk_apb_uart_set_params CMSDK APB UART: params set to %d 8N1\n", pid(), gettimeofday_ns(), speed)
}
probe qemu.kvm.log.nrf51_uart_read = qemu.kvm.nrf51_uart_read ?
{
    printf("%d@%d nrf51_uart_read addr 0x%x value 0x%x size %u\n", pid(), gettimeofday_ns(), addr, r, size)
}
probe qemu.kvm.log.nrf51_uart_write = qemu.kvm.nrf51_uart_write ?
{
    printf("%d@%d nrf51_uart_write addr 0x%x value 0x%x size %u\n", pid(), gettimeofday_ns(), addr, value, size)
}
probe qemu.kvm.log.jazzio_read = qemu.kvm.jazzio_read ?
{
    printf("%d@%d jazzio_read read reg[0x%x] = 0x%x\n", pid(), gettimeofday_ns(), addr, ret)
}
probe qemu.kvm.log.jazzio_write = qemu.kvm.jazzio_write ?
{
    printf("%d@%d jazzio_write write reg[0x%x] = 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.rc4030_read = qemu.kvm.rc4030_read ?
{
    printf("%d@%d rc4030_read read reg[0x%x] = 0x%x\n", pid(), gettimeofday_ns(), addr, ret)
}
probe qemu.kvm.log.rc4030_write = qemu.kvm.rc4030_write ?
{
    printf("%d@%d rc4030_write write reg[0x%x] = 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.ledma_memory_read = qemu.kvm.ledma_memory_read ?
{
    printf("%d@%d ledma_memory_read DMA read addr 0x%x len %d\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.ledma_memory_write = qemu.kvm.ledma_memory_write ?
{
    printf("%d@%d ledma_memory_write DMA write addr 0x%x len %d\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.sparc32_dma_set_irq_raise = qemu.kvm.sparc32_dma_set_irq_raise ?
{
    printf("%d@%d sparc32_dma_set_irq_raise Raise IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sparc32_dma_set_irq_lower = qemu.kvm.sparc32_dma_set_irq_lower ?
{
    printf("%d@%d sparc32_dma_set_irq_lower Lower IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.espdma_memory_read = qemu.kvm.espdma_memory_read ?
{
    printf("%d@%d espdma_memory_read DMA read addr 0x%08x len %d\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.espdma_memory_write = qemu.kvm.espdma_memory_write ?
{
    printf("%d@%d espdma_memory_write DMA write addr 0x%08x len %d\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.sparc32_dma_mem_readl = qemu.kvm.sparc32_dma_mem_readl ?
{
    printf("%d@%d sparc32_dma_mem_readl read dmareg 0x%x: 0x%08x\n", pid(), gettimeofday_ns(), addr, ret)
}
probe qemu.kvm.log.sparc32_dma_mem_writel = qemu.kvm.sparc32_dma_mem_writel ?
{
    printf("%d@%d sparc32_dma_mem_writel write dmareg 0x%x: 0x%08x -> 0x%08x\n", pid(), gettimeofday_ns(), addr, old, val)
}
probe qemu.kvm.log.sparc32_dma_enable_raise = qemu.kvm.sparc32_dma_enable_raise ?
{
    printf("%d@%d sparc32_dma_enable_raise Raise DMA enable\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sparc32_dma_enable_lower = qemu.kvm.sparc32_dma_enable_lower ?
{
    printf("%d@%d sparc32_dma_enable_lower Lower DMA enable\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.i8257_unregistered_dma = qemu.kvm.i8257_unregistered_dma ?
{
    printf("%d@%d i8257_unregistered_dma unregistered DMA channel used nchan=%d dma_pos=%d dma_len=%d\n", pid(), gettimeofday_ns(), nchan, dma_pos, dma_len)
}
probe qemu.kvm.log.hppa_pci_iack_write = qemu.kvm.hppa_pci_iack_write ?
{
    printf("%d@%d hppa_pci_iack_write \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.i2c_event = qemu.kvm.i2c_event ?
{
    try {
        argevent_str = event ? user_string_n(event, 512) : "<null>"
    } catch {}
    printf("%d@%d i2c_event %s(addr:0x%02x)\n", pid(), gettimeofday_ns(), argevent_str, address)
}
probe qemu.kvm.log.i2c_send = qemu.kvm.i2c_send ?
{
    printf("%d@%d i2c_send send(addr:0x%02x) data:0x%02x\n", pid(), gettimeofday_ns(), address, data)
}
probe qemu.kvm.log.i2c_recv = qemu.kvm.i2c_recv ?
{
    printf("%d@%d i2c_recv recv(addr:0x%02x) data:0x%02x\n", pid(), gettimeofday_ns(), address, data)
}
probe qemu.kvm.log.x86_iommu_iec_notify = qemu.kvm.x86_iommu_iec_notify ?
{
    printf("%d@%d x86_iommu_iec_notify Notify IEC invalidation: global=%d index=%u mask=%u\n", pid(), gettimeofday_ns(), global_, index, mask)
}
probe qemu.kvm.log.vtd_inv_desc = qemu.kvm.vtd_inv_desc ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d vtd_inv_desc invalidate desc type %s high 0x%x low 0x%x\n", pid(), gettimeofday_ns(), argtype_str, hi, lo)
}
probe qemu.kvm.log.vtd_inv_desc_cc_domain = qemu.kvm.vtd_inv_desc_cc_domain ?
{
    printf("%d@%d vtd_inv_desc_cc_domain context invalidate domain 0x%x\n", pid(), gettimeofday_ns(), domain)
}
probe qemu.kvm.log.vtd_inv_desc_cc_global = qemu.kvm.vtd_inv_desc_cc_global ?
{
    printf("%d@%d vtd_inv_desc_cc_global context invalidate globally\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vtd_inv_desc_cc_device = qemu.kvm.vtd_inv_desc_cc_device ?
{
    printf("%d@%d vtd_inv_desc_cc_device context invalidate device %02x:%02x.%02x\n", pid(), gettimeofday_ns(), bus, dev, fn)
}
probe qemu.kvm.log.vtd_inv_desc_cc_devices = qemu.kvm.vtd_inv_desc_cc_devices ?
{
    printf("%d@%d vtd_inv_desc_cc_devices context invalidate devices sid 0x%x fmask 0x%x\n", pid(), gettimeofday_ns(), sid, fmask)
}
probe qemu.kvm.log.vtd_inv_desc_iotlb_global = qemu.kvm.vtd_inv_desc_iotlb_global ?
{
    printf("%d@%d vtd_inv_desc_iotlb_global iotlb invalidate global\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vtd_inv_desc_iotlb_domain = qemu.kvm.vtd_inv_desc_iotlb_domain ?
{
    printf("%d@%d vtd_inv_desc_iotlb_domain iotlb invalidate whole domain 0x%x\n", pid(), gettimeofday_ns(), domain)
}
probe qemu.kvm.log.vtd_inv_desc_iotlb_pages = qemu.kvm.vtd_inv_desc_iotlb_pages ?
{
    printf("%d@%d vtd_inv_desc_iotlb_pages iotlb invalidate domain 0x%x addr 0x%x mask 0x%x\n", pid(), gettimeofday_ns(), domain, addr, mask)
}
probe qemu.kvm.log.vtd_inv_desc_wait_sw = qemu.kvm.vtd_inv_desc_wait_sw ?
{
    printf("%d@%d vtd_inv_desc_wait_sw wait invalidate status write addr 0x%x data 0x%x\n", pid(), gettimeofday_ns(), addr, data)
}
probe qemu.kvm.log.vtd_inv_desc_wait_irq = qemu.kvm.vtd_inv_desc_wait_irq ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d vtd_inv_desc_wait_irq %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.vtd_inv_desc_wait_write_fail = qemu.kvm.vtd_inv_desc_wait_write_fail ?
{
    printf("%d@%d vtd_inv_desc_wait_write_fail write fail for wait desc hi 0x%x lo 0x%x\n", pid(), gettimeofday_ns(), hi, lo)
}
probe qemu.kvm.log.vtd_inv_desc_iec = qemu.kvm.vtd_inv_desc_iec ?
{
    printf("%d@%d vtd_inv_desc_iec granularity 0x%x index 0x%x mask 0x%x\n", pid(), gettimeofday_ns(), granularity, index, mask)
}
probe qemu.kvm.log.vtd_inv_qi_enable = qemu.kvm.vtd_inv_qi_enable ?
{
    printf("%d@%d vtd_inv_qi_enable enabled %d\n", pid(), gettimeofday_ns(), enable)
}
probe qemu.kvm.log.vtd_inv_qi_setup = qemu.kvm.vtd_inv_qi_setup ?
{
    printf("%d@%d vtd_inv_qi_setup addr 0x%x size %d\n", pid(), gettimeofday_ns(), addr, size)
}
probe qemu.kvm.log.vtd_inv_qi_head = qemu.kvm.vtd_inv_qi_head ?
{
    printf("%d@%d vtd_inv_qi_head read head %d\n", pid(), gettimeofday_ns(), head)
}
probe qemu.kvm.log.vtd_inv_qi_tail = qemu.kvm.vtd_inv_qi_tail ?
{
    printf("%d@%d vtd_inv_qi_tail write tail %d\n", pid(), gettimeofday_ns(), head)
}
probe qemu.kvm.log.vtd_inv_qi_fetch = qemu.kvm.vtd_inv_qi_fetch ?
{
    printf("%d@%d vtd_inv_qi_fetch \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vtd_context_cache_reset = qemu.kvm.vtd_context_cache_reset ?
{
    printf("%d@%d vtd_context_cache_reset \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vtd_re_not_present = qemu.kvm.vtd_re_not_present ?
{
    printf("%d@%d vtd_re_not_present Root entry bus %u not present\n", pid(), gettimeofday_ns(), bus)
}
probe qemu.kvm.log.vtd_ce_not_present = qemu.kvm.vtd_ce_not_present ?
{
    printf("%d@%d vtd_ce_not_present Context entry bus %u devfn %u not present\n", pid(), gettimeofday_ns(), bus, devfn)
}
probe qemu.kvm.log.vtd_iotlb_page_hit = qemu.kvm.vtd_iotlb_page_hit ?
{
    printf("%d@%d vtd_iotlb_page_hit IOTLB page hit sid 0x%x iova 0x%x slpte 0x%x domain 0x%x\n", pid(), gettimeofday_ns(), sid, addr, slpte, domain)
}
probe qemu.kvm.log.vtd_iotlb_page_update = qemu.kvm.vtd_iotlb_page_update ?
{
    printf("%d@%d vtd_iotlb_page_update IOTLB page update sid 0x%x iova 0x%x slpte 0x%x domain 0x%x\n", pid(), gettimeofday_ns(), sid, addr, slpte, domain)
}
probe qemu.kvm.log.vtd_iotlb_cc_hit = qemu.kvm.vtd_iotlb_cc_hit ?
{
    printf("%d@%d vtd_iotlb_cc_hit IOTLB context hit bus 0x%x devfn 0x%x high 0x%x low 0x%x gen %x\n", pid(), gettimeofday_ns(), bus, devfn, high, low, gen)
}
probe qemu.kvm.log.vtd_iotlb_cc_update = qemu.kvm.vtd_iotlb_cc_update ?
{
    printf("%d@%d vtd_iotlb_cc_update IOTLB context update bus 0x%x devfn 0x%x high 0x%x low 0x%x gen %x -> gen %x\n", pid(), gettimeofday_ns(), bus, devfn, high, low, gen1, gen2)
}
probe qemu.kvm.log.vtd_iotlb_reset = qemu.kvm.vtd_iotlb_reset ?
{
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d vtd_iotlb_reset IOTLB reset (reason: %s)\n", pid(), gettimeofday_ns(), argreason_str)
}
probe qemu.kvm.log.vtd_fault_disabled = qemu.kvm.vtd_fault_disabled ?
{
    printf("%d@%d vtd_fault_disabled Fault processing disabled for context entry\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vtd_replay_ce_valid = qemu.kvm.vtd_replay_ce_valid ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    printf("%d@%d vtd_replay_ce_valid %s: replay valid context device %02x:%02x.%02x domain 0x%x hi 0x%x lo 0x%x\n", pid(), gettimeofday_ns(), argmode_str, bus, dev, fn, domain, hi, lo)
}
probe qemu.kvm.log.vtd_replay_ce_invalid = qemu.kvm.vtd_replay_ce_invalid ?
{
    printf("%d@%d vtd_replay_ce_invalid replay invalid context device %02x:%02x.%02x\n", pid(), gettimeofday_ns(), bus, dev, fn)
}
probe qemu.kvm.log.vtd_page_walk_level = qemu.kvm.vtd_page_walk_level ?
{
    printf("%d@%d vtd_page_walk_level walk (base=0x%x, level=%x) iova range 0x%x - 0x%x\n", pid(), gettimeofday_ns(), addr, level, start, end)
}
probe qemu.kvm.log.vtd_page_walk_one = qemu.kvm.vtd_page_walk_one ?
{
    printf("%d@%d vtd_page_walk_one domain 0x%u iova 0x%u -> gpa 0x%u mask 0x%u perm %d\n", pid(), gettimeofday_ns(), domain, iova, gpa, mask, perm)
}
probe qemu.kvm.log.vtd_page_walk_one_skip_map = qemu.kvm.vtd_page_walk_one_skip_map ?
{
    printf("%d@%d vtd_page_walk_one_skip_map iova 0x%x mask 0x%x translated 0x%x\n", pid(), gettimeofday_ns(), iova, mask, translated)
}
probe qemu.kvm.log.vtd_page_walk_one_skip_unmap = qemu.kvm.vtd_page_walk_one_skip_unmap ?
{
    printf("%d@%d vtd_page_walk_one_skip_unmap iova 0x%x mask 0x%x\n", pid(), gettimeofday_ns(), iova, mask)
}
probe qemu.kvm.log.vtd_page_walk_skip_read = qemu.kvm.vtd_page_walk_skip_read ?
{
    printf("%d@%d vtd_page_walk_skip_read Page walk skip iova 0x%x - 0x%x due to unable to read\n", pid(), gettimeofday_ns(), iova, next_)
}
probe qemu.kvm.log.vtd_page_walk_skip_reserve = qemu.kvm.vtd_page_walk_skip_reserve ?
{
    printf("%d@%d vtd_page_walk_skip_reserve Page walk skip iova 0x%x - 0x%x due to rsrv set\n", pid(), gettimeofday_ns(), iova, next_)
}
probe qemu.kvm.log.vtd_switch_address_space = qemu.kvm.vtd_switch_address_space ?
{
    printf("%d@%d vtd_switch_address_space Device %02x:%02x.%x switching address space (iommu enabled=%d)\n", pid(), gettimeofday_ns(), bus, slot, fn, on)
}
probe qemu.kvm.log.vtd_as_unmap_whole = qemu.kvm.vtd_as_unmap_whole ?
{
    printf("%d@%d vtd_as_unmap_whole Device %02x:%02x.%x start 0x%x size 0x%x\n", pid(), gettimeofday_ns(), bus, slot, fn, iova, size)
}
probe qemu.kvm.log.vtd_translate_pt = qemu.kvm.vtd_translate_pt ?
{
    printf("%d@%d vtd_translate_pt source id 0x%u, iova 0x%u\n", pid(), gettimeofday_ns(), sid, addr)
}
probe qemu.kvm.log.vtd_pt_enable_fast_path = qemu.kvm.vtd_pt_enable_fast_path ?
{
    printf("%d@%d vtd_pt_enable_fast_path sid 0x%u %d\n", pid(), gettimeofday_ns(), sid, success)
}
probe qemu.kvm.log.vtd_irq_generate = qemu.kvm.vtd_irq_generate ?
{
    printf("%d@%d vtd_irq_generate addr 0x%x data 0x%x\n", pid(), gettimeofday_ns(), addr, data)
}
probe qemu.kvm.log.vtd_reg_read = qemu.kvm.vtd_reg_read ?
{
    printf("%d@%d vtd_reg_read addr 0x%x size 0x%x\n", pid(), gettimeofday_ns(), addr, size)
}
probe qemu.kvm.log.vtd_reg_write = qemu.kvm.vtd_reg_write ?
{
    printf("%d@%d vtd_reg_write addr 0x%x size 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, size, val)
}
probe qemu.kvm.log.vtd_reg_dmar_root = qemu.kvm.vtd_reg_dmar_root ?
{
    printf("%d@%d vtd_reg_dmar_root addr 0x%x scalable %d\n", pid(), gettimeofday_ns(), addr, scalable)
}
probe qemu.kvm.log.vtd_reg_ir_root = qemu.kvm.vtd_reg_ir_root ?
{
    printf("%d@%d vtd_reg_ir_root addr 0x%x size 0x%x\n", pid(), gettimeofday_ns(), addr, size)
}
probe qemu.kvm.log.vtd_reg_write_gcmd = qemu.kvm.vtd_reg_write_gcmd ?
{
    printf("%d@%d vtd_reg_write_gcmd status 0x%x value 0x%x\n", pid(), gettimeofday_ns(), status, val)
}
probe qemu.kvm.log.vtd_reg_write_fectl = qemu.kvm.vtd_reg_write_fectl ?
{
    printf("%d@%d vtd_reg_write_fectl value 0x%x\n", pid(), gettimeofday_ns(), value)
}
probe qemu.kvm.log.vtd_reg_write_iectl = qemu.kvm.vtd_reg_write_iectl ?
{
    printf("%d@%d vtd_reg_write_iectl value 0x%x\n", pid(), gettimeofday_ns(), value)
}
probe qemu.kvm.log.vtd_reg_ics_clear_ip = qemu.kvm.vtd_reg_ics_clear_ip ?
{
    printf("%d@%d vtd_reg_ics_clear_ip \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vtd_dmar_translate = qemu.kvm.vtd_dmar_translate ?
{
    printf("%d@%d vtd_dmar_translate dev %02x:%02x.%02x iova 0x%x -> gpa 0x%x mask 0x%x\n", pid(), gettimeofday_ns(), bus, slot, func, iova, gpa, mask)
}
probe qemu.kvm.log.vtd_dmar_enable = qemu.kvm.vtd_dmar_enable ?
{
    printf("%d@%d vtd_dmar_enable enable %d\n", pid(), gettimeofday_ns(), en)
}
probe qemu.kvm.log.vtd_dmar_fault = qemu.kvm.vtd_dmar_fault ?
{
    printf("%d@%d vtd_dmar_fault sid 0x%x fault %d addr 0x%x write %d\n", pid(), gettimeofday_ns(), sid, fault, addr, is_write)
}
probe qemu.kvm.log.vtd_ir_enable = qemu.kvm.vtd_ir_enable ?
{
    printf("%d@%d vtd_ir_enable enable %d\n", pid(), gettimeofday_ns(), en)
}
probe qemu.kvm.log.vtd_ir_irte_get = qemu.kvm.vtd_ir_irte_get ?
{
    printf("%d@%d vtd_ir_irte_get index %d low 0x%x high 0x%x\n", pid(), gettimeofday_ns(), index, lo, hi)
}
probe qemu.kvm.log.vtd_ir_remap = qemu.kvm.vtd_ir_remap ?
{
    printf("%d@%d vtd_ir_remap index %d trigger %d vector %d deliver %d dest 0x%x mode %d\n", pid(), gettimeofday_ns(), index, tri, vec, deliver, dest, dest_mode)
}
probe qemu.kvm.log.vtd_ir_remap_type = qemu.kvm.vtd_ir_remap_type ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d vtd_ir_remap_type %s\n", pid(), gettimeofday_ns(), argtype_str)
}
probe qemu.kvm.log.vtd_ir_remap_msi = qemu.kvm.vtd_ir_remap_msi ?
{
    printf("%d@%d vtd_ir_remap_msi (addr 0x%x, data 0x%x) -> (addr 0x%x, data 0x%x)\n", pid(), gettimeofday_ns(), addr, data, addr2, data2)
}
probe qemu.kvm.log.vtd_ir_remap_msi_req = qemu.kvm.vtd_ir_remap_msi_req ?
{
    printf("%d@%d vtd_ir_remap_msi_req addr 0x%x data 0x%x\n", pid(), gettimeofday_ns(), addr, data)
}
probe qemu.kvm.log.vtd_fsts_ppf = qemu.kvm.vtd_fsts_ppf ?
{
    printf("%d@%d vtd_fsts_ppf FSTS PPF bit set to %d\n", pid(), gettimeofday_ns(), set)
}
probe qemu.kvm.log.vtd_fsts_clear_ip = qemu.kvm.vtd_fsts_clear_ip ?
{
    printf("%d@%d vtd_fsts_clear_ip \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vtd_frr_new = qemu.kvm.vtd_frr_new ?
{
    printf("%d@%d vtd_frr_new index %d high 0x%x low 0x%x\n", pid(), gettimeofday_ns(), index, hi, lo)
}
probe qemu.kvm.log.vtd_warn_invalid_qi_tail = qemu.kvm.vtd_warn_invalid_qi_tail ?
{
    printf("%d@%d vtd_warn_invalid_qi_tail tail 0x%x\n", pid(), gettimeofday_ns(), tail)
}
probe qemu.kvm.log.vtd_warn_ir_vector = qemu.kvm.vtd_warn_ir_vector ?
{
    printf("%d@%d vtd_warn_ir_vector sid 0x%x index %d vec %d (should be: %d)\n", pid(), gettimeofday_ns(), sid, index, vec, target)
}
probe qemu.kvm.log.vtd_warn_ir_trigger = qemu.kvm.vtd_warn_ir_trigger ?
{
    printf("%d@%d vtd_warn_ir_trigger sid 0x%x index %d trigger %d (should be: %d)\n", pid(), gettimeofday_ns(), sid, index, trig, target)
}
probe qemu.kvm.log.amdvi_evntlog_fail = qemu.kvm.amdvi_evntlog_fail ?
{
    printf("%d@%d amdvi_evntlog_fail error: fail to write at addr 0x%x +  offset 0x%x\n", pid(), gettimeofday_ns(), addr, head)
}
probe qemu.kvm.log.amdvi_cache_update = qemu.kvm.amdvi_cache_update ?
{
    printf("%d@%d amdvi_cache_update  update iotlb domid 0x%x devid: %02x:%02x.%x gpa 0x%x hpa 0x%x\n", pid(), gettimeofday_ns(), domid, bus, slot, func, gpa, txaddr)
}
probe qemu.kvm.log.amdvi_completion_wait_fail = qemu.kvm.amdvi_completion_wait_fail ?
{
    printf("%d@%d amdvi_completion_wait_fail error: fail to write at address 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.amdvi_mmio_write = qemu.kvm.amdvi_mmio_write ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d amdvi_mmio_write %s write addr 0x%x, size %u, val 0x%x, offset 0x%x\n", pid(), gettimeofday_ns(), argreg_str, addr, size, val, offset)
}
probe qemu.kvm.log.amdvi_mmio_read = qemu.kvm.amdvi_mmio_read ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d amdvi_mmio_read %s read addr 0x%x, size %u offset 0x%x\n", pid(), gettimeofday_ns(), argreg_str, addr, size, offset)
}
probe qemu.kvm.log.amdvi_mmio_read_invalid = qemu.kvm.amdvi_mmio_read_invalid ?
{
    printf("%d@%d amdvi_mmio_read_invalid error: addr outside region (max 0x%x): read addr 0x%x, size %u\n", pid(), gettimeofday_ns(), max, addr, size)
}
probe qemu.kvm.log.amdvi_command_error = qemu.kvm.amdvi_command_error ?
{
    printf("%d@%d amdvi_command_error error: Executing commands with command buffer disabled 0x%x\n", pid(), gettimeofday_ns(), status)
}
probe qemu.kvm.log.amdvi_command_read_fail = qemu.kvm.amdvi_command_read_fail ?
{
    printf("%d@%d amdvi_command_read_fail error: fail to access memory at 0x%x + 0x%x\n", pid(), gettimeofday_ns(), addr, head)
}
probe qemu.kvm.log.amdvi_command_exec = qemu.kvm.amdvi_command_exec ?
{
    printf("%d@%d amdvi_command_exec command buffer head at 0x%x command buffer tail at 0x%x command buffer base at 0x%x\n", pid(), gettimeofday_ns(), head, tail, buf)
}
probe qemu.kvm.log.amdvi_unhandled_command = qemu.kvm.amdvi_unhandled_command ?
{
    printf("%d@%d amdvi_unhandled_command unhandled command 0x%x\n", pid(), gettimeofday_ns(), type)
}
probe qemu.kvm.log.amdvi_intr_inval = qemu.kvm.amdvi_intr_inval ?
{
    printf("%d@%d amdvi_intr_inval Interrupt table invalidated\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.amdvi_iotlb_inval = qemu.kvm.amdvi_iotlb_inval ?
{
    printf("%d@%d amdvi_iotlb_inval IOTLB pages invalidated\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.amdvi_prefetch_pages = qemu.kvm.amdvi_prefetch_pages ?
{
    printf("%d@%d amdvi_prefetch_pages Pre-fetch of AMD-Vi pages requested\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.amdvi_pages_inval = qemu.kvm.amdvi_pages_inval ?
{
    printf("%d@%d amdvi_pages_inval AMD-Vi pages for domain 0x%x invalidated\n", pid(), gettimeofday_ns(), domid)
}
probe qemu.kvm.log.amdvi_all_inval = qemu.kvm.amdvi_all_inval ?
{
    printf("%d@%d amdvi_all_inval Invalidation of all AMD-Vi cache requested \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.amdvi_ppr_exec = qemu.kvm.amdvi_ppr_exec ?
{
    printf("%d@%d amdvi_ppr_exec Execution of PPR queue requested \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.amdvi_devtab_inval = qemu.kvm.amdvi_devtab_inval ?
{
    printf("%d@%d amdvi_devtab_inval device table entry for devid: %02x:%02x.%x invalidated\n", pid(), gettimeofday_ns(), bus, slot, func)
}
probe qemu.kvm.log.amdvi_completion_wait = qemu.kvm.amdvi_completion_wait ?
{
    printf("%d@%d amdvi_completion_wait completion wait requested with store address 0x%x and store data 0x%x\n", pid(), gettimeofday_ns(), addr, data)
}
probe qemu.kvm.log.amdvi_control_status = qemu.kvm.amdvi_control_status ?
{
    printf("%d@%d amdvi_control_status MMIO_STATUS state 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.amdvi_iotlb_reset = qemu.kvm.amdvi_iotlb_reset ?
{
    printf("%d@%d amdvi_iotlb_reset IOTLB exceed size limit - reset \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.amdvi_dte_get_fail = qemu.kvm.amdvi_dte_get_fail ?
{
    printf("%d@%d amdvi_dte_get_fail error: failed to access Device Entry devtab 0x%x offset 0x%x\n", pid(), gettimeofday_ns(), addr, offset)
}
probe qemu.kvm.log.amdvi_invalid_dte = qemu.kvm.amdvi_invalid_dte ?
{
    printf("%d@%d amdvi_invalid_dte PTE entry at 0x%x is invalid \n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.amdvi_get_pte_hwerror = qemu.kvm.amdvi_get_pte_hwerror ?
{
    printf("%d@%d amdvi_get_pte_hwerror hardware error eccessing PTE at addr 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.amdvi_mode_invalid = qemu.kvm.amdvi_mode_invalid ?
{
    printf("%d@%d amdvi_mode_invalid error: translation level 0x%x translating addr 0x%x\n", pid(), gettimeofday_ns(), level, addr)
}
probe qemu.kvm.log.amdvi_page_fault = qemu.kvm.amdvi_page_fault ?
{
    printf("%d@%d amdvi_page_fault error: page fault accessing guest physical address 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.amdvi_iotlb_hit = qemu.kvm.amdvi_iotlb_hit ?
{
    printf("%d@%d amdvi_iotlb_hit hit iotlb devid %02x:%02x.%x gpa 0x%x hpa 0x%x\n", pid(), gettimeofday_ns(), bus, slot, func, addr, txaddr)
}
probe qemu.kvm.log.amdvi_translation_result = qemu.kvm.amdvi_translation_result ?
{
    printf("%d@%d amdvi_translation_result devid: %02x:%02x.%x gpa 0x%x hpa 0x%x\n", pid(), gettimeofday_ns(), bus, slot, func, addr, txaddr)
}
probe qemu.kvm.log.amdvi_mem_ir_write_req = qemu.kvm.amdvi_mem_ir_write_req ?
{
    printf("%d@%d amdvi_mem_ir_write_req addr 0x%x data 0x%x size 0x%x\n", pid(), gettimeofday_ns(), addr, val, size)
}
probe qemu.kvm.log.amdvi_mem_ir_write = qemu.kvm.amdvi_mem_ir_write ?
{
    printf("%d@%d amdvi_mem_ir_write addr 0x%x data 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.amdvi_ir_remap_msi_req = qemu.kvm.amdvi_ir_remap_msi_req ?
{
    printf("%d@%d amdvi_ir_remap_msi_req addr 0x%x data 0x%x devid 0x%x\n", pid(), gettimeofday_ns(), addr, data, devid)
}
probe qemu.kvm.log.amdvi_ir_remap_msi = qemu.kvm.amdvi_ir_remap_msi ?
{
    printf("%d@%d amdvi_ir_remap_msi (addr 0x%x, data 0x%x) -> (addr 0x%x, data 0x%x)\n", pid(), gettimeofday_ns(), addr, data, addr2, data2)
}
probe qemu.kvm.log.amdvi_err = qemu.kvm.amdvi_err ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d amdvi_err %s\n", pid(), gettimeofday_ns(), argstr_str)
}
probe qemu.kvm.log.amdvi_ir_irte = qemu.kvm.amdvi_ir_irte ?
{
    printf("%d@%d amdvi_ir_irte addr 0x%x offset 0x%x\n", pid(), gettimeofday_ns(), addr, data)
}
probe qemu.kvm.log.amdvi_ir_irte_val = qemu.kvm.amdvi_ir_irte_val ?
{
    printf("%d@%d amdvi_ir_irte_val data 0x%x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.amdvi_ir_err = qemu.kvm.amdvi_ir_err ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d amdvi_ir_err %s\n", pid(), gettimeofday_ns(), argstr_str)
}
probe qemu.kvm.log.amdvi_ir_intctl = qemu.kvm.amdvi_ir_intctl ?
{
    printf("%d@%d amdvi_ir_intctl int_ctl 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.amdvi_ir_target_abort = qemu.kvm.amdvi_ir_target_abort ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d amdvi_ir_target_abort %s\n", pid(), gettimeofday_ns(), argstr_str)
}
probe qemu.kvm.log.amdvi_ir_delivery_mode = qemu.kvm.amdvi_ir_delivery_mode ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d amdvi_ir_delivery_mode %s\n", pid(), gettimeofday_ns(), argstr_str)
}
probe qemu.kvm.log.amdvi_ir_irte_ga_val = qemu.kvm.amdvi_ir_irte_ga_val ?
{
    printf("%d@%d amdvi_ir_irte_ga_val hi 0x%x lo 0x%x\n", pid(), gettimeofday_ns(), hi, lo)
}
probe qemu.kvm.log.vmport_register = qemu.kvm.vmport_register ?
{
    printf("%d@%d vmport_register command: 0x%02x func: %p opaque: %p\n", pid(), gettimeofday_ns(), command, func, opaque)
}
probe qemu.kvm.log.vmport_command = qemu.kvm.vmport_command ?
{
    printf("%d@%d vmport_command command: 0x%02x\n", pid(), gettimeofday_ns(), command)
}
probe qemu.kvm.log.xen_platform_log = qemu.kvm.xen_platform_log ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_platform_log xen platform: %s\n", pid(), gettimeofday_ns(), args_str)
}
probe qemu.kvm.log.xen_pv_mmio_read = qemu.kvm.xen_pv_mmio_read ?
{
    printf("%d@%d xen_pv_mmio_read WARNING: read from Xen PV Device MMIO space (address 0x%x)\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.xen_pv_mmio_write = qemu.kvm.xen_pv_mmio_write ?
{
    printf("%d@%d xen_pv_mmio_write WARNING: write to Xen PV Device MMIO space (address 0x%x)\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.xen_ram_alloc = qemu.kvm.xen_ram_alloc ?
{
    printf("%d@%d xen_ram_alloc requested: 0x%lx, size 0x%lx\n", pid(), gettimeofday_ns(), ram_addr, size)
}
probe qemu.kvm.log.xen_client_set_memory = qemu.kvm.xen_client_set_memory ?
{
    printf("%d@%d xen_client_set_memory 0x%x size 0x%lx, log_dirty %i\n", pid(), gettimeofday_ns(), start_addr, size, log_dirty)
}
probe qemu.kvm.log.handle_ioreq = qemu.kvm.handle_ioreq ?
{
    printf("%d@%d handle_ioreq I/O=%p type=%d dir=%d df=%d ptr=%d port=0x%x data=0x%x count=%d size=%d\n", pid(), gettimeofday_ns(), req, type, dir, df, data_is_ptr, addr, data, count, size)
}
probe qemu.kvm.log.handle_ioreq_read = qemu.kvm.handle_ioreq_read ?
{
    printf("%d@%d handle_ioreq_read I/O=%p read type=%d df=%d ptr=%d port=0x%x data=0x%x count=%d size=%d\n", pid(), gettimeofday_ns(), req, type, df, data_is_ptr, addr, data, count, size)
}
probe qemu.kvm.log.handle_ioreq_write = qemu.kvm.handle_ioreq_write ?
{
    printf("%d@%d handle_ioreq_write I/O=%p write type=%d df=%d ptr=%d port=0x%x data=0x%x count=%d size=%d\n", pid(), gettimeofday_ns(), req, type, df, data_is_ptr, addr, data, count, size)
}
probe qemu.kvm.log.cpu_ioreq_pio = qemu.kvm.cpu_ioreq_pio ?
{
    printf("%d@%d cpu_ioreq_pio I/O=%p pio dir=%d df=%d ptr=%d port=0x%x data=0x%x count=%d size=%d\n", pid(), gettimeofday_ns(), req, dir, df, data_is_ptr, addr, data, count, size)
}
probe qemu.kvm.log.cpu_ioreq_pio_read_reg = qemu.kvm.cpu_ioreq_pio_read_reg ?
{
    printf("%d@%d cpu_ioreq_pio_read_reg I/O=%p pio read reg data=0x%x port=0x%x size=%d\n", pid(), gettimeofday_ns(), req, data, addr, size)
}
probe qemu.kvm.log.cpu_ioreq_pio_write_reg = qemu.kvm.cpu_ioreq_pio_write_reg ?
{
    printf("%d@%d cpu_ioreq_pio_write_reg I/O=%p pio write reg data=0x%x port=0x%x size=%d\n", pid(), gettimeofday_ns(), req, data, addr, size)
}
probe qemu.kvm.log.cpu_ioreq_move = qemu.kvm.cpu_ioreq_move ?
{
    printf("%d@%d cpu_ioreq_move I/O=%p copy dir=%d df=%d ptr=%d port=0x%x data=0x%x count=%d size=%d\n", pid(), gettimeofday_ns(), req, dir, df, data_is_ptr, addr, data, count, size)
}
probe qemu.kvm.log.xen_map_resource_ioreq = qemu.kvm.xen_map_resource_ioreq ?
{
    printf("%d@%d xen_map_resource_ioreq id: %u addr: %p\n", pid(), gettimeofday_ns(), id, addr)
}
probe qemu.kvm.log.cpu_ioreq_config_read = qemu.kvm.cpu_ioreq_config_read ?
{
    printf("%d@%d cpu_ioreq_config_read I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x\n", pid(), gettimeofday_ns(), req, sbdf, reg, size, data)
}
probe qemu.kvm.log.cpu_ioreq_config_write = qemu.kvm.cpu_ioreq_config_write ?
{
    printf("%d@%d cpu_ioreq_config_write I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x\n", pid(), gettimeofday_ns(), req, sbdf, reg, size, data)
}
probe qemu.kvm.log.xen_map_cache = qemu.kvm.xen_map_cache ?
{
    printf("%d@%d xen_map_cache want 0x%x\n", pid(), gettimeofday_ns(), phys_addr)
}
probe qemu.kvm.log.xen_remap_bucket = qemu.kvm.xen_remap_bucket ?
{
    printf("%d@%d xen_remap_bucket index 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.xen_map_cache_return = qemu.kvm.xen_map_cache_return ?
{
    printf("%d@%d xen_map_cache_return %p\n", pid(), gettimeofday_ns(), ptr)
}
probe qemu.kvm.log.ide_ioport_read = qemu.kvm.ide_ioport_read ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ide_ioport_read IDE PIO rd @ 0x%x (%s); val 0x%02x; bus %p IDEState %p\n", pid(), gettimeofday_ns(), addr, argreg_str, val, bus, s)
}
probe qemu.kvm.log.ide_ioport_write = qemu.kvm.ide_ioport_write ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ide_ioport_write IDE PIO wr @ 0x%x (%s); val 0x%02x; bus %p IDEState %p\n", pid(), gettimeofday_ns(), addr, argreg_str, val, bus, s)
}
probe qemu.kvm.log.ide_status_read = qemu.kvm.ide_status_read ?
{
    printf("%d@%d ide_status_read IDE PIO rd @ 0x%x (Alt Status); val 0x%02x; bus %p; IDEState %p\n", pid(), gettimeofday_ns(), addr, val, bus, s)
}
probe qemu.kvm.log.ide_cmd_write = qemu.kvm.ide_cmd_write ?
{
    printf("%d@%d ide_cmd_write IDE PIO wr @ 0x%x (Device Control); val 0x%02x; bus %p\n", pid(), gettimeofday_ns(), addr, val, bus)
}
probe qemu.kvm.log.ide_data_readw = qemu.kvm.ide_data_readw ?
{
    printf("%d@%d ide_data_readw IDE PIO rd @ 0x%x (Data: Word); val 0x%04x; bus %p; IDEState %p\n", pid(), gettimeofday_ns(), addr, val, bus, s)
}
probe qemu.kvm.log.ide_data_writew = qemu.kvm.ide_data_writew ?
{
    printf("%d@%d ide_data_writew IDE PIO wr @ 0x%x (Data: Word); val 0x%04x; bus %p; IDEState %p\n", pid(), gettimeofday_ns(), addr, val, bus, s)
}
probe qemu.kvm.log.ide_data_readl = qemu.kvm.ide_data_readl ?
{
    printf("%d@%d ide_data_readl IDE PIO rd @ 0x%x (Data: Long); val 0x%08x; bus %p; IDEState %p\n", pid(), gettimeofday_ns(), addr, val, bus, s)
}
probe qemu.kvm.log.ide_data_writel = qemu.kvm.ide_data_writel ?
{
    printf("%d@%d ide_data_writel IDE PIO wr @ 0x%x (Data: Long); val 0x%08x; bus %p; IDEState %p\n", pid(), gettimeofday_ns(), addr, val, bus, s)
}
probe qemu.kvm.log.ide_exec_cmd = qemu.kvm.ide_exec_cmd ?
{
    printf("%d@%d ide_exec_cmd IDE exec cmd: bus %p; state %p; cmd 0x%02x\n", pid(), gettimeofday_ns(), bus, state, cmd)
}
probe qemu.kvm.log.ide_cancel_dma_sync_buffered = qemu.kvm.ide_cancel_dma_sync_buffered ?
{
    printf("%d@%d ide_cancel_dma_sync_buffered invoking cb %p of buffered request %p with -ECANCELED\n", pid(), gettimeofday_ns(), fn, req)
}
probe qemu.kvm.log.ide_cancel_dma_sync_remaining = qemu.kvm.ide_cancel_dma_sync_remaining ?
{
    printf("%d@%d ide_cancel_dma_sync_remaining draining all remaining requests\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ide_sector_read = qemu.kvm.ide_sector_read ?
{
    printf("%d@%d ide_sector_read sector=%d nsectors=%d\n", pid(), gettimeofday_ns(), sector_num, nsectors)
}
probe qemu.kvm.log.ide_sector_write = qemu.kvm.ide_sector_write ?
{
    printf("%d@%d ide_sector_write sector=%d nsectors=%d\n", pid(), gettimeofday_ns(), sector_num, nsectors)
}
probe qemu.kvm.log.ide_reset = qemu.kvm.ide_reset ?
{
    printf("%d@%d ide_reset IDEstate %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.ide_bus_reset_aio = qemu.kvm.ide_bus_reset_aio ?
{
    printf("%d@%d ide_bus_reset_aio aio_cancel\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ide_dma_cb = qemu.kvm.ide_dma_cb ?
{
    try {
        argdma_str = dma ? user_string_n(dma, 512) : "<null>"
    } catch {}
    printf("%d@%d ide_dma_cb IDEState %p; sector_num=%d n=%d cmd=%s\n", pid(), gettimeofday_ns(), s, sector_num, n, argdma_str)
}
probe qemu.kvm.log.bmdma_read_cmd646 = qemu.kvm.bmdma_read_cmd646 ?
{
    printf("%d@%d bmdma_read_cmd646 bmdma: readb 0x%x : 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.bmdma_write_cmd646 = qemu.kvm.bmdma_write_cmd646 ?
{
    printf("%d@%d bmdma_write_cmd646 bmdma: writeb 0x%x : 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.bmdma_reset = qemu.kvm.bmdma_reset ?
{
    printf("%d@%d bmdma_reset \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.bmdma_cmd_writeb = qemu.kvm.bmdma_cmd_writeb ?
{
    printf("%d@%d bmdma_cmd_writeb val: 0x%08x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.bmdma_addr_read = qemu.kvm.bmdma_addr_read ?
{
    printf("%d@%d bmdma_addr_read data: 0x%016x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.bmdma_addr_write = qemu.kvm.bmdma_addr_write ?
{
    printf("%d@%d bmdma_addr_write data: 0x%016x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.bmdma_read = qemu.kvm.bmdma_read ?
{
    printf("%d@%d bmdma_read bmdma: readb 0x%x : 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.bmdma_write = qemu.kvm.bmdma_write ?
{
    printf("%d@%d bmdma_write bmdma: writeb 0x%x : 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sii3112_read = qemu.kvm.sii3112_read ?
{
    printf("%d@%d sii3112_read bmdma: read (size %d) 0x%x : 0x%02x\n", pid(), gettimeofday_ns(), size, addr, val)
}
probe qemu.kvm.log.sii3112_write = qemu.kvm.sii3112_write ?
{
    printf("%d@%d sii3112_write bmdma: write (size %d) 0x%x : 0x%02x\n", pid(), gettimeofday_ns(), size, addr, val)
}
probe qemu.kvm.log.sii3112_set_irq = qemu.kvm.sii3112_set_irq ?
{
    printf("%d@%d sii3112_set_irq channel %d level %d\n", pid(), gettimeofday_ns(), channel, level)
}
probe qemu.kvm.log.bmdma_read_via = qemu.kvm.bmdma_read_via ?
{
    printf("%d@%d bmdma_read_via bmdma: readb 0x%x : 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.bmdma_write_via = qemu.kvm.bmdma_write_via ?
{
    printf("%d@%d bmdma_write_via bmdma: writeb 0x%x : 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.cd_read_sector_sync = qemu.kvm.cd_read_sector_sync ?
{
    printf("%d@%d cd_read_sector_sync lba=%d\n", pid(), gettimeofday_ns(), lba)
}
probe qemu.kvm.log.cd_read_sector_cb = qemu.kvm.cd_read_sector_cb ?
{
    printf("%d@%d cd_read_sector_cb lba=%d ret=%d\n", pid(), gettimeofday_ns(), lba, ret)
}
probe qemu.kvm.log.cd_read_sector = qemu.kvm.cd_read_sector ?
{
    printf("%d@%d cd_read_sector lba=%d\n", pid(), gettimeofday_ns(), lba)
}
probe qemu.kvm.log.ide_atapi_cmd_error = qemu.kvm.ide_atapi_cmd_error ?
{
    printf("%d@%d ide_atapi_cmd_error IDEState: %p; sense=0x%x asc=0x%x\n", pid(), gettimeofday_ns(), s, sense_key, asc)
}
probe qemu.kvm.log.ide_atapi_cmd_reply_end = qemu.kvm.ide_atapi_cmd_reply_end ?
{
    printf("%d@%d ide_atapi_cmd_reply_end IDEState %p; reply: tx_size=%d elem_tx_size=%d index=%d\n", pid(), gettimeofday_ns(), s, tx_size, elem_tx_size, index)
}
probe qemu.kvm.log.ide_atapi_cmd_reply_end_eot = qemu.kvm.ide_atapi_cmd_reply_end_eot ?
{
    printf("%d@%d ide_atapi_cmd_reply_end_eot IDEState: %p; end of transfer, status=0x%x\n", pid(), gettimeofday_ns(), s, status)
}
probe qemu.kvm.log.ide_atapi_cmd_reply_end_bcl = qemu.kvm.ide_atapi_cmd_reply_end_bcl ?
{
    printf("%d@%d ide_atapi_cmd_reply_end_bcl IDEState: %p; byte_count_limit=%d\n", pid(), gettimeofday_ns(), s, bcl)
}
probe qemu.kvm.log.ide_atapi_cmd_reply_end_new = qemu.kvm.ide_atapi_cmd_reply_end_new ?
{
    printf("%d@%d ide_atapi_cmd_reply_end_new IDEState: %p; new transfer started, status=0x%x\n", pid(), gettimeofday_ns(), s, status)
}
probe qemu.kvm.log.ide_atapi_cmd_check_status = qemu.kvm.ide_atapi_cmd_check_status ?
{
    printf("%d@%d ide_atapi_cmd_check_status IDEState: %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.ide_atapi_cmd_read = qemu.kvm.ide_atapi_cmd_read ?
{
    try {
        argmethod_str = method ? user_string_n(method, 512) : "<null>"
    } catch {}
    printf("%d@%d ide_atapi_cmd_read IDEState: %p; read %s: LBA=%d nb_sectors=%d\n", pid(), gettimeofday_ns(), s, argmethod_str, lba, nb_sectors)
}
probe qemu.kvm.log.ide_atapi_cmd = qemu.kvm.ide_atapi_cmd ?
{
    printf("%d@%d ide_atapi_cmd IDEState: %p; cmd: 0x%02x\n", pid(), gettimeofday_ns(), s, cmd)
}
probe qemu.kvm.log.ide_atapi_cmd_read_dma_cb_aio = qemu.kvm.ide_atapi_cmd_read_dma_cb_aio ?
{
    printf("%d@%d ide_atapi_cmd_read_dma_cb_aio IDEState: %p; aio read: lba=%d n=%d\n", pid(), gettimeofday_ns(), s, lba, n)
}
probe qemu.kvm.log.ide_atapi_cmd_packet = qemu.kvm.ide_atapi_cmd_packet ?
{
    try {
        argpacket_str = packet ? user_string_n(packet, 512) : "<null>"
    } catch {}
    printf("%d@%d ide_atapi_cmd_packet IDEState: %p; limit=0x%x packet: %s\n", pid(), gettimeofday_ns(), s, limit_, argpacket_str)
}
probe qemu.kvm.log.ahci_port_read = qemu.kvm.ahci_port_read ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_port_read ahci(%p)[%d]: port read [reg:%s] @ 0x%x: 0x%08x\n", pid(), gettimeofday_ns(), s, port, argreg_str, offset, ret)
}
probe qemu.kvm.log.ahci_port_read_default = qemu.kvm.ahci_port_read_default ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_port_read_default ahci(%p)[%d]: unimplemented port read [reg:%s] @ 0x%x\n", pid(), gettimeofday_ns(), s, port, argreg_str, offset)
}
probe qemu.kvm.log.ahci_irq_raise = qemu.kvm.ahci_irq_raise ?
{
    printf("%d@%d ahci_irq_raise ahci(%p): raise irq\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.ahci_irq_lower = qemu.kvm.ahci_irq_lower ?
{
    printf("%d@%d ahci_irq_lower ahci(%p): lower irq\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.ahci_check_irq = qemu.kvm.ahci_check_irq ?
{
    printf("%d@%d ahci_check_irq ahci(%p): check irq 0x%08x --> 0x%08x\n", pid(), gettimeofday_ns(), s, old, new)
}
probe qemu.kvm.log.ahci_trigger_irq = qemu.kvm.ahci_trigger_irq ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_trigger_irq ahci(%p)[%d]: trigger irq +%s (0x%08x); irqstat: 0x%08x --> 0x%08x; effective: 0x%08x\n", pid(), gettimeofday_ns(), s, port, argname_str, val, old, new, effective)
}
probe qemu.kvm.log.ahci_port_write = qemu.kvm.ahci_port_write ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_port_write ahci(%p)[%d]: port write [reg:%s] @ 0x%x: 0x%08x\n", pid(), gettimeofday_ns(), s, port, argreg_str, offset, val)
}
probe qemu.kvm.log.ahci_port_write_unimpl = qemu.kvm.ahci_port_write_unimpl ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_port_write_unimpl ahci(%p)[%d]: unimplemented port write [reg:%s] @ 0x%x: 0x%08x\n", pid(), gettimeofday_ns(), s, port, argreg_str, offset, val)
}
probe qemu.kvm.log.ahci_mem_read_32 = qemu.kvm.ahci_mem_read_32 ?
{
    printf("%d@%d ahci_mem_read_32 ahci(%p): mem read @ 0x%x: 0x%08x\n", pid(), gettimeofday_ns(), s, addr, val)
}
probe qemu.kvm.log.ahci_mem_read_32_default = qemu.kvm.ahci_mem_read_32_default ?
{
    printf("%d@%d ahci_mem_read_32_default ahci(%p): mem read @ 0x%x: 0x%08x\n", pid(), gettimeofday_ns(), s, addr, val)
}
probe qemu.kvm.log.ahci_mem_read_32_host = qemu.kvm.ahci_mem_read_32_host ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_mem_read_32_host ahci(%p): mem read [reg:%s] @ 0x%x: 0x%08x\n", pid(), gettimeofday_ns(), s, argreg_str, addr, val)
}
probe qemu.kvm.log.ahci_mem_read_32_host_default = qemu.kvm.ahci_mem_read_32_host_default ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_mem_read_32_host_default ahci(%p): unimplemented mem read [reg:%s] @ 0x%x\n", pid(), gettimeofday_ns(), s, argreg_str, addr)
}
probe qemu.kvm.log.ahci_mem_read = qemu.kvm.ahci_mem_read ?
{
    printf("%d@%d ahci_mem_read ahci(%p): read%u @ 0x%x: 0x%016x\n", pid(), gettimeofday_ns(), s, size, addr, val)
}
probe qemu.kvm.log.ahci_mem_write = qemu.kvm.ahci_mem_write ?
{
    printf("%d@%d ahci_mem_write ahci(%p): write%u @ 0x%x: 0x%016x\n", pid(), gettimeofday_ns(), s, size, addr, val)
}
probe qemu.kvm.log.ahci_mem_write_host_unimpl = qemu.kvm.ahci_mem_write_host_unimpl ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_mem_write_host_unimpl ahci(%p) unimplemented write%u [reg:%s] @ 0x%x\n", pid(), gettimeofday_ns(), s, size, argreg_str, addr)
}
probe qemu.kvm.log.ahci_mem_write_host = qemu.kvm.ahci_mem_write_host ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_mem_write_host ahci(%p) write%u [reg:%s] @ 0x%x: 0x%016x\n", pid(), gettimeofday_ns(), s, size, argreg_str, addr, val)
}
probe qemu.kvm.log.ahci_mem_write_unimpl = qemu.kvm.ahci_mem_write_unimpl ?
{
    printf("%d@%d ahci_mem_write_unimpl ahci(%p): write%u to unknown register 0x%x: 0x%016x\n", pid(), gettimeofday_ns(), s, size, addr, val)
}
probe qemu.kvm.log.ahci_set_signature = qemu.kvm.ahci_set_signature ?
{
    printf("%d@%d ahci_set_signature ahci(%p)[%d]: set signature sector:0x%02x nsector:0x%02x lcyl:0x%02x hcyl:0x%02x (cumulatively: 0x%08x)\n", pid(), gettimeofday_ns(), s, port, nsector, sector, lcyl, hcyl, sig)
}
probe qemu.kvm.log.ahci_reset_port = qemu.kvm.ahci_reset_port ?
{
    printf("%d@%d ahci_reset_port ahci(%p)[%d]: reset port\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.ahci_unmap_fis_address_null = qemu.kvm.ahci_unmap_fis_address_null ?
{
    printf("%d@%d ahci_unmap_fis_address_null ahci(%p)[%d]: Attempt to unmap NULL FIS address\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.ahci_unmap_clb_address_null = qemu.kvm.ahci_unmap_clb_address_null ?
{
    printf("%d@%d ahci_unmap_clb_address_null ahci(%p)[%d]: Attempt to unmap NULL CLB address\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.ahci_populate_sglist = qemu.kvm.ahci_populate_sglist ?
{
    printf("%d@%d ahci_populate_sglist ahci(%p)[%d]\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.ahci_populate_sglist_no_prdtl = qemu.kvm.ahci_populate_sglist_no_prdtl ?
{
    printf("%d@%d ahci_populate_sglist_no_prdtl ahci(%p)[%d]: no sg list given by guest: 0x%04x\n", pid(), gettimeofday_ns(), s, port, opts)
}
probe qemu.kvm.log.ahci_populate_sglist_no_map = qemu.kvm.ahci_populate_sglist_no_map ?
{
    printf("%d@%d ahci_populate_sglist_no_map ahci(%p)[%d]: DMA mapping failed\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.ahci_populate_sglist_short_map = qemu.kvm.ahci_populate_sglist_short_map ?
{
    printf("%d@%d ahci_populate_sglist_short_map ahci(%p)[%d]: mapped less than expected\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.ahci_populate_sglist_bad_offset = qemu.kvm.ahci_populate_sglist_bad_offset ?
{
    printf("%d@%d ahci_populate_sglist_bad_offset ahci(%p)[%d]: Incorrect offset! off_idx: %d, off_pos: %d\n", pid(), gettimeofday_ns(), s, port, off_idx, off_pos)
}
probe qemu.kvm.log.ncq_finish = qemu.kvm.ncq_finish ?
{
    printf("%d@%d ncq_finish ahci(%p)[%d][tag:%d]: NCQ transfer finished\n", pid(), gettimeofday_ns(), s, port, tag)
}
probe qemu.kvm.log.execute_ncq_command_read = qemu.kvm.execute_ncq_command_read ?
{
    printf("%d@%d execute_ncq_command_read ahci(%p)[%d][tag:%d]: NCQ reading %d sectors from LBA %d\n", pid(), gettimeofday_ns(), s, port, tag, count, lba)
}
probe qemu.kvm.log.execute_ncq_command_unsup = qemu.kvm.execute_ncq_command_unsup ?
{
    printf("%d@%d execute_ncq_command_unsup ahci(%p)[%d][tag:%d]: error: unsupported NCQ command (0x%02x) received\n", pid(), gettimeofday_ns(), s, port, tag, cmd)
}
probe qemu.kvm.log.process_ncq_command_mismatch = qemu.kvm.process_ncq_command_mismatch ?
{
    printf("%d@%d process_ncq_command_mismatch ahci(%p)[%d][tag:%d]: Warning: NCQ slot (%d) did not match the given tag\n", pid(), gettimeofday_ns(), s, port, tag, slot)
}
probe qemu.kvm.log.process_ncq_command_aux = qemu.kvm.process_ncq_command_aux ?
{
    printf("%d@%d process_ncq_command_aux ahci(%p)[%d][tag:%d]: Warn: Attempt to use NCQ auxiliary fields\n", pid(), gettimeofday_ns(), s, port, tag)
}
probe qemu.kvm.log.process_ncq_command_prioicc = qemu.kvm.process_ncq_command_prioicc ?
{
    printf("%d@%d process_ncq_command_prioicc ahci(%p)[%d][tag:%d]: Warn: Unsupported attempt to use PRIO/ICC fields\n", pid(), gettimeofday_ns(), s, port, tag)
}
probe qemu.kvm.log.process_ncq_command_fua = qemu.kvm.process_ncq_command_fua ?
{
    printf("%d@%d process_ncq_command_fua ahci(%p)[%d][tag:%d]: Warn: Unsupported attempt to use Force Unit Access\n", pid(), gettimeofday_ns(), s, port, tag)
}
probe qemu.kvm.log.process_ncq_command_rarc = qemu.kvm.process_ncq_command_rarc ?
{
    printf("%d@%d process_ncq_command_rarc ahci(%p)[%d][tag:%d]: Warn: Unsupported attempt to use Rebuild Assist\n", pid(), gettimeofday_ns(), s, port, tag)
}
probe qemu.kvm.log.process_ncq_command_large = qemu.kvm.process_ncq_command_large ?
{
    printf("%d@%d process_ncq_command_large ahci(%p)[%d][tag:%d]: Warn: PRDTL (0x%x) does not match requested size (0x%x)\n", pid(), gettimeofday_ns(), s, port, tag, prdtl, size)
}
probe qemu.kvm.log.process_ncq_command = qemu.kvm.process_ncq_command ?
{
    printf("%d@%d process_ncq_command ahci(%p)[%d][tag:%d]: NCQ op 0x%02x on sectors [%d,%d]\n", pid(), gettimeofday_ns(), s, port, tag, cmd, lba, end)
}
probe qemu.kvm.log.handle_reg_h2d_fis_pmp = qemu.kvm.handle_reg_h2d_fis_pmp ?
{
    printf("%d@%d handle_reg_h2d_fis_pmp ahci(%p)[%d]: Port Multiplier not supported, FIS: 0x%02x-%02x-%02x\n", pid(), gettimeofday_ns(), s, port, b0, b1, b2)
}
probe qemu.kvm.log.handle_reg_h2d_fis_res = qemu.kvm.handle_reg_h2d_fis_res ?
{
    printf("%d@%d handle_reg_h2d_fis_res ahci(%p)[%d]: Reserved flags set in H2D Register FIS, FIS: 0x%02x-%02x-%02x\n", pid(), gettimeofday_ns(), s, port, b0, b1, b2)
}
probe qemu.kvm.log.handle_cmd_busy = qemu.kvm.handle_cmd_busy ?
{
    printf("%d@%d handle_cmd_busy ahci(%p)[%d]: engine busy\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.handle_cmd_nolist = qemu.kvm.handle_cmd_nolist ?
{
    printf("%d@%d handle_cmd_nolist ahci(%p)[%d]: handle_cmd called without s->dev[port].lst\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.handle_cmd_badport = qemu.kvm.handle_cmd_badport ?
{
    printf("%d@%d handle_cmd_badport ahci(%p)[%d]: guest accessed unused port\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.handle_cmd_badfis = qemu.kvm.handle_cmd_badfis ?
{
    printf("%d@%d handle_cmd_badfis ahci(%p)[%d]: guest provided an invalid cmd FIS\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.handle_cmd_badmap = qemu.kvm.handle_cmd_badmap ?
{
    printf("%d@%d handle_cmd_badmap ahci(%p)[%d]: dma_memory_map failed, 0x%02x != 0x80\n", pid(), gettimeofday_ns(), s, port, len)
}
probe qemu.kvm.log.handle_cmd_unhandled_fis = qemu.kvm.handle_cmd_unhandled_fis ?
{
    printf("%d@%d handle_cmd_unhandled_fis ahci(%p)[%d]: unhandled FIS type. cmd_fis: 0x%02x-%02x-%02x\n", pid(), gettimeofday_ns(), s, port, b0, b1, b2)
}
probe qemu.kvm.log.ahci_pio_transfer = qemu.kvm.ahci_pio_transfer ?
{
    try {
        argrw_str = rw ? user_string_n(rw, 512) : "<null>"
    } catch {}
    try {
        argtgt_str = tgt ? user_string_n(tgt, 512) : "<null>"
    } catch {}
    try {
        argsgl_str = sgl ? user_string_n(sgl, 512) : "<null>"
    } catch {}
    printf("%d@%d ahci_pio_transfer ahci(%p)[%d]: %sing %d bytes on %s w/%s sglist\n", pid(), gettimeofday_ns(), s, port, argrw_str, size, argtgt_str, argsgl_str)
}
probe qemu.kvm.log.ahci_start_dma = qemu.kvm.ahci_start_dma ?
{
    printf("%d@%d ahci_start_dma ahci(%p)[%d]: start dma\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.ahci_dma_prepare_buf = qemu.kvm.ahci_dma_prepare_buf ?
{
    printf("%d@%d ahci_dma_prepare_buf ahci(%p)[%d]: prepare buf limit=%d prepared=%d\n", pid(), gettimeofday_ns(), s, port, io_buffer_size, limit_)
}
probe qemu.kvm.log.ahci_dma_prepare_buf_fail = qemu.kvm.ahci_dma_prepare_buf_fail ?
{
    printf("%d@%d ahci_dma_prepare_buf_fail ahci(%p)[%d]: sglist population failed\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.ahci_dma_rw_buf = qemu.kvm.ahci_dma_rw_buf ?
{
    printf("%d@%d ahci_dma_rw_buf ahci(%p)[%d] len=0x%x\n", pid(), gettimeofday_ns(), s, port, l)
}
probe qemu.kvm.log.ahci_cmd_done = qemu.kvm.ahci_cmd_done ?
{
    printf("%d@%d ahci_cmd_done ahci(%p)[%d]: cmd done\n", pid(), gettimeofday_ns(), s, port)
}
probe qemu.kvm.log.ahci_reset = qemu.kvm.ahci_reset ?
{
    printf("%d@%d ahci_reset ahci(%p): HBA reset\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.handle_reg_h2d_fis_dump = qemu.kvm.handle_reg_h2d_fis_dump ?
{
    try {
        argfis_str = fis ? user_string_n(fis, 512) : "<null>"
    } catch {}
    printf("%d@%d handle_reg_h2d_fis_dump ahci(%p)[%d]: %s\n", pid(), gettimeofday_ns(), s, port, argfis_str)
}
probe qemu.kvm.log.handle_cmd_fis_dump = qemu.kvm.handle_cmd_fis_dump ?
{
    try {
        argfis_str = fis ? user_string_n(fis, 512) : "<null>"
    } catch {}
    printf("%d@%d handle_cmd_fis_dump ahci(%p)[%d]: %s\n", pid(), gettimeofday_ns(), s, port, argfis_str)
}
probe qemu.kvm.log.allwinner_ahci_mem_read = qemu.kvm.allwinner_ahci_mem_read ?
{
    printf("%d@%d allwinner_ahci_mem_read ahci(%p): read a=%p addr=0x%x val=0x%x, size=%d\n", pid(), gettimeofday_ns(), s, a, addr, val, size)
}
probe qemu.kvm.log.allwinner_ahci_mem_write = qemu.kvm.allwinner_ahci_mem_write ?
{
    printf("%d@%d allwinner_ahci_mem_write ahci(%p): write a=%p addr=0x%x val=0x%x, size=%d\n", pid(), gettimeofday_ns(), s, a, addr, val, size)
}
probe qemu.kvm.log.adb_kbd_no_key = qemu.kvm.adb_kbd_no_key ?
{
    printf("%d@%d adb_kbd_no_key Ignoring NO_KEY\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.adb_kbd_writereg = qemu.kvm.adb_kbd_writereg ?
{
    printf("%d@%d adb_kbd_writereg reg %d val 0x%2.2x\n", pid(), gettimeofday_ns(), reg, val)
}
probe qemu.kvm.log.adb_kbd_readreg = qemu.kvm.adb_kbd_readreg ?
{
    printf("%d@%d adb_kbd_readreg reg %d obuf[0] 0x%2.2x obuf[1] 0x%2.2x\n", pid(), gettimeofday_ns(), reg, val0, val1)
}
probe qemu.kvm.log.adb_kbd_request_change_addr = qemu.kvm.adb_kbd_request_change_addr ?
{
    printf("%d@%d adb_kbd_request_change_addr change addr to 0x%x\n", pid(), gettimeofday_ns(), devaddr)
}
probe qemu.kvm.log.adb_kbd_request_change_addr_and_handler = qemu.kvm.adb_kbd_request_change_addr_and_handler ?
{
    printf("%d@%d adb_kbd_request_change_addr_and_handler change addr and handler to 0x%x, 0x%x\n", pid(), gettimeofday_ns(), devaddr, handler)
}
probe qemu.kvm.log.adb_mouse_flush = qemu.kvm.adb_mouse_flush ?
{
    printf("%d@%d adb_mouse_flush flush\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.adb_mouse_writereg = qemu.kvm.adb_mouse_writereg ?
{
    printf("%d@%d adb_mouse_writereg reg %d val 0x%2.2x\n", pid(), gettimeofday_ns(), reg, val)
}
probe qemu.kvm.log.adb_mouse_readreg = qemu.kvm.adb_mouse_readreg ?
{
    printf("%d@%d adb_mouse_readreg reg %d obuf[0] 0x%2.2x obuf[1] 0x%2.2x\n", pid(), gettimeofday_ns(), reg, val0, val1)
}
probe qemu.kvm.log.adb_mouse_request_change_addr = qemu.kvm.adb_mouse_request_change_addr ?
{
    printf("%d@%d adb_mouse_request_change_addr change addr to 0x%x\n", pid(), gettimeofday_ns(), devaddr)
}
probe qemu.kvm.log.adb_mouse_request_change_addr_and_handler = qemu.kvm.adb_mouse_request_change_addr_and_handler ?
{
    printf("%d@%d adb_mouse_request_change_addr_and_handler change addr and handler to 0x%x, 0x%x\n", pid(), gettimeofday_ns(), devaddr, handler)
}
probe qemu.kvm.log.pckbd_kbd_read_data = qemu.kvm.pckbd_kbd_read_data ?
{
    printf("%d@%d pckbd_kbd_read_data 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.pckbd_kbd_read_status = qemu.kvm.pckbd_kbd_read_status ?
{
    printf("%d@%d pckbd_kbd_read_status 0x%02x\n", pid(), gettimeofday_ns(), status)
}
probe qemu.kvm.log.pckbd_outport_write = qemu.kvm.pckbd_outport_write ?
{
    printf("%d@%d pckbd_outport_write 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.pckbd_kbd_write_command = qemu.kvm.pckbd_kbd_write_command ?
{
    printf("%d@%d pckbd_kbd_write_command 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.pckbd_kbd_write_data = qemu.kvm.pckbd_kbd_write_data ?
{
    printf("%d@%d pckbd_kbd_write_data 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.ps2_put_keycode = qemu.kvm.ps2_put_keycode ?
{
    printf("%d@%d ps2_put_keycode %p keycode 0x%02x\n", pid(), gettimeofday_ns(), opaque, keycode)
}
probe qemu.kvm.log.ps2_keyboard_event = qemu.kvm.ps2_keyboard_event ?
{
    printf("%d@%d ps2_keyboard_event %p qcode %d down %d modifier 0x%x modifiers 0x%x\n", pid(), gettimeofday_ns(), opaque, qcode, down, modifier, modifiers)
}
probe qemu.kvm.log.ps2_read_data = qemu.kvm.ps2_read_data ?
{
    printf("%d@%d ps2_read_data %p\n", pid(), gettimeofday_ns(), opaque)
}
probe qemu.kvm.log.ps2_set_ledstate = qemu.kvm.ps2_set_ledstate ?
{
    printf("%d@%d ps2_set_ledstate %p ledstate %d\n", pid(), gettimeofday_ns(), s, ledstate)
}
probe qemu.kvm.log.ps2_reset_keyboard = qemu.kvm.ps2_reset_keyboard ?
{
    printf("%d@%d ps2_reset_keyboard %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.ps2_write_keyboard = qemu.kvm.ps2_write_keyboard ?
{
    printf("%d@%d ps2_write_keyboard %p val %d\n", pid(), gettimeofday_ns(), opaque, val)
}
probe qemu.kvm.log.ps2_keyboard_set_translation = qemu.kvm.ps2_keyboard_set_translation ?
{
    printf("%d@%d ps2_keyboard_set_translation %p mode %d\n", pid(), gettimeofday_ns(), opaque, mode)
}
probe qemu.kvm.log.ps2_mouse_send_packet = qemu.kvm.ps2_mouse_send_packet ?
{
    printf("%d@%d ps2_mouse_send_packet %p x %d y %d z %d bs 0x%x\n", pid(), gettimeofday_ns(), s, dx1, dy1, dz1, b)
}
probe qemu.kvm.log.ps2_mouse_fake_event = qemu.kvm.ps2_mouse_fake_event ?
{
    printf("%d@%d ps2_mouse_fake_event %p\n", pid(), gettimeofday_ns(), opaque)
}
probe qemu.kvm.log.ps2_write_mouse = qemu.kvm.ps2_write_mouse ?
{
    printf("%d@%d ps2_write_mouse %p val %d\n", pid(), gettimeofday_ns(), opaque, val)
}
probe qemu.kvm.log.ps2_kbd_reset = qemu.kvm.ps2_kbd_reset ?
{
    printf("%d@%d ps2_kbd_reset %p\n", pid(), gettimeofday_ns(), opaque)
}
probe qemu.kvm.log.ps2_mouse_reset = qemu.kvm.ps2_mouse_reset ?
{
    printf("%d@%d ps2_mouse_reset %p\n", pid(), gettimeofday_ns(), opaque)
}
probe qemu.kvm.log.ps2_kbd_init = qemu.kvm.ps2_kbd_init ?
{
    printf("%d@%d ps2_kbd_init %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.ps2_mouse_init = qemu.kvm.ps2_mouse_init ?
{
    printf("%d@%d ps2_mouse_init %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.milkymist_softusb_memory_read = qemu.kvm.milkymist_softusb_memory_read ?
{
    printf("%d@%d milkymist_softusb_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_softusb_memory_write = qemu.kvm.milkymist_softusb_memory_write ?
{
    printf("%d@%d milkymist_softusb_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_softusb_mevt = qemu.kvm.milkymist_softusb_mevt ?
{
    printf("%d@%d milkymist_softusb_mevt m %d\n", pid(), gettimeofday_ns(), m)
}
probe qemu.kvm.log.milkymist_softusb_kevt = qemu.kvm.milkymist_softusb_kevt ?
{
    printf("%d@%d milkymist_softusb_kevt m %d\n", pid(), gettimeofday_ns(), m)
}
probe qemu.kvm.log.milkymist_softusb_pulse_irq = qemu.kvm.milkymist_softusb_pulse_irq ?
{
    printf("%d@%d milkymist_softusb_pulse_irq Pulse IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.hid_kbd_queue_full = qemu.kvm.hid_kbd_queue_full ?
{
    printf("%d@%d hid_kbd_queue_full queue full\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.hid_kbd_queue_empty = qemu.kvm.hid_kbd_queue_empty ?
{
    printf("%d@%d hid_kbd_queue_empty queue empty\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tsc2005_sense = qemu.kvm.tsc2005_sense ?
{
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d tsc2005_sense touchscreen sense %s\n", pid(), gettimeofday_ns(), argstate_str)
}
probe qemu.kvm.log.virtio_input_queue_full = qemu.kvm.virtio_input_queue_full ?
{
    printf("%d@%d virtio_input_queue_full queue full\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pic_update_irq = qemu.kvm.pic_update_irq ?
{
    printf("%d@%d pic_update_irq master %d imr %u irr %u padd %u\n", pid(), gettimeofday_ns(), master, imr, irr, padd)
}
probe qemu.kvm.log.pic_set_irq = qemu.kvm.pic_set_irq ?
{
    printf("%d@%d pic_set_irq master %d irq %d level %d\n", pid(), gettimeofday_ns(), master, irq, level)
}
probe qemu.kvm.log.pic_interrupt = qemu.kvm.pic_interrupt ?
{
    printf("%d@%d pic_interrupt irq %d intno %d\n", pid(), gettimeofday_ns(), irq, intno)
}
probe qemu.kvm.log.pic_ioport_write = qemu.kvm.pic_ioport_write ?
{
    printf("%d@%d pic_ioport_write master %d addr 0x%x val 0x%x\n", pid(), gettimeofday_ns(), master, addr, val)
}
probe qemu.kvm.log.pic_ioport_read = qemu.kvm.pic_ioport_read ?
{
    printf("%d@%d pic_ioport_read master %d addr 0x%x val 0x%x\n", pid(), gettimeofday_ns(), master, addr, val)
}
probe qemu.kvm.log.cpu_set_apic_base = qemu.kvm.cpu_set_apic_base ?
{
    printf("%d@%d cpu_set_apic_base 0x%016x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.cpu_get_apic_base = qemu.kvm.cpu_get_apic_base ?
{
    printf("%d@%d cpu_get_apic_base 0x%016x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.apic_report_irq_delivered = qemu.kvm.apic_report_irq_delivered ?
{
    printf("%d@%d apic_report_irq_delivered coalescing %d\n", pid(), gettimeofday_ns(), apic_irq_delivered)
}
probe qemu.kvm.log.apic_reset_irq_delivered = qemu.kvm.apic_reset_irq_delivered ?
{
    printf("%d@%d apic_reset_irq_delivered old coalescing %d\n", pid(), gettimeofday_ns(), apic_irq_delivered)
}
probe qemu.kvm.log.apic_get_irq_delivered = qemu.kvm.apic_get_irq_delivered ?
{
    printf("%d@%d apic_get_irq_delivered returning coalescing %d\n", pid(), gettimeofday_ns(), apic_irq_delivered)
}
probe qemu.kvm.log.apic_local_deliver = qemu.kvm.apic_local_deliver ?
{
    printf("%d@%d apic_local_deliver vector %d delivery mode %d\n", pid(), gettimeofday_ns(), vector, lvt)
}
probe qemu.kvm.log.apic_deliver_irq = qemu.kvm.apic_deliver_irq ?
{
    printf("%d@%d apic_deliver_irq dest %d dest_mode %d delivery_mode %d vector %d trigger_mode %d\n", pid(), gettimeofday_ns(), dest, dest_mode, delivery_mode, vector_num, trigger_mode)
}
probe qemu.kvm.log.apic_mem_readl = qemu.kvm.apic_mem_readl ?
{
    printf("%d@%d apic_mem_readl 0x%x = 0x%08x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.apic_mem_writel = qemu.kvm.apic_mem_writel ?
{
    printf("%d@%d apic_mem_writel 0x%x = 0x%08x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.ioapic_set_remote_irr = qemu.kvm.ioapic_set_remote_irr ?
{
    printf("%d@%d ioapic_set_remote_irr set remote irr for pin %d\n", pid(), gettimeofday_ns(), n)
}
probe qemu.kvm.log.ioapic_clear_remote_irr = qemu.kvm.ioapic_clear_remote_irr ?
{
    printf("%d@%d ioapic_clear_remote_irr clear remote irr for pin %d vector %d\n", pid(), gettimeofday_ns(), n, vector)
}
probe qemu.kvm.log.ioapic_eoi_broadcast = qemu.kvm.ioapic_eoi_broadcast ?
{
    printf("%d@%d ioapic_eoi_broadcast EOI broadcast for vector %d\n", pid(), gettimeofday_ns(), vector)
}
probe qemu.kvm.log.ioapic_eoi_delayed_reassert = qemu.kvm.ioapic_eoi_delayed_reassert ?
{
    printf("%d@%d ioapic_eoi_delayed_reassert delayed reassert on EOI broadcast for vector %d\n", pid(), gettimeofday_ns(), vector)
}
probe qemu.kvm.log.ioapic_mem_read = qemu.kvm.ioapic_mem_read ?
{
    printf("%d@%d ioapic_mem_read ioapic mem read addr 0x%x regsel: 0x%x size 0x%x retval 0x%x\n", pid(), gettimeofday_ns(), addr, regsel, size, val)
}
probe qemu.kvm.log.ioapic_mem_write = qemu.kvm.ioapic_mem_write ?
{
    printf("%d@%d ioapic_mem_write ioapic mem write addr 0x%x regsel: 0x%x size 0x%x val 0x%x\n", pid(), gettimeofday_ns(), addr, regsel, size, val)
}
probe qemu.kvm.log.ioapic_set_irq = qemu.kvm.ioapic_set_irq ?
{
    printf("%d@%d ioapic_set_irq vector: %d level: %d\n", pid(), gettimeofday_ns(), vector, level)
}
probe qemu.kvm.log.slavio_intctl_mem_readl = qemu.kvm.slavio_intctl_mem_readl ?
{
    printf("%d@%d slavio_intctl_mem_readl read cpu %d reg 0x%x = 0x%x\n", pid(), gettimeofday_ns(), cpu, addr, ret)
}
probe qemu.kvm.log.slavio_intctl_mem_writel = qemu.kvm.slavio_intctl_mem_writel ?
{
    printf("%d@%d slavio_intctl_mem_writel write cpu %d reg 0x%x = 0x%x\n", pid(), gettimeofday_ns(), cpu, addr, val)
}
probe qemu.kvm.log.slavio_intctl_mem_writel_clear = qemu.kvm.slavio_intctl_mem_writel_clear ?
{
    printf("%d@%d slavio_intctl_mem_writel_clear Cleared cpu %d irq mask 0x%x, curmask 0x%x\n", pid(), gettimeofday_ns(), cpu, val, intreg_pending)
}
probe qemu.kvm.log.slavio_intctl_mem_writel_set = qemu.kvm.slavio_intctl_mem_writel_set ?
{
    printf("%d@%d slavio_intctl_mem_writel_set Set cpu %d irq mask 0x%x, curmask 0x%x\n", pid(), gettimeofday_ns(), cpu, val, intreg_pending)
}
probe qemu.kvm.log.slavio_intctlm_mem_readl = qemu.kvm.slavio_intctlm_mem_readl ?
{
    printf("%d@%d slavio_intctlm_mem_readl read system reg 0x%x = 0x%x\n", pid(), gettimeofday_ns(), addr, ret)
}
probe qemu.kvm.log.slavio_intctlm_mem_writel = qemu.kvm.slavio_intctlm_mem_writel ?
{
    printf("%d@%d slavio_intctlm_mem_writel write system reg 0x%x = 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.slavio_intctlm_mem_writel_enable = qemu.kvm.slavio_intctlm_mem_writel_enable ?
{
    printf("%d@%d slavio_intctlm_mem_writel_enable Enabled master irq mask 0x%x, curmask 0x%x\n", pid(), gettimeofday_ns(), val, intregm_disabled)
}
probe qemu.kvm.log.slavio_intctlm_mem_writel_disable = qemu.kvm.slavio_intctlm_mem_writel_disable ?
{
    printf("%d@%d slavio_intctlm_mem_writel_disable Disabled master irq mask 0x%x, curmask 0x%x\n", pid(), gettimeofday_ns(), val, intregm_disabled)
}
probe qemu.kvm.log.slavio_intctlm_mem_writel_target = qemu.kvm.slavio_intctlm_mem_writel_target ?
{
    printf("%d@%d slavio_intctlm_mem_writel_target Set master irq cpu %d\n", pid(), gettimeofday_ns(), cpu)
}
probe qemu.kvm.log.slavio_check_interrupts = qemu.kvm.slavio_check_interrupts ?
{
    printf("%d@%d slavio_check_interrupts pending 0x%x disabled 0x%x\n", pid(), gettimeofday_ns(), pending, intregm_disabled)
}
probe qemu.kvm.log.slavio_set_irq = qemu.kvm.slavio_set_irq ?
{
    printf("%d@%d slavio_set_irq Set cpu %d irq %d -> pil %d level %d\n", pid(), gettimeofday_ns(), target_cpu, irq, pil, level)
}
probe qemu.kvm.log.slavio_set_timer_irq_cpu = qemu.kvm.slavio_set_timer_irq_cpu ?
{
    printf("%d@%d slavio_set_timer_irq_cpu Set cpu %d local timer level %d\n", pid(), gettimeofday_ns(), cpu, level)
}
probe qemu.kvm.log.grlib_irqmp_check_irqs = qemu.kvm.grlib_irqmp_check_irqs ?
{
    printf("%d@%d grlib_irqmp_check_irqs pend:0x%04x force:0x%04x mask:0x%04x lvl1:0x%04x lvl0:0x%04x\n", pid(), gettimeofday_ns(), pend, force, mask, lvl1, lvl2)
}
probe qemu.kvm.log.grlib_irqmp_ack = qemu.kvm.grlib_irqmp_ack ?
{
    printf("%d@%d grlib_irqmp_ack interrupt:%d\n", pid(), gettimeofday_ns(), intno)
}
probe qemu.kvm.log.grlib_irqmp_set_irq = qemu.kvm.grlib_irqmp_set_irq ?
{
    printf("%d@%d grlib_irqmp_set_irq Raise CPU IRQ %d\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.grlib_irqmp_readl_unknown = qemu.kvm.grlib_irqmp_readl_unknown ?
{
    printf("%d@%d grlib_irqmp_readl_unknown addr 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.grlib_irqmp_writel_unknown = qemu.kvm.grlib_irqmp_writel_unknown ?
{
    printf("%d@%d grlib_irqmp_writel_unknown addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.lm32_pic_raise_irq = qemu.kvm.lm32_pic_raise_irq ?
{
    printf("%d@%d lm32_pic_raise_irq Raise CPU interrupt\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lm32_pic_lower_irq = qemu.kvm.lm32_pic_lower_irq ?
{
    printf("%d@%d lm32_pic_lower_irq Lower CPU interrupt\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lm32_pic_interrupt = qemu.kvm.lm32_pic_interrupt ?
{
    printf("%d@%d lm32_pic_interrupt Set IRQ%d %d\n", pid(), gettimeofday_ns(), irq, level)
}
probe qemu.kvm.log.lm32_pic_set_im = qemu.kvm.lm32_pic_set_im ?
{
    printf("%d@%d lm32_pic_set_im im 0x%08x\n", pid(), gettimeofday_ns(), im)
}
probe qemu.kvm.log.lm32_pic_set_ip = qemu.kvm.lm32_pic_set_ip ?
{
    printf("%d@%d lm32_pic_set_ip ip 0x%08x\n", pid(), gettimeofday_ns(), ip)
}
probe qemu.kvm.log.lm32_pic_get_im = qemu.kvm.lm32_pic_get_im ?
{
    printf("%d@%d lm32_pic_get_im im 0x%08x\n", pid(), gettimeofday_ns(), im)
}
probe qemu.kvm.log.lm32_pic_get_ip = qemu.kvm.lm32_pic_get_ip ?
{
    printf("%d@%d lm32_pic_get_ip ip 0x%08x\n", pid(), gettimeofday_ns(), ip)
}
probe qemu.kvm.log.xics_icp_check_ipi = qemu.kvm.xics_icp_check_ipi ?
{
    printf("%d@%d xics_icp_check_ipi CPU %d can take IPI mfrr=0x%x\n", pid(), gettimeofday_ns(), server, mfrr)
}
probe qemu.kvm.log.xics_icp_accept = qemu.kvm.xics_icp_accept ?
{
    printf("%d@%d xics_icp_accept icp_accept: XIRR 0x%x->0x%x\n", pid(), gettimeofday_ns(), old_xirr, new_xirr)
}
probe qemu.kvm.log.xics_icp_eoi = qemu.kvm.xics_icp_eoi ?
{
    printf("%d@%d xics_icp_eoi icp_eoi: server %d given XIRR 0x%x new XIRR 0x%x\n", pid(), gettimeofday_ns(), server, xirr, new_xirr)
}
probe qemu.kvm.log.xics_icp_irq = qemu.kvm.xics_icp_irq ?
{
    printf("%d@%d xics_icp_irq cpu %d trying to deliver irq 0x%x priority 0x%x\n", pid(), gettimeofday_ns(), server, nr, priority)
}
probe qemu.kvm.log.xics_icp_raise = qemu.kvm.xics_icp_raise ?
{
    printf("%d@%d xics_icp_raise raising IRQ new XIRR=0x%x new pending priority=0x%x\n", pid(), gettimeofday_ns(), xirr, pending_priority)
}
probe qemu.kvm.log.xics_ics_set_irq_msi = qemu.kvm.xics_ics_set_irq_msi ?
{
    printf("%d@%d xics_ics_set_irq_msi set_irq_msi: srcno %d [irq 0x%x]\n", pid(), gettimeofday_ns(), srcno, nr)
}
probe qemu.kvm.log.xics_masked_pending = qemu.kvm.xics_masked_pending ?
{
    printf("%d@%d xics_masked_pending set_irq_msi: masked pending\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xics_ics_set_irq_lsi = qemu.kvm.xics_ics_set_irq_lsi ?
{
    printf("%d@%d xics_ics_set_irq_lsi set_irq_lsi: srcno %d [irq 0x%x]\n", pid(), gettimeofday_ns(), srcno, nr)
}
probe qemu.kvm.log.xics_ics_write_xive = qemu.kvm.xics_ics_write_xive ?
{
    printf("%d@%d xics_ics_write_xive ics_write_xive: irq 0x%x [src %d] server 0x%x prio 0x%x\n", pid(), gettimeofday_ns(), nr, srcno, server, priority)
}
probe qemu.kvm.log.xics_ics_reject = qemu.kvm.xics_ics_reject ?
{
    printf("%d@%d xics_ics_reject reject irq 0x%x [src %d]\n", pid(), gettimeofday_ns(), nr, srcno)
}
probe qemu.kvm.log.xics_ics_eoi = qemu.kvm.xics_ics_eoi ?
{
    printf("%d@%d xics_ics_eoi ics_eoi: irq 0x%x\n", pid(), gettimeofday_ns(), nr)
}
probe qemu.kvm.log.flic_create_device = qemu.kvm.flic_create_device ?
{
    printf("%d@%d flic_create_device flic: create device failed %d\n", pid(), gettimeofday_ns(), err)
}
probe qemu.kvm.log.flic_reset_failed = qemu.kvm.flic_reset_failed ?
{
    printf("%d@%d flic_reset_failed flic: reset failed %d\n", pid(), gettimeofday_ns(), err)
}
probe qemu.kvm.log.qemu_s390_airq_suppressed = qemu.kvm.qemu_s390_airq_suppressed ?
{
    printf("%d@%d qemu_s390_airq_suppressed flic: adapter I/O interrupt suppressed (type 0x%x isc 0x%x)\n", pid(), gettimeofday_ns(), type, isc)
}
probe qemu.kvm.log.qemu_s390_suppress_airq = qemu.kvm.qemu_s390_suppress_airq ?
{
    try {
        argfrom_str = from ? user_string_n(from, 512) : "<null>"
    } catch {}
    try {
        argto_str = to ? user_string_n(to, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_s390_suppress_airq flic: for isc 0x%x, suppress airq by modifying ais mode from %s to %s\n", pid(), gettimeofday_ns(), isc, argfrom_str, argto_str)
}
probe qemu.kvm.log.aspeed_vic_set_irq = qemu.kvm.aspeed_vic_set_irq ?
{
    printf("%d@%d aspeed_vic_set_irq Enabling IRQ %d: %d\n", pid(), gettimeofday_ns(), irq, level)
}
probe qemu.kvm.log.aspeed_vic_update_fiq = qemu.kvm.aspeed_vic_update_fiq ?
{
    printf("%d@%d aspeed_vic_update_fiq Raising FIQ: %d\n", pid(), gettimeofday_ns(), flags)
}
probe qemu.kvm.log.aspeed_vic_update_irq = qemu.kvm.aspeed_vic_update_irq ?
{
    printf("%d@%d aspeed_vic_update_irq Raising IRQ: %d\n", pid(), gettimeofday_ns(), flags)
}
probe qemu.kvm.log.aspeed_vic_read = qemu.kvm.aspeed_vic_read ?
{
    printf("%d@%d aspeed_vic_read From 0x%x of size %u: 0x%x\n", pid(), gettimeofday_ns(), offset, size, value)
}
probe qemu.kvm.log.aspeed_vic_write = qemu.kvm.aspeed_vic_write ?
{
    printf("%d@%d aspeed_vic_write To 0x%x of size %u: 0x%x\n", pid(), gettimeofday_ns(), offset, size, data)
}
probe qemu.kvm.log.gic_enable_irq = qemu.kvm.gic_enable_irq ?
{
    printf("%d@%d gic_enable_irq irq %d enabled\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.gic_disable_irq = qemu.kvm.gic_disable_irq ?
{
    printf("%d@%d gic_disable_irq irq %d disabled\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.gic_set_irq = qemu.kvm.gic_set_irq ?
{
    printf("%d@%d gic_set_irq irq %d level %d cpumask 0x%x target 0x%x\n", pid(), gettimeofday_ns(), irq, level, cpumask, target)
}
probe qemu.kvm.log.gic_update_bestirq = qemu.kvm.gic_update_bestirq ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d gic_update_bestirq %s %d irq %d priority %d cpu priority mask %d cpu running priority %d\n", pid(), gettimeofday_ns(), args_str, cpu, irq, prio, priority_mask, running_priority)
}
probe qemu.kvm.log.gic_update_set_irq = qemu.kvm.gic_update_set_irq ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d gic_update_set_irq cpu[%d]: %s = %d\n", pid(), gettimeofday_ns(), cpu, argname_str, level)
}
probe qemu.kvm.log.gic_acknowledge_irq = qemu.kvm.gic_acknowledge_irq ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d gic_acknowledge_irq %s %d acknowledged irq %d\n", pid(), gettimeofday_ns(), args_str, cpu, irq)
}
probe qemu.kvm.log.gic_cpu_write = qemu.kvm.gic_cpu_write ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d gic_cpu_write %s %d iface write at 0x%08x 0x%08x\n", pid(), gettimeofday_ns(), args_str, cpu, addr, val)
}
probe qemu.kvm.log.gic_cpu_read = qemu.kvm.gic_cpu_read ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d gic_cpu_read %s %d iface read at 0x%08x: 0x%08x\n", pid(), gettimeofday_ns(), args_str, cpu, addr, val)
}
probe qemu.kvm.log.gic_hyp_read = qemu.kvm.gic_hyp_read ?
{
    printf("%d@%d gic_hyp_read hyp read at 0x%08x: 0x%08x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.gic_hyp_write = qemu.kvm.gic_hyp_write ?
{
    printf("%d@%d gic_hyp_write hyp write at 0x%08x: 0x%08x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.gic_dist_read = qemu.kvm.gic_dist_read ?
{
    printf("%d@%d gic_dist_read dist read at 0x%08x size %u: 0x%08x\n", pid(), gettimeofday_ns(), addr, size, val)
}
probe qemu.kvm.log.gic_dist_write = qemu.kvm.gic_dist_write ?
{
    printf("%d@%d gic_dist_write dist write at 0x%08x size %u: 0x%08x\n", pid(), gettimeofday_ns(), addr, size, val)
}
probe qemu.kvm.log.gic_lr_entry = qemu.kvm.gic_lr_entry ?
{
    printf("%d@%d gic_lr_entry cpu %d: new lr entry %d: 0x%08x\n", pid(), gettimeofday_ns(), cpu, entry, val)
}
probe qemu.kvm.log.gic_update_maintenance_irq = qemu.kvm.gic_update_maintenance_irq ?
{
    printf("%d@%d gic_update_maintenance_irq cpu %d: maintenance = %d\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_pmr_read = qemu.kvm.gicv3_icc_pmr_read ?
{
    printf("%d@%d gicv3_icc_pmr_read GICv3 ICC_PMR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_pmr_write = qemu.kvm.gicv3_icc_pmr_write ?
{
    printf("%d@%d gicv3_icc_pmr_write GICv3 ICC_PMR write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_bpr_read = qemu.kvm.gicv3_icc_bpr_read ?
{
    printf("%d@%d gicv3_icc_bpr_read GICv3 ICC_BPR%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icc_bpr_write = qemu.kvm.gicv3_icc_bpr_write ?
{
    printf("%d@%d gicv3_icc_bpr_write GICv3 ICC_BPR%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icc_ap_read = qemu.kvm.gicv3_icc_ap_read ?
{
    printf("%d@%d gicv3_icc_ap_read GICv3 ICC_AP%dR%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, regno, cpu, val)
}
probe qemu.kvm.log.gicv3_icc_ap_write = qemu.kvm.gicv3_icc_ap_write ?
{
    printf("%d@%d gicv3_icc_ap_write GICv3 ICC_AP%dR%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, regno, cpu, val)
}
probe qemu.kvm.log.gicv3_icc_igrpen_read = qemu.kvm.gicv3_icc_igrpen_read ?
{
    printf("%d@%d gicv3_icc_igrpen_read GICv3 ICC_IGRPEN%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icc_igrpen_write = qemu.kvm.gicv3_icc_igrpen_write ?
{
    printf("%d@%d gicv3_icc_igrpen_write GICv3 ICC_IGRPEN%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icc_igrpen1_el3_read = qemu.kvm.gicv3_icc_igrpen1_el3_read ?
{
    printf("%d@%d gicv3_icc_igrpen1_el3_read GICv3 ICC_IGRPEN1_EL3 read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_igrpen1_el3_write = qemu.kvm.gicv3_icc_igrpen1_el3_write ?
{
    printf("%d@%d gicv3_icc_igrpen1_el3_write GICv3 ICC_IGRPEN1_EL3 write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_ctlr_read = qemu.kvm.gicv3_icc_ctlr_read ?
{
    printf("%d@%d gicv3_icc_ctlr_read GICv3 ICC_CTLR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_ctlr_write = qemu.kvm.gicv3_icc_ctlr_write ?
{
    printf("%d@%d gicv3_icc_ctlr_write GICv3 ICC_CTLR write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_ctlr_el3_read = qemu.kvm.gicv3_icc_ctlr_el3_read ?
{
    printf("%d@%d gicv3_icc_ctlr_el3_read GICv3 ICC_CTLR_EL3 read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_ctlr_el3_write = qemu.kvm.gicv3_icc_ctlr_el3_write ?
{
    printf("%d@%d gicv3_icc_ctlr_el3_write GICv3 ICC_CTLR_EL3 write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_cpuif_update = qemu.kvm.gicv3_cpuif_update ?
{
    printf("%d@%d gicv3_cpuif_update GICv3 CPU i/f 0x%x HPPI update: irq %d group %d prio %d\n", pid(), gettimeofday_ns(), cpuid, irq, grp, prio)
}
probe qemu.kvm.log.gicv3_cpuif_set_irqs = qemu.kvm.gicv3_cpuif_set_irqs ?
{
    printf("%d@%d gicv3_cpuif_set_irqs GICv3 CPU i/f 0x%x HPPI update: setting FIQ %d IRQ %d\n", pid(), gettimeofday_ns(), cpuid, fiqlevel, irqlevel)
}
probe qemu.kvm.log.gicv3_icc_generate_sgi = qemu.kvm.gicv3_icc_generate_sgi ?
{
    printf("%d@%d gicv3_icc_generate_sgi GICv3 CPU i/f 0x%x generating SGI %d IRM %d target affinity 0x%xxx targetlist 0x%x\n", pid(), gettimeofday_ns(), cpuid, irq, irm, aff, targetlist)
}
probe qemu.kvm.log.gicv3_icc_iar0_read = qemu.kvm.gicv3_icc_iar0_read ?
{
    printf("%d@%d gicv3_icc_iar0_read GICv3 ICC_IAR0 read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_iar1_read = qemu.kvm.gicv3_icc_iar1_read ?
{
    printf("%d@%d gicv3_icc_iar1_read GICv3 ICC_IAR1 read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_eoir_write = qemu.kvm.gicv3_icc_eoir_write ?
{
    printf("%d@%d gicv3_icc_eoir_write GICv3 ICC_EOIR%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icc_hppir0_read = qemu.kvm.gicv3_icc_hppir0_read ?
{
    printf("%d@%d gicv3_icc_hppir0_read GICv3 ICC_HPPIR0 read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_hppir1_read = qemu.kvm.gicv3_icc_hppir1_read ?
{
    printf("%d@%d gicv3_icc_hppir1_read GICv3 ICC_HPPIR1 read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_dir_write = qemu.kvm.gicv3_icc_dir_write ?
{
    printf("%d@%d gicv3_icc_dir_write GICv3 ICC_DIR write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icc_rpr_read = qemu.kvm.gicv3_icc_rpr_read ?
{
    printf("%d@%d gicv3_icc_rpr_read GICv3 ICC_RPR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_ich_ap_read = qemu.kvm.gicv3_ich_ap_read ?
{
    printf("%d@%d gicv3_ich_ap_read GICv3 ICH_AP%dR%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, regno, cpu, val)
}
probe qemu.kvm.log.gicv3_ich_ap_write = qemu.kvm.gicv3_ich_ap_write ?
{
    printf("%d@%d gicv3_ich_ap_write GICv3 ICH_AP%dR%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, regno, cpu, val)
}
probe qemu.kvm.log.gicv3_ich_hcr_read = qemu.kvm.gicv3_ich_hcr_read ?
{
    printf("%d@%d gicv3_ich_hcr_read GICv3 ICH_HCR_EL2 read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_ich_hcr_write = qemu.kvm.gicv3_ich_hcr_write ?
{
    printf("%d@%d gicv3_ich_hcr_write GICv3 ICH_HCR_EL2 write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_ich_vmcr_read = qemu.kvm.gicv3_ich_vmcr_read ?
{
    printf("%d@%d gicv3_ich_vmcr_read GICv3 ICH_VMCR_EL2 read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_ich_vmcr_write = qemu.kvm.gicv3_ich_vmcr_write ?
{
    printf("%d@%d gicv3_ich_vmcr_write GICv3 ICH_VMCR_EL2 write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_ich_lr_read = qemu.kvm.gicv3_ich_lr_read ?
{
    printf("%d@%d gicv3_ich_lr_read GICv3 ICH_LR%d_EL2 read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), regno, cpu, val)
}
probe qemu.kvm.log.gicv3_ich_lr32_read = qemu.kvm.gicv3_ich_lr32_read ?
{
    printf("%d@%d gicv3_ich_lr32_read GICv3 ICH_LR%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), regno, cpu, val)
}
probe qemu.kvm.log.gicv3_ich_lrc_read = qemu.kvm.gicv3_ich_lrc_read ?
{
    printf("%d@%d gicv3_ich_lrc_read GICv3 ICH_LRC%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), regno, cpu, val)
}
probe qemu.kvm.log.gicv3_ich_lr_write = qemu.kvm.gicv3_ich_lr_write ?
{
    printf("%d@%d gicv3_ich_lr_write GICv3 ICH_LR%d_EL2 write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), regno, cpu, val)
}
probe qemu.kvm.log.gicv3_ich_lr32_write = qemu.kvm.gicv3_ich_lr32_write ?
{
    printf("%d@%d gicv3_ich_lr32_write GICv3 ICH_LR%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), regno, cpu, val)
}
probe qemu.kvm.log.gicv3_ich_lrc_write = qemu.kvm.gicv3_ich_lrc_write ?
{
    printf("%d@%d gicv3_ich_lrc_write GICv3 ICH_LRC%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), regno, cpu, val)
}
probe qemu.kvm.log.gicv3_ich_vtr_read = qemu.kvm.gicv3_ich_vtr_read ?
{
    printf("%d@%d gicv3_ich_vtr_read GICv3 ICH_VTR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_ich_misr_read = qemu.kvm.gicv3_ich_misr_read ?
{
    printf("%d@%d gicv3_ich_misr_read GICv3 ICH_MISR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_ich_eisr_read = qemu.kvm.gicv3_ich_eisr_read ?
{
    printf("%d@%d gicv3_ich_eisr_read GICv3 ICH_EISR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_ich_elrsr_read = qemu.kvm.gicv3_ich_elrsr_read ?
{
    printf("%d@%d gicv3_ich_elrsr_read GICv3 ICH_ELRSR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icv_ap_read = qemu.kvm.gicv3_icv_ap_read ?
{
    printf("%d@%d gicv3_icv_ap_read GICv3 ICV_AP%dR%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, regno, cpu, val)
}
probe qemu.kvm.log.gicv3_icv_ap_write = qemu.kvm.gicv3_icv_ap_write ?
{
    printf("%d@%d gicv3_icv_ap_write GICv3 ICV_AP%dR%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, regno, cpu, val)
}
probe qemu.kvm.log.gicv3_icv_bpr_read = qemu.kvm.gicv3_icv_bpr_read ?
{
    printf("%d@%d gicv3_icv_bpr_read GICv3 ICV_BPR%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icv_bpr_write = qemu.kvm.gicv3_icv_bpr_write ?
{
    printf("%d@%d gicv3_icv_bpr_write GICv3 ICV_BPR%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icv_pmr_read = qemu.kvm.gicv3_icv_pmr_read ?
{
    printf("%d@%d gicv3_icv_pmr_read GICv3 ICV_PMR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icv_pmr_write = qemu.kvm.gicv3_icv_pmr_write ?
{
    printf("%d@%d gicv3_icv_pmr_write GICv3 ICV_PMR write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icv_igrpen_read = qemu.kvm.gicv3_icv_igrpen_read ?
{
    printf("%d@%d gicv3_icv_igrpen_read GICv3 ICV_IGRPEN%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icv_igrpen_write = qemu.kvm.gicv3_icv_igrpen_write ?
{
    printf("%d@%d gicv3_icv_igrpen_write GICv3 ICV_IGRPEN%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icv_ctlr_read = qemu.kvm.gicv3_icv_ctlr_read ?
{
    printf("%d@%d gicv3_icv_ctlr_read GICv3 ICV_CTLR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icv_ctlr_write = qemu.kvm.gicv3_icv_ctlr_write ?
{
    printf("%d@%d gicv3_icv_ctlr_write GICv3 ICV_CTLR write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icv_rpr_read = qemu.kvm.gicv3_icv_rpr_read ?
{
    printf("%d@%d gicv3_icv_rpr_read GICv3 ICV_RPR read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icv_hppir_read = qemu.kvm.gicv3_icv_hppir_read ?
{
    printf("%d@%d gicv3_icv_hppir_read GICv3 ICV_HPPIR%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icv_dir_write = qemu.kvm.gicv3_icv_dir_write ?
{
    printf("%d@%d gicv3_icv_dir_write GICv3 ICV_DIR write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), cpu, val)
}
probe qemu.kvm.log.gicv3_icv_iar_read = qemu.kvm.gicv3_icv_iar_read ?
{
    printf("%d@%d gicv3_icv_iar_read GICv3 ICV_IAR%d read cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_icv_eoir_write = qemu.kvm.gicv3_icv_eoir_write ?
{
    printf("%d@%d gicv3_icv_eoir_write GICv3 ICV_EOIR%d write cpu 0x%x value 0x%x\n", pid(), gettimeofday_ns(), grp, cpu, val)
}
probe qemu.kvm.log.gicv3_cpuif_virt_update = qemu.kvm.gicv3_cpuif_virt_update ?
{
    printf("%d@%d gicv3_cpuif_virt_update GICv3 CPU i/f 0x%x virt HPPI update LR index %d\n", pid(), gettimeofday_ns(), cpuid, idx)
}
probe qemu.kvm.log.gicv3_cpuif_virt_set_irqs = qemu.kvm.gicv3_cpuif_virt_set_irqs ?
{
    printf("%d@%d gicv3_cpuif_virt_set_irqs GICv3 CPU i/f 0x%x virt HPPI update: setting FIQ %d IRQ %d maintenance-irq %d\n", pid(), gettimeofday_ns(), cpuid, fiqlevel, irqlevel, maintlevel)
}
probe qemu.kvm.log.gicv3_dist_read = qemu.kvm.gicv3_dist_read ?
{
    printf("%d@%d gicv3_dist_read GICv3 distributor read: offset 0x%x data 0x%x size %u secure %d\n", pid(), gettimeofday_ns(), offset, data, size, secure)
}
probe qemu.kvm.log.gicv3_dist_badread = qemu.kvm.gicv3_dist_badread ?
{
    printf("%d@%d gicv3_dist_badread GICv3 distributor read: offset 0x%x size %u secure %d: error\n", pid(), gettimeofday_ns(), offset, size, secure)
}
probe qemu.kvm.log.gicv3_dist_write = qemu.kvm.gicv3_dist_write ?
{
    printf("%d@%d gicv3_dist_write GICv3 distributor write: offset 0x%x data 0x%x size %u secure %d\n", pid(), gettimeofday_ns(), offset, data, size, secure)
}
probe qemu.kvm.log.gicv3_dist_badwrite = qemu.kvm.gicv3_dist_badwrite ?
{
    printf("%d@%d gicv3_dist_badwrite GICv3 distributor write: offset 0x%x data 0x%x size %u secure %d: error\n", pid(), gettimeofday_ns(), offset, data, size, secure)
}
probe qemu.kvm.log.gicv3_dist_set_irq = qemu.kvm.gicv3_dist_set_irq ?
{
    printf("%d@%d gicv3_dist_set_irq GICv3 distributor interrupt %d level changed to %d\n", pid(), gettimeofday_ns(), irq, level)
}
probe qemu.kvm.log.gicv3_redist_read = qemu.kvm.gicv3_redist_read ?
{
    printf("%d@%d gicv3_redist_read GICv3 redistributor 0x%x read: offset 0x%x data 0x%x size %u secure %d\n", pid(), gettimeofday_ns(), cpu, offset, data, size, secure)
}
probe qemu.kvm.log.gicv3_redist_badread = qemu.kvm.gicv3_redist_badread ?
{
    printf("%d@%d gicv3_redist_badread GICv3 redistributor 0x%x read: offset 0x%x size %u secure %d: error\n", pid(), gettimeofday_ns(), cpu, offset, size, secure)
}
probe qemu.kvm.log.gicv3_redist_write = qemu.kvm.gicv3_redist_write ?
{
    printf("%d@%d gicv3_redist_write GICv3 redistributor 0x%x write: offset 0x%x data 0x%x size %u secure %d\n", pid(), gettimeofday_ns(), cpu, offset, data, size, secure)
}
probe qemu.kvm.log.gicv3_redist_badwrite = qemu.kvm.gicv3_redist_badwrite ?
{
    printf("%d@%d gicv3_redist_badwrite GICv3 redistributor 0x%x write: offset 0x%x data 0x%x size %u secure %d: error\n", pid(), gettimeofday_ns(), cpu, offset, data, size, secure)
}
probe qemu.kvm.log.gicv3_redist_set_irq = qemu.kvm.gicv3_redist_set_irq ?
{
    printf("%d@%d gicv3_redist_set_irq GICv3 redistributor 0x%x interrupt %d level changed to %d\n", pid(), gettimeofday_ns(), cpu, irq, level)
}
probe qemu.kvm.log.gicv3_redist_send_sgi = qemu.kvm.gicv3_redist_send_sgi ?
{
    printf("%d@%d gicv3_redist_send_sgi GICv3 redistributor 0x%x pending SGI %d\n", pid(), gettimeofday_ns(), cpu, irq)
}
probe qemu.kvm.log.nvic_recompute_state = qemu.kvm.nvic_recompute_state ?
{
    printf("%d@%d nvic_recompute_state NVIC state recomputed: vectpending %d vectpending_prio %d exception_prio %d\n", pid(), gettimeofday_ns(), vectpending, vectpending_prio, exception_prio)
}
probe qemu.kvm.log.nvic_recompute_state_secure = qemu.kvm.nvic_recompute_state_secure ?
{
    printf("%d@%d nvic_recompute_state_secure NVIC state recomputed: vectpending %d is_s_banked %d vectpending_prio %d exception_prio %d\n", pid(), gettimeofday_ns(), vectpending, vectpending_is_s_banked, vectpending_prio, exception_prio)
}
probe qemu.kvm.log.nvic_set_prio = qemu.kvm.nvic_set_prio ?
{
    printf("%d@%d nvic_set_prio NVIC set irq %d secure-bank %d priority %d\n", pid(), gettimeofday_ns(), irq, secure, prio)
}
probe qemu.kvm.log.nvic_irq_update = qemu.kvm.nvic_irq_update ?
{
    printf("%d@%d nvic_irq_update NVIC vectpending %d pending prio %d exception_prio %d: setting irq line to %d\n", pid(), gettimeofday_ns(), vectpending, pendprio, exception_prio, level)
}
probe qemu.kvm.log.nvic_escalate_prio = qemu.kvm.nvic_escalate_prio ?
{
    printf("%d@%d nvic_escalate_prio NVIC escalating irq %d to HardFault: insufficient priority %d >= %d\n", pid(), gettimeofday_ns(), irq, irqprio, runprio)
}
probe qemu.kvm.log.nvic_escalate_disabled = qemu.kvm.nvic_escalate_disabled ?
{
    printf("%d@%d nvic_escalate_disabled NVIC escalating irq %d to HardFault: disabled\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.nvic_set_pending = qemu.kvm.nvic_set_pending ?
{
    printf("%d@%d nvic_set_pending NVIC set pending irq %d secure-bank %d targets_secure %d derived %d (enabled: %d priority %d)\n", pid(), gettimeofday_ns(), irq, secure, targets_secure, derived, en, prio)
}
probe qemu.kvm.log.nvic_clear_pending = qemu.kvm.nvic_clear_pending ?
{
    printf("%d@%d nvic_clear_pending NVIC clear pending irq %d secure-bank %d (enabled: %d priority %d)\n", pid(), gettimeofday_ns(), irq, secure, en, prio)
}
probe qemu.kvm.log.nvic_acknowledge_irq = qemu.kvm.nvic_acknowledge_irq ?
{
    printf("%d@%d nvic_acknowledge_irq NVIC acknowledge IRQ: %d now active (prio %d)\n", pid(), gettimeofday_ns(), irq, prio)
}
probe qemu.kvm.log.nvic_get_pending_irq_info = qemu.kvm.nvic_get_pending_irq_info ?
{
    printf("%d@%d nvic_get_pending_irq_info NVIC next IRQ %d: targets_secure: %d\n", pid(), gettimeofday_ns(), irq, secure)
}
probe qemu.kvm.log.nvic_complete_irq = qemu.kvm.nvic_complete_irq ?
{
    printf("%d@%d nvic_complete_irq NVIC complete IRQ %d (secure %d)\n", pid(), gettimeofday_ns(), irq, secure)
}
probe qemu.kvm.log.nvic_set_irq_level = qemu.kvm.nvic_set_irq_level ?
{
    printf("%d@%d nvic_set_irq_level NVIC external irq %d level set to %d\n", pid(), gettimeofday_ns(), irq, level)
}
probe qemu.kvm.log.nvic_set_nmi_level = qemu.kvm.nvic_set_nmi_level ?
{
    printf("%d@%d nvic_set_nmi_level NVIC external NMI level set to %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.nvic_sysreg_read = qemu.kvm.nvic_sysreg_read ?
{
    printf("%d@%d nvic_sysreg_read NVIC sysreg read addr 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), addr, value, size)
}
probe qemu.kvm.log.nvic_sysreg_write = qemu.kvm.nvic_sysreg_write ?
{
    printf("%d@%d nvic_sysreg_write NVIC sysreg write addr 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), addr, value, size)
}
probe qemu.kvm.log.heathrow_write = qemu.kvm.heathrow_write ?
{
    printf("%d@%d heathrow_write 0x%x %u: 0x%x\n", pid(), gettimeofday_ns(), addr, n, value)
}
probe qemu.kvm.log.heathrow_read = qemu.kvm.heathrow_read ?
{
    printf("%d@%d heathrow_read 0x%x %u: 0x%x\n", pid(), gettimeofday_ns(), addr, n, value)
}
probe qemu.kvm.log.heathrow_set_irq = qemu.kvm.heathrow_set_irq ?
{
    printf("%d@%d heathrow_set_irq set_irq: num=0x%02x level=%d\n", pid(), gettimeofday_ns(), num, level)
}
probe qemu.kvm.log.superio_create_parallel = qemu.kvm.superio_create_parallel ?
{
    printf("%d@%d superio_create_parallel id=%d, base 0x%03x, irq %u\n", pid(), gettimeofday_ns(), id, base, irq)
}
probe qemu.kvm.log.superio_create_serial = qemu.kvm.superio_create_serial ?
{
    printf("%d@%d superio_create_serial id=%d, base 0x%03x, irq %u\n", pid(), gettimeofday_ns(), id, base, irq)
}
probe qemu.kvm.log.superio_create_floppy = qemu.kvm.superio_create_floppy ?
{
    printf("%d@%d superio_create_floppy id=%d, base 0x%03x, irq %u\n", pid(), gettimeofday_ns(), id, base, irq)
}
probe qemu.kvm.log.superio_create_ide = qemu.kvm.superio_create_ide ?
{
    printf("%d@%d superio_create_ide id=%d, base 0x%03x, irq %u\n", pid(), gettimeofday_ns(), id, base, irq)
}
probe qemu.kvm.log.pc87312_io_read = qemu.kvm.pc87312_io_read ?
{
    printf("%d@%d pc87312_io_read read addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.pc87312_io_write = qemu.kvm.pc87312_io_write ?
{
    printf("%d@%d pc87312_io_write write addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.mhp_pc_dimm_assigned_slot = qemu.kvm.mhp_pc_dimm_assigned_slot ?
{
    printf("%d@%d mhp_pc_dimm_assigned_slot %d\n", pid(), gettimeofday_ns(), slot)
}
probe qemu.kvm.log.memory_device_pre_plug = qemu.kvm.memory_device_pre_plug ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d memory_device_pre_plug id=%s addr=0x%x\n", pid(), gettimeofday_ns(), argid_str, addr)
}
probe qemu.kvm.log.memory_device_plug = qemu.kvm.memory_device_plug ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d memory_device_plug id=%s addr=0x%x\n", pid(), gettimeofday_ns(), argid_str, addr)
}
probe qemu.kvm.log.memory_device_unplug = qemu.kvm.memory_device_unplug ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d memory_device_unplug id=%s addr=0x%x\n", pid(), gettimeofday_ns(), argid_str, addr)
}
probe qemu.kvm.log.gt64120_read = qemu.kvm.gt64120_read ?
{
    try {
        argregname_str = regname ? user_string_n(regname, 512) : "<null>"
    } catch {}
    printf("%d@%d gt64120_read gt64120 read %s size:%u value:0x%08x\n", pid(), gettimeofday_ns(), argregname_str, size, value)
}
probe qemu.kvm.log.gt64120_write = qemu.kvm.gt64120_write ?
{
    try {
        argregname_str = regname ? user_string_n(regname, 512) : "<null>"
    } catch {}
    printf("%d@%d gt64120_write gt64120 write %s size:%u value:0x%08x\n", pid(), gettimeofday_ns(), argregname_str, size, value)
}
probe qemu.kvm.log.gt64120_isd_remap = qemu.kvm.gt64120_isd_remap ?
{
    printf("%d@%d gt64120_isd_remap ISD: 0x%08x@0x%08x -> 0x%08x@0x%08x\n", pid(), gettimeofday_ns(), from_length, from_addr, to_length, to_addr)
}
probe qemu.kvm.log.ecc_mem_writel_mer = qemu.kvm.ecc_mem_writel_mer ?
{
    printf("%d@%d ecc_mem_writel_mer Write memory enable 0x%08x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.ecc_mem_writel_mdr = qemu.kvm.ecc_mem_writel_mdr ?
{
    printf("%d@%d ecc_mem_writel_mdr Write memory delay 0x%08x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.ecc_mem_writel_mfsr = qemu.kvm.ecc_mem_writel_mfsr ?
{
    printf("%d@%d ecc_mem_writel_mfsr Write memory fault status 0x%08x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.ecc_mem_writel_vcr = qemu.kvm.ecc_mem_writel_vcr ?
{
    printf("%d@%d ecc_mem_writel_vcr Write slot configuration 0x%08x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.ecc_mem_writel_dr = qemu.kvm.ecc_mem_writel_dr ?
{
    printf("%d@%d ecc_mem_writel_dr Write diagnostic 0x%08x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.ecc_mem_writel_ecr0 = qemu.kvm.ecc_mem_writel_ecr0 ?
{
    printf("%d@%d ecc_mem_writel_ecr0 Write event count 1 0x%08x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.ecc_mem_writel_ecr1 = qemu.kvm.ecc_mem_writel_ecr1 ?
{
    printf("%d@%d ecc_mem_writel_ecr1 Write event count 2 0x%08x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.ecc_mem_readl_mer = qemu.kvm.ecc_mem_readl_mer ?
{
    printf("%d@%d ecc_mem_readl_mer Read memory enable 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.ecc_mem_readl_mdr = qemu.kvm.ecc_mem_readl_mdr ?
{
    printf("%d@%d ecc_mem_readl_mdr Read memory delay 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.ecc_mem_readl_mfsr = qemu.kvm.ecc_mem_readl_mfsr ?
{
    printf("%d@%d ecc_mem_readl_mfsr Read memory fault status 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.ecc_mem_readl_vcr = qemu.kvm.ecc_mem_readl_vcr ?
{
    printf("%d@%d ecc_mem_readl_vcr Read slot configuration 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.ecc_mem_readl_mfar0 = qemu.kvm.ecc_mem_readl_mfar0 ?
{
    printf("%d@%d ecc_mem_readl_mfar0 Read memory fault address 0 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.ecc_mem_readl_mfar1 = qemu.kvm.ecc_mem_readl_mfar1 ?
{
    printf("%d@%d ecc_mem_readl_mfar1 Read memory fault address 1 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.ecc_mem_readl_dr = qemu.kvm.ecc_mem_readl_dr ?
{
    printf("%d@%d ecc_mem_readl_dr Read diagnostic 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.ecc_mem_readl_ecr0 = qemu.kvm.ecc_mem_readl_ecr0 ?
{
    printf("%d@%d ecc_mem_readl_ecr0 Read event count 1 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.ecc_mem_readl_ecr1 = qemu.kvm.ecc_mem_readl_ecr1 ?
{
    printf("%d@%d ecc_mem_readl_ecr1 Read event count 2 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.ecc_diag_mem_writeb = qemu.kvm.ecc_diag_mem_writeb ?
{
    printf("%d@%d ecc_diag_mem_writeb Write diagnostic %d = 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.ecc_diag_mem_readb = qemu.kvm.ecc_diag_mem_readb ?
{
    printf("%d@%d ecc_diag_mem_readb Read diagnostic %d= 0x%02x\n", pid(), gettimeofday_ns(), addr, ret)
}
probe qemu.kvm.log.slavio_misc_update_irq_raise = qemu.kvm.slavio_misc_update_irq_raise ?
{
    printf("%d@%d slavio_misc_update_irq_raise Raise IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.slavio_misc_update_irq_lower = qemu.kvm.slavio_misc_update_irq_lower ?
{
    printf("%d@%d slavio_misc_update_irq_lower Lower IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.slavio_set_power_fail = qemu.kvm.slavio_set_power_fail ?
{
    printf("%d@%d slavio_set_power_fail Power fail: %d, config: %d\n", pid(), gettimeofday_ns(), power_failing, config)
}
probe qemu.kvm.log.slavio_cfg_mem_writeb = qemu.kvm.slavio_cfg_mem_writeb ?
{
    printf("%d@%d slavio_cfg_mem_writeb Write config 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.slavio_cfg_mem_readb = qemu.kvm.slavio_cfg_mem_readb ?
{
    printf("%d@%d slavio_cfg_mem_readb Read config 0x%02x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.slavio_diag_mem_writeb = qemu.kvm.slavio_diag_mem_writeb ?
{
    printf("%d@%d slavio_diag_mem_writeb Write diag 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.slavio_diag_mem_readb = qemu.kvm.slavio_diag_mem_readb ?
{
    printf("%d@%d slavio_diag_mem_readb Read diag 0x%02x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.slavio_mdm_mem_writeb = qemu.kvm.slavio_mdm_mem_writeb ?
{
    printf("%d@%d slavio_mdm_mem_writeb Write modem control 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.slavio_mdm_mem_readb = qemu.kvm.slavio_mdm_mem_readb ?
{
    printf("%d@%d slavio_mdm_mem_readb Read modem control 0x%02x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.slavio_aux1_mem_writeb = qemu.kvm.slavio_aux1_mem_writeb ?
{
    printf("%d@%d slavio_aux1_mem_writeb Write aux1 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.slavio_aux1_mem_readb = qemu.kvm.slavio_aux1_mem_readb ?
{
    printf("%d@%d slavio_aux1_mem_readb Read aux1 0x%02x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.slavio_aux2_mem_writeb = qemu.kvm.slavio_aux2_mem_writeb ?
{
    printf("%d@%d slavio_aux2_mem_writeb Write aux2 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.slavio_aux2_mem_readb = qemu.kvm.slavio_aux2_mem_readb ?
{
    printf("%d@%d slavio_aux2_mem_readb Read aux2 0x%02x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.apc_mem_writeb = qemu.kvm.apc_mem_writeb ?
{
    printf("%d@%d apc_mem_writeb Write power management 0x%02x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.apc_mem_readb = qemu.kvm.apc_mem_readb ?
{
    printf("%d@%d apc_mem_readb Read power management 0x%02x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.slavio_sysctrl_mem_writel = qemu.kvm.slavio_sysctrl_mem_writel ?
{
    printf("%d@%d slavio_sysctrl_mem_writel Write system control 0x%08x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.slavio_sysctrl_mem_readl = qemu.kvm.slavio_sysctrl_mem_readl ?
{
    printf("%d@%d slavio_sysctrl_mem_readl Read system control 0x%08x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.slavio_led_mem_writew = qemu.kvm.slavio_led_mem_writew ?
{
    printf("%d@%d slavio_led_mem_writew Write diagnostic LED 0x%04x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.slavio_led_mem_readw = qemu.kvm.slavio_led_mem_readw ?
{
    printf("%d@%d slavio_led_mem_readw Read diagnostic LED 0x%04x\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.milkymist_hpdmc_memory_read = qemu.kvm.milkymist_hpdmc_memory_read ?
{
    printf("%d@%d milkymist_hpdmc_memory_read addr=0x%08x value=0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_hpdmc_memory_write = qemu.kvm.milkymist_hpdmc_memory_write ?
{
    printf("%d@%d milkymist_hpdmc_memory_write addr=0x%08x value=0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_pfpu_memory_read = qemu.kvm.milkymist_pfpu_memory_read ?
{
    printf("%d@%d milkymist_pfpu_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_pfpu_memory_write = qemu.kvm.milkymist_pfpu_memory_write ?
{
    printf("%d@%d milkymist_pfpu_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_pfpu_vectout = qemu.kvm.milkymist_pfpu_vectout ?
{
    printf("%d@%d milkymist_pfpu_vectout a 0x%08x b 0x%08x dma_ptr 0x%08x\n", pid(), gettimeofday_ns(), a, b, dma_ptr)
}
probe qemu.kvm.log.milkymist_pfpu_pulse_irq = qemu.kvm.milkymist_pfpu_pulse_irq ?
{
    printf("%d@%d milkymist_pfpu_pulse_irq Pulse IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.aspeed_scu_write = qemu.kvm.aspeed_scu_write ?
{
    printf("%d@%d aspeed_scu_write To 0x%x of size %u: 0x%x\n", pid(), gettimeofday_ns(), offset, size, data)
}
probe qemu.kvm.log.mps2_scc_read = qemu.kvm.mps2_scc_read ?
{
    printf("%d@%d mps2_scc_read MPS2 SCC read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.mps2_scc_write = qemu.kvm.mps2_scc_write ?
{
    printf("%d@%d mps2_scc_write MPS2 SCC write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.mps2_scc_reset = qemu.kvm.mps2_scc_reset ?
{
    printf("%d@%d mps2_scc_reset MPS2 SCC: reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.mps2_scc_leds = qemu.kvm.mps2_scc_leds ?
{
    printf("%d@%d mps2_scc_leds MPS2 SCC LEDs: %c%c%c%c%c%c%c%c\n", pid(), gettimeofday_ns(), led7, led6, led5, led4, led3, led2, led1, led0)
}
probe qemu.kvm.log.mps2_scc_cfg_write = qemu.kvm.mps2_scc_cfg_write ?
{
    printf("%d@%d mps2_scc_cfg_write MPS2 SCC config write: function %d device %d data 0x%x\n", pid(), gettimeofday_ns(), function_, device, value)
}
probe qemu.kvm.log.mps2_scc_cfg_read = qemu.kvm.mps2_scc_cfg_read ?
{
    printf("%d@%d mps2_scc_cfg_read MPS2 SCC config read: function %d device %d data 0x%x\n", pid(), gettimeofday_ns(), function_, device, value)
}
probe qemu.kvm.log.mps2_fpgaio_read = qemu.kvm.mps2_fpgaio_read ?
{
    printf("%d@%d mps2_fpgaio_read MPS2 FPGAIO read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.mps2_fpgaio_write = qemu.kvm.mps2_fpgaio_write ?
{
    printf("%d@%d mps2_fpgaio_write MPS2 FPGAIO write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.mps2_fpgaio_reset = qemu.kvm.mps2_fpgaio_reset ?
{
    printf("%d@%d mps2_fpgaio_reset MPS2 FPGAIO: reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.mps2_fpgaio_leds = qemu.kvm.mps2_fpgaio_leds ?
{
    printf("%d@%d mps2_fpgaio_leds MPS2 FPGAIO LEDs: %c%c\n", pid(), gettimeofday_ns(), led1, led0)
}
probe qemu.kvm.log.msf2_sysreg_write = qemu.kvm.msf2_sysreg_write ?
{
    printf("%d@%d msf2_sysreg_write msf2-sysreg write: addr 0x%08x data 0x%x prev 0x%x\n", pid(), gettimeofday_ns(), offset, val, prev)
}
probe qemu.kvm.log.msf2_sysreg_read = qemu.kvm.msf2_sysreg_read ?
{
    printf("%d@%d msf2_sysreg_read msf2-sysreg read: addr 0x%08x data 0x%08x\n", pid(), gettimeofday_ns(), offset, val)
}
probe qemu.kvm.log.msf2_sysreg_write_pll_status = qemu.kvm.msf2_sysreg_write_pll_status ?
{
    printf("%d@%d msf2_sysreg_write_pll_status Invalid write to read only PLL status register\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.imx7_gpr_read = qemu.kvm.imx7_gpr_read ?
{
    printf("%d@%d imx7_gpr_read addr 0x%08x\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.imx7_gpr_write = qemu.kvm.imx7_gpr_write ?
{
    printf("%d@%d imx7_gpr_write addr 0x%08xvalue 0x%08x\n", pid(), gettimeofday_ns(), offset, value)
}
probe qemu.kvm.log.mos6522_set_counter = qemu.kvm.mos6522_set_counter ?
{
    printf("%d@%d mos6522_set_counter T%d.counter=%d\n", pid(), gettimeofday_ns(), index, val)
}
probe qemu.kvm.log.mos6522_get_next_irq_time = qemu.kvm.mos6522_get_next_irq_time ?
{
    printf("%d@%d mos6522_get_next_irq_time latch=%d counter=0x%d delta_next=0x%d\n", pid(), gettimeofday_ns(), latch, d, delta)
}
probe qemu.kvm.log.mos6522_set_sr_int = qemu.kvm.mos6522_set_sr_int ?
{
    printf("%d@%d mos6522_set_sr_int set sr_int\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.mos6522_write = qemu.kvm.mos6522_write ?
{
    printf("%d@%d mos6522_write reg=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.mos6522_read = qemu.kvm.mos6522_read ?
{
    printf("%d@%d mos6522_read reg=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.tz_mpc_reg_read = qemu.kvm.tz_mpc_reg_read ?
{
    printf("%d@%d tz_mpc_reg_read TZ MPC regs read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.tz_mpc_reg_write = qemu.kvm.tz_mpc_reg_write ?
{
    printf("%d@%d tz_mpc_reg_write TZ MPC regs write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.tz_mpc_mem_blocked_read = qemu.kvm.tz_mpc_mem_blocked_read ?
{
    printf("%d@%d tz_mpc_mem_blocked_read TZ MPC blocked read: offset 0x%x size %u secure %d\n", pid(), gettimeofday_ns(), addr, size, secure)
}
probe qemu.kvm.log.tz_mpc_mem_blocked_write = qemu.kvm.tz_mpc_mem_blocked_write ?
{
    printf("%d@%d tz_mpc_mem_blocked_write TZ MPC blocked write: offset 0x%x data 0x%x size %u secure %d\n", pid(), gettimeofday_ns(), addr, data, size, secure)
}
probe qemu.kvm.log.tz_mpc_translate = qemu.kvm.tz_mpc_translate ?
{
    try {
        argidx_str = idx ? user_string_n(idx, 512) : "<null>"
    } catch {}
    try {
        argres_str = res ? user_string_n(res, 512) : "<null>"
    } catch {}
    printf("%d@%d tz_mpc_translate TZ MPC translate: addr 0x%x flags 0x%x iommu_idx %s: %s\n", pid(), gettimeofday_ns(), addr, flags, argidx_str, argres_str)
}
probe qemu.kvm.log.tz_mpc_iommu_notify = qemu.kvm.tz_mpc_iommu_notify ?
{
    printf("%d@%d tz_mpc_iommu_notify TZ MPC iommu: notifying UNMAP/MAP for 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.tz_msc_reset = qemu.kvm.tz_msc_reset ?
{
    printf("%d@%d tz_msc_reset TZ MSC: reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tz_msc_cfg_nonsec = qemu.kvm.tz_msc_cfg_nonsec ?
{
    printf("%d@%d tz_msc_cfg_nonsec TZ MSC: cfg_nonsec = %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.tz_msc_cfg_sec_resp = qemu.kvm.tz_msc_cfg_sec_resp ?
{
    printf("%d@%d tz_msc_cfg_sec_resp TZ MSC: cfg_sec_resp = %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.tz_msc_irq_clear = qemu.kvm.tz_msc_irq_clear ?
{
    printf("%d@%d tz_msc_irq_clear TZ MSC: int_clear = %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.tz_msc_update_irq = qemu.kvm.tz_msc_update_irq ?
{
    printf("%d@%d tz_msc_update_irq TZ MSC: setting irq line to %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.tz_msc_access_blocked = qemu.kvm.tz_msc_access_blocked ?
{
    printf("%d@%d tz_msc_access_blocked TZ MSC: offset 0x%x access blocked\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.tz_ppc_reset = qemu.kvm.tz_ppc_reset ?
{
    printf("%d@%d tz_ppc_reset TZ PPC: reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tz_ppc_cfg_nonsec = qemu.kvm.tz_ppc_cfg_nonsec ?
{
    printf("%d@%d tz_ppc_cfg_nonsec TZ PPC: cfg_nonsec[%d] = %d\n", pid(), gettimeofday_ns(), n, level)
}
probe qemu.kvm.log.tz_ppc_cfg_ap = qemu.kvm.tz_ppc_cfg_ap ?
{
    printf("%d@%d tz_ppc_cfg_ap TZ PPC: cfg_ap[%d] = %d\n", pid(), gettimeofday_ns(), n, level)
}
probe qemu.kvm.log.tz_ppc_cfg_sec_resp = qemu.kvm.tz_ppc_cfg_sec_resp ?
{
    printf("%d@%d tz_ppc_cfg_sec_resp TZ PPC: cfg_sec_resp = %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.tz_ppc_irq_enable = qemu.kvm.tz_ppc_irq_enable ?
{
    printf("%d@%d tz_ppc_irq_enable TZ PPC: int_enable = %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.tz_ppc_irq_clear = qemu.kvm.tz_ppc_irq_clear ?
{
    printf("%d@%d tz_ppc_irq_clear TZ PPC: int_clear = %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.tz_ppc_update_irq = qemu.kvm.tz_ppc_update_irq ?
{
    printf("%d@%d tz_ppc_update_irq TZ PPC: setting irq line to %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.tz_ppc_read_blocked = qemu.kvm.tz_ppc_read_blocked ?
{
    printf("%d@%d tz_ppc_read_blocked TZ PPC: port %d offset 0x%x read (secure %d user %d) blocked\n", pid(), gettimeofday_ns(), n, offset, secure, user)
}
probe qemu.kvm.log.tz_ppc_write_blocked = qemu.kvm.tz_ppc_write_blocked ?
{
    printf("%d@%d tz_ppc_write_blocked TZ PPC: port %d offset 0x%x write (secure %d user %d) blocked\n", pid(), gettimeofday_ns(), n, offset, secure, user)
}
probe qemu.kvm.log.iotkit_secctl_s_read = qemu.kvm.iotkit_secctl_s_read ?
{
    printf("%d@%d iotkit_secctl_s_read IoTKit SecCtl S regs read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.iotkit_secctl_s_write = qemu.kvm.iotkit_secctl_s_write ?
{
    printf("%d@%d iotkit_secctl_s_write IoTKit SecCtl S regs write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.iotkit_secctl_ns_read = qemu.kvm.iotkit_secctl_ns_read ?
{
    printf("%d@%d iotkit_secctl_ns_read IoTKit SecCtl NS regs read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.iotkit_secctl_ns_write = qemu.kvm.iotkit_secctl_ns_write ?
{
    printf("%d@%d iotkit_secctl_ns_write IoTKit SecCtl NS regs write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.ccm_entry = qemu.kvm.ccm_entry ?
{
    printf("%d@%d ccm_entry \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ccm_freq = qemu.kvm.ccm_freq ?
{
    printf("%d@%d ccm_freq freq = %d\n", pid(), gettimeofday_ns(), freq)
}
probe qemu.kvm.log.ccm_clock_freq = qemu.kvm.ccm_clock_freq ?
{
    printf("%d@%d ccm_clock_freq (Clock = %d) = %d\n", pid(), gettimeofday_ns(), clock, freq)
}
probe qemu.kvm.log.ccm_read_reg = qemu.kvm.ccm_read_reg ?
{
    try {
        argreg_name_str = reg_name ? user_string_n(reg_name, 512) : "<null>"
    } catch {}
    printf("%d@%d ccm_read_reg reg[%s] <= 0x%x\n", pid(), gettimeofday_ns(), argreg_name_str, value)
}
probe qemu.kvm.log.ccm_write_reg = qemu.kvm.ccm_write_reg ?
{
    try {
        argreg_name_str = reg_name ? user_string_n(reg_name, 512) : "<null>"
    } catch {}
    printf("%d@%d ccm_write_reg reg[%s] => 0x%x\n", pid(), gettimeofday_ns(), argreg_name_str, value)
}
probe qemu.kvm.log.iotkit_sysinfo_read = qemu.kvm.iotkit_sysinfo_read ?
{
    printf("%d@%d iotkit_sysinfo_read IoTKit SysInfo read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.iotkit_sysinfo_write = qemu.kvm.iotkit_sysinfo_write ?
{
    printf("%d@%d iotkit_sysinfo_write IoTKit SysInfo write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.iotkit_sysctl_read = qemu.kvm.iotkit_sysctl_read ?
{
    printf("%d@%d iotkit_sysctl_read IoTKit SysCtl read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.iotkit_sysctl_write = qemu.kvm.iotkit_sysctl_write ?
{
    printf("%d@%d iotkit_sysctl_write IoTKit SysCtl write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.iotkit_sysctl_reset = qemu.kvm.iotkit_sysctl_reset ?
{
    printf("%d@%d iotkit_sysctl_reset IoTKit SysCtl: reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.armsse_cpuid_read = qemu.kvm.armsse_cpuid_read ?
{
    printf("%d@%d armsse_cpuid_read SSE-200 CPU_IDENTITY read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.armsse_cpuid_write = qemu.kvm.armsse_cpuid_write ?
{
    printf("%d@%d armsse_cpuid_write SSE-200 CPU_IDENTITY write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.armsse_mhu_read = qemu.kvm.armsse_mhu_read ?
{
    printf("%d@%d armsse_mhu_read SSE-200 MHU read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.armsse_mhu_write = qemu.kvm.armsse_mhu_write ?
{
    printf("%d@%d armsse_mhu_write SSE-200 MHU write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.aspeed_xdma_write = qemu.kvm.aspeed_xdma_write ?
{
    printf("%d@%d aspeed_xdma_write XDMA write: offset 0x%x data 0x%x\n", pid(), gettimeofday_ns(), offset, data)
}
probe qemu.kvm.log.bcm2835_mbox_write = qemu.kvm.bcm2835_mbox_write ?
{
    printf("%d@%d bcm2835_mbox_write mbox write sz:%u addr:0x%x data:0x%x\n", pid(), gettimeofday_ns(), size, addr, value)
}
probe qemu.kvm.log.bcm2835_mbox_read = qemu.kvm.bcm2835_mbox_read ?
{
    printf("%d@%d bcm2835_mbox_read mbox read sz:%u addr:0x%x data:0x%x\n", pid(), gettimeofday_ns(), size, addr, value)
}
probe qemu.kvm.log.bcm2835_mbox_irq = qemu.kvm.bcm2835_mbox_irq ?
{
    printf("%d@%d bcm2835_mbox_irq mbox irq:ARM level:%u\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.bcm2835_mbox_property = qemu.kvm.bcm2835_mbox_property ?
{
    printf("%d@%d bcm2835_mbox_property mbox property tag:0x%08x in_sz:%u out_sz:%u\n", pid(), gettimeofday_ns(), tag, bufsize, resplen)
}
probe qemu.kvm.log.cuda_delay_set_sr_int = qemu.kvm.cuda_delay_set_sr_int ?
{
    printf("%d@%d cuda_delay_set_sr_int \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.cuda_data_send = qemu.kvm.cuda_data_send ?
{
    printf("%d@%d cuda_data_send send: 0x%02x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.cuda_data_recv = qemu.kvm.cuda_data_recv ?
{
    printf("%d@%d cuda_data_recv recv: 0x%02x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.cuda_receive_packet_cmd = qemu.kvm.cuda_receive_packet_cmd ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d cuda_receive_packet_cmd handling command %s\n", pid(), gettimeofday_ns(), argcmd_str)
}
probe qemu.kvm.log.cuda_packet_receive = qemu.kvm.cuda_packet_receive ?
{
    printf("%d@%d cuda_packet_receive length %d\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.cuda_packet_receive_data = qemu.kvm.cuda_packet_receive_data ?
{
    printf("%d@%d cuda_packet_receive_data [%d] 0x%02x\n", pid(), gettimeofday_ns(), i, data)
}
probe qemu.kvm.log.cuda_packet_send = qemu.kvm.cuda_packet_send ?
{
    printf("%d@%d cuda_packet_send length %d\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.cuda_packet_send_data = qemu.kvm.cuda_packet_send_data ?
{
    printf("%d@%d cuda_packet_send_data [%d] 0x%02x\n", pid(), gettimeofday_ns(), i, data)
}
probe qemu.kvm.log.macio_timer_write = qemu.kvm.macio_timer_write ?
{
    printf("%d@%d macio_timer_write write addr 0x%x len %d val 0x%x\n", pid(), gettimeofday_ns(), addr, len, val)
}
probe qemu.kvm.log.macio_timer_read = qemu.kvm.macio_timer_read ?
{
    printf("%d@%d macio_timer_read read addr 0x%x len %d val 0x%x\n", pid(), gettimeofday_ns(), addr, len, val)
}
probe qemu.kvm.log.macio_set_gpio = qemu.kvm.macio_set_gpio ?
{
    printf("%d@%d macio_set_gpio setting GPIO %d to %d\n", pid(), gettimeofday_ns(), gpio, state)
}
probe qemu.kvm.log.macio_gpio_irq_assert = qemu.kvm.macio_gpio_irq_assert ?
{
    printf("%d@%d macio_gpio_irq_assert asserting GPIO %d\n", pid(), gettimeofday_ns(), gpio)
}
probe qemu.kvm.log.macio_gpio_irq_deassert = qemu.kvm.macio_gpio_irq_deassert ?
{
    printf("%d@%d macio_gpio_irq_deassert deasserting GPIO %d\n", pid(), gettimeofday_ns(), gpio)
}
probe qemu.kvm.log.macio_gpio_write = qemu.kvm.macio_gpio_write ?
{
    printf("%d@%d macio_gpio_write addr: 0x%x value: 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.pmu_adb_poll = qemu.kvm.pmu_adb_poll ?
{
    printf("%d@%d pmu_adb_poll ADB autopoll, olen=%d\n", pid(), gettimeofday_ns(), olen)
}
probe qemu.kvm.log.pmu_one_sec_timer = qemu.kvm.pmu_one_sec_timer ?
{
    printf("%d@%d pmu_one_sec_timer PMU one sec...\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pmu_cmd_set_int_mask = qemu.kvm.pmu_cmd_set_int_mask ?
{
    printf("%d@%d pmu_cmd_set_int_mask Setting PMU int mask to 0x%02x\n", pid(), gettimeofday_ns(), intmask)
}
probe qemu.kvm.log.pmu_cmd_set_adb_autopoll = qemu.kvm.pmu_cmd_set_adb_autopoll ?
{
    printf("%d@%d pmu_cmd_set_adb_autopoll ADB set autopoll, mask=0x%04x\n", pid(), gettimeofday_ns(), mask)
}
probe qemu.kvm.log.pmu_cmd_adb_nobus = qemu.kvm.pmu_cmd_adb_nobus ?
{
    printf("%d@%d pmu_cmd_adb_nobus ADB PACKET with no ADB bus!\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pmu_cmd_adb_request = qemu.kvm.pmu_cmd_adb_request ?
{
    printf("%d@%d pmu_cmd_adb_request ADB request: len=%d, cmd=0x%02x, pflags=0x%02x, adblen=%d: 0x%02x 0x%02x...\n", pid(), gettimeofday_ns(), inlen, indata0, indata1, indata2, indata3, indata4)
}
probe qemu.kvm.log.pmu_cmd_adb_reply = qemu.kvm.pmu_cmd_adb_reply ?
{
    printf("%d@%d pmu_cmd_adb_reply ADB reply is %d bytes\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.pmu_dispatch_cmd = qemu.kvm.pmu_dispatch_cmd ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d pmu_dispatch_cmd handling command %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.pmu_dispatch_unknown_cmd = qemu.kvm.pmu_dispatch_unknown_cmd ?
{
    printf("%d@%d pmu_dispatch_unknown_cmd Unknown PMU command 0x%02x\n", pid(), gettimeofday_ns(), cmd)
}
probe qemu.kvm.log.pmu_debug_protocol_string = qemu.kvm.pmu_debug_protocol_string ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d pmu_debug_protocol_string %s\n", pid(), gettimeofday_ns(), argstr_str)
}
probe qemu.kvm.log.pmu_debug_protocol_resp_size = qemu.kvm.pmu_debug_protocol_resp_size ?
{
    printf("%d@%d pmu_debug_protocol_resp_size sending %d resp bytes\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.pmu_debug_protocol_error = qemu.kvm.pmu_debug_protocol_error ?
{
    printf("%d@%d pmu_debug_protocol_error protocol error! portB=0x%02x\n", pid(), gettimeofday_ns(), portB)
}
probe qemu.kvm.log.pmu_debug_protocol_clear_treq = qemu.kvm.pmu_debug_protocol_clear_treq ?
{
    printf("%d@%d pmu_debug_protocol_clear_treq TREQ cleared, clearing TACK, state: %d\n", pid(), gettimeofday_ns(), state)
}
probe qemu.kvm.log.pmu_debug_protocol_cmd = qemu.kvm.pmu_debug_protocol_cmd ?
{
    printf("%d@%d pmu_debug_protocol_cmd Got command byte 0x%02x, clen=%d, rlen=%d\n", pid(), gettimeofday_ns(), cmd, cmdlen, rsplen)
}
probe qemu.kvm.log.pmu_debug_protocol_cmdlen = qemu.kvm.pmu_debug_protocol_cmdlen ?
{
    printf("%d@%d pmu_debug_protocol_cmdlen got cmd length byte: %d\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.pmu_debug_protocol_cmd_toobig = qemu.kvm.pmu_debug_protocol_cmd_toobig ?
{
    printf("%d@%d pmu_debug_protocol_cmd_toobig command too big (%d bytes)\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.pmu_debug_protocol_cmd_send_resp_size = qemu.kvm.pmu_debug_protocol_cmd_send_resp_size ?
{
    printf("%d@%d pmu_debug_protocol_cmd_send_resp_size sending length byte: %d\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.pmu_debug_protocol_cmd_send_resp = qemu.kvm.pmu_debug_protocol_cmd_send_resp ?
{
    printf("%d@%d pmu_debug_protocol_cmd_send_resp sending byte: %d/%d\n", pid(), gettimeofday_ns(), pos, len)
}
probe qemu.kvm.log.pmu_debug_protocol_cmd_resp_complete = qemu.kvm.pmu_debug_protocol_cmd_resp_complete ?
{
    printf("%d@%d pmu_debug_protocol_cmd_resp_complete Response send complete. IER=0x%02x\n", pid(), gettimeofday_ns(), ier)
}
probe qemu.kvm.log.mdio_phy_read = qemu.kvm.mdio_phy_read ?
{
    printf("%d@%d mdio_phy_read read phy_reg:%d value:0x%04x\n", pid(), gettimeofday_ns(), regnum, value)
}
probe qemu.kvm.log.mdio_phy_write = qemu.kvm.mdio_phy_write ?
{
    printf("%d@%d mdio_phy_write write phy_reg:%d value:0x%04x\n", pid(), gettimeofday_ns(), regnum, value)
}
probe qemu.kvm.log.mdio_bitbang = qemu.kvm.mdio_bitbang ?
{
    printf("%d@%d mdio_bitbang bitbang mdc=%u mdio=%u state=%d cnt=%u drv=%d\n", pid(), gettimeofday_ns(), mdc, mdio, state, cnt, drive)
}
probe qemu.kvm.log.lance_mem_readw = qemu.kvm.lance_mem_readw ?
{
    printf("%d@%d lance_mem_readw addr=0x%xval=0x%04x\n", pid(), gettimeofday_ns(), addr, ret)
}
probe qemu.kvm.log.lance_mem_writew = qemu.kvm.lance_mem_writew ?
{
    printf("%d@%d lance_mem_writew addr=0x%xval=0x%04x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.milkymist_minimac2_memory_read = qemu.kvm.milkymist_minimac2_memory_read ?
{
    printf("%d@%d milkymist_minimac2_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_minimac2_memory_write = qemu.kvm.milkymist_minimac2_memory_write ?
{
    printf("%d@%d milkymist_minimac2_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_minimac2_mdio_write = qemu.kvm.milkymist_minimac2_mdio_write ?
{
    printf("%d@%d milkymist_minimac2_mdio_write phy_addr 0x%02x addr 0x%02x value 0x%04x\n", pid(), gettimeofday_ns(), phy_addr, addr, value)
}
probe qemu.kvm.log.milkymist_minimac2_mdio_read = qemu.kvm.milkymist_minimac2_mdio_read ?
{
    printf("%d@%d milkymist_minimac2_mdio_read phy_addr 0x%02x addr 0x%02x value 0x%04x\n", pid(), gettimeofday_ns(), phy_addr, addr, value)
}
probe qemu.kvm.log.milkymist_minimac2_tx_frame = qemu.kvm.milkymist_minimac2_tx_frame ?
{
    printf("%d@%d milkymist_minimac2_tx_frame length %u\n", pid(), gettimeofday_ns(), length)
}
probe qemu.kvm.log.milkymist_minimac2_rx_frame = qemu.kvm.milkymist_minimac2_rx_frame ?
{
    printf("%d@%d milkymist_minimac2_rx_frame buf %p length %u\n", pid(), gettimeofday_ns(), buf, length)
}
probe qemu.kvm.log.milkymist_minimac2_rx_transfer = qemu.kvm.milkymist_minimac2_rx_transfer ?
{
    printf("%d@%d milkymist_minimac2_rx_transfer buf %p length %d\n", pid(), gettimeofday_ns(), buf, length)
}
probe qemu.kvm.log.milkymist_minimac2_raise_irq_rx = qemu.kvm.milkymist_minimac2_raise_irq_rx ?
{
    printf("%d@%d milkymist_minimac2_raise_irq_rx Raise IRQ RX\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_minimac2_lower_irq_rx = qemu.kvm.milkymist_minimac2_lower_irq_rx ?
{
    printf("%d@%d milkymist_minimac2_lower_irq_rx Lower IRQ RX\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_minimac2_pulse_irq_tx = qemu.kvm.milkymist_minimac2_pulse_irq_tx ?
{
    printf("%d@%d milkymist_minimac2_pulse_irq_tx Pulse IRQ TX\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.mipsnet_send = qemu.kvm.mipsnet_send ?
{
    printf("%d@%d mipsnet_send sending len=%u\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.mipsnet_receive = qemu.kvm.mipsnet_receive ?
{
    printf("%d@%d mipsnet_receive receiving len=%u\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.mipsnet_read = qemu.kvm.mipsnet_read ?
{
    printf("%d@%d mipsnet_read read addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.mipsnet_write = qemu.kvm.mipsnet_write ?
{
    printf("%d@%d mipsnet_write write addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.mipsnet_irq = qemu.kvm.mipsnet_irq ?
{
    printf("%d@%d mipsnet_irq set irq to %d (0x%02x)\n", pid(), gettimeofday_ns(), isr, intctl)
}
probe qemu.kvm.log.ne2000_read = qemu.kvm.ne2000_read ?
{
    printf("%d@%d ne2000_read read addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.ne2000_write = qemu.kvm.ne2000_write ?
{
    printf("%d@%d ne2000_write write addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.ne2000_ioport_read = qemu.kvm.ne2000_ioport_read ?
{
    printf("%d@%d ne2000_ioport_read io read addr=0x%02x val=0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.ne2000_ioport_write = qemu.kvm.ne2000_ioport_write ?
{
    printf("%d@%d ne2000_ioport_write io write addr=0x%02x val=0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.open_eth_mii_write = qemu.kvm.open_eth_mii_write ?
{
    printf("%d@%d open_eth_mii_write MII[0x%02x] <- 0x%04x\n", pid(), gettimeofday_ns(), idx, v)
}
probe qemu.kvm.log.open_eth_mii_read = qemu.kvm.open_eth_mii_read ?
{
    printf("%d@%d open_eth_mii_read MII[0x%02x] -> 0x%04x\n", pid(), gettimeofday_ns(), idx, v)
}
probe qemu.kvm.log.open_eth_update_irq = qemu.kvm.open_eth_update_irq ?
{
    printf("%d@%d open_eth_update_irq IRQ <- 0x%x\n", pid(), gettimeofday_ns(), v)
}
probe qemu.kvm.log.open_eth_receive = qemu.kvm.open_eth_receive ?
{
    printf("%d@%d open_eth_receive RX: len: %u\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.open_eth_receive_mcast = qemu.kvm.open_eth_receive_mcast ?
{
    printf("%d@%d open_eth_receive_mcast MCAST: idx = %u, hash: %08x:%08x\n", pid(), gettimeofday_ns(), idx, h0, h1)
}
probe qemu.kvm.log.open_eth_receive_reject = qemu.kvm.open_eth_receive_reject ?
{
    printf("%d@%d open_eth_receive_reject RX: rejected\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.open_eth_receive_desc = qemu.kvm.open_eth_receive_desc ?
{
    printf("%d@%d open_eth_receive_desc RX: 0x%08x, len_flags: 0x%08x\n", pid(), gettimeofday_ns(), addr, len_flags)
}
probe qemu.kvm.log.open_eth_start_xmit = qemu.kvm.open_eth_start_xmit ?
{
    printf("%d@%d open_eth_start_xmit TX: 0x%08x, len: %u, tx_len: %u\n", pid(), gettimeofday_ns(), addr, len, tx_len)
}
probe qemu.kvm.log.open_eth_reg_read = qemu.kvm.open_eth_reg_read ?
{
    printf("%d@%d open_eth_reg_read MAC[0x%02x] -> 0x%08x\n", pid(), gettimeofday_ns(), addr, v)
}
probe qemu.kvm.log.open_eth_reg_write = qemu.kvm.open_eth_reg_write ?
{
    printf("%d@%d open_eth_reg_write MAC[0x%02x] <- 0x%08x\n", pid(), gettimeofday_ns(), addr, v)
}
probe qemu.kvm.log.open_eth_desc_read = qemu.kvm.open_eth_desc_read ?
{
    printf("%d@%d open_eth_desc_read DESC[0x%04x] -> 0x%08x\n", pid(), gettimeofday_ns(), addr, v)
}
probe qemu.kvm.log.open_eth_desc_write = qemu.kvm.open_eth_desc_write ?
{
    printf("%d@%d open_eth_desc_write DESC[0x%04x] <- 0x%08x\n", pid(), gettimeofday_ns(), addr, v)
}
probe qemu.kvm.log.pcnet_s_reset = qemu.kvm.pcnet_s_reset ?
{
    printf("%d@%d pcnet_s_reset s=%p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.pcnet_user_int = qemu.kvm.pcnet_user_int ?
{
    printf("%d@%d pcnet_user_int s=%p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.pcnet_isr_change = qemu.kvm.pcnet_isr_change ?
{
    printf("%d@%d pcnet_isr_change s=%p INTA=%d<=%d\n", pid(), gettimeofday_ns(), s, isr, isr_old)
}
probe qemu.kvm.log.pcnet_init = qemu.kvm.pcnet_init ?
{
    printf("%d@%d pcnet_init s=%p init_addr=0x%x\n", pid(), gettimeofday_ns(), s, init_addr)
}
probe qemu.kvm.log.pcnet_rlen_tlen = qemu.kvm.pcnet_rlen_tlen ?
{
    printf("%d@%d pcnet_rlen_tlen s=%p rlen=%d tlen=%d\n", pid(), gettimeofday_ns(), s, rlen, tlen)
}
probe qemu.kvm.log.pcnet_ss32_rdra_tdra = qemu.kvm.pcnet_ss32_rdra_tdra ?
{
    printf("%d@%d pcnet_ss32_rdra_tdra s=%p ss32=%d rdra=0x%08x[%d] tdra=0x%08x[%d]\n", pid(), gettimeofday_ns(), s, ss32, rdra, rcvrl, tdra, xmtrl)
}
probe qemu.kvm.log.pcnet_aprom_writeb = qemu.kvm.pcnet_aprom_writeb ?
{
    printf("%d@%d pcnet_aprom_writeb opaque=%p addr=0x%08x val=0x%02x\n", pid(), gettimeofday_ns(), opaque, addr, val)
}
probe qemu.kvm.log.pcnet_aprom_readb = qemu.kvm.pcnet_aprom_readb ?
{
    printf("%d@%d pcnet_aprom_readb opaque=%p addr=0x%08x val=0x%02x\n", pid(), gettimeofday_ns(), opaque, addr, val)
}
probe qemu.kvm.log.pcnet_ioport_read = qemu.kvm.pcnet_ioport_read ?
{
    printf("%d@%d pcnet_ioport_read opaque=%p addr=0x%x size=%d\n", pid(), gettimeofday_ns(), opaque, addr, size)
}
probe qemu.kvm.log.pcnet_ioport_write = qemu.kvm.pcnet_ioport_write ?
{
    printf("%d@%d pcnet_ioport_write opaque=%p addr=0x%x data=0x%x size=%d\n", pid(), gettimeofday_ns(), opaque, addr, data, size)
}
probe qemu.kvm.log.net_rx_pkt_parsed = qemu.kvm.net_rx_pkt_parsed ?
{
    printf("%d@%d net_rx_pkt_parsed RX packet parsed: ip4: %d, ip6: %d, udp: %d, tcp: %d, l3 offset: %u, l4 offset: %u, l5 offset: %u\n", pid(), gettimeofday_ns(), ip4, ip6, udp, tcp, l3o, l4o, l5o)
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_validate_entry = qemu.kvm.net_rx_pkt_l4_csum_validate_entry ?
{
    printf("%d@%d net_rx_pkt_l4_csum_validate_entry Starting L4 checksum validation\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_validate_not_xxp = qemu.kvm.net_rx_pkt_l4_csum_validate_not_xxp ?
{
    printf("%d@%d net_rx_pkt_l4_csum_validate_not_xxp Not a TCP/UDP packet\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_validate_udp_with_no_checksum = qemu.kvm.net_rx_pkt_l4_csum_validate_udp_with_no_checksum ?
{
    printf("%d@%d net_rx_pkt_l4_csum_validate_udp_with_no_checksum UDP packet without checksum\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_validate_ip4_fragment = qemu.kvm.net_rx_pkt_l4_csum_validate_ip4_fragment ?
{
    printf("%d@%d net_rx_pkt_l4_csum_validate_ip4_fragment IP4 fragment\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_validate_csum = qemu.kvm.net_rx_pkt_l4_csum_validate_csum ?
{
    printf("%d@%d net_rx_pkt_l4_csum_validate_csum Checksum valid: %d\n", pid(), gettimeofday_ns(), csum_valid)
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_calc_entry = qemu.kvm.net_rx_pkt_l4_csum_calc_entry ?
{
    printf("%d@%d net_rx_pkt_l4_csum_calc_entry Starting L4 checksum calculation\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_calc_ip4_udp = qemu.kvm.net_rx_pkt_l4_csum_calc_ip4_udp ?
{
    printf("%d@%d net_rx_pkt_l4_csum_calc_ip4_udp IP4/UDP packet\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_calc_ip4_tcp = qemu.kvm.net_rx_pkt_l4_csum_calc_ip4_tcp ?
{
    printf("%d@%d net_rx_pkt_l4_csum_calc_ip4_tcp IP4/TCP packet\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_calc_ip6_udp = qemu.kvm.net_rx_pkt_l4_csum_calc_ip6_udp ?
{
    printf("%d@%d net_rx_pkt_l4_csum_calc_ip6_udp IP6/UDP packet\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_calc_ip6_tcp = qemu.kvm.net_rx_pkt_l4_csum_calc_ip6_tcp ?
{
    printf("%d@%d net_rx_pkt_l4_csum_calc_ip6_tcp IP6/TCP packet\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_calc_ph_csum = qemu.kvm.net_rx_pkt_l4_csum_calc_ph_csum ?
{
    printf("%d@%d net_rx_pkt_l4_csum_calc_ph_csum Pseudo-header: checksum counter %u, length %u\n", pid(), gettimeofday_ns(), cntr, csl)
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_calc_csum = qemu.kvm.net_rx_pkt_l4_csum_calc_csum ?
{
    printf("%d@%d net_rx_pkt_l4_csum_calc_csum L4 Checksum: L4 header offset: %u, length: %u, counter: 0x%X, final checksum: 0x%X\n", pid(), gettimeofday_ns(), l4hdr_off, csl, cntr, csum)
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_fix_entry = qemu.kvm.net_rx_pkt_l4_csum_fix_entry ?
{
    printf("%d@%d net_rx_pkt_l4_csum_fix_entry Starting L4 checksum correction\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_fix_tcp = qemu.kvm.net_rx_pkt_l4_csum_fix_tcp ?
{
    printf("%d@%d net_rx_pkt_l4_csum_fix_tcp TCP packet, L4 cso: %u\n", pid(), gettimeofday_ns(), l4_cso)
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_fix_udp = qemu.kvm.net_rx_pkt_l4_csum_fix_udp ?
{
    printf("%d@%d net_rx_pkt_l4_csum_fix_udp UDP packet, L4 cso: %u\n", pid(), gettimeofday_ns(), l4_cso)
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_fix_not_xxp = qemu.kvm.net_rx_pkt_l4_csum_fix_not_xxp ?
{
    printf("%d@%d net_rx_pkt_l4_csum_fix_not_xxp Not an IP4 packet\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_fix_ip4_fragment = qemu.kvm.net_rx_pkt_l4_csum_fix_ip4_fragment ?
{
    printf("%d@%d net_rx_pkt_l4_csum_fix_ip4_fragment IP4 fragment\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_fix_udp_with_no_checksum = qemu.kvm.net_rx_pkt_l4_csum_fix_udp_with_no_checksum ?
{
    printf("%d@%d net_rx_pkt_l4_csum_fix_udp_with_no_checksum UDP packet without checksum\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l4_csum_fix_csum = qemu.kvm.net_rx_pkt_l4_csum_fix_csum ?
{
    printf("%d@%d net_rx_pkt_l4_csum_fix_csum L4 Checksum: Offset: %u, value 0x%X\n", pid(), gettimeofday_ns(), cso, csum)
}
probe qemu.kvm.log.net_rx_pkt_l3_csum_validate_entry = qemu.kvm.net_rx_pkt_l3_csum_validate_entry ?
{
    printf("%d@%d net_rx_pkt_l3_csum_validate_entry Starting L3 checksum validation\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l3_csum_validate_not_ip4 = qemu.kvm.net_rx_pkt_l3_csum_validate_not_ip4 ?
{
    printf("%d@%d net_rx_pkt_l3_csum_validate_not_ip4 Not an IP4 packet\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_l3_csum_validate_csum = qemu.kvm.net_rx_pkt_l3_csum_validate_csum ?
{
    printf("%d@%d net_rx_pkt_l3_csum_validate_csum L3 Checksum: L3 header offset: %u, length: %u, counter: 0x%X, final checksum: 0x%X, valid: %d\n", pid(), gettimeofday_ns(), l3hdr_off, csl, cntr, csum, csum_valid)
}
probe qemu.kvm.log.net_rx_pkt_rss_ip4 = qemu.kvm.net_rx_pkt_rss_ip4 ?
{
    printf("%d@%d net_rx_pkt_rss_ip4 Calculating IPv4 RSS  hash\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_rss_ip4_tcp = qemu.kvm.net_rx_pkt_rss_ip4_tcp ?
{
    printf("%d@%d net_rx_pkt_rss_ip4_tcp Calculating IPv4/TCP RSS  hash\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_rss_ip6_tcp = qemu.kvm.net_rx_pkt_rss_ip6_tcp ?
{
    printf("%d@%d net_rx_pkt_rss_ip6_tcp Calculating IPv6/TCP RSS  hash\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_rss_ip6 = qemu.kvm.net_rx_pkt_rss_ip6 ?
{
    printf("%d@%d net_rx_pkt_rss_ip6 Calculating IPv6 RSS  hash\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_rss_ip6_ex = qemu.kvm.net_rx_pkt_rss_ip6_ex ?
{
    printf("%d@%d net_rx_pkt_rss_ip6_ex Calculating IPv6/EX RSS  hash\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.net_rx_pkt_rss_hash = qemu.kvm.net_rx_pkt_rss_hash ?
{
    printf("%d@%d net_rx_pkt_rss_hash RSS hash for %u bytes: 0x%X\n", pid(), gettimeofday_ns(), rss_length, rss_hash)
}
probe qemu.kvm.log.net_rx_pkt_rss_add_chunk = qemu.kvm.net_rx_pkt_rss_add_chunk ?
{
    printf("%d@%d net_rx_pkt_rss_add_chunk Add RSS chunk %p, %u bytes, RSS input offset %u bytes\n", pid(), gettimeofday_ns(), ptr, size, input_offset)
}
probe qemu.kvm.log.e1000_receiver_overrun = qemu.kvm.e1000_receiver_overrun ?
{
    printf("%d@%d e1000_receiver_overrun Receiver overrun: dropped packet of %u bytes, RDH=%u, RDT=%u\n", pid(), gettimeofday_ns(), s, rdh, rdt)
}
probe qemu.kvm.log.e1000x_rx_can_recv_disabled = qemu.kvm.e1000x_rx_can_recv_disabled ?
{
    printf("%d@%d e1000x_rx_can_recv_disabled link_up: %d, rx_enabled %d, pci_master %d\n", pid(), gettimeofday_ns(), link_up, rx_enabled, pci_master)
}
probe qemu.kvm.log.e1000x_vlan_is_vlan_pkt = qemu.kvm.e1000x_vlan_is_vlan_pkt ?
{
    printf("%d@%d e1000x_vlan_is_vlan_pkt Is VLAN packet: %d, ETH proto: 0x%X, VET: 0x%X\n", pid(), gettimeofday_ns(), is_vlan_pkt, eth_proto, vet)
}
probe qemu.kvm.log.e1000x_rx_flt_ucast_match = qemu.kvm.e1000x_rx_flt_ucast_match ?
{
    printf("%d@%d e1000x_rx_flt_ucast_match unicast match[%d]: %02x:%02x:%02x:%02x:%02x:%02x\n", pid(), gettimeofday_ns(), idx, b0, b1, b2, b3, b4, b5)
}
probe qemu.kvm.log.e1000x_rx_flt_ucast_mismatch = qemu.kvm.e1000x_rx_flt_ucast_mismatch ?
{
    printf("%d@%d e1000x_rx_flt_ucast_mismatch unicast mismatch: %02x:%02x:%02x:%02x:%02x:%02x\n", pid(), gettimeofday_ns(), b0, b1, b2, b3, b4, b5)
}
probe qemu.kvm.log.e1000x_rx_flt_inexact_mismatch = qemu.kvm.e1000x_rx_flt_inexact_mismatch ?
{
    printf("%d@%d e1000x_rx_flt_inexact_mismatch inexact mismatch: %02x:%02x:%02x:%02x:%02x:%02x MO %d MTA[%d] 0x%x\n", pid(), gettimeofday_ns(), b0, b1, b2, b3, b4, b5, mo, mta, mta_val)
}
probe qemu.kvm.log.e1000x_rx_link_down = qemu.kvm.e1000x_rx_link_down ?
{
    printf("%d@%d e1000x_rx_link_down Received packet dropped because the link is down STATUS = %u\n", pid(), gettimeofday_ns(), status_reg)
}
probe qemu.kvm.log.e1000x_rx_disabled = qemu.kvm.e1000x_rx_disabled ?
{
    printf("%d@%d e1000x_rx_disabled Received packet dropped because receive is disabled RCTL = %u\n", pid(), gettimeofday_ns(), rctl_reg)
}
probe qemu.kvm.log.e1000x_rx_oversized = qemu.kvm.e1000x_rx_oversized ?
{
    printf("%d@%d e1000x_rx_oversized Received packet dropped because it was oversized (%u bytes)\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.e1000x_mac_indicate = qemu.kvm.e1000x_mac_indicate ?
{
    printf("%d@%d e1000x_mac_indicate Indicating MAC to guest: %02x:%02x:%02x:%02x:%02x:%02x\n", pid(), gettimeofday_ns(), b0, b1, b2, b3, b4, b5)
}
probe qemu.kvm.log.e1000x_link_negotiation_start = qemu.kvm.e1000x_link_negotiation_start ?
{
    printf("%d@%d e1000x_link_negotiation_start Start link auto negotiation\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000x_link_negotiation_done = qemu.kvm.e1000x_link_negotiation_done ?
{
    printf("%d@%d e1000x_link_negotiation_done Auto negotiation is completed\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_core_write = qemu.kvm.e1000e_core_write ?
{
    printf("%d@%d e1000e_core_write Write to register 0x%x, %d byte(s), value: 0x%x\n", pid(), gettimeofday_ns(), index, size, val)
}
probe qemu.kvm.log.e1000e_core_read = qemu.kvm.e1000e_core_read ?
{
    printf("%d@%d e1000e_core_read Read from register 0x%x, %d byte(s), value: 0x%x\n", pid(), gettimeofday_ns(), index, size, val)
}
probe qemu.kvm.log.e1000e_core_mdic_read = qemu.kvm.e1000e_core_mdic_read ?
{
    printf("%d@%d e1000e_core_mdic_read MDIC READ: PHY[%u][%u] = 0x%x\n", pid(), gettimeofday_ns(), page, addr, data)
}
probe qemu.kvm.log.e1000e_core_mdic_read_unhandled = qemu.kvm.e1000e_core_mdic_read_unhandled ?
{
    printf("%d@%d e1000e_core_mdic_read_unhandled MDIC READ: PHY[%u][%u] UNHANDLED\n", pid(), gettimeofday_ns(), page, addr)
}
probe qemu.kvm.log.e1000e_core_mdic_write = qemu.kvm.e1000e_core_mdic_write ?
{
    printf("%d@%d e1000e_core_mdic_write MDIC WRITE: PHY[%u][%u] = 0x%x\n", pid(), gettimeofday_ns(), page, addr, data)
}
probe qemu.kvm.log.e1000e_core_mdic_write_unhandled = qemu.kvm.e1000e_core_mdic_write_unhandled ?
{
    printf("%d@%d e1000e_core_mdic_write_unhandled MDIC WRITE: PHY[%u][%u] UNHANDLED\n", pid(), gettimeofday_ns(), page, addr)
}
probe qemu.kvm.log.e1000e_core_ctrl_write = qemu.kvm.e1000e_core_ctrl_write ?
{
    printf("%d@%d e1000e_core_ctrl_write Write CTRL register 0x%x, value: 0x%X\n", pid(), gettimeofday_ns(), index, val)
}
probe qemu.kvm.log.e1000e_core_ctrl_sw_reset = qemu.kvm.e1000e_core_ctrl_sw_reset ?
{
    printf("%d@%d e1000e_core_ctrl_sw_reset Doing SW reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_core_ctrl_phy_reset = qemu.kvm.e1000e_core_ctrl_phy_reset ?
{
    printf("%d@%d e1000e_core_ctrl_phy_reset Doing PHY reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_link_autoneg_flowctl = qemu.kvm.e1000e_link_autoneg_flowctl ?
{
    printf("%d@%d e1000e_link_autoneg_flowctl Auto-negotiated flow control state is %d\n", pid(), gettimeofday_ns(), enabled)
}
probe qemu.kvm.log.e1000e_link_set_params = qemu.kvm.e1000e_link_set_params ?
{
    printf("%d@%d e1000e_link_set_params Set link params: Autodetect: %d, Speed: %d, Force speed: %d, Force duplex: %d, RX flow control %d, TX flow control %d\n", pid(), gettimeofday_ns(), autodetect, speed, force_spd, force_dplx, rx_fctl, tx_fctl)
}
probe qemu.kvm.log.e1000e_link_read_params = qemu.kvm.e1000e_link_read_params ?
{
    printf("%d@%d e1000e_link_read_params Get link params: Autodetect: %d, Speed: %d, Force speed: %d, Force duplex: %d, RX flow control %d, TX flow control %d\n", pid(), gettimeofday_ns(), autodetect, speed, force_spd, force_dplx, rx_fctl, tx_fctl)
}
probe qemu.kvm.log.e1000e_link_set_ext_params = qemu.kvm.e1000e_link_set_ext_params ?
{
    printf("%d@%d e1000e_link_set_ext_params Set extended link params: ASD check: %d, Speed select bypass: %d\n", pid(), gettimeofday_ns(), asd_check, speed_select_bypass)
}
probe qemu.kvm.log.e1000e_link_status = qemu.kvm.e1000e_link_status ?
{
    printf("%d@%d e1000e_link_status Link up: %d, Duplex: %d, Speed: %d, ASDV: %d\n", pid(), gettimeofday_ns(), link_up, full_dplx, speed, asdv)
}
probe qemu.kvm.log.e1000e_link_status_changed = qemu.kvm.e1000e_link_status_changed ?
{
    printf("%d@%d e1000e_link_status_changed New link status: %d\n", pid(), gettimeofday_ns(), status)
}
probe qemu.kvm.log.e1000e_wrn_regs_write_ro = qemu.kvm.e1000e_wrn_regs_write_ro ?
{
    printf("%d@%d e1000e_wrn_regs_write_ro WARNING: Write to RO register 0x%x, %d byte(s), value: 0x%x\n", pid(), gettimeofday_ns(), index, size, val)
}
probe qemu.kvm.log.e1000e_wrn_regs_write_unknown = qemu.kvm.e1000e_wrn_regs_write_unknown ?
{
    printf("%d@%d e1000e_wrn_regs_write_unknown WARNING: Write to unknown register 0x%x, %d byte(s), value: 0x%x\n", pid(), gettimeofday_ns(), index, size, val)
}
probe qemu.kvm.log.e1000e_wrn_regs_read_unknown = qemu.kvm.e1000e_wrn_regs_read_unknown ?
{
    printf("%d@%d e1000e_wrn_regs_read_unknown WARNING: Read from unknown register 0x%x, %d byte(s)\n", pid(), gettimeofday_ns(), index, size)
}
probe qemu.kvm.log.e1000e_wrn_regs_read_trivial = qemu.kvm.e1000e_wrn_regs_read_trivial ?
{
    printf("%d@%d e1000e_wrn_regs_read_trivial WARNING: Reading register at offset: 0x%05x. It is not fully implemented.\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.e1000e_wrn_regs_write_trivial = qemu.kvm.e1000e_wrn_regs_write_trivial ?
{
    printf("%d@%d e1000e_wrn_regs_write_trivial WARNING: Writing to register at offset: 0x%05x. It is not fully implemented.\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.e1000e_wrn_no_ts_support = qemu.kvm.e1000e_wrn_no_ts_support ?
{
    printf("%d@%d e1000e_wrn_no_ts_support WARNING: Guest requested TX timestamping which is not supported\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_wrn_no_snap_support = qemu.kvm.e1000e_wrn_no_snap_support ?
{
    printf("%d@%d e1000e_wrn_no_snap_support WARNING: Guest requested TX SNAP header update which is not supported\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_wrn_iscsi_filtering_not_supported = qemu.kvm.e1000e_wrn_iscsi_filtering_not_supported ?
{
    printf("%d@%d e1000e_wrn_iscsi_filtering_not_supported WARNING: Guest requested iSCSI filtering  which is not supported\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_wrn_nfsw_filtering_not_supported = qemu.kvm.e1000e_wrn_nfsw_filtering_not_supported ?
{
    printf("%d@%d e1000e_wrn_nfsw_filtering_not_supported WARNING: Guest requested NFS write filtering  which is not supported\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_wrn_nfsr_filtering_not_supported = qemu.kvm.e1000e_wrn_nfsr_filtering_not_supported ?
{
    printf("%d@%d e1000e_wrn_nfsr_filtering_not_supported WARNING: Guest requested NFS read filtering  which is not supported\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_tx_disabled = qemu.kvm.e1000e_tx_disabled ?
{
    printf("%d@%d e1000e_tx_disabled TX Disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_tx_descr = qemu.kvm.e1000e_tx_descr ?
{
    printf("%d@%d e1000e_tx_descr %p : %x %x\n", pid(), gettimeofday_ns(), addr, lower, upper)
}
probe qemu.kvm.log.e1000e_ring_free_space = qemu.kvm.e1000e_ring_free_space ?
{
    printf("%d@%d e1000e_ring_free_space ring #%d: LEN: %u, DH: %u, DT: %u\n", pid(), gettimeofday_ns(), ridx, rdlen, rdh, rdt)
}
probe qemu.kvm.log.e1000e_rx_can_recv_rings_full = qemu.kvm.e1000e_rx_can_recv_rings_full ?
{
    printf("%d@%d e1000e_rx_can_recv_rings_full Cannot receive: all rings are full\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_can_recv = qemu.kvm.e1000e_rx_can_recv ?
{
    printf("%d@%d e1000e_rx_can_recv Can receive\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_has_buffers = qemu.kvm.e1000e_rx_has_buffers ?
{
    printf("%d@%d e1000e_rx_has_buffers ring #%d: free descr: %u, packet size %u, descr buffer size %u\n", pid(), gettimeofday_ns(), ridx, free_desc, total_size, desc_buf_size)
}
probe qemu.kvm.log.e1000e_rx_null_descriptor = qemu.kvm.e1000e_rx_null_descriptor ?
{
    printf("%d@%d e1000e_rx_null_descriptor Null RX descriptor!!\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_flt_vlan_mismatch = qemu.kvm.e1000e_rx_flt_vlan_mismatch ?
{
    printf("%d@%d e1000e_rx_flt_vlan_mismatch VID mismatch: 0x%X\n", pid(), gettimeofday_ns(), vid)
}
probe qemu.kvm.log.e1000e_rx_flt_vlan_match = qemu.kvm.e1000e_rx_flt_vlan_match ?
{
    printf("%d@%d e1000e_rx_flt_vlan_match VID match: 0x%X\n", pid(), gettimeofday_ns(), vid)
}
probe qemu.kvm.log.e1000e_rx_desc_ps_read = qemu.kvm.e1000e_rx_desc_ps_read ?
{
    printf("%d@%d e1000e_rx_desc_ps_read buffers: [0x%x, 0x%x, 0x%x, 0x%x]\n", pid(), gettimeofday_ns(), a0, a1, a2, a3)
}
probe qemu.kvm.log.e1000e_rx_desc_ps_write = qemu.kvm.e1000e_rx_desc_ps_write ?
{
    printf("%d@%d e1000e_rx_desc_ps_write bytes written: [%u, %u, %u, %u]\n", pid(), gettimeofday_ns(), a0, a1, a2, a3)
}
probe qemu.kvm.log.e1000e_rx_desc_buff_sizes = qemu.kvm.e1000e_rx_desc_buff_sizes ?
{
    printf("%d@%d e1000e_rx_desc_buff_sizes buffer sizes: [%u, %u, %u, %u]\n", pid(), gettimeofday_ns(), b0, b1, b2, b3)
}
probe qemu.kvm.log.e1000e_rx_desc_len = qemu.kvm.e1000e_rx_desc_len ?
{
    printf("%d@%d e1000e_rx_desc_len RX descriptor length: %u\n", pid(), gettimeofday_ns(), rx_desc_len)
}
probe qemu.kvm.log.e1000e_rx_desc_buff_write = qemu.kvm.e1000e_rx_desc_buff_write ?
{
    printf("%d@%d e1000e_rx_desc_buff_write buffer #%u, addr: 0x%x, offset: %u, from: %p, length: %u\n", pid(), gettimeofday_ns(), idx, addr, offset, source, len)
}
probe qemu.kvm.log.e1000e_rx_descr = qemu.kvm.e1000e_rx_descr ?
{
    printf("%d@%d e1000e_rx_descr Next RX descriptor: ring #%d, PA: 0x%x, length: %u\n", pid(), gettimeofday_ns(), ridx, base, len)
}
probe qemu.kvm.log.e1000e_rx_set_rctl = qemu.kvm.e1000e_rx_set_rctl ?
{
    printf("%d@%d e1000e_rx_set_rctl RCTL = 0x%x\n", pid(), gettimeofday_ns(), rctl)
}
probe qemu.kvm.log.e1000e_rx_receive_iov = qemu.kvm.e1000e_rx_receive_iov ?
{
    printf("%d@%d e1000e_rx_receive_iov Received vector of %d fragments\n", pid(), gettimeofday_ns(), iovcnt)
}
probe qemu.kvm.log.e1000e_rx_flt_dropped = qemu.kvm.e1000e_rx_flt_dropped ?
{
    printf("%d@%d e1000e_rx_flt_dropped Received packet dropped by RX filter\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_written_to_guest = qemu.kvm.e1000e_rx_written_to_guest ?
{
    printf("%d@%d e1000e_rx_written_to_guest Received packet written to guest (ICR causes %u)\n", pid(), gettimeofday_ns(), causes)
}
probe qemu.kvm.log.e1000e_rx_not_written_to_guest = qemu.kvm.e1000e_rx_not_written_to_guest ?
{
    printf("%d@%d e1000e_rx_not_written_to_guest Received packet NOT written to guest (ICR causes %u)\n", pid(), gettimeofday_ns(), causes)
}
probe qemu.kvm.log.e1000e_rx_interrupt_set = qemu.kvm.e1000e_rx_interrupt_set ?
{
    printf("%d@%d e1000e_rx_interrupt_set Receive interrupt set (ICR causes %u)\n", pid(), gettimeofday_ns(), causes)
}
probe qemu.kvm.log.e1000e_rx_interrupt_delayed = qemu.kvm.e1000e_rx_interrupt_delayed ?
{
    printf("%d@%d e1000e_rx_interrupt_delayed Receive interrupt delayed (ICR causes %u)\n", pid(), gettimeofday_ns(), causes)
}
probe qemu.kvm.log.e1000e_rx_set_cso = qemu.kvm.e1000e_rx_set_cso ?
{
    printf("%d@%d e1000e_rx_set_cso RX CSO state set to %d\n", pid(), gettimeofday_ns(), cso_state)
}
probe qemu.kvm.log.e1000e_rx_set_rdt = qemu.kvm.e1000e_rx_set_rdt ?
{
    printf("%d@%d e1000e_rx_set_rdt Setting RDT[%d] = %u\n", pid(), gettimeofday_ns(), queue_idx, val)
}
probe qemu.kvm.log.e1000e_rx_set_rfctl = qemu.kvm.e1000e_rx_set_rfctl ?
{
    printf("%d@%d e1000e_rx_set_rfctl Setting RFCTL = 0x%X\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.e1000e_rx_start_recv = qemu.kvm.e1000e_rx_start_recv ?
{
    printf("%d@%d e1000e_rx_start_recv \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_rss_started = qemu.kvm.e1000e_rx_rss_started ?
{
    printf("%d@%d e1000e_rx_rss_started Starting RSS processing\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_rss_disabled = qemu.kvm.e1000e_rx_rss_disabled ?
{
    printf("%d@%d e1000e_rx_rss_disabled RSS is disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_rss_type = qemu.kvm.e1000e_rx_rss_type ?
{
    printf("%d@%d e1000e_rx_rss_type RSS type is %u\n", pid(), gettimeofday_ns(), type)
}
probe qemu.kvm.log.e1000e_rx_rss_ip4 = qemu.kvm.e1000e_rx_rss_ip4 ?
{
    printf("%d@%d e1000e_rx_rss_ip4 RSS IPv4: fragment %d, tcp %d, mrqc 0x%X, tcpipv4 enabled %d, ipv4 enabled %d\n", pid(), gettimeofday_ns(), isfragment, istcp, mrqc, tcpipv4_enabled, ipv4_enabled)
}
probe qemu.kvm.log.e1000e_rx_rss_ip6_rfctl = qemu.kvm.e1000e_rx_rss_ip6_rfctl ?
{
    printf("%d@%d e1000e_rx_rss_ip6_rfctl RSS IPv6: rfctl 0x%X\n", pid(), gettimeofday_ns(), rfctl)
}
probe qemu.kvm.log.e1000e_rx_rss_ip6 = qemu.kvm.e1000e_rx_rss_ip6 ?
{
    printf("%d@%d e1000e_rx_rss_ip6 RSS IPv6: ex_dis: %d, new_ex_dis: %d, tcp %d, has_ext_headers %d, ex_dst_valid %d, ex_src_valid %d, mrqc 0x%X, tcpipv6 enabled %d, ipv6ex enabled %d, ipv6 enabled %d\n", pid(), gettimeofday_ns(), ex_dis, new_ex_dis, istcp, has_ext_headers, ex_dst_valid, ex_src_valid, mrqc, tcpipv6_enabled, ipv6ex_enabled, ipv6_enabled)
}
probe qemu.kvm.log.e1000e_rx_rss_dispatched_to_queue = qemu.kvm.e1000e_rx_rss_dispatched_to_queue ?
{
    printf("%d@%d e1000e_rx_rss_dispatched_to_queue Packet being dispatched to queue %d\n", pid(), gettimeofday_ns(), queue_idx)
}
probe qemu.kvm.log.e1000e_rx_metadata_protocols = qemu.kvm.e1000e_rx_metadata_protocols ?
{
    printf("%d@%d e1000e_rx_metadata_protocols protocols: ip4: %d, ip6: %d, udp: %d, tcp: %d\n", pid(), gettimeofday_ns(), isip4, isip6, isudp, istcp)
}
probe qemu.kvm.log.e1000e_rx_metadata_vlan = qemu.kvm.e1000e_rx_metadata_vlan ?
{
    printf("%d@%d e1000e_rx_metadata_vlan VLAN tag is 0x%X\n", pid(), gettimeofday_ns(), vlan_tag)
}
probe qemu.kvm.log.e1000e_rx_metadata_rss = qemu.kvm.e1000e_rx_metadata_rss ?
{
    printf("%d@%d e1000e_rx_metadata_rss RSS data: rss: 0x%X, mrq: 0x%X\n", pid(), gettimeofday_ns(), rss, mrq)
}
probe qemu.kvm.log.e1000e_rx_metadata_ip_id = qemu.kvm.e1000e_rx_metadata_ip_id ?
{
    printf("%d@%d e1000e_rx_metadata_ip_id the IPv4 ID is 0x%X\n", pid(), gettimeofday_ns(), ip_id)
}
probe qemu.kvm.log.e1000e_rx_metadata_ack = qemu.kvm.e1000e_rx_metadata_ack ?
{
    printf("%d@%d e1000e_rx_metadata_ack the packet is TCP ACK\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_metadata_pkt_type = qemu.kvm.e1000e_rx_metadata_pkt_type ?
{
    printf("%d@%d e1000e_rx_metadata_pkt_type the packet type is %u\n", pid(), gettimeofday_ns(), pkt_type)
}
probe qemu.kvm.log.e1000e_rx_metadata_no_virthdr = qemu.kvm.e1000e_rx_metadata_no_virthdr ?
{
    printf("%d@%d e1000e_rx_metadata_no_virthdr the packet has no virt-header\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_metadata_virthdr_no_csum_info = qemu.kvm.e1000e_rx_metadata_virthdr_no_csum_info ?
{
    printf("%d@%d e1000e_rx_metadata_virthdr_no_csum_info virt-header does not contain checksum info\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_metadata_l3_cso_disabled = qemu.kvm.e1000e_rx_metadata_l3_cso_disabled ?
{
    printf("%d@%d e1000e_rx_metadata_l3_cso_disabled IP4 CSO is disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_metadata_l4_cso_disabled = qemu.kvm.e1000e_rx_metadata_l4_cso_disabled ?
{
    printf("%d@%d e1000e_rx_metadata_l4_cso_disabled TCP/UDP CSO is disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_metadata_l3_csum_validation_failed = qemu.kvm.e1000e_rx_metadata_l3_csum_validation_failed ?
{
    printf("%d@%d e1000e_rx_metadata_l3_csum_validation_failed Cannot validate L3 checksum\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_metadata_l4_csum_validation_failed = qemu.kvm.e1000e_rx_metadata_l4_csum_validation_failed ?
{
    printf("%d@%d e1000e_rx_metadata_l4_csum_validation_failed Cannot validate L4 checksum\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_metadata_status_flags = qemu.kvm.e1000e_rx_metadata_status_flags ?
{
    printf("%d@%d e1000e_rx_metadata_status_flags status_flags is 0x%X\n", pid(), gettimeofday_ns(), status_flags)
}
probe qemu.kvm.log.e1000e_rx_metadata_ipv6_sum_disabled = qemu.kvm.e1000e_rx_metadata_ipv6_sum_disabled ?
{
    printf("%d@%d e1000e_rx_metadata_ipv6_sum_disabled IPv6 RX checksummimg disabled by RFCTL\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_rx_metadata_ipv6_filtering_disabled = qemu.kvm.e1000e_rx_metadata_ipv6_filtering_disabled ?
{
    printf("%d@%d e1000e_rx_metadata_ipv6_filtering_disabled IPv6 RX filtering disabled by RFCTL\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_vlan_vet = qemu.kvm.e1000e_vlan_vet ?
{
    printf("%d@%d e1000e_vlan_vet Setting VLAN ethernet type 0x%X\n", pid(), gettimeofday_ns(), vet)
}
probe qemu.kvm.log.e1000e_irq_msi_notify = qemu.kvm.e1000e_irq_msi_notify ?
{
    printf("%d@%d e1000e_irq_msi_notify MSI notify 0x%x\n", pid(), gettimeofday_ns(), cause)
}
probe qemu.kvm.log.e1000e_irq_throttling_no_pending_interrupts = qemu.kvm.e1000e_irq_throttling_no_pending_interrupts ?
{
    printf("%d@%d e1000e_irq_throttling_no_pending_interrupts No pending interrupts to notify\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_msi_notify_postponed = qemu.kvm.e1000e_irq_msi_notify_postponed ?
{
    printf("%d@%d e1000e_irq_msi_notify_postponed Sending MSI postponed by ITR\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_legacy_notify_postponed = qemu.kvm.e1000e_irq_legacy_notify_postponed ?
{
    printf("%d@%d e1000e_irq_legacy_notify_postponed Raising legacy IRQ postponed by ITR\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_throttling_no_pending_vec = qemu.kvm.e1000e_irq_throttling_no_pending_vec ?
{
    printf("%d@%d e1000e_irq_throttling_no_pending_vec No pending interrupts for vector %d\n", pid(), gettimeofday_ns(), idx)
}
probe qemu.kvm.log.e1000e_irq_msix_notify_postponed_vec = qemu.kvm.e1000e_irq_msix_notify_postponed_vec ?
{
    printf("%d@%d e1000e_irq_msix_notify_postponed_vec Sending MSI-X postponed by EITR[%d]\n", pid(), gettimeofday_ns(), idx)
}
probe qemu.kvm.log.e1000e_irq_legacy_notify = qemu.kvm.e1000e_irq_legacy_notify ?
{
    printf("%d@%d e1000e_irq_legacy_notify IRQ line state: %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.e1000e_irq_msix_notify_vec = qemu.kvm.e1000e_irq_msix_notify_vec ?
{
    printf("%d@%d e1000e_irq_msix_notify_vec MSI-X notify vector 0x%x\n", pid(), gettimeofday_ns(), vector)
}
probe qemu.kvm.log.e1000e_irq_postponed_by_xitr = qemu.kvm.e1000e_irq_postponed_by_xitr ?
{
    printf("%d@%d e1000e_irq_postponed_by_xitr Interrupt postponed by [E]ITR register 0x%x\n", pid(), gettimeofday_ns(), reg)
}
probe qemu.kvm.log.e1000e_irq_clear_ims = qemu.kvm.e1000e_irq_clear_ims ?
{
    printf("%d@%d e1000e_irq_clear_ims Clearing IMS bits 0x%x: 0x%x --> 0x%x\n", pid(), gettimeofday_ns(), bits, old_ims, new_ims)
}
probe qemu.kvm.log.e1000e_irq_set_ims = qemu.kvm.e1000e_irq_set_ims ?
{
    printf("%d@%d e1000e_irq_set_ims Setting IMS bits 0x%x: 0x%x --> 0x%x\n", pid(), gettimeofday_ns(), bits, old_ims, new_ims)
}
probe qemu.kvm.log.e1000e_irq_fix_icr_asserted = qemu.kvm.e1000e_irq_fix_icr_asserted ?
{
    printf("%d@%d e1000e_irq_fix_icr_asserted ICR_ASSERTED bit fixed: 0x%x\n", pid(), gettimeofday_ns(), new_val)
}
probe qemu.kvm.log.e1000e_irq_add_msi_other = qemu.kvm.e1000e_irq_add_msi_other ?
{
    printf("%d@%d e1000e_irq_add_msi_other ICR_OTHER bit added: 0x%x\n", pid(), gettimeofday_ns(), new_val)
}
probe qemu.kvm.log.e1000e_irq_pending_interrupts = qemu.kvm.e1000e_irq_pending_interrupts ?
{
    printf("%d@%d e1000e_irq_pending_interrupts ICR PENDING: 0x%x (ICR: 0x%x, IMS: 0x%x)\n", pid(), gettimeofday_ns(), pending, icr, ims)
}
probe qemu.kvm.log.e1000e_irq_set_cause_entry = qemu.kvm.e1000e_irq_set_cause_entry ?
{
    printf("%d@%d e1000e_irq_set_cause_entry Going to set IRQ cause 0x%x, ICR: 0x%x\n", pid(), gettimeofday_ns(), val, icr)
}
probe qemu.kvm.log.e1000e_irq_set_cause_exit = qemu.kvm.e1000e_irq_set_cause_exit ?
{
    printf("%d@%d e1000e_irq_set_cause_exit Set IRQ cause 0x%x, ICR: 0x%x\n", pid(), gettimeofday_ns(), val, icr)
}
probe qemu.kvm.log.e1000e_irq_icr_write = qemu.kvm.e1000e_irq_icr_write ?
{
    printf("%d@%d e1000e_irq_icr_write Clearing ICR bits 0x%x: 0x%x --> 0x%x\n", pid(), gettimeofday_ns(), bits, old_icr, new_icr)
}
probe qemu.kvm.log.e1000e_irq_write_ics = qemu.kvm.e1000e_irq_write_ics ?
{
    printf("%d@%d e1000e_irq_write_ics Adding ICR bits 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.e1000e_irq_icr_process_iame = qemu.kvm.e1000e_irq_icr_process_iame ?
{
    printf("%d@%d e1000e_irq_icr_process_iame Clearing IMS bits due to IAME\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_read_ics = qemu.kvm.e1000e_irq_read_ics ?
{
    printf("%d@%d e1000e_irq_read_ics Current ICS: 0x%x\n", pid(), gettimeofday_ns(), ics)
}
probe qemu.kvm.log.e1000e_irq_read_ims = qemu.kvm.e1000e_irq_read_ims ?
{
    printf("%d@%d e1000e_irq_read_ims Current IMS: 0x%x\n", pid(), gettimeofday_ns(), ims)
}
probe qemu.kvm.log.e1000e_irq_icr_read_entry = qemu.kvm.e1000e_irq_icr_read_entry ?
{
    printf("%d@%d e1000e_irq_icr_read_entry Starting ICR read. Current ICR: 0x%x\n", pid(), gettimeofday_ns(), icr)
}
probe qemu.kvm.log.e1000e_irq_icr_read_exit = qemu.kvm.e1000e_irq_icr_read_exit ?
{
    printf("%d@%d e1000e_irq_icr_read_exit Ending ICR read. Current ICR: 0x%x\n", pid(), gettimeofday_ns(), icr)
}
probe qemu.kvm.log.e1000e_irq_icr_clear_zero_ims = qemu.kvm.e1000e_irq_icr_clear_zero_ims ?
{
    printf("%d@%d e1000e_irq_icr_clear_zero_ims Clearing ICR on read due to zero IMS\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_icr_clear_iame = qemu.kvm.e1000e_irq_icr_clear_iame ?
{
    printf("%d@%d e1000e_irq_icr_clear_iame Clearing ICR on read due to IAME\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_iam_clear_eiame = qemu.kvm.e1000e_irq_iam_clear_eiame ?
{
    printf("%d@%d e1000e_irq_iam_clear_eiame Clearing IMS due to EIAME, IAM: 0x%X, cause: 0x%X\n", pid(), gettimeofday_ns(), iam, cause)
}
probe qemu.kvm.log.e1000e_irq_icr_clear_eiac = qemu.kvm.e1000e_irq_icr_clear_eiac ?
{
    printf("%d@%d e1000e_irq_icr_clear_eiac Clearing ICR bits due to EIAC, ICR: 0x%X, EIAC: 0x%X\n", pid(), gettimeofday_ns(), icr, eiac)
}
probe qemu.kvm.log.e1000e_irq_ims_clear_set_imc = qemu.kvm.e1000e_irq_ims_clear_set_imc ?
{
    printf("%d@%d e1000e_irq_ims_clear_set_imc Clearing IMS bits due to IMC write 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.e1000e_irq_fire_delayed_interrupts = qemu.kvm.e1000e_irq_fire_delayed_interrupts ?
{
    printf("%d@%d e1000e_irq_fire_delayed_interrupts Firing delayed interrupts\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_rearm_timer = qemu.kvm.e1000e_irq_rearm_timer ?
{
    printf("%d@%d e1000e_irq_rearm_timer Mitigation timer armed for register 0x%X, delay %d ns\n", pid(), gettimeofday_ns(), reg, delay_ns)
}
probe qemu.kvm.log.e1000e_irq_throttling_timer = qemu.kvm.e1000e_irq_throttling_timer ?
{
    printf("%d@%d e1000e_irq_throttling_timer Mitigation timer shot for register 0x%X\n", pid(), gettimeofday_ns(), reg)
}
probe qemu.kvm.log.e1000e_irq_rdtr_fpd_running = qemu.kvm.e1000e_irq_rdtr_fpd_running ?
{
    printf("%d@%d e1000e_irq_rdtr_fpd_running FPD written while RDTR was running\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_rdtr_fpd_not_running = qemu.kvm.e1000e_irq_rdtr_fpd_not_running ?
{
    printf("%d@%d e1000e_irq_rdtr_fpd_not_running FPD written while RDTR was not running\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_tidv_fpd_running = qemu.kvm.e1000e_irq_tidv_fpd_running ?
{
    printf("%d@%d e1000e_irq_tidv_fpd_running FPD written while TIDV was running\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_tidv_fpd_not_running = qemu.kvm.e1000e_irq_tidv_fpd_not_running ?
{
    printf("%d@%d e1000e_irq_tidv_fpd_not_running FPD written while TIDV was not running\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_irq_eitr_set = qemu.kvm.e1000e_irq_eitr_set ?
{
    printf("%d@%d e1000e_irq_eitr_set EITR[%u] = %u\n", pid(), gettimeofday_ns(), eitr_num, val)
}
probe qemu.kvm.log.e1000e_irq_itr_set = qemu.kvm.e1000e_irq_itr_set ?
{
    printf("%d@%d e1000e_irq_itr_set ITR = %u\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.e1000e_irq_fire_all_timers = qemu.kvm.e1000e_irq_fire_all_timers ?
{
    printf("%d@%d e1000e_irq_fire_all_timers Firing all delay/throttling timers on all interrupts enable (0x%X written to IMS)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.e1000e_irq_adding_delayed_causes = qemu.kvm.e1000e_irq_adding_delayed_causes ?
{
    printf("%d@%d e1000e_irq_adding_delayed_causes Merging delayed causes 0x%X to ICR 0x%X\n", pid(), gettimeofday_ns(), val, icr)
}
probe qemu.kvm.log.e1000e_irq_msix_pending_clearing = qemu.kvm.e1000e_irq_msix_pending_clearing ?
{
    printf("%d@%d e1000e_irq_msix_pending_clearing Clearing MSI-X pending bit for cause 0x%x, IVAR config 0x%x, vector %u\n", pid(), gettimeofday_ns(), cause, int_cfg, vec)
}
probe qemu.kvm.log.e1000e_wrn_msix_vec_wrong = qemu.kvm.e1000e_wrn_msix_vec_wrong ?
{
    printf("%d@%d e1000e_wrn_msix_vec_wrong Invalid configuration for cause 0x%x: 0x%x\n", pid(), gettimeofday_ns(), cause, cfg)
}
probe qemu.kvm.log.e1000e_wrn_msix_invalid = qemu.kvm.e1000e_wrn_msix_invalid ?
{
    printf("%d@%d e1000e_wrn_msix_invalid Invalid entry for cause 0x%x: 0x%x\n", pid(), gettimeofday_ns(), cause, cfg)
}
probe qemu.kvm.log.e1000e_mac_set_sw = qemu.kvm.e1000e_mac_set_sw ?
{
    printf("%d@%d e1000e_mac_set_sw Set SW MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", pid(), gettimeofday_ns(), b0, b1, b2, b3, b4, b5)
}
probe qemu.kvm.log.e1000e_vm_state_running = qemu.kvm.e1000e_vm_state_running ?
{
    printf("%d@%d e1000e_vm_state_running VM state is running\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_vm_state_stopped = qemu.kvm.e1000e_vm_state_stopped ?
{
    printf("%d@%d e1000e_vm_state_stopped VM state is stopped\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_cb_pci_realize = qemu.kvm.e1000e_cb_pci_realize ?
{
    printf("%d@%d e1000e_cb_pci_realize E1000E PCI realize entry\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_cb_pci_uninit = qemu.kvm.e1000e_cb_pci_uninit ?
{
    printf("%d@%d e1000e_cb_pci_uninit E1000E PCI unit entry\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_cb_qdev_reset = qemu.kvm.e1000e_cb_qdev_reset ?
{
    printf("%d@%d e1000e_cb_qdev_reset E1000E qdev reset entry\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_cb_pre_save = qemu.kvm.e1000e_cb_pre_save ?
{
    printf("%d@%d e1000e_cb_pre_save E1000E pre save entry\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_cb_post_load = qemu.kvm.e1000e_cb_post_load ?
{
    printf("%d@%d e1000e_cb_post_load E1000E post load entry\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.e1000e_io_write_addr = qemu.kvm.e1000e_io_write_addr ?
{
    printf("%d@%d e1000e_io_write_addr IOADDR write 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.e1000e_io_write_data = qemu.kvm.e1000e_io_write_data ?
{
    printf("%d@%d e1000e_io_write_data IODATA write 0x%x, value: 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.e1000e_io_read_addr = qemu.kvm.e1000e_io_read_addr ?
{
    printf("%d@%d e1000e_io_read_addr IOADDR read 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.e1000e_io_read_data = qemu.kvm.e1000e_io_read_data ?
{
    printf("%d@%d e1000e_io_read_data IODATA read 0x%x, value: 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.e1000e_wrn_io_write_unknown = qemu.kvm.e1000e_wrn_io_write_unknown ?
{
    printf("%d@%d e1000e_wrn_io_write_unknown IO write unknown address 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.e1000e_wrn_io_read_unknown = qemu.kvm.e1000e_wrn_io_read_unknown ?
{
    printf("%d@%d e1000e_wrn_io_read_unknown IO read unknown address 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.e1000e_wrn_io_addr_undefined = qemu.kvm.e1000e_wrn_io_addr_undefined ?
{
    printf("%d@%d e1000e_wrn_io_addr_undefined IO undefined register 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.e1000e_wrn_io_addr_flash = qemu.kvm.e1000e_wrn_io_addr_flash ?
{
    printf("%d@%d e1000e_wrn_io_addr_flash IO flash access (0x%x) not implemented\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.e1000e_wrn_io_addr_unknown = qemu.kvm.e1000e_wrn_io_addr_unknown ?
{
    printf("%d@%d e1000e_wrn_io_addr_unknown IO unknown register 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.e1000e_msi_init_fail = qemu.kvm.e1000e_msi_init_fail ?
{
    printf("%d@%d e1000e_msi_init_fail Failed to initialize MSI, error %d\n", pid(), gettimeofday_ns(), res)
}
probe qemu.kvm.log.e1000e_msix_init_fail = qemu.kvm.e1000e_msix_init_fail ?
{
    printf("%d@%d e1000e_msix_init_fail Failed to initialize MSI-X, error %d\n", pid(), gettimeofday_ns(), res)
}
probe qemu.kvm.log.e1000e_msix_use_vector_fail = qemu.kvm.e1000e_msix_use_vector_fail ?
{
    printf("%d@%d e1000e_msix_use_vector_fail Failed to use MSI-X vector %d, error %d\n", pid(), gettimeofday_ns(), vec, res)
}
probe qemu.kvm.log.e1000e_mac_set_permanent = qemu.kvm.e1000e_mac_set_permanent ?
{
    printf("%d@%d e1000e_mac_set_permanent Set permanent MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", pid(), gettimeofday_ns(), b0, b1, b2, b3, b4, b5)
}
probe qemu.kvm.log.e1000e_cfg_support_virtio = qemu.kvm.e1000e_cfg_support_virtio ?
{
    printf("%d@%d e1000e_cfg_support_virtio Virtio header supported: %d\n", pid(), gettimeofday_ns(), support)
}
probe qemu.kvm.log.spapr_vlan_get_rx_bd_from_pool_found = qemu.kvm.spapr_vlan_get_rx_bd_from_pool_found ?
{
    printf("%d@%d spapr_vlan_get_rx_bd_from_pool_found pool=%d count=%d rxbufs=%d\n", pid(), gettimeofday_ns(), pool, count, rx_bufs)
}
probe qemu.kvm.log.spapr_vlan_get_rx_bd_from_page = qemu.kvm.spapr_vlan_get_rx_bd_from_page ?
{
    printf("%d@%d spapr_vlan_get_rx_bd_from_page use_buf_ptr=%d bd=0x%016x\n", pid(), gettimeofday_ns(), buf_ptr, bd)
}
probe qemu.kvm.log.spapr_vlan_get_rx_bd_from_page_found = qemu.kvm.spapr_vlan_get_rx_bd_from_page_found ?
{
    printf("%d@%d spapr_vlan_get_rx_bd_from_page_found ptr=%u rxbufs=%u\n", pid(), gettimeofday_ns(), use_buf_ptr, rx_bufs)
}
probe qemu.kvm.log.spapr_vlan_receive = qemu.kvm.spapr_vlan_receive ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d spapr_vlan_receive [%s] rx_bufs=%u\n", pid(), gettimeofday_ns(), argid_str, rx_bufs)
}
probe qemu.kvm.log.spapr_vlan_receive_dma_completed = qemu.kvm.spapr_vlan_receive_dma_completed ?
{
    printf("%d@%d spapr_vlan_receive_dma_completed DMA write completed\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.spapr_vlan_receive_wrote = qemu.kvm.spapr_vlan_receive_wrote ?
{
    printf("%d@%d spapr_vlan_receive_wrote rxq entry (ptr=0x%x): 0x%016x 0x%016x\n", pid(), gettimeofday_ns(), ptr, hi, lo)
}
probe qemu.kvm.log.spapr_vlan_add_rxbuf_to_pool_create = qemu.kvm.spapr_vlan_add_rxbuf_to_pool_create ?
{
    printf("%d@%d spapr_vlan_add_rxbuf_to_pool_create created RX pool %d for size %u\n", pid(), gettimeofday_ns(), pool, len)
}
probe qemu.kvm.log.spapr_vlan_add_rxbuf_to_pool = qemu.kvm.spapr_vlan_add_rxbuf_to_pool ?
{
    printf("%d@%d spapr_vlan_add_rxbuf_to_pool add buf using pool %d (size %u, count=%u)\n", pid(), gettimeofday_ns(), pool, len, count)
}
probe qemu.kvm.log.spapr_vlan_add_rxbuf_to_page = qemu.kvm.spapr_vlan_add_rxbuf_to_page ?
{
    printf("%d@%d spapr_vlan_add_rxbuf_to_page added buf ptr=%u  rx_bufs=%u bd=0x%016u\n", pid(), gettimeofday_ns(), ptr, rx_bufs, bd)
}
probe qemu.kvm.log.spapr_vlan_h_add_logical_lan_buffer = qemu.kvm.spapr_vlan_h_add_logical_lan_buffer ?
{
    printf("%d@%d spapr_vlan_h_add_logical_lan_buffer H_ADD_LOGICAL_LAN_BUFFER(0x%x, 0x%x)\n", pid(), gettimeofday_ns(), reg, buf)
}
probe qemu.kvm.log.spapr_vlan_h_send_logical_lan = qemu.kvm.spapr_vlan_h_send_logical_lan ?
{
    printf("%d@%d spapr_vlan_h_send_logical_lan H_SEND_LOGICAL_LAN(0x%x, <bufs>, 0x%x)\n", pid(), gettimeofday_ns(), reg, continue_token)
}
probe qemu.kvm.log.spapr_vlan_h_send_logical_lan_rxbufs = qemu.kvm.spapr_vlan_h_send_logical_lan_rxbufs ?
{
    printf("%d@%d spapr_vlan_h_send_logical_lan_rxbufs rxbufs = %u\n", pid(), gettimeofday_ns(), rx_bufs)
}
probe qemu.kvm.log.spapr_vlan_h_send_logical_lan_buf_desc = qemu.kvm.spapr_vlan_h_send_logical_lan_buf_desc ?
{
    printf("%d@%d spapr_vlan_h_send_logical_lan_buf_desc    buf desc: 0x%x\n", pid(), gettimeofday_ns(), buf)
}
probe qemu.kvm.log.spapr_vlan_h_send_logical_lan_total = qemu.kvm.spapr_vlan_h_send_logical_lan_total ?
{
    printf("%d@%d spapr_vlan_h_send_logical_lan_total %d buffers, total length 0x%x\n", pid(), gettimeofday_ns(), nbufs, total_len)
}
probe qemu.kvm.log.sungem_tx_checksum = qemu.kvm.sungem_tx_checksum ?
{
    printf("%d@%d sungem_tx_checksum TX checksumming from byte %d, inserting at %d\n", pid(), gettimeofday_ns(), start, off)
}
probe qemu.kvm.log.sungem_tx_checksum_oob = qemu.kvm.sungem_tx_checksum_oob ?
{
    printf("%d@%d sungem_tx_checksum_oob TX checksum out of packet bounds\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_tx_unfinished = qemu.kvm.sungem_tx_unfinished ?
{
    printf("%d@%d sungem_tx_unfinished TX packet started without finishing the previous one\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_tx_overflow = qemu.kvm.sungem_tx_overflow ?
{
    printf("%d@%d sungem_tx_overflow TX packet queue overflow\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_tx_finished = qemu.kvm.sungem_tx_finished ?
{
    printf("%d@%d sungem_tx_finished TX completing %u bytes packet\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.sungem_tx_kick = qemu.kvm.sungem_tx_kick ?
{
    printf("%d@%d sungem_tx_kick TX Kick...\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_tx_disabled = qemu.kvm.sungem_tx_disabled ?
{
    printf("%d@%d sungem_tx_disabled TX not enabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_tx_process = qemu.kvm.sungem_tx_process ?
{
    printf("%d@%d sungem_tx_process TX processing comp=%u, kick=%u out of %u\n", pid(), gettimeofday_ns(), comp, kick, size)
}
probe qemu.kvm.log.sungem_tx_desc = qemu.kvm.sungem_tx_desc ?
{
    printf("%d@%d sungem_tx_desc TX desc %u: 0x%x 0x%x\n", pid(), gettimeofday_ns(), comp, control, buffer)
}
probe qemu.kvm.log.sungem_tx_reset = qemu.kvm.sungem_tx_reset ?
{
    printf("%d@%d sungem_tx_reset TX reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_rx_mac_disabled = qemu.kvm.sungem_rx_mac_disabled ?
{
    printf("%d@%d sungem_rx_mac_disabled Check RX MAC disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_rx_txdma_disabled = qemu.kvm.sungem_rx_txdma_disabled ?
{
    printf("%d@%d sungem_rx_txdma_disabled Check RX TXDMA disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_rx_check = qemu.kvm.sungem_rx_check ?
{
    printf("%d@%d sungem_rx_check Check RX %d (kick=%u, done=%u)\n", pid(), gettimeofday_ns(), full, kick, done)
}
probe qemu.kvm.log.sungem_rx_mac_check = qemu.kvm.sungem_rx_mac_check ?
{
    printf("%d@%d sungem_rx_mac_check Word MAC: 0x%x 0x%x 0x%x\n", pid(), gettimeofday_ns(), mac0, mac1, mac2)
}
probe qemu.kvm.log.sungem_rx_mac_multicast = qemu.kvm.sungem_rx_mac_multicast ?
{
    printf("%d@%d sungem_rx_mac_multicast Multicast\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_rx_mac_compare = qemu.kvm.sungem_rx_mac_compare ?
{
    printf("%d@%d sungem_rx_mac_compare Compare MAC to 0x%x 0x%x 0x%x..\n", pid(), gettimeofday_ns(), mac0, mac1, mac2)
}
probe qemu.kvm.log.sungem_rx_packet = qemu.kvm.sungem_rx_packet ?
{
    printf("%d@%d sungem_rx_packet RX got %u bytes packet\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.sungem_rx_disabled = qemu.kvm.sungem_rx_disabled ?
{
    printf("%d@%d sungem_rx_disabled RX not enabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_rx_bad_frame_size = qemu.kvm.sungem_rx_bad_frame_size ?
{
    printf("%d@%d sungem_rx_bad_frame_size RX bad frame size %u, dropped\n", pid(), gettimeofday_ns(), size)
}
probe qemu.kvm.log.sungem_rx_unmatched = qemu.kvm.sungem_rx_unmatched ?
{
    printf("%d@%d sungem_rx_unmatched No match, dropped\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_rx_process = qemu.kvm.sungem_rx_process ?
{
    printf("%d@%d sungem_rx_process RX processing done=%u, kick=%u out of %u\n", pid(), gettimeofday_ns(), done, kick, size)
}
probe qemu.kvm.log.sungem_rx_ringfull = qemu.kvm.sungem_rx_ringfull ?
{
    printf("%d@%d sungem_rx_ringfull RX ring full\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_rx_desc = qemu.kvm.sungem_rx_desc ?
{
    printf("%d@%d sungem_rx_desc RX desc: 0x%x 0x%x\n", pid(), gettimeofday_ns(), control, buffer)
}
probe qemu.kvm.log.sungem_rx_reset = qemu.kvm.sungem_rx_reset ?
{
    printf("%d@%d sungem_rx_reset RX reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sungem_rx_kick = qemu.kvm.sungem_rx_kick ?
{
    printf("%d@%d sungem_rx_kick RXDMA_KICK written to %u\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.sungem_reset = qemu.kvm.sungem_reset ?
{
    printf("%d@%d sungem_reset Full reset (PCI:%d)\n", pid(), gettimeofday_ns(), pci_reset)
}
probe qemu.kvm.log.sungem_mii_write = qemu.kvm.sungem_mii_write ?
{
    printf("%d@%d sungem_mii_write MII write addr 0x%x reg 0x%02x val 0x%04x\n", pid(), gettimeofday_ns(), phy_addr, reg_addr, val)
}
probe qemu.kvm.log.sungem_mii_read = qemu.kvm.sungem_mii_read ?
{
    printf("%d@%d sungem_mii_read MII read addr 0x%x reg 0x%02x val 0x%04x\n", pid(), gettimeofday_ns(), phy_addr, reg_addr, val)
}
probe qemu.kvm.log.sungem_mii_invalid_sof = qemu.kvm.sungem_mii_invalid_sof ?
{
    printf("%d@%d sungem_mii_invalid_sof MII op, invalid SOF field 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.sungem_mii_invalid_op = qemu.kvm.sungem_mii_invalid_op ?
{
    printf("%d@%d sungem_mii_invalid_op MII op, invalid op field 0x%x\n", pid(), gettimeofday_ns(), op)
}
probe qemu.kvm.log.sungem_mmio_greg_write = qemu.kvm.sungem_mmio_greg_write ?
{
    printf("%d@%d sungem_mmio_greg_write MMIO greg write to 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_greg_read = qemu.kvm.sungem_mmio_greg_read ?
{
    printf("%d@%d sungem_mmio_greg_read MMIO greg read from 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_txdma_write = qemu.kvm.sungem_mmio_txdma_write ?
{
    printf("%d@%d sungem_mmio_txdma_write MMIO txdma write to 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_txdma_read = qemu.kvm.sungem_mmio_txdma_read ?
{
    printf("%d@%d sungem_mmio_txdma_read MMIO txdma read from 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_rxdma_write = qemu.kvm.sungem_mmio_rxdma_write ?
{
    printf("%d@%d sungem_mmio_rxdma_write MMIO rxdma write to 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_rxdma_read = qemu.kvm.sungem_mmio_rxdma_read ?
{
    printf("%d@%d sungem_mmio_rxdma_read MMIO rxdma read from 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_mac_write = qemu.kvm.sungem_mmio_mac_write ?
{
    printf("%d@%d sungem_mmio_mac_write MMIO mac write to 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_mac_read = qemu.kvm.sungem_mmio_mac_read ?
{
    printf("%d@%d sungem_mmio_mac_read MMIO mac read from 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_mif_write = qemu.kvm.sungem_mmio_mif_write ?
{
    printf("%d@%d sungem_mmio_mif_write MMIO mif write to 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_mif_read = qemu.kvm.sungem_mmio_mif_read ?
{
    printf("%d@%d sungem_mmio_mif_read MMIO mif read from 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_pcs_write = qemu.kvm.sungem_mmio_pcs_write ?
{
    printf("%d@%d sungem_mmio_pcs_write MMIO pcs write to 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sungem_mmio_pcs_read = qemu.kvm.sungem_mmio_pcs_read ?
{
    printf("%d@%d sungem_mmio_pcs_read MMIO pcs read from 0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sunhme_seb_write = qemu.kvm.sunhme_seb_write ?
{
    printf("%d@%d sunhme_seb_write addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_seb_read = qemu.kvm.sunhme_seb_read ?
{
    printf("%d@%d sunhme_seb_read addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_etx_write = qemu.kvm.sunhme_etx_write ?
{
    printf("%d@%d sunhme_etx_write addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_etx_read = qemu.kvm.sunhme_etx_read ?
{
    printf("%d@%d sunhme_etx_read addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_erx_write = qemu.kvm.sunhme_erx_write ?
{
    printf("%d@%d sunhme_erx_write addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_erx_read = qemu.kvm.sunhme_erx_read ?
{
    printf("%d@%d sunhme_erx_read addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_mac_write = qemu.kvm.sunhme_mac_write ?
{
    printf("%d@%d sunhme_mac_write addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_mac_read = qemu.kvm.sunhme_mac_read ?
{
    printf("%d@%d sunhme_mac_read addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_mii_write = qemu.kvm.sunhme_mii_write ?
{
    printf("%d@%d sunhme_mii_write addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_mii_read = qemu.kvm.sunhme_mii_read ?
{
    printf("%d@%d sunhme_mii_read addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_mif_write = qemu.kvm.sunhme_mif_write ?
{
    printf("%d@%d sunhme_mif_write addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_mif_read = qemu.kvm.sunhme_mif_read ?
{
    printf("%d@%d sunhme_mif_read addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sunhme_tx_desc = qemu.kvm.sunhme_tx_desc ?
{
    printf("%d@%d sunhme_tx_desc addr 0x%x status 0x%x (ring %d/%d)\n", pid(), gettimeofday_ns(), buffer, status, cr, nr)
}
probe qemu.kvm.log.sunhme_tx_xsum_add = qemu.kvm.sunhme_tx_xsum_add ?
{
    printf("%d@%d sunhme_tx_xsum_add adding xsum at offset %d, len %d\n", pid(), gettimeofday_ns(), offset, len)
}
probe qemu.kvm.log.sunhme_tx_xsum_stuff = qemu.kvm.sunhme_tx_xsum_stuff ?
{
    printf("%d@%d sunhme_tx_xsum_stuff stuffing xsum 0x%x at offset %d\n", pid(), gettimeofday_ns(), xsum, offset)
}
probe qemu.kvm.log.sunhme_tx_done = qemu.kvm.sunhme_tx_done ?
{
    printf("%d@%d sunhme_tx_done successfully transmitted frame with len %d\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.sunhme_rx_incoming = qemu.kvm.sunhme_rx_incoming ?
{
    printf("%d@%d sunhme_rx_incoming received incoming frame with len %u\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.sunhme_rx_filter_destmac = qemu.kvm.sunhme_rx_filter_destmac ?
{
    printf("%d@%d sunhme_rx_filter_destmac received frame for MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", pid(), gettimeofday_ns(), b0, b1, b2, b3, b4, b5)
}
probe qemu.kvm.log.sunhme_rx_filter_local_match = qemu.kvm.sunhme_rx_filter_local_match ?
{
    printf("%d@%d sunhme_rx_filter_local_match incoming frame matches local MAC address\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sunhme_rx_filter_bcast_match = qemu.kvm.sunhme_rx_filter_bcast_match ?
{
    printf("%d@%d sunhme_rx_filter_bcast_match incoming frame matches broadcast MAC address\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sunhme_rx_filter_hash_nomatch = qemu.kvm.sunhme_rx_filter_hash_nomatch ?
{
    printf("%d@%d sunhme_rx_filter_hash_nomatch incoming MAC address not in hash table\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sunhme_rx_filter_hash_match = qemu.kvm.sunhme_rx_filter_hash_match ?
{
    printf("%d@%d sunhme_rx_filter_hash_match incoming MAC address found in hash table\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sunhme_rx_filter_promisc_match = qemu.kvm.sunhme_rx_filter_promisc_match ?
{
    printf("%d@%d sunhme_rx_filter_promisc_match incoming frame accepted due to promiscuous mode\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sunhme_rx_filter_reject = qemu.kvm.sunhme_rx_filter_reject ?
{
    printf("%d@%d sunhme_rx_filter_reject rejecting incoming frame\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sunhme_rx_filter_accept = qemu.kvm.sunhme_rx_filter_accept ?
{
    printf("%d@%d sunhme_rx_filter_accept accepting incoming frame\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sunhme_rx_desc = qemu.kvm.sunhme_rx_desc ?
{
    printf("%d@%d sunhme_rx_desc addr 0x%x(+0x%x) status 0x%x len %d (ring %d/%d)\n", pid(), gettimeofday_ns(), addr, offset, status, len, cr, nr)
}
probe qemu.kvm.log.sunhme_rx_xsum_calc = qemu.kvm.sunhme_rx_xsum_calc ?
{
    printf("%d@%d sunhme_rx_xsum_calc calculated incoming xsum as 0x%x\n", pid(), gettimeofday_ns(), xsum)
}
probe qemu.kvm.log.sunhme_rx_norxd = qemu.kvm.sunhme_rx_norxd ?
{
    printf("%d@%d sunhme_rx_norxd no free rx descriptors available\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sunhme_update_irq = qemu.kvm.sunhme_update_irq ?
{
    printf("%d@%d sunhme_update_irq mifmask: 0x%x  mif: 0x%x  sebmask: 0x%x  seb: 0x%x  level: %d\n", pid(), gettimeofday_ns(), mifmask, mif, sebmask, seb, level)
}
probe qemu.kvm.log.virtio_net_announce_notify = qemu.kvm.virtio_net_announce_notify ?
{
    printf("%d@%d virtio_net_announce_notify \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.virtio_net_announce_timer = qemu.kvm.virtio_net_announce_timer ?
{
    printf("%d@%d virtio_net_announce_timer %d\n", pid(), gettimeofday_ns(), round)
}
probe qemu.kvm.log.virtio_net_handle_announce = qemu.kvm.virtio_net_handle_announce ?
{
    printf("%d@%d virtio_net_handle_announce %d\n", pid(), gettimeofday_ns(), round)
}
probe qemu.kvm.log.virtio_net_post_load_device = qemu.kvm.virtio_net_post_load_device ?
{
    printf("%d@%d virtio_net_post_load_device \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tulip_reg_write = qemu.kvm.tulip_reg_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d tulip_reg_write addr 0x%02x (%s) size %d value 0x%08x\n", pid(), gettimeofday_ns(), addr, argname_str, size, val)
}
probe qemu.kvm.log.tulip_reg_read = qemu.kvm.tulip_reg_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d tulip_reg_read addr 0x%02x (%s) size %d value 0x%08x\n", pid(), gettimeofday_ns(), addr, argname_str, size, val)
}
probe qemu.kvm.log.tulip_receive = qemu.kvm.tulip_receive ?
{
    printf("%d@%d tulip_receive buf %p size %u\n", pid(), gettimeofday_ns(), buf, len)
}
probe qemu.kvm.log.tulip_descriptor = qemu.kvm.tulip_descriptor ?
{
    try {
        argprefix_str = prefix ? user_string_n(prefix, 512) : "<null>"
    } catch {}
    printf("%d@%d tulip_descriptor %s 0x%08x: status 0x%08x control 0x%03x len1 %4d len2 %4d buf1 0x%08x buf2 0x%08x\n", pid(), gettimeofday_ns(), argprefix_str, addr, status, control, len1, len2, buf1, buf2)
}
probe qemu.kvm.log.tulip_rx_state = qemu.kvm.tulip_rx_state ?
{
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d tulip_rx_state RX %s\n", pid(), gettimeofday_ns(), argstate_str)
}
probe qemu.kvm.log.tulip_tx_state = qemu.kvm.tulip_tx_state ?
{
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d tulip_tx_state TX %s\n", pid(), gettimeofday_ns(), argstate_str)
}
probe qemu.kvm.log.tulip_irq = qemu.kvm.tulip_irq ?
{
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d tulip_irq mask 0x%08x ie 0x%08x %s\n", pid(), gettimeofday_ns(), mask, en, argstate_str)
}
probe qemu.kvm.log.tulip_mii_write = qemu.kvm.tulip_mii_write ?
{
    printf("%d@%d tulip_mii_write phy 0x%x reg 0x%x data 0x%04x\n", pid(), gettimeofday_ns(), phy, reg, data)
}
probe qemu.kvm.log.tulip_mii_read = qemu.kvm.tulip_mii_read ?
{
    printf("%d@%d tulip_mii_read phy 0x%x, reg 0x%x data 0x%04x\n", pid(), gettimeofday_ns(), phy, reg, data)
}
probe qemu.kvm.log.tulip_reset = qemu.kvm.tulip_reset ?
{
    printf("%d@%d tulip_reset \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tulip_setup_frame = qemu.kvm.tulip_setup_frame ?
{
    printf("%d@%d tulip_setup_frame \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tulip_setup_filter = qemu.kvm.tulip_setup_filter ?
{
    printf("%d@%d tulip_setup_filter %d: %02x:%02x:%02x:%02x:%02x:%02x\n", pid(), gettimeofday_ns(), n, a, b, c, d, e, f)
}
probe qemu.kvm.log.nvram_read = qemu.kvm.nvram_read ?
{
    printf("%d@%d nvram_read read addr %d: 0x%02x\n", pid(), gettimeofday_ns(), addr, ret)
}
probe qemu.kvm.log.nvram_write = qemu.kvm.nvram_write ?
{
    printf("%d@%d nvram_write write addr %d: 0x%02x -> 0x%02x\n", pid(), gettimeofday_ns(), addr, old, val)
}
probe qemu.kvm.log.fw_cfg_select = qemu.kvm.fw_cfg_select ?
{
    try {
        argkey_name_str = key_name ? user_string_n(key_name, 512) : "<null>"
    } catch {}
    printf("%d@%d fw_cfg_select %p key 0x%04x '%s', ret: %d\n", pid(), gettimeofday_ns(), s, key_value, argkey_name_str, ret)
}
probe qemu.kvm.log.fw_cfg_read = qemu.kvm.fw_cfg_read ?
{
    printf("%d@%d fw_cfg_read %p = 0x%x\n", pid(), gettimeofday_ns(), s, ret)
}
probe qemu.kvm.log.fw_cfg_add_bytes = qemu.kvm.fw_cfg_add_bytes ?
{
    try {
        argkey_name_str = key_name ? user_string_n(key_name, 512) : "<null>"
    } catch {}
    printf("%d@%d fw_cfg_add_bytes key 0x%04x '%s', %u bytes\n", pid(), gettimeofday_ns(), key_value, argkey_name_str, len)
}
probe qemu.kvm.log.fw_cfg_add_file = qemu.kvm.fw_cfg_add_file ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d fw_cfg_add_file %p #%d: %s (%d bytes)\n", pid(), gettimeofday_ns(), s, index, argname_str, len)
}
probe qemu.kvm.log.fw_cfg_add_string = qemu.kvm.fw_cfg_add_string ?
{
    try {
        argkey_name_str = key_name ? user_string_n(key_name, 512) : "<null>"
    } catch {}
    try {
        argvalue_str = value ? user_string_n(value, 512) : "<null>"
    } catch {}
    printf("%d@%d fw_cfg_add_string key 0x%04x '%s', value '%s'\n", pid(), gettimeofday_ns(), key_value, argkey_name_str, argvalue_str)
}
probe qemu.kvm.log.fw_cfg_add_i16 = qemu.kvm.fw_cfg_add_i16 ?
{
    try {
        argkey_name_str = key_name ? user_string_n(key_name, 512) : "<null>"
    } catch {}
    printf("%d@%d fw_cfg_add_i16 key 0x%04x '%s', value 0x%x\n", pid(), gettimeofday_ns(), key_value, argkey_name_str, value)
}
probe qemu.kvm.log.fw_cfg_add_i32 = qemu.kvm.fw_cfg_add_i32 ?
{
    try {
        argkey_name_str = key_name ? user_string_n(key_name, 512) : "<null>"
    } catch {}
    printf("%d@%d fw_cfg_add_i32 key 0x%04x '%s', value 0x%x\n", pid(), gettimeofday_ns(), key_value, argkey_name_str, value)
}
probe qemu.kvm.log.fw_cfg_add_i64 = qemu.kvm.fw_cfg_add_i64 ?
{
    try {
        argkey_name_str = key_name ? user_string_n(key_name, 512) : "<null>"
    } catch {}
    printf("%d@%d fw_cfg_add_i64 key 0x%04x '%s', value 0x%x\n", pid(), gettimeofday_ns(), key_value, argkey_name_str, value)
}
probe qemu.kvm.log.pci_update_mappings_del = qemu.kvm.pci_update_mappings_del ?
{
    printf("%d@%d pci_update_mappings_del d=%p %02x:%02x.%x %d,0x%x+0x%x\n", pid(), gettimeofday_ns(), d, bus, slot, func, bar, addr, size)
}
probe qemu.kvm.log.pci_update_mappings_add = qemu.kvm.pci_update_mappings_add ?
{
    printf("%d@%d pci_update_mappings_add d=%p %02x:%02x.%x %d,0x%x+0x%x\n", pid(), gettimeofday_ns(), d, bus, slot, func, bar, addr, size)
}
probe qemu.kvm.log.pci_cfg_read = qemu.kvm.pci_cfg_read ?
{
    try {
        argdev_str = dev ? user_string_n(dev, 512) : "<null>"
    } catch {}
    printf("%d@%d pci_cfg_read %s %02u:%u @0x%x -> 0x%x\n", pid(), gettimeofday_ns(), argdev_str, devid, fnid, offs, val)
}
probe qemu.kvm.log.pci_cfg_write = qemu.kvm.pci_cfg_write ?
{
    try {
        argdev_str = dev ? user_string_n(dev, 512) : "<null>"
    } catch {}
    printf("%d@%d pci_cfg_write %s %02u:%u @0x%x <- 0x%x\n", pid(), gettimeofday_ns(), argdev_str, devid, fnid, offs, val)
}
probe qemu.kvm.log.msix_write_config = qemu.kvm.msix_write_config ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d msix_write_config dev %s enabled %d masked %d\n", pid(), gettimeofday_ns(), argname_str, enabled, masked)
}
probe qemu.kvm.log.grackle_set_irq = qemu.kvm.grackle_set_irq ?
{
    printf("%d@%d grackle_set_irq set_irq num %d level %d\n", pid(), gettimeofday_ns(), irq_num, level)
}
probe qemu.kvm.log.sabre_set_request = qemu.kvm.sabre_set_request ?
{
    printf("%d@%d sabre_set_request request irq %d\n", pid(), gettimeofday_ns(), irq_num)
}
probe qemu.kvm.log.sabre_clear_request = qemu.kvm.sabre_clear_request ?
{
    printf("%d@%d sabre_clear_request clear request irq %d\n", pid(), gettimeofday_ns(), irq_num)
}
probe qemu.kvm.log.sabre_config_write = qemu.kvm.sabre_config_write ?
{
    printf("%d@%d sabre_config_write addr 0x%x val 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sabre_config_read = qemu.kvm.sabre_config_read ?
{
    printf("%d@%d sabre_config_read addr 0x%x val 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sabre_pci_config_write = qemu.kvm.sabre_pci_config_write ?
{
    printf("%d@%d sabre_pci_config_write addr 0x%x val 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sabre_pci_config_read = qemu.kvm.sabre_pci_config_read ?
{
    printf("%d@%d sabre_pci_config_read addr 0x%x val 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sabre_pci_set_irq = qemu.kvm.sabre_pci_set_irq ?
{
    printf("%d@%d sabre_pci_set_irq set irq_in %d level %d\n", pid(), gettimeofday_ns(), irq_num, level)
}
probe qemu.kvm.log.sabre_pci_set_obio_irq = qemu.kvm.sabre_pci_set_obio_irq ?
{
    printf("%d@%d sabre_pci_set_obio_irq set irq %d level %d\n", pid(), gettimeofday_ns(), irq_num, level)
}
probe qemu.kvm.log.unin_set_irq = qemu.kvm.unin_set_irq ?
{
    printf("%d@%d unin_set_irq setting INT %d = %d\n", pid(), gettimeofday_ns(), irq_num, level)
}
probe qemu.kvm.log.unin_get_config_reg = qemu.kvm.unin_get_config_reg ?
{
    printf("%d@%d unin_get_config_reg converted config space accessor 0x%x/0x%x -> 0x%x\n", pid(), gettimeofday_ns(), reg, addr, retval)
}
probe qemu.kvm.log.unin_data_write = qemu.kvm.unin_data_write ?
{
    printf("%d@%d unin_data_write write addr 0x%x len %d val 0x%x\n", pid(), gettimeofday_ns(), addr, len, val)
}
probe qemu.kvm.log.unin_data_read = qemu.kvm.unin_data_read ?
{
    printf("%d@%d unin_data_read read addr 0x%x len %d val 0x%x\n", pid(), gettimeofday_ns(), addr, len, val)
}
probe qemu.kvm.log.unin_write = qemu.kvm.unin_write ?
{
    printf("%d@%d unin_write addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.unin_read = qemu.kvm.unin_read ?
{
    printf("%d@%d unin_read addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.spapr_pci_msi = qemu.kvm.spapr_pci_msi ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d spapr_pci_msi %s (cfg=0x%x)\n", pid(), gettimeofday_ns(), argmsg_str, ca)
}
probe qemu.kvm.log.spapr_pci_msi_setup = qemu.kvm.spapr_pci_msi_setup ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d spapr_pci_msi_setup dev\"%s\" vector %u, addr=0x%x\n", pid(), gettimeofday_ns(), argname_str, vector, addr)
}
probe qemu.kvm.log.spapr_pci_rtas_ibm_change_msi = qemu.kvm.spapr_pci_rtas_ibm_change_msi ?
{
    printf("%d@%d spapr_pci_rtas_ibm_change_msi cfgaddr 0x%x func %u, requested %u, first irq %u\n", pid(), gettimeofday_ns(), cfg, func, req, first)
}
probe qemu.kvm.log.spapr_pci_rtas_ibm_query_interrupt_source_number = qemu.kvm.spapr_pci_rtas_ibm_query_interrupt_source_number ?
{
    printf("%d@%d spapr_pci_rtas_ibm_query_interrupt_source_number queries for #%u, IRQ%u\n", pid(), gettimeofday_ns(), ioa, intr)
}
probe qemu.kvm.log.spapr_pci_msi_write = qemu.kvm.spapr_pci_msi_write ?
{
    printf("%d@%d spapr_pci_msi_write @0x%x<=0x%x IRQ %u\n", pid(), gettimeofday_ns(), addr, data, dt_irq)
}
probe qemu.kvm.log.spapr_pci_lsi_set = qemu.kvm.spapr_pci_lsi_set ?
{
    try {
        argbusname_str = busname ? user_string_n(busname, 512) : "<null>"
    } catch {}
    printf("%d@%d spapr_pci_lsi_set %s PIN%d IRQ %u\n", pid(), gettimeofday_ns(), argbusname_str, pin, irq)
}
probe qemu.kvm.log.spapr_pci_msi_retry = qemu.kvm.spapr_pci_msi_retry ?
{
    printf("%d@%d spapr_pci_msi_retry Guest device at 0x%x asked %u, have only %u\n", pid(), gettimeofday_ns(), config_addr, req_num, max_irqs)
}
probe qemu.kvm.log.spapr_cas_failed = qemu.kvm.spapr_cas_failed ?
{
    printf("%d@%d spapr_cas_failed DT diff buffer is too small: %ld bytes\n", pid(), gettimeofday_ns(), n)
}
probe qemu.kvm.log.spapr_cas_continue = qemu.kvm.spapr_cas_continue ?
{
    printf("%d@%d spapr_cas_continue Copy changes to the guest: %ld bytes\n", pid(), gettimeofday_ns(), n)
}
probe qemu.kvm.log.spapr_cas_pvr = qemu.kvm.spapr_cas_pvr ?
{
    printf("%d@%d spapr_cas_pvr current=0x%x, explicit_match=%u, new=0x%x\n", pid(), gettimeofday_ns(), cur_pvr, explicit_match, new_pvr)
}
probe qemu.kvm.log.spapr_h_resize_hpt_prepare = qemu.kvm.spapr_h_resize_hpt_prepare ?
{
    printf("%d@%d spapr_h_resize_hpt_prepare flags=0x%x, shift=%x\n", pid(), gettimeofday_ns(), flags, shift)
}
probe qemu.kvm.log.spapr_h_resize_hpt_commit = qemu.kvm.spapr_h_resize_hpt_commit ?
{
    printf("%d@%d spapr_h_resize_hpt_commit flags=0x%x, shift=%x\n", pid(), gettimeofday_ns(), flags, shift)
}
probe qemu.kvm.log.spapr_update_dt = qemu.kvm.spapr_update_dt ?
{
    printf("%d@%d spapr_update_dt New blob %u bytes\n", pid(), gettimeofday_ns(), cb)
}
probe qemu.kvm.log.spapr_update_dt_failed_size = qemu.kvm.spapr_update_dt_failed_size ?
{
    printf("%d@%d spapr_update_dt_failed_size Old blob %u bytes, new blob %u bytes, magic 0x%x\n", pid(), gettimeofday_ns(), cbold, cbnew, magic)
}
probe qemu.kvm.log.spapr_update_dt_failed_check = qemu.kvm.spapr_update_dt_failed_check ?
{
    printf("%d@%d spapr_update_dt_failed_check Old blob %u bytes, new blob %u bytes, magic 0x%x\n", pid(), gettimeofday_ns(), cbold, cbnew, magic)
}
probe qemu.kvm.log.spapr_h_tpm_comm = qemu.kvm.spapr_h_tpm_comm ?
{
    try {
        argdevice_path_str = device_path ? user_string_n(device_path, 512) : "<null>"
    } catch {}
    printf("%d@%d spapr_h_tpm_comm tpm_device_path=%s operation=0x%u\n", pid(), gettimeofday_ns(), argdevice_path_str, operation)
}
probe qemu.kvm.log.spapr_tpm_execute = qemu.kvm.spapr_tpm_execute ?
{
    printf("%d@%d spapr_tpm_execute data_in=0x%x, data_in_sz=%x, data_out=0x%x, data_out_sz=%x\n", pid(), gettimeofday_ns(), data_in, data_in_sz, data_out, data_out_sz)
}
probe qemu.kvm.log.spapr_iommu_put = qemu.kvm.spapr_iommu_put ?
{
    printf("%d@%d spapr_iommu_put liobn=0x%x ioba=0x%x tce=0x%x ret=%x\n", pid(), gettimeofday_ns(), liobn, ioba, tce, ret)
}
probe qemu.kvm.log.spapr_iommu_get = qemu.kvm.spapr_iommu_get ?
{
    printf("%d@%d spapr_iommu_get liobn=0x%x ioba=0x%x ret=%x tce=0x%x\n", pid(), gettimeofday_ns(), liobn, ioba, ret, tce)
}
probe qemu.kvm.log.spapr_iommu_indirect = qemu.kvm.spapr_iommu_indirect ?
{
    printf("%d@%d spapr_iommu_indirect liobn=0x%x ioba=0x%x tcelist=0x%x iobaN=0x%x tceN=0x%x ret=%x\n", pid(), gettimeofday_ns(), liobn, ioba, tce, iobaN, tceN, ret)
}
probe qemu.kvm.log.spapr_iommu_stuff = qemu.kvm.spapr_iommu_stuff ?
{
    printf("%d@%d spapr_iommu_stuff liobn=0x%x ioba=0x%x tcevalue=0x%x npages=%x ret=%x\n", pid(), gettimeofday_ns(), liobn, ioba, tce_value, npages, ret)
}
probe qemu.kvm.log.spapr_iommu_pci_put = qemu.kvm.spapr_iommu_pci_put ?
{
    printf("%d@%d spapr_iommu_pci_put liobn=0x%x ioba=0x%x tce=0x%x ret=%x\n", pid(), gettimeofday_ns(), liobn, ioba, tce, ret)
}
probe qemu.kvm.log.spapr_iommu_pci_get = qemu.kvm.spapr_iommu_pci_get ?
{
    printf("%d@%d spapr_iommu_pci_get liobn=0x%x ioba=0x%x ret=%x tce=0x%x\n", pid(), gettimeofday_ns(), liobn, ioba, ret, tce)
}
probe qemu.kvm.log.spapr_iommu_pci_indirect = qemu.kvm.spapr_iommu_pci_indirect ?
{
    printf("%d@%d spapr_iommu_pci_indirect liobn=0x%x ioba=0x%x tcelist=0x%x iobaN=0x%x tceN=0x%x ret=%x\n", pid(), gettimeofday_ns(), liobn, ioba, tce, iobaN, tceN, ret)
}
probe qemu.kvm.log.spapr_iommu_pci_stuff = qemu.kvm.spapr_iommu_pci_stuff ?
{
    printf("%d@%d spapr_iommu_pci_stuff liobn=0x%x ioba=0x%x tcevalue=0x%x npages=%x ret=%x\n", pid(), gettimeofday_ns(), liobn, ioba, tce_value, npages, ret)
}
probe qemu.kvm.log.spapr_iommu_xlate = qemu.kvm.spapr_iommu_xlate ?
{
    printf("%d@%d spapr_iommu_xlate liobn=0x%x 0x%x -> 0x%x perm=%u mask=0x%x\n", pid(), gettimeofday_ns(), liobn, ioba, tce, perm, pgsize)
}
probe qemu.kvm.log.spapr_iommu_new_table = qemu.kvm.spapr_iommu_new_table ?
{
    printf("%d@%d spapr_iommu_new_table liobn=0x%x table=%p fd=%d\n", pid(), gettimeofday_ns(), liobn, table, fd)
}
probe qemu.kvm.log.spapr_iommu_pre_save = qemu.kvm.spapr_iommu_pre_save ?
{
    printf("%d@%d spapr_iommu_pre_save liobn=%x %x bus_offset=0x%x ps=%x\n", pid(), gettimeofday_ns(), liobn, nb, offs, ps)
}
probe qemu.kvm.log.spapr_iommu_post_load = qemu.kvm.spapr_iommu_post_load ?
{
    printf("%d@%d spapr_iommu_post_load liobn=%x %x => 0x%x bus_offset=0x%x ps=%x\n", pid(), gettimeofday_ns(), liobn, pre_nb, post_nb, offs, ps)
}
probe qemu.kvm.log.spapr_iommu_ddw_query = qemu.kvm.spapr_iommu_ddw_query ?
{
    printf("%d@%d spapr_iommu_ddw_query buid=0x%x addr=0x%x, %u windows available, max window size=0x%x, mask=0x%x\n", pid(), gettimeofday_ns(), buid, cfgaddr, wa, win_size, pgmask)
}
probe qemu.kvm.log.spapr_iommu_ddw_create = qemu.kvm.spapr_iommu_ddw_create ?
{
    printf("%d@%d spapr_iommu_ddw_create buid=0x%x addr=0x%x, page size=0x%x, requested=0x%x, start addr=0x%x, liobn=0x%x\n", pid(), gettimeofday_ns(), buid, cfgaddr, pg_size, req_size, start, liobn)
}
probe qemu.kvm.log.spapr_iommu_ddw_remove = qemu.kvm.spapr_iommu_ddw_remove ?
{
    printf("%d@%d spapr_iommu_ddw_remove liobn=0x%x\n", pid(), gettimeofday_ns(), liobn)
}
probe qemu.kvm.log.spapr_iommu_ddw_reset = qemu.kvm.spapr_iommu_ddw_reset ?
{
    printf("%d@%d spapr_iommu_ddw_reset buid=0x%x addr=0x%x\n", pid(), gettimeofday_ns(), buid, cfgaddr)
}
probe qemu.kvm.log.spapr_drc_set_isolation_state = qemu.kvm.spapr_drc_set_isolation_state ?
{
    printf("%d@%d spapr_drc_set_isolation_state drc: 0x%x, state: 0x%x\n", pid(), gettimeofday_ns(), index, state)
}
probe qemu.kvm.log.spapr_drc_set_isolation_state_finalizing = qemu.kvm.spapr_drc_set_isolation_state_finalizing ?
{
    printf("%d@%d spapr_drc_set_isolation_state_finalizing drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_drc_set_dr_indicator = qemu.kvm.spapr_drc_set_dr_indicator ?
{
    printf("%d@%d spapr_drc_set_dr_indicator drc: 0x%x, state: 0x%x\n", pid(), gettimeofday_ns(), index, state)
}
probe qemu.kvm.log.spapr_drc_set_allocation_state = qemu.kvm.spapr_drc_set_allocation_state ?
{
    printf("%d@%d spapr_drc_set_allocation_state drc: 0x%x, state: 0x%x\n", pid(), gettimeofday_ns(), index, state)
}
probe qemu.kvm.log.spapr_drc_set_allocation_state_finalizing = qemu.kvm.spapr_drc_set_allocation_state_finalizing ?
{
    printf("%d@%d spapr_drc_set_allocation_state_finalizing drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_drc_set_configured = qemu.kvm.spapr_drc_set_configured ?
{
    printf("%d@%d spapr_drc_set_configured drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_drc_attach = qemu.kvm.spapr_drc_attach ?
{
    printf("%d@%d spapr_drc_attach drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_drc_detach = qemu.kvm.spapr_drc_detach ?
{
    printf("%d@%d spapr_drc_detach drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_drc_awaiting_quiesce = qemu.kvm.spapr_drc_awaiting_quiesce ?
{
    printf("%d@%d spapr_drc_awaiting_quiesce drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_drc_reset = qemu.kvm.spapr_drc_reset ?
{
    printf("%d@%d spapr_drc_reset drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_drc_realize = qemu.kvm.spapr_drc_realize ?
{
    printf("%d@%d spapr_drc_realize drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_drc_realize_child = qemu.kvm.spapr_drc_realize_child ?
{
    try {
        argchildname_str = childname ? user_string_n(childname, 512) : "<null>"
    } catch {}
    printf("%d@%d spapr_drc_realize_child drc: 0x%x, child name: %s\n", pid(), gettimeofday_ns(), index, argchildname_str)
}
probe qemu.kvm.log.spapr_drc_realize_complete = qemu.kvm.spapr_drc_realize_complete ?
{
    printf("%d@%d spapr_drc_realize_complete drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_drc_unrealize = qemu.kvm.spapr_drc_unrealize ?
{
    printf("%d@%d spapr_drc_unrealize drc: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_ovec_parse_vector = qemu.kvm.spapr_ovec_parse_vector ?
{
    printf("%d@%d spapr_ovec_parse_vector read guest vector %2d, byte %3d / %3d: 0x%.2x\n", pid(), gettimeofday_ns(), vector, byte, vec_len, entry)
}
probe qemu.kvm.log.spapr_ovec_populate_dt = qemu.kvm.spapr_ovec_populate_dt ?
{
    printf("%d@%d spapr_ovec_populate_dt encoding guest vector byte %3d / %3d: 0x%.2x\n", pid(), gettimeofday_ns(), byte, vec_len, entry)
}
probe qemu.kvm.log.spapr_rtas_get_sensor_state_not_supported = qemu.kvm.spapr_rtas_get_sensor_state_not_supported ?
{
    printf("%d@%d spapr_rtas_get_sensor_state_not_supported sensor index: 0x%x, type: %x\n", pid(), gettimeofday_ns(), index, type)
}
probe qemu.kvm.log.spapr_rtas_get_sensor_state_invalid = qemu.kvm.spapr_rtas_get_sensor_state_invalid ?
{
    printf("%d@%d spapr_rtas_get_sensor_state_invalid sensor index: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_rtas_ibm_configure_connector_invalid = qemu.kvm.spapr_rtas_ibm_configure_connector_invalid ?
{
    printf("%d@%d spapr_rtas_ibm_configure_connector_invalid DRC index: 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.spapr_vio_h_reg_crq = qemu.kvm.spapr_vio_h_reg_crq ?
{
    printf("%d@%d spapr_vio_h_reg_crq CRQ for dev 0x%x registered at 0x%x/0x%x\n", pid(), gettimeofday_ns(), reg, queue_addr, queue_len)
}
probe qemu.kvm.log.spapr_vio_free_crq = qemu.kvm.spapr_vio_free_crq ?
{
    printf("%d@%d spapr_vio_free_crq CRQ for dev 0x%x freed\n", pid(), gettimeofday_ns(), reg)
}
probe qemu.kvm.log.ppc_tb_adjust = qemu.kvm.ppc_tb_adjust ?
{
    printf("%d@%d ppc_tb_adjust adjusted from 0x%x to 0x%x, diff %x (%xs)\n", pid(), gettimeofday_ns(), offs1, offs2, diff, seconds)
}
probe qemu.kvm.log.prep_io_800_writeb = qemu.kvm.prep_io_800_writeb ?
{
    printf("%d@%d prep_io_800_writeb 0x%08x => 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.prep_io_800_readb = qemu.kvm.prep_io_800_readb ?
{
    printf("%d@%d prep_io_800_readb 0x%08x <= 0x%02x\n", pid(), gettimeofday_ns(), addr, retval)
}
probe qemu.kvm.log.prep_systemio_read = qemu.kvm.prep_systemio_read ?
{
    printf("%d@%d prep_systemio_read read addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.prep_systemio_write = qemu.kvm.prep_systemio_write ?
{
    printf("%d@%d prep_systemio_write write addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.rs6000mc_id_read = qemu.kvm.rs6000mc_id_read ?
{
    printf("%d@%d rs6000mc_id_read read addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.rs6000mc_presence_read = qemu.kvm.rs6000mc_presence_read ?
{
    printf("%d@%d rs6000mc_presence_read read addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.rs6000mc_size_read = qemu.kvm.rs6000mc_size_read ?
{
    printf("%d@%d rs6000mc_size_read read addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.rs6000mc_size_write = qemu.kvm.rs6000mc_size_write ?
{
    printf("%d@%d rs6000mc_size_write write addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.rs6000mc_parity_read = qemu.kvm.rs6000mc_parity_read ?
{
    printf("%d@%d rs6000mc_parity_read read addr=0x%x val=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.ppc4xx_pci_map_irq = qemu.kvm.ppc4xx_pci_map_irq ?
{
    printf("%d@%d ppc4xx_pci_map_irq devfn 0x%x irq %d -> %d\n", pid(), gettimeofday_ns(), devfn, irq_num, slot)
}
probe qemu.kvm.log.ppc4xx_pci_set_irq = qemu.kvm.ppc4xx_pci_set_irq ?
{
    printf("%d@%d ppc4xx_pci_set_irq PCI irq %d\n", pid(), gettimeofday_ns(), irq_num)
}
probe qemu.kvm.log.ppc440_pcix_map_irq = qemu.kvm.ppc440_pcix_map_irq ?
{
    printf("%d@%d ppc440_pcix_map_irq devfn 0x%x irq %d -> %d\n", pid(), gettimeofday_ns(), devfn, irq_num, slot)
}
probe qemu.kvm.log.ppc440_pcix_set_irq = qemu.kvm.ppc440_pcix_set_irq ?
{
    printf("%d@%d ppc440_pcix_set_irq PCI irq %d\n", pid(), gettimeofday_ns(), irq_num)
}
probe qemu.kvm.log.ppc440_pcix_update_pim = qemu.kvm.ppc440_pcix_update_pim ?
{
    printf("%d@%d ppc440_pcix_update_pim Added window %d of size=0x%x to CPU=0x%x\n", pid(), gettimeofday_ns(), idx, size, la)
}
probe qemu.kvm.log.ppc440_pcix_update_pom = qemu.kvm.ppc440_pcix_update_pom ?
{
    printf("%d@%d ppc440_pcix_update_pom Added window %d of size=0x%x from CPU=0x%x to PCI=0x%x\n", pid(), gettimeofday_ns(), idx, size, la, pcia)
}
probe qemu.kvm.log.ppc440_pcix_reg_read = qemu.kvm.ppc440_pcix_reg_read ?
{
    printf("%d@%d ppc440_pcix_reg_read addr 0x%x = 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.rdma_check_dev_attr = qemu.kvm.rdma_check_dev_attr ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d rdma_check_dev_attr %s: be=%d, fe=%d\n", pid(), gettimeofday_ns(), argname_str, max_bk, max_fe)
}
probe qemu.kvm.log.rdma_create_ah_cache_hit = qemu.kvm.rdma_create_ah_cache_hit ?
{
    printf("%d@%d rdma_create_ah_cache_hit subnet=0x%x,if_id=0x%x\n", pid(), gettimeofday_ns(), subnet, if_id)
}
probe qemu.kvm.log.rdma_create_ah_cache_miss = qemu.kvm.rdma_create_ah_cache_miss ?
{
    printf("%d@%d rdma_create_ah_cache_miss subnet=0x%x,if_id=0x%x\n", pid(), gettimeofday_ns(), subnet, if_id)
}
probe qemu.kvm.log.rdma_poll_cq = qemu.kvm.rdma_poll_cq ?
{
    printf("%d@%d rdma_poll_cq Got %d completion(s) from cq %p\n", pid(), gettimeofday_ns(), ne, ibcq)
}
probe qemu.kvm.log.rdmacm_mux = qemu.kvm.rdmacm_mux ?
{
    try {
        argtitle_str = title ? user_string_n(title, 512) : "<null>"
    } catch {}
    printf("%d@%d rdmacm_mux %s: msg_type=%d, op_code=%d\n", pid(), gettimeofday_ns(), argtitle_str, msg_type, op_code)
}
probe qemu.kvm.log.rdmacm_mux_check_op_status = qemu.kvm.rdmacm_mux_check_op_status ?
{
    printf("%d@%d rdmacm_mux_check_op_status resp: msg_type=%d, op_code=%d, err_code=%d\n", pid(), gettimeofday_ns(), msg_type, op_code, err_code)
}
probe qemu.kvm.log.rdma_mad_message = qemu.kvm.rdma_mad_message ?
{
    try {
        argtitle_str = title ? user_string_n(title, 512) : "<null>"
    } catch {}
    try {
        argdata_str = data ? user_string_n(data, 512) : "<null>"
    } catch {}
    printf("%d@%d rdma_mad_message mad %s (%d): %s\n", pid(), gettimeofday_ns(), argtitle_str, len, argdata_str)
}
probe qemu.kvm.log.rdma_backend_rc_qp_state_init = qemu.kvm.rdma_backend_rc_qp_state_init ?
{
    printf("%d@%d rdma_backend_rc_qp_state_init RC QP 0x%x switch to INIT\n", pid(), gettimeofday_ns(), qpn)
}
probe qemu.kvm.log.rdma_backend_ud_qp_state_init = qemu.kvm.rdma_backend_ud_qp_state_init ?
{
    printf("%d@%d rdma_backend_ud_qp_state_init UD QP 0x%x switch to INIT, qkey=0x%x\n", pid(), gettimeofday_ns(), qpn, qkey)
}
probe qemu.kvm.log.rdma_backend_rc_qp_state_rtr = qemu.kvm.rdma_backend_rc_qp_state_rtr ?
{
    printf("%d@%d rdma_backend_rc_qp_state_rtr RC QP 0x%x switch to RTR, subnet = 0x%x, ifid = 0x%x, sgid_idx=%d, dqpn=0x%x, rq_psn=0x%x\n", pid(), gettimeofday_ns(), qpn, subnet, ifid, sgid_idx, dqpn, rq_psn)
}
probe qemu.kvm.log.rdma_backend_ud_qp_state_rtr = qemu.kvm.rdma_backend_ud_qp_state_rtr ?
{
    printf("%d@%d rdma_backend_ud_qp_state_rtr UD QP 0x%x switch to RTR, qkey=0x%x\n", pid(), gettimeofday_ns(), qpn, qkey)
}
probe qemu.kvm.log.rdma_backend_rc_qp_state_rts = qemu.kvm.rdma_backend_rc_qp_state_rts ?
{
    printf("%d@%d rdma_backend_rc_qp_state_rts RC QP 0x%x switch to RTS, sq_psn=0x%x, \n", pid(), gettimeofday_ns(), qpn, sq_psn)
}
probe qemu.kvm.log.rdma_backend_ud_qp_state_rts = qemu.kvm.rdma_backend_ud_qp_state_rts ?
{
    printf("%d@%d rdma_backend_ud_qp_state_rts UD QP 0x%x switch to RTS, sq_psn=0x%x, qkey=0x%x\n", pid(), gettimeofday_ns(), qpn, sq_psn, qkey)
}
probe qemu.kvm.log.rdma_backend_get_gid_index = qemu.kvm.rdma_backend_get_gid_index ?
{
    printf("%d@%d rdma_backend_get_gid_index subnet=0x%x, ifid=0x%x, gid_idx=%d\n", pid(), gettimeofday_ns(), subnet, ifid, gid_idx)
}
probe qemu.kvm.log.rdma_backend_gid_change = qemu.kvm.rdma_backend_gid_change ?
{
    try {
        argop_str = op ? user_string_n(op, 512) : "<null>"
    } catch {}
    printf("%d@%d rdma_backend_gid_change %s subnet=0x%x, ifid=0x%x\n", pid(), gettimeofday_ns(), argop_str, subnet, ifid)
}
probe qemu.kvm.log.rdma_res_tbl_get = qemu.kvm.rdma_res_tbl_get ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d rdma_res_tbl_get tbl %s, handle %d\n", pid(), gettimeofday_ns(), argname_str, handle)
}
probe qemu.kvm.log.rdma_res_tbl_alloc = qemu.kvm.rdma_res_tbl_alloc ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d rdma_res_tbl_alloc tbl %s, handle %d\n", pid(), gettimeofday_ns(), argname_str, handle)
}
probe qemu.kvm.log.rdma_res_tbl_dealloc = qemu.kvm.rdma_res_tbl_dealloc ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d rdma_res_tbl_dealloc tbl %s, handle %d\n", pid(), gettimeofday_ns(), argname_str, handle)
}
probe qemu.kvm.log.rdma_rm_alloc_mr = qemu.kvm.rdma_rm_alloc_mr ?
{
    printf("%d@%d rdma_rm_alloc_mr mr_handle=%d, host_virt=%p, guest_start=0x%x, length=%x, access_flags=0x%x\n", pid(), gettimeofday_ns(), mr_handle, host_virt, guest_start, guest_length, access_flags)
}
probe qemu.kvm.log.rdma_rm_dealloc_mr = qemu.kvm.rdma_rm_dealloc_mr ?
{
    printf("%d@%d rdma_rm_dealloc_mr mr_handle=%d, guest_start=0x%x\n", pid(), gettimeofday_ns(), mr_handle, guest_start)
}
probe qemu.kvm.log.rdma_rm_alloc_qp = qemu.kvm.rdma_rm_alloc_qp ?
{
    printf("%d@%d rdma_rm_alloc_qp rm_qpn=%d, backend_qpn=0x%x, qp_type=%d\n", pid(), gettimeofday_ns(), rm_qpn, backend_qpn, qp_type)
}
probe qemu.kvm.log.rdma_rm_modify_qp = qemu.kvm.rdma_rm_modify_qp ?
{
    printf("%d@%d rdma_rm_modify_qp qpn=0x%x, attr_mask=0x%x, qp_state=%d, sgid_idx=%d\n", pid(), gettimeofday_ns(), qpn, attr_mask, qp_state, sgid_idx)
}
probe qemu.kvm.log.rdma_pci_dma_map = qemu.kvm.rdma_pci_dma_map ?
{
    printf("%d@%d rdma_pci_dma_map 0x%x -> %p (len=%x)\n", pid(), gettimeofday_ns(), addr, vaddr, len)
}
probe qemu.kvm.log.rdma_pci_dma_unmap = qemu.kvm.rdma_pci_dma_unmap ?
{
    printf("%d@%d rdma_pci_dma_unmap %p\n", pid(), gettimeofday_ns(), vaddr)
}
probe qemu.kvm.log.pvrdma_regs_read = qemu.kvm.pvrdma_regs_read ?
{
    printf("%d@%d pvrdma_regs_read pvrdma.regs[0x%x]=0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.pvrdma_regs_write = qemu.kvm.pvrdma_regs_write ?
{
    try {
        argreg_name_str = reg_name ? user_string_n(reg_name, 512) : "<null>"
    } catch {}
    try {
        argval_name_str = val_name ? user_string_n(val_name, 512) : "<null>"
    } catch {}
    printf("%d@%d pvrdma_regs_write pvrdma.regs[0x%x]=0x%x (%s %s)\n", pid(), gettimeofday_ns(), addr, val, argreg_name_str, argval_name_str)
}
probe qemu.kvm.log.pvrdma_uar_write = qemu.kvm.pvrdma_uar_write ?
{
    try {
        argreg_name_str = reg_name ? user_string_n(reg_name, 512) : "<null>"
    } catch {}
    try {
        argval_name_str = val_name ? user_string_n(val_name, 512) : "<null>"
    } catch {}
    printf("%d@%d pvrdma_uar_write uar[0x%x]=0x%x (cls=%s, op=%s, obj=%d, val=%d)\n", pid(), gettimeofday_ns(), addr, val, argreg_name_str, argval_name_str, val1, val2)
}
probe qemu.kvm.log.pvrdma_map_to_pdir_host_virt = qemu.kvm.pvrdma_map_to_pdir_host_virt ?
{
    printf("%d@%d pvrdma_map_to_pdir_host_virt mremap %p -> %p\n", pid(), gettimeofday_ns(), vfirst, vremaped)
}
probe qemu.kvm.log.pvrdma_map_to_pdir_next_page = qemu.kvm.pvrdma_map_to_pdir_next_page ?
{
    printf("%d@%d pvrdma_map_to_pdir_next_page mremap [%d] %p -> %p\n", pid(), gettimeofday_ns(), page_idx, vnext, vremaped)
}
probe qemu.kvm.log.pvrdma_exec_cmd = qemu.kvm.pvrdma_exec_cmd ?
{
    printf("%d@%d pvrdma_exec_cmd cmd=%d, err=%d\n", pid(), gettimeofday_ns(), cmd, err)
}
probe qemu.kvm.log.pvrdma_ring_next_elem_read_no_data = qemu.kvm.pvrdma_ring_next_elem_read_no_data ?
{
    try {
        argring_name_str = ring_name ? user_string_n(ring_name, 512) : "<null>"
    } catch {}
    printf("%d@%d pvrdma_ring_next_elem_read_no_data pvrdma_ring %s is empty\n", pid(), gettimeofday_ns(), argring_name_str)
}
probe qemu.kvm.log.pvrdma_post_cqe = qemu.kvm.pvrdma_post_cqe ?
{
    printf("%d@%d pvrdma_post_cqe cq_handle=%d, notify=%d, wr_id=0x%x, qpn=0x%x, opcode=%d, status=%d, byte_len=%d, src_qp=%d, wc_flags=%d, vendor_err=%d\n", pid(), gettimeofday_ns(), cq_handle, notify, wr_id, qpn, op_code, status, byte_len, src_qp, wc_flags, vendor_err)
}
probe qemu.kvm.log.sun4v_rtc_read = qemu.kvm.sun4v_rtc_read ?
{
    printf("%d@%d sun4v_rtc_read read: addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.sun4v_rtc_write = qemu.kvm.sun4v_rtc_write ?
{
    printf("%d@%d sun4v_rtc_write write: addr 0x%x value 0x%x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.xlnx_zynqmp_rtc_gettime = qemu.kvm.xlnx_zynqmp_rtc_gettime ?
{
    printf("%d@%d xlnx_zynqmp_rtc_gettime Get time from host: %d-%d-%d %2d:%02d:%02d\n", pid(), gettimeofday_ns(), year, month, day, hour, min, sec)
}
probe qemu.kvm.log.pl031_irq_state = qemu.kvm.pl031_irq_state ?
{
    printf("%d@%d pl031_irq_state irq state %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.pl031_read = qemu.kvm.pl031_read ?
{
    printf("%d@%d pl031_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.pl031_write = qemu.kvm.pl031_write ?
{
    printf("%d@%d pl031_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.pl031_alarm_raised = qemu.kvm.pl031_alarm_raised ?
{
    printf("%d@%d pl031_alarm_raised alarm raised\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pl031_set_alarm = qemu.kvm.pl031_set_alarm ?
{
    printf("%d@%d pl031_set_alarm alarm set for %u ticks\n", pid(), gettimeofday_ns(), ticks)
}
probe qemu.kvm.log.aspeed_rtc_read = qemu.kvm.aspeed_rtc_read ?
{
    printf("%d@%d aspeed_rtc_read addr 0x%02x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.aspeed_rtc_write = qemu.kvm.aspeed_rtc_write ?
{
    printf("%d@%d aspeed_rtc_write addr 0x%02x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.css_enable_facility = qemu.kvm.css_enable_facility ?
{
    try {
        argfacility_str = facility ? user_string_n(facility, 512) : "<null>"
    } catch {}
    printf("%d@%d css_enable_facility CSS: enable %s\n", pid(), gettimeofday_ns(), argfacility_str)
}
probe qemu.kvm.log.css_crw = qemu.kvm.css_crw ?
{
    try {
        argchained_str = chained ? user_string_n(chained, 512) : "<null>"
    } catch {}
    printf("%d@%d css_crw CSS: queueing crw: rsc=0x%x, erc=0x%x, rsid=0x%x %s\n", pid(), gettimeofday_ns(), rsc, erc, rsid, argchained_str)
}
probe qemu.kvm.log.css_chpid_add = qemu.kvm.css_chpid_add ?
{
    printf("%d@%d css_chpid_add CSS: add chpid %x.%02x (type 0x%02x)\n", pid(), gettimeofday_ns(), cssid, chpid, type)
}
probe qemu.kvm.log.css_new_image = qemu.kvm.css_new_image ?
{
    try {
        argdefault_cssid_str = default_cssid ? user_string_n(default_cssid, 512) : "<null>"
    } catch {}
    printf("%d@%d css_new_image CSS: add css image 0x%02x %s\n", pid(), gettimeofday_ns(), cssid, argdefault_cssid_str)
}
probe qemu.kvm.log.css_assign_subch = qemu.kvm.css_assign_subch ?
{
    try {
        argdo_assign_str = do_assign ? user_string_n(do_assign, 512) : "<null>"
    } catch {}
    printf("%d@%d css_assign_subch CSS: %s %x.%x.%04x (devno 0x%04x)\n", pid(), gettimeofday_ns(), argdo_assign_str, cssid, ssid, schid, devno)
}
probe qemu.kvm.log.css_io_interrupt = qemu.kvm.css_io_interrupt ?
{
    try {
        argconditional_str = conditional ? user_string_n(conditional, 512) : "<null>"
    } catch {}
    printf("%d@%d css_io_interrupt CSS: I/O interrupt on sch %x.%x.%04x (intparm 0x%08x, isc 0x%x) %s\n", pid(), gettimeofday_ns(), cssid, ssid, schid, intparm, isc, argconditional_str)
}
probe qemu.kvm.log.css_adapter_interrupt = qemu.kvm.css_adapter_interrupt ?
{
    printf("%d@%d css_adapter_interrupt CSS: adapter I/O interrupt (isc 0x%x)\n", pid(), gettimeofday_ns(), isc)
}
probe qemu.kvm.log.css_do_sic = qemu.kvm.css_do_sic ?
{
    printf("%d@%d css_do_sic CSS: set interruption mode 0x%x on isc 0x%x\n", pid(), gettimeofday_ns(), mode, isc)
}
probe qemu.kvm.log.virtio_ccw_interpret_ccw = qemu.kvm.virtio_ccw_interpret_ccw ?
{
    printf("%d@%d virtio_ccw_interpret_ccw VIRTIO-CCW: %x.%x.%04x: interpret command 0x%x\n", pid(), gettimeofday_ns(), cssid, ssid, schid, cmd_code)
}
probe qemu.kvm.log.virtio_ccw_new_device = qemu.kvm.virtio_ccw_new_device ?
{
    try {
        argdevno_mode_str = devno_mode ? user_string_n(devno_mode, 512) : "<null>"
    } catch {}
    printf("%d@%d virtio_ccw_new_device VIRTIO-CCW: add subchannel %x.%x.%04x, devno 0x%04x (%s)\n", pid(), gettimeofday_ns(), cssid, ssid, schid, devno, argdevno_mode_str)
}
probe qemu.kvm.log.virtio_ccw_set_ind = qemu.kvm.virtio_ccw_set_ind ?
{
    printf("%d@%d virtio_ccw_set_ind VIRTIO-CCW: indicator at %u: 0x%x->0x%x\n", pid(), gettimeofday_ns(), ind_loc, ind_old, ind_new)
}
probe qemu.kvm.log.scsi_req_alloc = qemu.kvm.scsi_req_alloc ?
{
    printf("%d@%d scsi_req_alloc target %d lun %d tag %d\n", pid(), gettimeofday_ns(), target, lun, tag)
}
probe qemu.kvm.log.scsi_req_cancel = qemu.kvm.scsi_req_cancel ?
{
    printf("%d@%d scsi_req_cancel target %d lun %d tag %d\n", pid(), gettimeofday_ns(), target, lun, tag)
}
probe qemu.kvm.log.scsi_req_data = qemu.kvm.scsi_req_data ?
{
    printf("%d@%d scsi_req_data target %d lun %d tag %d len %d\n", pid(), gettimeofday_ns(), target, lun, tag, len)
}
probe qemu.kvm.log.scsi_req_data_canceled = qemu.kvm.scsi_req_data_canceled ?
{
    printf("%d@%d scsi_req_data_canceled target %d lun %d tag %d len %d\n", pid(), gettimeofday_ns(), target, lun, tag, len)
}
probe qemu.kvm.log.scsi_req_dequeue = qemu.kvm.scsi_req_dequeue ?
{
    printf("%d@%d scsi_req_dequeue target %d lun %d tag %d\n", pid(), gettimeofday_ns(), target, lun, tag)
}
probe qemu.kvm.log.scsi_req_continue = qemu.kvm.scsi_req_continue ?
{
    printf("%d@%d scsi_req_continue target %d lun %d tag %d\n", pid(), gettimeofday_ns(), target, lun, tag)
}
probe qemu.kvm.log.scsi_req_continue_canceled = qemu.kvm.scsi_req_continue_canceled ?
{
    printf("%d@%d scsi_req_continue_canceled target %d lun %d tag %d\n", pid(), gettimeofday_ns(), target, lun, tag)
}
probe qemu.kvm.log.scsi_req_parsed = qemu.kvm.scsi_req_parsed ?
{
    printf("%d@%d scsi_req_parsed target %d lun %d tag %d command %d dir %d length %d\n", pid(), gettimeofday_ns(), target, lun, tag, cmd, mode, xfer)
}
probe qemu.kvm.log.scsi_req_parsed_lba = qemu.kvm.scsi_req_parsed_lba ?
{
    printf("%d@%d scsi_req_parsed_lba target %d lun %d tag %d command %d lba %u\n", pid(), gettimeofday_ns(), target, lun, tag, cmd, lba)
}
probe qemu.kvm.log.scsi_req_parse_bad = qemu.kvm.scsi_req_parse_bad ?
{
    printf("%d@%d scsi_req_parse_bad target %d lun %d tag %d command %d\n", pid(), gettimeofday_ns(), target, lun, tag, cmd)
}
probe qemu.kvm.log.scsi_req_build_sense = qemu.kvm.scsi_req_build_sense ?
{
    printf("%d@%d scsi_req_build_sense target %d lun %d tag %d key 0x%02x asc 0x%02x ascq 0x%02x\n", pid(), gettimeofday_ns(), target, lun, tag, key, asc, ascq)
}
probe qemu.kvm.log.scsi_device_set_ua = qemu.kvm.scsi_device_set_ua ?
{
    printf("%d@%d scsi_device_set_ua target %d lun %d key 0x%02x asc 0x%02x ascq 0x%02x\n", pid(), gettimeofday_ns(), target, lun, key, asc, ascq)
}
probe qemu.kvm.log.scsi_report_luns = qemu.kvm.scsi_report_luns ?
{
    printf("%d@%d scsi_report_luns target %d lun %d tag %d\n", pid(), gettimeofday_ns(), target, lun, tag)
}
probe qemu.kvm.log.scsi_inquiry = qemu.kvm.scsi_inquiry ?
{
    printf("%d@%d scsi_inquiry target %d lun %d tag %d page 0x%02x/0x%02x\n", pid(), gettimeofday_ns(), target, lun, tag, cdb1, cdb2)
}
probe qemu.kvm.log.scsi_test_unit_ready = qemu.kvm.scsi_test_unit_ready ?
{
    printf("%d@%d scsi_test_unit_ready target %d lun %d tag %d\n", pid(), gettimeofday_ns(), target, lun, tag)
}
probe qemu.kvm.log.scsi_request_sense = qemu.kvm.scsi_request_sense ?
{
    printf("%d@%d scsi_request_sense target %d lun %d tag %d\n", pid(), gettimeofday_ns(), target, lun, tag)
}
probe qemu.kvm.log.mptsas_command_complete = qemu.kvm.mptsas_command_complete ?
{
    printf("%d@%d mptsas_command_complete dev %p context 0x%08x status 0x%x resid %d\n", pid(), gettimeofday_ns(), dev, ctx, status, resid)
}
probe qemu.kvm.log.mptsas_diag_read = qemu.kvm.mptsas_diag_read ?
{
    printf("%d@%d mptsas_diag_read dev %p addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), dev, addr, val)
}
probe qemu.kvm.log.mptsas_diag_write = qemu.kvm.mptsas_diag_write ?
{
    printf("%d@%d mptsas_diag_write dev %p addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), dev, addr, val)
}
probe qemu.kvm.log.mptsas_irq_intx = qemu.kvm.mptsas_irq_intx ?
{
    printf("%d@%d mptsas_irq_intx dev %p level %d\n", pid(), gettimeofday_ns(), dev, level)
}
probe qemu.kvm.log.mptsas_irq_msi = qemu.kvm.mptsas_irq_msi ?
{
    printf("%d@%d mptsas_irq_msi dev %p \n", pid(), gettimeofday_ns(), dev)
}
probe qemu.kvm.log.mptsas_mmio_read = qemu.kvm.mptsas_mmio_read ?
{
    printf("%d@%d mptsas_mmio_read dev %p addr 0x%08x value 0x%x\n", pid(), gettimeofday_ns(), dev, addr, val)
}
probe qemu.kvm.log.mptsas_mmio_unhandled_read = qemu.kvm.mptsas_mmio_unhandled_read ?
{
    printf("%d@%d mptsas_mmio_unhandled_read dev %p addr 0x%08x\n", pid(), gettimeofday_ns(), dev, addr)
}
probe qemu.kvm.log.mptsas_mmio_unhandled_write = qemu.kvm.mptsas_mmio_unhandled_write ?
{
    printf("%d@%d mptsas_mmio_unhandled_write dev %p addr 0x%08x value 0x%x\n", pid(), gettimeofday_ns(), dev, addr, val)
}
probe qemu.kvm.log.mptsas_mmio_write = qemu.kvm.mptsas_mmio_write ?
{
    printf("%d@%d mptsas_mmio_write dev %p addr 0x%08x value 0x%x\n", pid(), gettimeofday_ns(), dev, addr, val)
}
probe qemu.kvm.log.mptsas_process_message = qemu.kvm.mptsas_process_message ?
{
    printf("%d@%d mptsas_process_message dev %p cmd %d context 0x%08x\n", pid(), gettimeofday_ns(), dev, msg, ctx)
}
probe qemu.kvm.log.mptsas_process_scsi_io_request = qemu.kvm.mptsas_process_scsi_io_request ?
{
    printf("%d@%d mptsas_process_scsi_io_request dev %p dev %d:%d:%d length %u\n", pid(), gettimeofday_ns(), dev, bus, target, lun, len)
}
probe qemu.kvm.log.mptsas_reset = qemu.kvm.mptsas_reset ?
{
    printf("%d@%d mptsas_reset dev %p \n", pid(), gettimeofday_ns(), dev)
}
probe qemu.kvm.log.mptsas_scsi_overflow = qemu.kvm.mptsas_scsi_overflow ?
{
    printf("%d@%d mptsas_scsi_overflow dev %p context 0x%08x: %u/%u\n", pid(), gettimeofday_ns(), dev, ctx, req, found)
}
probe qemu.kvm.log.mptsas_sgl_overflow = qemu.kvm.mptsas_sgl_overflow ?
{
    printf("%d@%d mptsas_sgl_overflow dev %p context 0x%08x: %u/%u\n", pid(), gettimeofday_ns(), dev, ctx, req, found)
}
probe qemu.kvm.log.mptsas_unhandled_cmd = qemu.kvm.mptsas_unhandled_cmd ?
{
    printf("%d@%d mptsas_unhandled_cmd dev %p context 0x%08x: Unhandled cmd 0x%x\n", pid(), gettimeofday_ns(), dev, ctx, msg_cmd)
}
probe qemu.kvm.log.mptsas_unhandled_doorbell_cmd = qemu.kvm.mptsas_unhandled_doorbell_cmd ?
{
    printf("%d@%d mptsas_unhandled_doorbell_cmd dev %p value 0x%08x\n", pid(), gettimeofday_ns(), dev, cmd)
}
probe qemu.kvm.log.mptsas_config_sas_device = qemu.kvm.mptsas_config_sas_device ?
{
    printf("%d@%d mptsas_config_sas_device dev %p address %d (port %d, handles: phy %d dev %d) page %d\n", pid(), gettimeofday_ns(), dev, address, port, phy_handle, dev_handle, page)
}
probe qemu.kvm.log.mptsas_config_sas_phy = qemu.kvm.mptsas_config_sas_phy ?
{
    printf("%d@%d mptsas_config_sas_phy dev %p address %d (port %d, handles: phy %d dev %d) page %d\n", pid(), gettimeofday_ns(), dev, address, port, phy_handle, dev_handle, page)
}
probe qemu.kvm.log.megasas_init_firmware = qemu.kvm.megasas_init_firmware ?
{
    printf("%d@%d megasas_init_firmware pa 0x%x \n", pid(), gettimeofday_ns(), pa)
}
probe qemu.kvm.log.megasas_init_queue = qemu.kvm.megasas_init_queue ?
{
    printf("%d@%d megasas_init_queue queue at 0x%x len %d head 0x%x tail 0x%x flags 0x%x\n", pid(), gettimeofday_ns(), queue_pa, queue_len, head, tail, flags)
}
probe qemu.kvm.log.megasas_initq_map_failed = qemu.kvm.megasas_initq_map_failed ?
{
    printf("%d@%d megasas_initq_map_failed scmd %d: failed to map queue\n", pid(), gettimeofday_ns(), frame)
}
probe qemu.kvm.log.megasas_initq_mapped = qemu.kvm.megasas_initq_mapped ?
{
    printf("%d@%d megasas_initq_mapped queue already mapped at 0x%x\n", pid(), gettimeofday_ns(), pa)
}
probe qemu.kvm.log.megasas_initq_mismatch = qemu.kvm.megasas_initq_mismatch ?
{
    printf("%d@%d megasas_initq_mismatch queue size %d max fw cmds %d\n", pid(), gettimeofday_ns(), queue_len, fw_cmds)
}
probe qemu.kvm.log.megasas_qf_mapped = qemu.kvm.megasas_qf_mapped ?
{
    printf("%d@%d megasas_qf_mapped skip mapped frame 0x%x\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.megasas_qf_new = qemu.kvm.megasas_qf_new ?
{
    printf("%d@%d megasas_qf_new frame 0x%x addr 0x%x\n", pid(), gettimeofday_ns(), index, frame)
}
probe qemu.kvm.log.megasas_qf_busy = qemu.kvm.megasas_qf_busy ?
{
    printf("%d@%d megasas_qf_busy all frames busy for frame 0x%lx\n", pid(), gettimeofday_ns(), pa)
}
probe qemu.kvm.log.megasas_qf_enqueue = qemu.kvm.megasas_qf_enqueue ?
{
    printf("%d@%d megasas_qf_enqueue frame 0x%x count %d context 0x%x head 0x%x tail 0x%x busy %d\n", pid(), gettimeofday_ns(), index, count, context, head, tail, busy)
}
probe qemu.kvm.log.megasas_qf_update = qemu.kvm.megasas_qf_update ?
{
    printf("%d@%d megasas_qf_update head 0x%x tail 0x%x busy %d\n", pid(), gettimeofday_ns(), head, tail, busy)
}
probe qemu.kvm.log.megasas_qf_map_failed = qemu.kvm.megasas_qf_map_failed ?
{
    printf("%d@%d megasas_qf_map_failed scmd %d: frame %lu\n", pid(), gettimeofday_ns(), cmd, frame)
}
probe qemu.kvm.log.megasas_qf_complete_noirq = qemu.kvm.megasas_qf_complete_noirq ?
{
    printf("%d@%d megasas_qf_complete_noirq context 0x%x \n", pid(), gettimeofday_ns(), context)
}
probe qemu.kvm.log.megasas_qf_complete = qemu.kvm.megasas_qf_complete ?
{
    printf("%d@%d megasas_qf_complete context 0x%x head 0x%x tail 0x%x busy %d\n", pid(), gettimeofday_ns(), context, head, tail, busy)
}
probe qemu.kvm.log.megasas_frame_busy = qemu.kvm.megasas_frame_busy ?
{
    printf("%d@%d megasas_frame_busy frame 0x%x busy\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.megasas_unhandled_frame_cmd = qemu.kvm.megasas_unhandled_frame_cmd ?
{
    printf("%d@%d megasas_unhandled_frame_cmd scmd %d: MFI cmd 0x%x\n", pid(), gettimeofday_ns(), cmd, frame_cmd)
}
probe qemu.kvm.log.megasas_handle_scsi = qemu.kvm.megasas_handle_scsi ?
{
    try {
        argframe_str = frame ? user_string_n(frame, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_handle_scsi %s dev %x/%x/%x sdev %p xfer %lu\n", pid(), gettimeofday_ns(), argframe_str, bus, dev, lun, sdev, size)
}
probe qemu.kvm.log.megasas_scsi_target_not_present = qemu.kvm.megasas_scsi_target_not_present ?
{
    try {
        argframe_str = frame ? user_string_n(frame, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_scsi_target_not_present %s dev %x/%x/%x\n", pid(), gettimeofday_ns(), argframe_str, bus, dev, lun)
}
probe qemu.kvm.log.megasas_scsi_invalid_cdb_len = qemu.kvm.megasas_scsi_invalid_cdb_len ?
{
    try {
        argframe_str = frame ? user_string_n(frame, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_scsi_invalid_cdb_len %s dev %x/%x/%x invalid cdb len %d\n", pid(), gettimeofday_ns(), argframe_str, bus, dev, lun, len)
}
probe qemu.kvm.log.megasas_iov_read_overflow = qemu.kvm.megasas_iov_read_overflow ?
{
    printf("%d@%d megasas_iov_read_overflow scmd %d: %d/%d bytes\n", pid(), gettimeofday_ns(), cmd, bytes, len)
}
probe qemu.kvm.log.megasas_iov_write_overflow = qemu.kvm.megasas_iov_write_overflow ?
{
    printf("%d@%d megasas_iov_write_overflow scmd %d: %d/%d bytes\n", pid(), gettimeofday_ns(), cmd, bytes, len)
}
probe qemu.kvm.log.megasas_iov_read_underflow = qemu.kvm.megasas_iov_read_underflow ?
{
    printf("%d@%d megasas_iov_read_underflow scmd %d: %d/%d bytes\n", pid(), gettimeofday_ns(), cmd, bytes, len)
}
probe qemu.kvm.log.megasas_iov_write_underflow = qemu.kvm.megasas_iov_write_underflow ?
{
    printf("%d@%d megasas_iov_write_underflow scmd %d: %d/%d bytes\n", pid(), gettimeofday_ns(), cmd, bytes, len)
}
probe qemu.kvm.log.megasas_scsi_req_alloc_failed = qemu.kvm.megasas_scsi_req_alloc_failed ?
{
    try {
        argframe_str = frame ? user_string_n(frame, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_scsi_req_alloc_failed %s dev %x/%x\n", pid(), gettimeofday_ns(), argframe_str, dev, lun)
}
probe qemu.kvm.log.megasas_scsi_read_start = qemu.kvm.megasas_scsi_read_start ?
{
    printf("%d@%d megasas_scsi_read_start scmd %d: transfer %d bytes of data\n", pid(), gettimeofday_ns(), cmd, len)
}
probe qemu.kvm.log.megasas_scsi_write_start = qemu.kvm.megasas_scsi_write_start ?
{
    printf("%d@%d megasas_scsi_write_start scmd %d: transfer %d bytes of data\n", pid(), gettimeofday_ns(), cmd, len)
}
probe qemu.kvm.log.megasas_scsi_nodata = qemu.kvm.megasas_scsi_nodata ?
{
    printf("%d@%d megasas_scsi_nodata scmd %d: no data to be transferred\n", pid(), gettimeofday_ns(), cmd)
}
probe qemu.kvm.log.megasas_scsi_complete = qemu.kvm.megasas_scsi_complete ?
{
    printf("%d@%d megasas_scsi_complete scmd %d: status 0x%x, len %u/%u\n", pid(), gettimeofday_ns(), cmd, status, len, xfer)
}
probe qemu.kvm.log.megasas_command_complete = qemu.kvm.megasas_command_complete ?
{
    printf("%d@%d megasas_command_complete scmd %d: status 0x%x, residual %d\n", pid(), gettimeofday_ns(), cmd, status, resid)
}
probe qemu.kvm.log.megasas_handle_io = qemu.kvm.megasas_handle_io ?
{
    try {
        argframe_str = frame ? user_string_n(frame, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_handle_io scmd %d: %s dev %x/%x lba 0x%lx count %lu\n", pid(), gettimeofday_ns(), cmd, argframe_str, dev, lun, lba, count)
}
probe qemu.kvm.log.megasas_io_target_not_present = qemu.kvm.megasas_io_target_not_present ?
{
    try {
        argframe_str = frame ? user_string_n(frame, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_io_target_not_present scmd %d: %s dev 1/%x/%x LUN not present\n", pid(), gettimeofday_ns(), cmd, argframe_str, dev, lun)
}
probe qemu.kvm.log.megasas_io_read_start = qemu.kvm.megasas_io_read_start ?
{
    printf("%d@%d megasas_io_read_start scmd %d: start LBA 0x%lx %lu blocks (%lu bytes)\n", pid(), gettimeofday_ns(), cmd, lba, count, len)
}
probe qemu.kvm.log.megasas_io_write_start = qemu.kvm.megasas_io_write_start ?
{
    printf("%d@%d megasas_io_write_start scmd %d: start LBA 0x%lx %lu blocks (%lu bytes)\n", pid(), gettimeofday_ns(), cmd, lba, count, len)
}
probe qemu.kvm.log.megasas_io_complete = qemu.kvm.megasas_io_complete ?
{
    printf("%d@%d megasas_io_complete scmd %d: %d bytes\n", pid(), gettimeofday_ns(), cmd, len)
}
probe qemu.kvm.log.megasas_iovec_sgl_overflow = qemu.kvm.megasas_iovec_sgl_overflow ?
{
    printf("%d@%d megasas_iovec_sgl_overflow scmd %d: iovec count %d limit %d\n", pid(), gettimeofday_ns(), cmd, index, limit_)
}
probe qemu.kvm.log.megasas_iovec_sgl_underflow = qemu.kvm.megasas_iovec_sgl_underflow ?
{
    printf("%d@%d megasas_iovec_sgl_underflow scmd %d: iovec count %d\n", pid(), gettimeofday_ns(), cmd, index)
}
probe qemu.kvm.log.megasas_iovec_sgl_invalid = qemu.kvm.megasas_iovec_sgl_invalid ?
{
    printf("%d@%d megasas_iovec_sgl_invalid scmd %d: element %d pa 0x%x len %u\n", pid(), gettimeofday_ns(), cmd, index, pa, len)
}
probe qemu.kvm.log.megasas_iovec_overflow = qemu.kvm.megasas_iovec_overflow ?
{
    printf("%d@%d megasas_iovec_overflow scmd %d: len %d limit %d\n", pid(), gettimeofday_ns(), cmd, len, limit_)
}
probe qemu.kvm.log.megasas_iovec_underflow = qemu.kvm.megasas_iovec_underflow ?
{
    printf("%d@%d megasas_iovec_underflow scmd %d: len %d limit %d\n", pid(), gettimeofday_ns(), cmd, len, limit_)
}
probe qemu.kvm.log.megasas_handle_dcmd = qemu.kvm.megasas_handle_dcmd ?
{
    printf("%d@%d megasas_handle_dcmd scmd %d: MFI DCMD opcode 0x%x\n", pid(), gettimeofday_ns(), cmd, opcode)
}
probe qemu.kvm.log.megasas_finish_dcmd = qemu.kvm.megasas_finish_dcmd ?
{
    printf("%d@%d megasas_finish_dcmd scmd %d: MFI DCMD wrote %d bytes\n", pid(), gettimeofday_ns(), cmd, size)
}
probe qemu.kvm.log.megasas_dcmd_req_alloc_failed = qemu.kvm.megasas_dcmd_req_alloc_failed ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_dcmd_req_alloc_failed scmd %d: %s\n", pid(), gettimeofday_ns(), cmd, argdesc_str)
}
probe qemu.kvm.log.megasas_dcmd_internal_submit = qemu.kvm.megasas_dcmd_internal_submit ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_dcmd_internal_submit scmd %d: %s to dev %d\n", pid(), gettimeofday_ns(), cmd, argdesc_str, dev)
}
probe qemu.kvm.log.megasas_dcmd_internal_finish = qemu.kvm.megasas_dcmd_internal_finish ?
{
    printf("%d@%d megasas_dcmd_internal_finish scmd %d: cmd 0x%x lun %d\n", pid(), gettimeofday_ns(), cmd, opcode, lun)
}
probe qemu.kvm.log.megasas_dcmd_internal_invalid = qemu.kvm.megasas_dcmd_internal_invalid ?
{
    printf("%d@%d megasas_dcmd_internal_invalid scmd %d: DCMD 0x%x\n", pid(), gettimeofday_ns(), cmd, opcode)
}
probe qemu.kvm.log.megasas_dcmd_unhandled = qemu.kvm.megasas_dcmd_unhandled ?
{
    printf("%d@%d megasas_dcmd_unhandled scmd %d: opcode 0x%x, len %d\n", pid(), gettimeofday_ns(), cmd, opcode, len)
}
probe qemu.kvm.log.megasas_dcmd_zero_sge = qemu.kvm.megasas_dcmd_zero_sge ?
{
    printf("%d@%d megasas_dcmd_zero_sge scmd %d: zero DCMD sge count\n", pid(), gettimeofday_ns(), cmd)
}
probe qemu.kvm.log.megasas_dcmd_invalid_sge = qemu.kvm.megasas_dcmd_invalid_sge ?
{
    printf("%d@%d megasas_dcmd_invalid_sge scmd %d: DCMD sge count %d\n", pid(), gettimeofday_ns(), cmd, count)
}
probe qemu.kvm.log.megasas_dcmd_invalid_xfer_len = qemu.kvm.megasas_dcmd_invalid_xfer_len ?
{
    printf("%d@%d megasas_dcmd_invalid_xfer_len scmd %d: xfer len %ld, max %ld\n", pid(), gettimeofday_ns(), cmd, size, max)
}
probe qemu.kvm.log.megasas_dcmd_enter = qemu.kvm.megasas_dcmd_enter ?
{
    try {
        argdcmd_str = dcmd ? user_string_n(dcmd, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_dcmd_enter scmd %d: DCMD %s len %d\n", pid(), gettimeofday_ns(), cmd, argdcmd_str, len)
}
probe qemu.kvm.log.megasas_dcmd_dummy = qemu.kvm.megasas_dcmd_dummy ?
{
    printf("%d@%d megasas_dcmd_dummy scmd %d: xfer len %ld\n", pid(), gettimeofday_ns(), cmd, size)
}
probe qemu.kvm.log.megasas_dcmd_set_fw_time = qemu.kvm.megasas_dcmd_set_fw_time ?
{
    printf("%d@%d megasas_dcmd_set_fw_time scmd %d: Set FW time 0x%lx\n", pid(), gettimeofday_ns(), cmd, time)
}
probe qemu.kvm.log.megasas_dcmd_pd_get_list = qemu.kvm.megasas_dcmd_pd_get_list ?
{
    printf("%d@%d megasas_dcmd_pd_get_list scmd %d: DCMD PD get list: %d / %d PDs, size %d\n", pid(), gettimeofday_ns(), cmd, num, max, offset)
}
probe qemu.kvm.log.megasas_dcmd_ld_get_list = qemu.kvm.megasas_dcmd_ld_get_list ?
{
    printf("%d@%d megasas_dcmd_ld_get_list scmd %d: DCMD LD get list: found %d / %d LDs\n", pid(), gettimeofday_ns(), cmd, num, max)
}
probe qemu.kvm.log.megasas_dcmd_ld_get_info = qemu.kvm.megasas_dcmd_ld_get_info ?
{
    printf("%d@%d megasas_dcmd_ld_get_info scmd %d: dev %d\n", pid(), gettimeofday_ns(), cmd, ld_id)
}
probe qemu.kvm.log.megasas_dcmd_ld_list_query = qemu.kvm.megasas_dcmd_ld_list_query ?
{
    printf("%d@%d megasas_dcmd_ld_list_query scmd %d: query flags 0x%x\n", pid(), gettimeofday_ns(), cmd, flags)
}
probe qemu.kvm.log.megasas_dcmd_pd_get_info = qemu.kvm.megasas_dcmd_pd_get_info ?
{
    printf("%d@%d megasas_dcmd_pd_get_info scmd %d: dev %d\n", pid(), gettimeofday_ns(), cmd, pd_id)
}
probe qemu.kvm.log.megasas_dcmd_pd_list_query = qemu.kvm.megasas_dcmd_pd_list_query ?
{
    printf("%d@%d megasas_dcmd_pd_list_query scmd %d: query flags 0x%x\n", pid(), gettimeofday_ns(), cmd, flags)
}
probe qemu.kvm.log.megasas_dcmd_reset_ld = qemu.kvm.megasas_dcmd_reset_ld ?
{
    printf("%d@%d megasas_dcmd_reset_ld scmd %d: dev %d\n", pid(), gettimeofday_ns(), cmd, target_id)
}
probe qemu.kvm.log.megasas_dcmd_unsupported = qemu.kvm.megasas_dcmd_unsupported ?
{
    printf("%d@%d megasas_dcmd_unsupported scmd %d: set properties len %ld\n", pid(), gettimeofday_ns(), cmd, size)
}
probe qemu.kvm.log.megasas_abort_frame = qemu.kvm.megasas_abort_frame ?
{
    printf("%d@%d megasas_abort_frame scmd %d: frame 0x%x\n", pid(), gettimeofday_ns(), cmd, abort_cmd)
}
probe qemu.kvm.log.megasas_abort_no_cmd = qemu.kvm.megasas_abort_no_cmd ?
{
    printf("%d@%d megasas_abort_no_cmd scmd %d: no active command for frame context 0x%x\n", pid(), gettimeofday_ns(), cmd, context)
}
probe qemu.kvm.log.megasas_abort_invalid_context = qemu.kvm.megasas_abort_invalid_context ?
{
    printf("%d@%d megasas_abort_invalid_context scmd %d: invalid frame context 0x%x for abort frame 0x%x\n", pid(), gettimeofday_ns(), cmd, context, abort_cmd)
}
probe qemu.kvm.log.megasas_reset = qemu.kvm.megasas_reset ?
{
    printf("%d@%d megasas_reset firmware state 0x%x\n", pid(), gettimeofday_ns(), fw_state)
}
probe qemu.kvm.log.megasas_init = qemu.kvm.megasas_init ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_init Using %d sges, %d cmds, %s mode\n", pid(), gettimeofday_ns(), sges, cmds, argmode_str)
}
probe qemu.kvm.log.megasas_msix_raise = qemu.kvm.megasas_msix_raise ?
{
    printf("%d@%d megasas_msix_raise vector %d\n", pid(), gettimeofday_ns(), vector)
}
probe qemu.kvm.log.megasas_msi_raise = qemu.kvm.megasas_msi_raise ?
{
    printf("%d@%d megasas_msi_raise vector %d\n", pid(), gettimeofday_ns(), vector)
}
probe qemu.kvm.log.megasas_irq_lower = qemu.kvm.megasas_irq_lower ?
{
    printf("%d@%d megasas_irq_lower INTx\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.megasas_irq_raise = qemu.kvm.megasas_irq_raise ?
{
    printf("%d@%d megasas_irq_raise INTx\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.megasas_intr_enabled = qemu.kvm.megasas_intr_enabled ?
{
    printf("%d@%d megasas_intr_enabled Interrupts enabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.megasas_intr_disabled = qemu.kvm.megasas_intr_disabled ?
{
    printf("%d@%d megasas_intr_disabled Interrupts disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.megasas_msix_enabled = qemu.kvm.megasas_msix_enabled ?
{
    printf("%d@%d megasas_msix_enabled vector %d\n", pid(), gettimeofday_ns(), vector)
}
probe qemu.kvm.log.megasas_msi_enabled = qemu.kvm.megasas_msi_enabled ?
{
    printf("%d@%d megasas_msi_enabled vector %d\n", pid(), gettimeofday_ns(), vector)
}
probe qemu.kvm.log.megasas_mmio_readl = qemu.kvm.megasas_mmio_readl ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_mmio_readl reg %s: 0x%x\n", pid(), gettimeofday_ns(), argreg_str, val)
}
probe qemu.kvm.log.megasas_mmio_invalid_readl = qemu.kvm.megasas_mmio_invalid_readl ?
{
    printf("%d@%d megasas_mmio_invalid_readl addr 0x%lx\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.megasas_mmio_writel = qemu.kvm.megasas_mmio_writel ?
{
    try {
        argreg_str = reg ? user_string_n(reg, 512) : "<null>"
    } catch {}
    printf("%d@%d megasas_mmio_writel reg %s: 0x%x\n", pid(), gettimeofday_ns(), argreg_str, val)
}
probe qemu.kvm.log.megasas_mmio_invalid_writel = qemu.kvm.megasas_mmio_invalid_writel ?
{
    printf("%d@%d megasas_mmio_invalid_writel addr 0x%x: 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.pvscsi_ring_init_data = qemu.kvm.pvscsi_ring_init_data ?
{
    printf("%d@%d pvscsi_ring_init_data TX/RX rings logarithms set to %d/%d\n", pid(), gettimeofday_ns(), txr_len_log2, rxr_len_log2)
}
probe qemu.kvm.log.pvscsi_ring_init_msg = qemu.kvm.pvscsi_ring_init_msg ?
{
    printf("%d@%d pvscsi_ring_init_msg MSG ring logarithm set to %d\n", pid(), gettimeofday_ns(), len_log2)
}
probe qemu.kvm.log.pvscsi_ring_flush_cmp = qemu.kvm.pvscsi_ring_flush_cmp ?
{
    printf("%d@%d pvscsi_ring_flush_cmp new production counter of completion ring is 0x%x\n", pid(), gettimeofday_ns(), filled_cmp_ptr)
}
probe qemu.kvm.log.pvscsi_ring_flush_msg = qemu.kvm.pvscsi_ring_flush_msg ?
{
    printf("%d@%d pvscsi_ring_flush_msg new production counter of message ring is 0x%x\n", pid(), gettimeofday_ns(), filled_cmp_ptr)
}
probe qemu.kvm.log.pvscsi_update_irq_level = qemu.kvm.pvscsi_update_irq_level ?
{
    printf("%d@%d pvscsi_update_irq_level interrupt level set to %d (MASK: 0x%x, STATUS: 0x%x)\n", pid(), gettimeofday_ns(), raise, mask, status)
}
probe qemu.kvm.log.pvscsi_update_irq_msi = qemu.kvm.pvscsi_update_irq_msi ?
{
    printf("%d@%d pvscsi_update_irq_msi sending MSI notification\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pvscsi_cmp_ring_put = qemu.kvm.pvscsi_cmp_ring_put ?
{
    printf("%d@%d pvscsi_cmp_ring_put got completion descriptor 0x%lx\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.pvscsi_msg_ring_put = qemu.kvm.pvscsi_msg_ring_put ?
{
    printf("%d@%d pvscsi_msg_ring_put got message descriptor 0x%lx\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.pvscsi_complete_request = qemu.kvm.pvscsi_complete_request ?
{
    printf("%d@%d pvscsi_complete_request completion: ctx: 0x%x, len: 0x%x, sense key: %u\n", pid(), gettimeofday_ns(), context, len, sense_key)
}
probe qemu.kvm.log.pvscsi_get_sg_list = qemu.kvm.pvscsi_get_sg_list ?
{
    printf("%d@%d pvscsi_get_sg_list get SG list: depth: %u, size: %u\n", pid(), gettimeofday_ns(), nsg, size)
}
probe qemu.kvm.log.pvscsi_get_next_sg_elem = qemu.kvm.pvscsi_get_next_sg_elem ?
{
    printf("%d@%d pvscsi_get_next_sg_elem unknown flags in SG element (val: 0x%x)\n", pid(), gettimeofday_ns(), flags)
}
probe qemu.kvm.log.pvscsi_command_complete_not_found = qemu.kvm.pvscsi_command_complete_not_found ?
{
    printf("%d@%d pvscsi_command_complete_not_found can't find request for tag 0x%x\n", pid(), gettimeofday_ns(), tag)
}
probe qemu.kvm.log.pvscsi_command_complete_data_run = qemu.kvm.pvscsi_command_complete_data_run ?
{
    printf("%d@%d pvscsi_command_complete_data_run not all data required for command transferred\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pvscsi_command_complete_sense_len = qemu.kvm.pvscsi_command_complete_sense_len ?
{
    printf("%d@%d pvscsi_command_complete_sense_len sense information length is %d bytes\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.pvscsi_convert_sglist = qemu.kvm.pvscsi_convert_sglist ?
{
    printf("%d@%d pvscsi_convert_sglist element: ctx: 0x%x addr: 0x%lx, len: %ul\n", pid(), gettimeofday_ns(), context, addr, resid)
}
probe qemu.kvm.log.pvscsi_process_req_descr = qemu.kvm.pvscsi_process_req_descr ?
{
    printf("%d@%d pvscsi_process_req_descr SCSI cmd 0x%x, ctx: 0x%x\n", pid(), gettimeofday_ns(), cmd, ctx)
}
probe qemu.kvm.log.pvscsi_process_req_descr_unknown_device = qemu.kvm.pvscsi_process_req_descr_unknown_device ?
{
    printf("%d@%d pvscsi_process_req_descr_unknown_device command directed to unknown device rejected\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pvscsi_process_req_descr_invalid_dir = qemu.kvm.pvscsi_process_req_descr_invalid_dir ?
{
    printf("%d@%d pvscsi_process_req_descr_invalid_dir command with invalid transfer direction rejected\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.pvscsi_process_io = qemu.kvm.pvscsi_process_io ?
{
    printf("%d@%d pvscsi_process_io got descriptor 0x%lx\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.pvscsi_on_cmd_noimpl = qemu.kvm.pvscsi_on_cmd_noimpl ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d pvscsi_on_cmd_noimpl unimplemented command %s ignored\n", pid(), gettimeofday_ns(), argcmd_str)
}
probe qemu.kvm.log.pvscsi_on_cmd_reset_dev = qemu.kvm.pvscsi_on_cmd_reset_dev ?
{
    printf("%d@%d pvscsi_on_cmd_reset_dev PVSCSI_CMD_RESET_DEVICE[target %u lun %d (dev 0x%p)]\n", pid(), gettimeofday_ns(), tgt, lun, dev)
}
probe qemu.kvm.log.pvscsi_on_cmd_arrived = qemu.kvm.pvscsi_on_cmd_arrived ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d pvscsi_on_cmd_arrived command %s arrived\n", pid(), gettimeofday_ns(), argcmd_str)
}
probe qemu.kvm.log.pvscsi_on_cmd_abort = qemu.kvm.pvscsi_on_cmd_abort ?
{
    printf("%d@%d pvscsi_on_cmd_abort command PVSCSI_CMD_ABORT_CMD for ctx 0x%x, target %u\n", pid(), gettimeofday_ns(), ctx, tgt)
}
probe qemu.kvm.log.pvscsi_on_cmd_unknown = qemu.kvm.pvscsi_on_cmd_unknown ?
{
    printf("%d@%d pvscsi_on_cmd_unknown unknown command 0x%x\n", pid(), gettimeofday_ns(), cmd_id)
}
probe qemu.kvm.log.pvscsi_on_cmd_unknown_data = qemu.kvm.pvscsi_on_cmd_unknown_data ?
{
    printf("%d@%d pvscsi_on_cmd_unknown_data data for unknown command 0x:0x%x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.pvscsi_io_write = qemu.kvm.pvscsi_io_write ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d pvscsi_io_write %s write: 0x%x\n", pid(), gettimeofday_ns(), argcmd_str, val)
}
probe qemu.kvm.log.pvscsi_io_write_unknown = qemu.kvm.pvscsi_io_write_unknown ?
{
    printf("%d@%d pvscsi_io_write_unknown unknown write address: 0x%lx size: %u bytes value: 0x%x\n", pid(), gettimeofday_ns(), addr, sz, val)
}
probe qemu.kvm.log.pvscsi_io_read = qemu.kvm.pvscsi_io_read ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d pvscsi_io_read %s read: 0x%x\n", pid(), gettimeofday_ns(), argcmd_str, status)
}
probe qemu.kvm.log.pvscsi_io_read_unknown = qemu.kvm.pvscsi_io_read_unknown ?
{
    printf("%d@%d pvscsi_io_read_unknown unknown read address: 0x%lx size: %u bytes\n", pid(), gettimeofday_ns(), addr, sz)
}
probe qemu.kvm.log.pvscsi_init_msi_fail = qemu.kvm.pvscsi_init_msi_fail ?
{
    printf("%d@%d pvscsi_init_msi_fail failed to initialize MSI, error %d\n", pid(), gettimeofday_ns(), res)
}
probe qemu.kvm.log.pvscsi_state = qemu.kvm.pvscsi_state ?
{
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d pvscsi_state starting %s ...\n", pid(), gettimeofday_ns(), argstate_str)
}
probe qemu.kvm.log.pvscsi_tx_rings_ppn = qemu.kvm.pvscsi_tx_rings_ppn ?
{
    try {
        arglabel_str = label ? user_string_n(label, 512) : "<null>"
    } catch {}
    printf("%d@%d pvscsi_tx_rings_ppn %s page: 0x%x\n", pid(), gettimeofday_ns(), arglabel_str, ppn)
}
probe qemu.kvm.log.pvscsi_tx_rings_num_pages = qemu.kvm.pvscsi_tx_rings_num_pages ?
{
    try {
        arglabel_str = label ? user_string_n(label, 512) : "<null>"
    } catch {}
    printf("%d@%d pvscsi_tx_rings_num_pages Number of %s pages: %u\n", pid(), gettimeofday_ns(), arglabel_str, num)
}
probe qemu.kvm.log.esp_error_fifo_overrun = qemu.kvm.esp_error_fifo_overrun ?
{
    printf("%d@%d esp_error_fifo_overrun FIFO overrun\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_error_unhandled_command = qemu.kvm.esp_error_unhandled_command ?
{
    printf("%d@%d esp_error_unhandled_command unhandled command (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_error_invalid_write = qemu.kvm.esp_error_invalid_write ?
{
    printf("%d@%d esp_error_invalid_write invalid write of 0x%02x at [0x%x]\n", pid(), gettimeofday_ns(), val, addr)
}
probe qemu.kvm.log.esp_raise_irq = qemu.kvm.esp_raise_irq ?
{
    printf("%d@%d esp_raise_irq Raise IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_lower_irq = qemu.kvm.esp_lower_irq ?
{
    printf("%d@%d esp_lower_irq Lower IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_dma_enable = qemu.kvm.esp_dma_enable ?
{
    printf("%d@%d esp_dma_enable Raise enable\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_dma_disable = qemu.kvm.esp_dma_disable ?
{
    printf("%d@%d esp_dma_disable Lower enable\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_get_cmd = qemu.kvm.esp_get_cmd ?
{
    printf("%d@%d esp_get_cmd len %d target %d\n", pid(), gettimeofday_ns(), dmalen, target)
}
probe qemu.kvm.log.esp_do_busid_cmd = qemu.kvm.esp_do_busid_cmd ?
{
    printf("%d@%d esp_do_busid_cmd busid 0x%x\n", pid(), gettimeofday_ns(), busid)
}
probe qemu.kvm.log.esp_handle_satn_stop = qemu.kvm.esp_handle_satn_stop ?
{
    printf("%d@%d esp_handle_satn_stop cmdlen %d\n", pid(), gettimeofday_ns(), cmdlen)
}
probe qemu.kvm.log.esp_write_response = qemu.kvm.esp_write_response ?
{
    printf("%d@%d esp_write_response Transfer status (status=%d)\n", pid(), gettimeofday_ns(), status)
}
probe qemu.kvm.log.esp_do_dma = qemu.kvm.esp_do_dma ?
{
    printf("%d@%d esp_do_dma command len %d + %d\n", pid(), gettimeofday_ns(), cmdlen, len)
}
probe qemu.kvm.log.esp_command_complete = qemu.kvm.esp_command_complete ?
{
    printf("%d@%d esp_command_complete SCSI Command complete\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_command_complete_deferred = qemu.kvm.esp_command_complete_deferred ?
{
    printf("%d@%d esp_command_complete_deferred SCSI Command complete deferred\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_command_complete_unexpected = qemu.kvm.esp_command_complete_unexpected ?
{
    printf("%d@%d esp_command_complete_unexpected SCSI command completed unexpectedly\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_command_complete_fail = qemu.kvm.esp_command_complete_fail ?
{
    printf("%d@%d esp_command_complete_fail Command failed\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_transfer_data = qemu.kvm.esp_transfer_data ?
{
    printf("%d@%d esp_transfer_data transfer %d/%d\n", pid(), gettimeofday_ns(), dma_left, ti_size)
}
probe qemu.kvm.log.esp_handle_ti = qemu.kvm.esp_handle_ti ?
{
    printf("%d@%d esp_handle_ti Transfer Information len %d\n", pid(), gettimeofday_ns(), minlen)
}
probe qemu.kvm.log.esp_handle_ti_cmd = qemu.kvm.esp_handle_ti_cmd ?
{
    printf("%d@%d esp_handle_ti_cmd command len %d\n", pid(), gettimeofday_ns(), cmdlen)
}
probe qemu.kvm.log.esp_mem_readb = qemu.kvm.esp_mem_readb ?
{
    printf("%d@%d esp_mem_readb reg[%d]: 0x%2.2x\n", pid(), gettimeofday_ns(), saddr, reg)
}
probe qemu.kvm.log.esp_mem_writeb = qemu.kvm.esp_mem_writeb ?
{
    printf("%d@%d esp_mem_writeb reg[%d]: 0x%2.2x -> 0x%2.2x\n", pid(), gettimeofday_ns(), saddr, reg, val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_nop = qemu.kvm.esp_mem_writeb_cmd_nop ?
{
    printf("%d@%d esp_mem_writeb_cmd_nop NOP (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_flush = qemu.kvm.esp_mem_writeb_cmd_flush ?
{
    printf("%d@%d esp_mem_writeb_cmd_flush Flush FIFO (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_reset = qemu.kvm.esp_mem_writeb_cmd_reset ?
{
    printf("%d@%d esp_mem_writeb_cmd_reset Chip reset (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_bus_reset = qemu.kvm.esp_mem_writeb_cmd_bus_reset ?
{
    printf("%d@%d esp_mem_writeb_cmd_bus_reset Bus reset (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_iccs = qemu.kvm.esp_mem_writeb_cmd_iccs ?
{
    printf("%d@%d esp_mem_writeb_cmd_iccs Initiator Command Complete Sequence (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_msgacc = qemu.kvm.esp_mem_writeb_cmd_msgacc ?
{
    printf("%d@%d esp_mem_writeb_cmd_msgacc Message Accepted (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_pad = qemu.kvm.esp_mem_writeb_cmd_pad ?
{
    printf("%d@%d esp_mem_writeb_cmd_pad Transfer padding (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_satn = qemu.kvm.esp_mem_writeb_cmd_satn ?
{
    printf("%d@%d esp_mem_writeb_cmd_satn Set ATN (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_rstatn = qemu.kvm.esp_mem_writeb_cmd_rstatn ?
{
    printf("%d@%d esp_mem_writeb_cmd_rstatn Reset ATN (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_sel = qemu.kvm.esp_mem_writeb_cmd_sel ?
{
    printf("%d@%d esp_mem_writeb_cmd_sel Select without ATN (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_selatn = qemu.kvm.esp_mem_writeb_cmd_selatn ?
{
    printf("%d@%d esp_mem_writeb_cmd_selatn Select with ATN (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_selatns = qemu.kvm.esp_mem_writeb_cmd_selatns ?
{
    printf("%d@%d esp_mem_writeb_cmd_selatns Select with ATN & stop (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_ensel = qemu.kvm.esp_mem_writeb_cmd_ensel ?
{
    printf("%d@%d esp_mem_writeb_cmd_ensel Enable selection (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_mem_writeb_cmd_dissel = qemu.kvm.esp_mem_writeb_cmd_dissel ?
{
    printf("%d@%d esp_mem_writeb_cmd_dissel Disable selection (0x%2.2x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_pci_error_invalid_dma_direction = qemu.kvm.esp_pci_error_invalid_dma_direction ?
{
    printf("%d@%d esp_pci_error_invalid_dma_direction invalid DMA transfer direction\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.esp_pci_error_invalid_read = qemu.kvm.esp_pci_error_invalid_read ?
{
    printf("%d@%d esp_pci_error_invalid_read read access outside bounds (reg 0x%x)\n", pid(), gettimeofday_ns(), reg)
}
probe qemu.kvm.log.esp_pci_error_invalid_write = qemu.kvm.esp_pci_error_invalid_write ?
{
    printf("%d@%d esp_pci_error_invalid_write write access outside bounds (reg 0x%x)\n", pid(), gettimeofday_ns(), reg)
}
probe qemu.kvm.log.esp_pci_error_invalid_write_dma = qemu.kvm.esp_pci_error_invalid_write_dma ?
{
    printf("%d@%d esp_pci_error_invalid_write_dma invalid write of 0x%02x at [0x%x]\n", pid(), gettimeofday_ns(), val, addr)
}
probe qemu.kvm.log.esp_pci_dma_read = qemu.kvm.esp_pci_dma_read ?
{
    printf("%d@%d esp_pci_dma_read reg[%d]: 0x%8.8x\n", pid(), gettimeofday_ns(), saddr, reg)
}
probe qemu.kvm.log.esp_pci_dma_write = qemu.kvm.esp_pci_dma_write ?
{
    printf("%d@%d esp_pci_dma_write reg[%d]: 0x%8.8x -> 0x%8.8x\n", pid(), gettimeofday_ns(), saddr, reg, val)
}
probe qemu.kvm.log.esp_pci_dma_idle = qemu.kvm.esp_pci_dma_idle ?
{
    printf("%d@%d esp_pci_dma_idle IDLE (0x%.8x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_pci_dma_blast = qemu.kvm.esp_pci_dma_blast ?
{
    printf("%d@%d esp_pci_dma_blast BLAST (0x%.8x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_pci_dma_abort = qemu.kvm.esp_pci_dma_abort ?
{
    printf("%d@%d esp_pci_dma_abort ABORT (0x%.8x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_pci_dma_start = qemu.kvm.esp_pci_dma_start ?
{
    printf("%d@%d esp_pci_dma_start START (0x%.8x)\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.esp_pci_sbac_read = qemu.kvm.esp_pci_sbac_read ?
{
    printf("%d@%d esp_pci_sbac_read sbac: 0x%8.8x\n", pid(), gettimeofday_ns(), reg)
}
probe qemu.kvm.log.esp_pci_sbac_write = qemu.kvm.esp_pci_sbac_write ?
{
    printf("%d@%d esp_pci_sbac_write sbac: 0x%8.8x -> 0x%8.8x\n", pid(), gettimeofday_ns(), reg, val)
}
probe qemu.kvm.log.spapr_vscsi_send_rsp = qemu.kvm.spapr_vscsi_send_rsp ?
{
    printf("%d@%d spapr_vscsi_send_rsp status: 0x%x, res_in: %d, res_out: %d\n", pid(), gettimeofday_ns(), status, res_in, res_out)
}
probe qemu.kvm.log.spapr_vscsi_fetch_desc_no_data = qemu.kvm.spapr_vscsi_fetch_desc_no_data ?
{
    printf("%d@%d spapr_vscsi_fetch_desc_no_data no data descriptor\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.spapr_vscsi_fetch_desc_direct = qemu.kvm.spapr_vscsi_fetch_desc_direct ?
{
    printf("%d@%d spapr_vscsi_fetch_desc_direct direct segment\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.spapr_vscsi_fetch_desc_indirect = qemu.kvm.spapr_vscsi_fetch_desc_indirect ?
{
    printf("%d@%d spapr_vscsi_fetch_desc_indirect indirect segment local tag=0x%x desc#%u/%u\n", pid(), gettimeofday_ns(), qtag, desc, local_desc)
}
probe qemu.kvm.log.spapr_vscsi_fetch_desc_out_of_range = qemu.kvm.spapr_vscsi_fetch_desc_out_of_range ?
{
    printf("%d@%d spapr_vscsi_fetch_desc_out_of_range #%u is ouf of range (%u bytes)\n", pid(), gettimeofday_ns(), desc, desc_offset)
}
probe qemu.kvm.log.spapr_vscsi_fetch_desc_dma_read_error = qemu.kvm.spapr_vscsi_fetch_desc_dma_read_error ?
{
    printf("%d@%d spapr_vscsi_fetch_desc_dma_read_error spapr_vio_dma_read -> %d reading ext_desc\n", pid(), gettimeofday_ns(), rc)
}
probe qemu.kvm.log.spapr_vscsi_fetch_desc_indirect_seg_ext = qemu.kvm.spapr_vscsi_fetch_desc_indirect_seg_ext ?
{
    printf("%d@%d spapr_vscsi_fetch_desc_indirect_seg_ext indirect segment ext. tag=0x%x desc#%u/%u { va=0x%x len=0x%x }\n", pid(), gettimeofday_ns(), qtag, n, desc, va, len)
}
probe qemu.kvm.log.spapr_vscsi_fetch_desc_out_of_desc = qemu.kvm.spapr_vscsi_fetch_desc_out_of_desc ?
{
    printf("%d@%d spapr_vscsi_fetch_desc_out_of_desc Out of descriptors !\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.spapr_vscsi_fetch_desc_out_of_desc_boundary = qemu.kvm.spapr_vscsi_fetch_desc_out_of_desc_boundary ?
{
    printf("%d@%d spapr_vscsi_fetch_desc_out_of_desc_boundary    offset=0x%x is out of a descriptor #%u boundary=0x%x\n", pid(), gettimeofday_ns(), offset, desc, len)
}
probe qemu.kvm.log.spapr_vscsi_fetch_desc_done = qemu.kvm.spapr_vscsi_fetch_desc_done ?
{
    printf("%d@%d spapr_vscsi_fetch_desc_done    cur=%u offs=0x%x ret { va=0x%x len=0x%x }\n", pid(), gettimeofday_ns(), desc_num, desc_offset, va, len)
}
probe qemu.kvm.log.spapr_vscsi_srp_indirect_data = qemu.kvm.spapr_vscsi_srp_indirect_data ?
{
    printf("%d@%d spapr_vscsi_srp_indirect_data indirect segment 0x%x bytes\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.spapr_vscsi_srp_indirect_data_rw = qemu.kvm.spapr_vscsi_srp_indirect_data_rw ?
{
    printf("%d@%d spapr_vscsi_srp_indirect_data_rw spapr_vio_dma_r/w(%d) -> %d\n", pid(), gettimeofday_ns(), writing, rc)
}
probe qemu.kvm.log.spapr_vscsi_srp_indirect_data_buf = qemu.kvm.spapr_vscsi_srp_indirect_data_buf ?
{
    printf("%d@%d spapr_vscsi_srp_indirect_data_buf      data: %02x %02x %02x %02x...\n", pid(), gettimeofday_ns(), a, b, c, d)
}
probe qemu.kvm.log.spapr_vscsi_srp_transfer_data = qemu.kvm.spapr_vscsi_srp_transfer_data ?
{
    printf("%d@%d spapr_vscsi_srp_transfer_data no data desc transfer, skipping 0x%x bytes\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.spapr_vscsi_transfer_data = qemu.kvm.spapr_vscsi_transfer_data ?
{
    printf("%d@%d spapr_vscsi_transfer_data SCSI xfer complete tag=0x%x len=0x%x, req=%p\n", pid(), gettimeofday_ns(), tag, len, req)
}
probe qemu.kvm.log.spapr_vscsi_command_complete = qemu.kvm.spapr_vscsi_command_complete ?
{
    printf("%d@%d spapr_vscsi_command_complete SCSI cmd complete, tag=0x%x status=0x%x, req=%p\n", pid(), gettimeofday_ns(), tag, status, req)
}
probe qemu.kvm.log.spapr_vscsi_command_complete_sense_data1 = qemu.kvm.spapr_vscsi_command_complete_sense_data1 ?
{
    printf("%d@%d spapr_vscsi_command_complete_sense_data1 Sense data, %d bytes: %02x %02x %02x %02x %02x %02x %02x %02x\n", pid(), gettimeofday_ns(), len, s0, s1, s2, s3, s4, s5, s6, s7)
}
probe qemu.kvm.log.spapr_vscsi_command_complete_sense_data2 = qemu.kvm.spapr_vscsi_command_complete_sense_data2 ?
{
    printf("%d@%d spapr_vscsi_command_complete_sense_data2                       %02x %02x %02x %02x %02x %02x %02x %02x\n", pid(), gettimeofday_ns(), s8, s9, s10, s11, s12, s13, s14, s15)
}
probe qemu.kvm.log.spapr_vscsi_command_complete_status = qemu.kvm.spapr_vscsi_command_complete_status ?
{
    printf("%d@%d spapr_vscsi_command_complete_status Command complete err=%u\n", pid(), gettimeofday_ns(), status)
}
probe qemu.kvm.log.spapr_vscsi_save_request = qemu.kvm.spapr_vscsi_save_request ?
{
    printf("%d@%d spapr_vscsi_save_request saving tag=%u, current desc#%u, offset=0x%x\n", pid(), gettimeofday_ns(), qtag, desc, offset)
}
probe qemu.kvm.log.spapr_vscsi_load_request = qemu.kvm.spapr_vscsi_load_request ?
{
    printf("%d@%d spapr_vscsi_load_request restoring tag=%u, current desc#%u, offset=0x%x\n", pid(), gettimeofday_ns(), qtag, desc, offset)
}
probe qemu.kvm.log.spapr_vscsi_process_login = qemu.kvm.spapr_vscsi_process_login ?
{
    printf("%d@%d spapr_vscsi_process_login Got login, sending response !\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.spapr_vscsi_queue_cmd_no_drive = qemu.kvm.spapr_vscsi_queue_cmd_no_drive ?
{
    printf("%d@%d spapr_vscsi_queue_cmd_no_drive Command for lun 0x%08x with no drive\n", pid(), gettimeofday_ns(), lun)
}
probe qemu.kvm.log.spapr_vscsi_queue_cmd = qemu.kvm.spapr_vscsi_queue_cmd ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d spapr_vscsi_queue_cmd Queued command tag 0x%x CMD 0x%x=%s LUN %d ret: %d\n", pid(), gettimeofday_ns(), qtag, cdb, argcmd_str, lun, ret)
}
probe qemu.kvm.log.spapr_vscsi_do_crq = qemu.kvm.spapr_vscsi_do_crq ?
{
    printf("%d@%d spapr_vscsi_do_crq crq: %02x %02x ...\n", pid(), gettimeofday_ns(), c0, c1)
}
probe qemu.kvm.log.lsi_reset = qemu.kvm.lsi_reset ?
{
    printf("%d@%d lsi_reset Reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_update_irq = qemu.kvm.lsi_update_irq ?
{
    printf("%d@%d lsi_update_irq Update IRQ level %d dstat 0x%02x sist 0x%02x0x%02x\n", pid(), gettimeofday_ns(), level, dstat, sist1, sist0)
}
probe qemu.kvm.log.lsi_update_irq_disconnected = qemu.kvm.lsi_update_irq_disconnected ?
{
    printf("%d@%d lsi_update_irq_disconnected Handled IRQs & disconnected, looking for pending processes\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_script_scsi_interrupt = qemu.kvm.lsi_script_scsi_interrupt ?
{
    printf("%d@%d lsi_script_scsi_interrupt SCSI Interrupt 0x%02x0x%02x prev 0x%02x0x%02x\n", pid(), gettimeofday_ns(), stat1, stat0, sist1, sist0)
}
probe qemu.kvm.log.lsi_script_dma_interrupt = qemu.kvm.lsi_script_dma_interrupt ?
{
    printf("%d@%d lsi_script_dma_interrupt DMA Interrupt 0x%x prev 0x%x\n", pid(), gettimeofday_ns(), stat, dstat)
}
probe qemu.kvm.log.lsi_bad_phase_jump = qemu.kvm.lsi_bad_phase_jump ?
{
    printf("%d@%d lsi_bad_phase_jump Data phase mismatch jump to 0x%X\n", pid(), gettimeofday_ns(), dsp)
}
probe qemu.kvm.log.lsi_bad_phase_interrupt = qemu.kvm.lsi_bad_phase_interrupt ?
{
    printf("%d@%d lsi_bad_phase_interrupt Phase mismatch interrupt\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_bad_selection = qemu.kvm.lsi_bad_selection ?
{
    printf("%d@%d lsi_bad_selection Selected absent target %u\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.lsi_do_dma_unavailable = qemu.kvm.lsi_do_dma_unavailable ?
{
    printf("%d@%d lsi_do_dma_unavailable DMA no data available\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_do_dma = qemu.kvm.lsi_do_dma ?
{
    printf("%d@%d lsi_do_dma DMA addr=0x%x len=%d\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.lsi_queue_command = qemu.kvm.lsi_queue_command ?
{
    printf("%d@%d lsi_queue_command Queueing tag=0x%d\n", pid(), gettimeofday_ns(), tag)
}
probe qemu.kvm.log.lsi_add_msg_byte_error = qemu.kvm.lsi_add_msg_byte_error ?
{
    printf("%d@%d lsi_add_msg_byte_error MSG IN data too long\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_add_msg_byte = qemu.kvm.lsi_add_msg_byte ?
{
    printf("%d@%d lsi_add_msg_byte MSG IN 0x%02x\n", pid(), gettimeofday_ns(), data)
}
probe qemu.kvm.log.lsi_reselect = qemu.kvm.lsi_reselect ?
{
    printf("%d@%d lsi_reselect Reselected target %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.lsi_queue_req_error = qemu.kvm.lsi_queue_req_error ?
{
    printf("%d@%d lsi_queue_req_error Multiple IO pending for request %p\n", pid(), gettimeofday_ns(), p)
}
probe qemu.kvm.log.lsi_queue_req = qemu.kvm.lsi_queue_req ?
{
    printf("%d@%d lsi_queue_req Queueing IO tag=0x%x\n", pid(), gettimeofday_ns(), tag)
}
probe qemu.kvm.log.lsi_command_complete = qemu.kvm.lsi_command_complete ?
{
    printf("%d@%d lsi_command_complete Command complete status=%d\n", pid(), gettimeofday_ns(), status)
}
probe qemu.kvm.log.lsi_transfer_data = qemu.kvm.lsi_transfer_data ?
{
    printf("%d@%d lsi_transfer_data Data ready tag=0x%x len=%x\n", pid(), gettimeofday_ns(), tag, len)
}
probe qemu.kvm.log.lsi_do_command = qemu.kvm.lsi_do_command ?
{
    printf("%d@%d lsi_do_command Send command len=%d\n", pid(), gettimeofday_ns(), dbc)
}
probe qemu.kvm.log.lsi_do_status = qemu.kvm.lsi_do_status ?
{
    printf("%d@%d lsi_do_status Get status len=%d status=%d\n", pid(), gettimeofday_ns(), dbc, status)
}
probe qemu.kvm.log.lsi_do_status_error = qemu.kvm.lsi_do_status_error ?
{
    printf("%d@%d lsi_do_status_error Bad Status move\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_do_msgin = qemu.kvm.lsi_do_msgin ?
{
    printf("%d@%d lsi_do_msgin Message in len=%d %d\n", pid(), gettimeofday_ns(), dbc, len)
}
probe qemu.kvm.log.lsi_do_msgout = qemu.kvm.lsi_do_msgout ?
{
    printf("%d@%d lsi_do_msgout MSG out len=%d\n", pid(), gettimeofday_ns(), dbc)
}
probe qemu.kvm.log.lsi_do_msgout_disconnect = qemu.kvm.lsi_do_msgout_disconnect ?
{
    printf("%d@%d lsi_do_msgout_disconnect MSG: Disconnect\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_do_msgout_noop = qemu.kvm.lsi_do_msgout_noop ?
{
    printf("%d@%d lsi_do_msgout_noop MSG: No Operation\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_do_msgout_extended = qemu.kvm.lsi_do_msgout_extended ?
{
    printf("%d@%d lsi_do_msgout_extended Extended message 0x%x (len %d)\n", pid(), gettimeofday_ns(), msg, len)
}
probe qemu.kvm.log.lsi_do_msgout_ignored = qemu.kvm.lsi_do_msgout_ignored ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d lsi_do_msgout_ignored %s (ignored)\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.lsi_do_msgout_simplequeue = qemu.kvm.lsi_do_msgout_simplequeue ?
{
    printf("%d@%d lsi_do_msgout_simplequeue SIMPLE queue tag=0x%x\n", pid(), gettimeofday_ns(), select_tag)
}
probe qemu.kvm.log.lsi_do_msgout_abort = qemu.kvm.lsi_do_msgout_abort ?
{
    printf("%d@%d lsi_do_msgout_abort MSG: ABORT TAG tag=0x%d\n", pid(), gettimeofday_ns(), tag)
}
probe qemu.kvm.log.lsi_do_msgout_clearqueue = qemu.kvm.lsi_do_msgout_clearqueue ?
{
    printf("%d@%d lsi_do_msgout_clearqueue MSG: CLEAR QUEUE tag=0x%x\n", pid(), gettimeofday_ns(), tag)
}
probe qemu.kvm.log.lsi_do_msgout_busdevicereset = qemu.kvm.lsi_do_msgout_busdevicereset ?
{
    printf("%d@%d lsi_do_msgout_busdevicereset MSG: BUS DEVICE RESET tag=0x%x\n", pid(), gettimeofday_ns(), tag)
}
probe qemu.kvm.log.lsi_do_msgout_select = qemu.kvm.lsi_do_msgout_select ?
{
    printf("%d@%d lsi_do_msgout_select Select LUN %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.lsi_memcpy = qemu.kvm.lsi_memcpy ?
{
    printf("%d@%d lsi_memcpy memcpy dest 0x%x src 0x%x count %d\n", pid(), gettimeofday_ns(), dest, src, count)
}
probe qemu.kvm.log.lsi_wait_reselect = qemu.kvm.lsi_wait_reselect ?
{
    printf("%d@%d lsi_wait_reselect Wait Reselect\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_execute_script = qemu.kvm.lsi_execute_script ?
{
    printf("%d@%d lsi_execute_script SCRIPTS dsp=0x%x opcode 0x%x arg 0x%x\n", pid(), gettimeofday_ns(), dsp, insn, addr)
}
probe qemu.kvm.log.lsi_execute_script_blockmove_delayed = qemu.kvm.lsi_execute_script_blockmove_delayed ?
{
    printf("%d@%d lsi_execute_script_blockmove_delayed Delayed select timeout\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_execute_script_blockmove_badphase = qemu.kvm.lsi_execute_script_blockmove_badphase ?
{
    try {
        argphase_str = phase ? user_string_n(phase, 512) : "<null>"
    } catch {}
    try {
        argexpected_str = expected ? user_string_n(expected, 512) : "<null>"
    } catch {}
    printf("%d@%d lsi_execute_script_blockmove_badphase Wrong phase got %s expected %s\n", pid(), gettimeofday_ns(), argphase_str, argexpected_str)
}
probe qemu.kvm.log.lsi_execute_script_io_alreadyreselected = qemu.kvm.lsi_execute_script_io_alreadyreselected ?
{
    printf("%d@%d lsi_execute_script_io_alreadyreselected Already reselected, jumping to alternative address\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_execute_script_io_selected = qemu.kvm.lsi_execute_script_io_selected ?
{
    try {
        argatn_str = atn ? user_string_n(atn, 512) : "<null>"
    } catch {}
    printf("%d@%d lsi_execute_script_io_selected Selected target %d%s\n", pid(), gettimeofday_ns(), id, argatn_str)
}
probe qemu.kvm.log.lsi_execute_script_io_disconnect = qemu.kvm.lsi_execute_script_io_disconnect ?
{
    printf("%d@%d lsi_execute_script_io_disconnect Wait Disconnect\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_execute_script_io_set = qemu.kvm.lsi_execute_script_io_set ?
{
    try {
        argatn_str = atn ? user_string_n(atn, 512) : "<null>"
    } catch {}
    try {
        argack_str = ack ? user_string_n(ack, 512) : "<null>"
    } catch {}
    try {
        argtm_str = tm ? user_string_n(tm, 512) : "<null>"
    } catch {}
    try {
        argcc_str = cc ? user_string_n(cc, 512) : "<null>"
    } catch {}
    printf("%d@%d lsi_execute_script_io_set Set%s%s%s%s\n", pid(), gettimeofday_ns(), argatn_str, argack_str, argtm_str, argcc_str)
}
probe qemu.kvm.log.lsi_execute_script_io_clear = qemu.kvm.lsi_execute_script_io_clear ?
{
    try {
        argatn_str = atn ? user_string_n(atn, 512) : "<null>"
    } catch {}
    try {
        argack_str = ack ? user_string_n(ack, 512) : "<null>"
    } catch {}
    try {
        argtm_str = tm ? user_string_n(tm, 512) : "<null>"
    } catch {}
    try {
        argcc_str = cc ? user_string_n(cc, 512) : "<null>"
    } catch {}
    printf("%d@%d lsi_execute_script_io_clear Clear%s%s%s%s\n", pid(), gettimeofday_ns(), argatn_str, argack_str, argtm_str, argcc_str)
}
probe qemu.kvm.log.lsi_execute_script_io_opcode = qemu.kvm.lsi_execute_script_io_opcode ?
{
    try {
        argopcode_str = opcode ? user_string_n(opcode, 512) : "<null>"
    } catch {}
    try {
        argopname_str = opname ? user_string_n(opname, 512) : "<null>"
    } catch {}
    try {
        argssfbr_str = ssfbr ? user_string_n(ssfbr, 512) : "<null>"
    } catch {}
    printf("%d@%d lsi_execute_script_io_opcode %s reg 0x%x %s data8=0x%02x sfbr=0x%02x%s\n", pid(), gettimeofday_ns(), argopcode_str, reg, argopname_str, data8, sfbr, argssfbr_str)
}
probe qemu.kvm.log.lsi_execute_script_tc_nop = qemu.kvm.lsi_execute_script_tc_nop ?
{
    printf("%d@%d lsi_execute_script_tc_nop NOP\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_execute_script_tc_delayedselect_timeout = qemu.kvm.lsi_execute_script_tc_delayedselect_timeout ?
{
    printf("%d@%d lsi_execute_script_tc_delayedselect_timeout Delayed select timeout\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_execute_script_tc_compc = qemu.kvm.lsi_execute_script_tc_compc ?
{
    printf("%d@%d lsi_execute_script_tc_compc Compare carry %d\n", pid(), gettimeofday_ns(), result)
}
probe qemu.kvm.log.lsi_execute_script_tc_compp = qemu.kvm.lsi_execute_script_tc_compp ?
{
    try {
        argphase_str = phase ? user_string_n(phase, 512) : "<null>"
    } catch {}
    try {
        arginsn_phase_str = insn_phase ? user_string_n(insn_phase, 512) : "<null>"
    } catch {}
    printf("%d@%d lsi_execute_script_tc_compp Compare phase %s %c= %s\n", pid(), gettimeofday_ns(), argphase_str, op, arginsn_phase_str)
}
probe qemu.kvm.log.lsi_execute_script_tc_compd = qemu.kvm.lsi_execute_script_tc_compd ?
{
    printf("%d@%d lsi_execute_script_tc_compd Compare data 0x%x & 0x%x %c= 0x%x\n", pid(), gettimeofday_ns(), sfbr, mask, op, result)
}
probe qemu.kvm.log.lsi_execute_script_tc_jump = qemu.kvm.lsi_execute_script_tc_jump ?
{
    printf("%d@%d lsi_execute_script_tc_jump Jump to 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.lsi_execute_script_tc_call = qemu.kvm.lsi_execute_script_tc_call ?
{
    printf("%d@%d lsi_execute_script_tc_call Call 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.lsi_execute_script_tc_return = qemu.kvm.lsi_execute_script_tc_return ?
{
    printf("%d@%d lsi_execute_script_tc_return Return to 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.lsi_execute_script_tc_interrupt = qemu.kvm.lsi_execute_script_tc_interrupt ?
{
    printf("%d@%d lsi_execute_script_tc_interrupt Interrupt 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.lsi_execute_script_tc_illegal = qemu.kvm.lsi_execute_script_tc_illegal ?
{
    printf("%d@%d lsi_execute_script_tc_illegal Illegal transfer control\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_execute_script_tc_cc_failed = qemu.kvm.lsi_execute_script_tc_cc_failed ?
{
    printf("%d@%d lsi_execute_script_tc_cc_failed Control condition failed\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_execute_script_mm_load = qemu.kvm.lsi_execute_script_mm_load ?
{
    printf("%d@%d lsi_execute_script_mm_load Load reg 0x%x size %d addr 0x%x = 0x%08x\n", pid(), gettimeofday_ns(), reg, n, addr, data)
}
probe qemu.kvm.log.lsi_execute_script_mm_store = qemu.kvm.lsi_execute_script_mm_store ?
{
    printf("%d@%d lsi_execute_script_mm_store Store reg 0x%x size %d addr 0x%x\n", pid(), gettimeofday_ns(), reg, n, addr)
}
probe qemu.kvm.log.lsi_execute_script_stop = qemu.kvm.lsi_execute_script_stop ?
{
    printf("%d@%d lsi_execute_script_stop SCRIPTS execution stopped\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_awoken = qemu.kvm.lsi_awoken ?
{
    printf("%d@%d lsi_awoken Woken by SIGP\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lsi_reg_read = qemu.kvm.lsi_reg_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d lsi_reg_read Read reg %s 0x%x = 0x%02x\n", pid(), gettimeofday_ns(), argname_str, offset, ret)
}
probe qemu.kvm.log.lsi_reg_write = qemu.kvm.lsi_reg_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d lsi_reg_write Write reg %s 0x%x = 0x%02x\n", pid(), gettimeofday_ns(), argname_str, offset, val)
}
probe qemu.kvm.log.scsi_disk_check_condition = qemu.kvm.scsi_disk_check_condition ?
{
    printf("%d@%d scsi_disk_check_condition Command complete tag=0x%x sense=%d/%d/%d\n", pid(), gettimeofday_ns(), tag, key, asc, ascq)
}
probe qemu.kvm.log.scsi_disk_read_complete = qemu.kvm.scsi_disk_read_complete ?
{
    printf("%d@%d scsi_disk_read_complete Data ready tag=0x%x len=%d\n", pid(), gettimeofday_ns(), tag, size)
}
probe qemu.kvm.log.scsi_disk_read_data_count = qemu.kvm.scsi_disk_read_data_count ?
{
    printf("%d@%d scsi_disk_read_data_count Read sector_count=%d\n", pid(), gettimeofday_ns(), sector_count)
}
probe qemu.kvm.log.scsi_disk_read_data_invalid = qemu.kvm.scsi_disk_read_data_invalid ?
{
    printf("%d@%d scsi_disk_read_data_invalid Data transfer direction invalid\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.scsi_disk_write_complete_noio = qemu.kvm.scsi_disk_write_complete_noio ?
{
    printf("%d@%d scsi_disk_write_complete_noio Write complete tag=0x%x more=%d\n", pid(), gettimeofday_ns(), tag, size)
}
probe qemu.kvm.log.scsi_disk_write_data_invalid = qemu.kvm.scsi_disk_write_data_invalid ?
{
    printf("%d@%d scsi_disk_write_data_invalid Data transfer direction invalid\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.scsi_disk_emulate_vpd_page_00 = qemu.kvm.scsi_disk_emulate_vpd_page_00 ?
{
    printf("%d@%d scsi_disk_emulate_vpd_page_00 Inquiry EVPD[Supported pages] buffer size %d\n", pid(), gettimeofday_ns(), xfer)
}
probe qemu.kvm.log.scsi_disk_emulate_vpd_page_80_not_supported = qemu.kvm.scsi_disk_emulate_vpd_page_80_not_supported ?
{
    printf("%d@%d scsi_disk_emulate_vpd_page_80_not_supported Inquiry (EVPD[Serial number] not supported\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.scsi_disk_emulate_vpd_page_80 = qemu.kvm.scsi_disk_emulate_vpd_page_80 ?
{
    printf("%d@%d scsi_disk_emulate_vpd_page_80 Inquiry EVPD[Serial number] buffer size %d\n", pid(), gettimeofday_ns(), xfer)
}
probe qemu.kvm.log.scsi_disk_emulate_vpd_page_83 = qemu.kvm.scsi_disk_emulate_vpd_page_83 ?
{
    printf("%d@%d scsi_disk_emulate_vpd_page_83 Inquiry EVPD[Device identification] buffer size %d\n", pid(), gettimeofday_ns(), xfer)
}
probe qemu.kvm.log.scsi_disk_emulate_vpd_page_b0_not_supported = qemu.kvm.scsi_disk_emulate_vpd_page_b0_not_supported ?
{
    printf("%d@%d scsi_disk_emulate_vpd_page_b0_not_supported Inquiry (EVPD[Block limits] not supported for CDROM\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.scsi_disk_emulate_mode_sense = qemu.kvm.scsi_disk_emulate_mode_sense ?
{
    printf("%d@%d scsi_disk_emulate_mode_sense Mode Sense(%d) (page %d, xfer %d, page_control %d)\n", pid(), gettimeofday_ns(), cmd, page, xfer, control)
}
probe qemu.kvm.log.scsi_disk_emulate_read_toc = qemu.kvm.scsi_disk_emulate_read_toc ?
{
    printf("%d@%d scsi_disk_emulate_read_toc Read TOC (track %d format %d msf %d)\n", pid(), gettimeofday_ns(), start_track, format, msf)
}
probe qemu.kvm.log.scsi_disk_emulate_read_data = qemu.kvm.scsi_disk_emulate_read_data ?
{
    printf("%d@%d scsi_disk_emulate_read_data Read buf_len=%d\n", pid(), gettimeofday_ns(), buflen)
}
probe qemu.kvm.log.scsi_disk_emulate_write_data = qemu.kvm.scsi_disk_emulate_write_data ?
{
    printf("%d@%d scsi_disk_emulate_write_data Write buf_len=%d\n", pid(), gettimeofday_ns(), buflen)
}
probe qemu.kvm.log.scsi_disk_emulate_command_SAI_16 = qemu.kvm.scsi_disk_emulate_command_SAI_16 ?
{
    printf("%d@%d scsi_disk_emulate_command_SAI_16 SAI READ CAPACITY(16)\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.scsi_disk_emulate_command_SAI_unsupported = qemu.kvm.scsi_disk_emulate_command_SAI_unsupported ?
{
    printf("%d@%d scsi_disk_emulate_command_SAI_unsupported Unsupported Service Action In\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.scsi_disk_emulate_command_SEEK_10 = qemu.kvm.scsi_disk_emulate_command_SEEK_10 ?
{
    printf("%d@%d scsi_disk_emulate_command_SEEK_10 Seek(10) (sector %d)\n", pid(), gettimeofday_ns(), lba)
}
probe qemu.kvm.log.scsi_disk_emulate_command_MODE_SELECT = qemu.kvm.scsi_disk_emulate_command_MODE_SELECT ?
{
    printf("%d@%d scsi_disk_emulate_command_MODE_SELECT Mode Select(6) (len %d)\n", pid(), gettimeofday_ns(), xfer)
}
probe qemu.kvm.log.scsi_disk_emulate_command_MODE_SELECT_10 = qemu.kvm.scsi_disk_emulate_command_MODE_SELECT_10 ?
{
    printf("%d@%d scsi_disk_emulate_command_MODE_SELECT_10 Mode Select(10) (len %d)\n", pid(), gettimeofday_ns(), xfer)
}
probe qemu.kvm.log.scsi_disk_emulate_command_UNMAP = qemu.kvm.scsi_disk_emulate_command_UNMAP ?
{
    printf("%d@%d scsi_disk_emulate_command_UNMAP Unmap (len %d)\n", pid(), gettimeofday_ns(), xfer)
}
probe qemu.kvm.log.scsi_disk_emulate_command_VERIFY = qemu.kvm.scsi_disk_emulate_command_VERIFY ?
{
    printf("%d@%d scsi_disk_emulate_command_VERIFY Verify (bytchk %d)\n", pid(), gettimeofday_ns(), bytchk)
}
probe qemu.kvm.log.scsi_disk_emulate_command_WRITE_SAME = qemu.kvm.scsi_disk_emulate_command_WRITE_SAME ?
{
    printf("%d@%d scsi_disk_emulate_command_WRITE_SAME WRITE SAME %d (len %d)\n", pid(), gettimeofday_ns(), cmd, xfer)
}
probe qemu.kvm.log.scsi_disk_emulate_command_UNKNOWN = qemu.kvm.scsi_disk_emulate_command_UNKNOWN ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d scsi_disk_emulate_command_UNKNOWN Unknown SCSI command (0x%2.2x=%s)\n", pid(), gettimeofday_ns(), cmd, argname_str)
}
probe qemu.kvm.log.scsi_disk_dma_command_READ = qemu.kvm.scsi_disk_dma_command_READ ?
{
    printf("%d@%d scsi_disk_dma_command_READ Read (sector %d, count %u)\n", pid(), gettimeofday_ns(), lba, len)
}
probe qemu.kvm.log.scsi_disk_dma_command_WRITE = qemu.kvm.scsi_disk_dma_command_WRITE ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d scsi_disk_dma_command_WRITE Write %s(sector %d, count %u)\n", pid(), gettimeofday_ns(), argcmd_str, lba, len)
}
probe qemu.kvm.log.scsi_disk_new_request = qemu.kvm.scsi_disk_new_request ?
{
    try {
        argline_str = line ? user_string_n(line, 512) : "<null>"
    } catch {}
    printf("%d@%d scsi_disk_new_request Command: lun=%d tag=0x%x data=%s\n", pid(), gettimeofday_ns(), lun, tag, argline_str)
}
probe qemu.kvm.log.scsi_generic_command_complete_noio = qemu.kvm.scsi_generic_command_complete_noio ?
{
    printf("%d@%d scsi_generic_command_complete_noio Command complete %p tag=0x%x status=%d\n", pid(), gettimeofday_ns(), req, tag, statuc)
}
probe qemu.kvm.log.scsi_generic_read_complete = qemu.kvm.scsi_generic_read_complete ?
{
    printf("%d@%d scsi_generic_read_complete Data ready tag=0x%x len=%d\n", pid(), gettimeofday_ns(), tag, len)
}
probe qemu.kvm.log.scsi_generic_read_data = qemu.kvm.scsi_generic_read_data ?
{
    printf("%d@%d scsi_generic_read_data scsi_read_data tag=0x%x\n", pid(), gettimeofday_ns(), tag)
}
probe qemu.kvm.log.scsi_generic_write_complete = qemu.kvm.scsi_generic_write_complete ?
{
    printf("%d@%d scsi_generic_write_complete scsi_write_complete() ret = %d\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.scsi_generic_write_complete_blocksize = qemu.kvm.scsi_generic_write_complete_blocksize ?
{
    printf("%d@%d scsi_generic_write_complete_blocksize block size %d\n", pid(), gettimeofday_ns(), blocksize)
}
probe qemu.kvm.log.scsi_generic_write_data = qemu.kvm.scsi_generic_write_data ?
{
    printf("%d@%d scsi_generic_write_data scsi_write_data tag=0x%x\n", pid(), gettimeofday_ns(), tag)
}
probe qemu.kvm.log.scsi_generic_send_command = qemu.kvm.scsi_generic_send_command ?
{
    try {
        argline_str = line ? user_string_n(line, 512) : "<null>"
    } catch {}
    printf("%d@%d scsi_generic_send_command Command: data=%s\n", pid(), gettimeofday_ns(), argline_str)
}
probe qemu.kvm.log.scsi_generic_realize_type = qemu.kvm.scsi_generic_realize_type ?
{
    printf("%d@%d scsi_generic_realize_type device type %d\n", pid(), gettimeofday_ns(), type)
}
probe qemu.kvm.log.scsi_generic_realize_blocksize = qemu.kvm.scsi_generic_realize_blocksize ?
{
    printf("%d@%d scsi_generic_realize_blocksize block size %d\n", pid(), gettimeofday_ns(), blocksize)
}
probe qemu.kvm.log.bcm2835_sdhost_read = qemu.kvm.bcm2835_sdhost_read ?
{
    printf("%d@%d bcm2835_sdhost_read offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.bcm2835_sdhost_write = qemu.kvm.bcm2835_sdhost_write ?
{
    printf("%d@%d bcm2835_sdhost_write offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.bcm2835_sdhost_edm_change = qemu.kvm.bcm2835_sdhost_edm_change ?
{
    try {
        argwhy_str = why ? user_string_n(why, 512) : "<null>"
    } catch {}
    printf("%d@%d bcm2835_sdhost_edm_change (%s) EDM now 0x%x\n", pid(), gettimeofday_ns(), argwhy_str, edm)
}
probe qemu.kvm.log.bcm2835_sdhost_update_irq = qemu.kvm.bcm2835_sdhost_update_irq ?
{
    printf("%d@%d bcm2835_sdhost_update_irq IRQ bits 0x%x\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.sdbus_command = qemu.kvm.sdbus_command ?
{
    try {
        argbus_name_str = bus_name ? user_string_n(bus_name, 512) : "<null>"
    } catch {}
    printf("%d@%d sdbus_command @%s CMD%02d arg 0x%08x\n", pid(), gettimeofday_ns(), argbus_name_str, cmd, arg)
}
probe qemu.kvm.log.sdbus_read = qemu.kvm.sdbus_read ?
{
    try {
        argbus_name_str = bus_name ? user_string_n(bus_name, 512) : "<null>"
    } catch {}
    printf("%d@%d sdbus_read @%s value 0x%02x\n", pid(), gettimeofday_ns(), argbus_name_str, value)
}
probe qemu.kvm.log.sdbus_write = qemu.kvm.sdbus_write ?
{
    try {
        argbus_name_str = bus_name ? user_string_n(bus_name, 512) : "<null>"
    } catch {}
    printf("%d@%d sdbus_write @%s value 0x%02x\n", pid(), gettimeofday_ns(), argbus_name_str, value)
}
probe qemu.kvm.log.sdbus_set_voltage = qemu.kvm.sdbus_set_voltage ?
{
    try {
        argbus_name_str = bus_name ? user_string_n(bus_name, 512) : "<null>"
    } catch {}
    printf("%d@%d sdbus_set_voltage @%s %u (mV)\n", pid(), gettimeofday_ns(), argbus_name_str, millivolts)
}
probe qemu.kvm.log.sdbus_get_dat_lines = qemu.kvm.sdbus_get_dat_lines ?
{
    try {
        argbus_name_str = bus_name ? user_string_n(bus_name, 512) : "<null>"
    } catch {}
    printf("%d@%d sdbus_get_dat_lines @%s dat_lines: %u\n", pid(), gettimeofday_ns(), argbus_name_str, dat_lines)
}
probe qemu.kvm.log.sdbus_get_cmd_line = qemu.kvm.sdbus_get_cmd_line ?
{
    try {
        argbus_name_str = bus_name ? user_string_n(bus_name, 512) : "<null>"
    } catch {}
    printf("%d@%d sdbus_get_cmd_line @%s cmd_line: %u\n", pid(), gettimeofday_ns(), argbus_name_str, cmd_line)
}
probe qemu.kvm.log.sdhci_set_inserted = qemu.kvm.sdhci_set_inserted ?
{
    try {
        arglevel_str = level ? user_string_n(level, 512) : "<null>"
    } catch {}
    printf("%d@%d sdhci_set_inserted card state changed: %s\n", pid(), gettimeofday_ns(), arglevel_str)
}
probe qemu.kvm.log.sdhci_send_command = qemu.kvm.sdhci_send_command ?
{
    printf("%d@%d sdhci_send_command CMD%02u ARG[0x%08x]\n", pid(), gettimeofday_ns(), cmd, arg)
}
probe qemu.kvm.log.sdhci_error = qemu.kvm.sdhci_error ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d sdhci_error %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.sdhci_response4 = qemu.kvm.sdhci_response4 ?
{
    printf("%d@%d sdhci_response4 RSPREG[31..0]=0x%08x\n", pid(), gettimeofday_ns(), r0)
}
probe qemu.kvm.log.sdhci_response16 = qemu.kvm.sdhci_response16 ?
{
    printf("%d@%d sdhci_response16 RSPREG[127..96]=0x%08x, RSPREG[95..64]=0x%08x, RSPREG[63..32]=0x%08x, RSPREG[31..0]=0x%08x\n", pid(), gettimeofday_ns(), r3, r2, r1, r0)
}
probe qemu.kvm.log.sdhci_end_transfer = qemu.kvm.sdhci_end_transfer ?
{
    printf("%d@%d sdhci_end_transfer Automatically issue CMD%02u 0x%08x\n", pid(), gettimeofday_ns(), cmd, arg)
}
probe qemu.kvm.log.sdhci_adma = qemu.kvm.sdhci_adma ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d sdhci_adma %s: admasysaddr=0x%x\n", pid(), gettimeofday_ns(), argdesc_str, sysad)
}
probe qemu.kvm.log.sdhci_adma_loop = qemu.kvm.sdhci_adma_loop ?
{
    printf("%d@%d sdhci_adma_loop addr=0x%08x, len=%d, attr=0x%x\n", pid(), gettimeofday_ns(), addr, length, attr)
}
probe qemu.kvm.log.sdhci_adma_transfer_completed = qemu.kvm.sdhci_adma_transfer_completed ?
{
    printf("%d@%d sdhci_adma_transfer_completed \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sdhci_access = qemu.kvm.sdhci_access ?
{
    try {
        argaccess_str = access ? user_string_n(access, 512) : "<null>"
    } catch {}
    try {
        argdir_str = dir ? user_string_n(dir, 512) : "<null>"
    } catch {}
    printf("%d@%d sdhci_access %s%u: addr[0x%04x] %s 0x%08x (%u)\n", pid(), gettimeofday_ns(), argaccess_str, size, offset, argdir_str, val, val2)
}
probe qemu.kvm.log.sdhci_read_dataport = qemu.kvm.sdhci_read_dataport ?
{
    printf("%d@%d sdhci_read_dataport all %u bytes of data have been read from input buffer\n", pid(), gettimeofday_ns(), data_count)
}
probe qemu.kvm.log.sdhci_write_dataport = qemu.kvm.sdhci_write_dataport ?
{
    printf("%d@%d sdhci_write_dataport write buffer filled with %u bytes of data\n", pid(), gettimeofday_ns(), data_count)
}
probe qemu.kvm.log.sdhci_capareg = qemu.kvm.sdhci_capareg ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d sdhci_capareg %s: %u\n", pid(), gettimeofday_ns(), argdesc_str, val)
}
probe qemu.kvm.log.sdcard_normal_command = qemu.kvm.sdcard_normal_command ?
{
    try {
        argproto_str = proto ? user_string_n(proto, 512) : "<null>"
    } catch {}
    try {
        argcmd_desc_str = cmd_desc ? user_string_n(cmd_desc, 512) : "<null>"
    } catch {}
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d sdcard_normal_command %s %20s/ CMD%02d arg 0x%08x (state %s)\n", pid(), gettimeofday_ns(), argproto_str, argcmd_desc_str, cmd, arg, argstate_str)
}
probe qemu.kvm.log.sdcard_app_command = qemu.kvm.sdcard_app_command ?
{
    try {
        argproto_str = proto ? user_string_n(proto, 512) : "<null>"
    } catch {}
    try {
        argacmd_desc_str = acmd_desc ? user_string_n(acmd_desc, 512) : "<null>"
    } catch {}
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d sdcard_app_command %s %23s/ACMD%02d arg 0x%08x (state %s)\n", pid(), gettimeofday_ns(), argproto_str, argacmd_desc_str, acmd, arg, argstate_str)
}
probe qemu.kvm.log.sdcard_response = qemu.kvm.sdcard_response ?
{
    try {
        argrspdesc_str = rspdesc ? user_string_n(rspdesc, 512) : "<null>"
    } catch {}
    printf("%d@%d sdcard_response %s (sz:%d)\n", pid(), gettimeofday_ns(), argrspdesc_str, rsplen)
}
probe qemu.kvm.log.sdcard_powerup = qemu.kvm.sdcard_powerup ?
{
    printf("%d@%d sdcard_powerup \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sdcard_inquiry_cmd41 = qemu.kvm.sdcard_inquiry_cmd41 ?
{
    printf("%d@%d sdcard_inquiry_cmd41 \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sdcard_reset = qemu.kvm.sdcard_reset ?
{
    printf("%d@%d sdcard_reset \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sdcard_set_blocklen = qemu.kvm.sdcard_set_blocklen ?
{
    printf("%d@%d sdcard_set_blocklen 0x%03x\n", pid(), gettimeofday_ns(), length)
}
probe qemu.kvm.log.sdcard_inserted = qemu.kvm.sdcard_inserted ?
{
    printf("%d@%d sdcard_inserted read_only: %u\n", pid(), gettimeofday_ns(), readonly)
}
probe qemu.kvm.log.sdcard_ejected = qemu.kvm.sdcard_ejected ?
{
    printf("%d@%d sdcard_ejected \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sdcard_erase = qemu.kvm.sdcard_erase ?
{
    printf("%d@%d sdcard_erase \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sdcard_lock = qemu.kvm.sdcard_lock ?
{
    printf("%d@%d sdcard_lock \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sdcard_unlock = qemu.kvm.sdcard_unlock ?
{
    printf("%d@%d sdcard_unlock \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sdcard_read_block = qemu.kvm.sdcard_read_block ?
{
    printf("%d@%d sdcard_read_block addr 0x%x size 0x%x\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.sdcard_write_block = qemu.kvm.sdcard_write_block ?
{
    printf("%d@%d sdcard_write_block addr 0x%x size 0x%x\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.sdcard_write_data = qemu.kvm.sdcard_write_data ?
{
    try {
        argproto_str = proto ? user_string_n(proto, 512) : "<null>"
    } catch {}
    try {
        argcmd_desc_str = cmd_desc ? user_string_n(cmd_desc, 512) : "<null>"
    } catch {}
    printf("%d@%d sdcard_write_data %s %20s/ CMD%02d value 0x%02x\n", pid(), gettimeofday_ns(), argproto_str, argcmd_desc_str, cmd, value)
}
probe qemu.kvm.log.sdcard_read_data = qemu.kvm.sdcard_read_data ?
{
    try {
        argproto_str = proto ? user_string_n(proto, 512) : "<null>"
    } catch {}
    try {
        argcmd_desc_str = cmd_desc ? user_string_n(cmd_desc, 512) : "<null>"
    } catch {}
    printf("%d@%d sdcard_read_data %s %20s/ CMD%02d len %d\n", pid(), gettimeofday_ns(), argproto_str, argcmd_desc_str, cmd, length)
}
probe qemu.kvm.log.sdcard_set_voltage = qemu.kvm.sdcard_set_voltage ?
{
    printf("%d@%d sdcard_set_voltage %u mV\n", pid(), gettimeofday_ns(), millivolts)
}
probe qemu.kvm.log.milkymist_memcard_memory_read = qemu.kvm.milkymist_memcard_memory_read ?
{
    printf("%d@%d milkymist_memcard_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_memcard_memory_write = qemu.kvm.milkymist_memcard_memory_write ?
{
    printf("%d@%d milkymist_memcard_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.pxa2xx_mmci_read = qemu.kvm.pxa2xx_mmci_read ?
{
    printf("%d@%d pxa2xx_mmci_read size %d addr 0x%02x value 0x%08x\n", pid(), gettimeofday_ns(), size, addr, value)
}
probe qemu.kvm.log.pxa2xx_mmci_write = qemu.kvm.pxa2xx_mmci_write ?
{
    printf("%d@%d pxa2xx_mmci_write size %d addr 0x%02x value 0x%08x\n", pid(), gettimeofday_ns(), size, addr, value)
}
probe qemu.kvm.log.sun4m_cpu_interrupt = qemu.kvm.sun4m_cpu_interrupt ?
{
    printf("%d@%d sun4m_cpu_interrupt Set CPU IRQ %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.sun4m_cpu_reset_interrupt = qemu.kvm.sun4m_cpu_reset_interrupt ?
{
    printf("%d@%d sun4m_cpu_reset_interrupt Reset CPU IRQ %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.sun4m_cpu_set_irq_raise = qemu.kvm.sun4m_cpu_set_irq_raise ?
{
    printf("%d@%d sun4m_cpu_set_irq_raise Raise CPU IRQ %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.sun4m_cpu_set_irq_lower = qemu.kvm.sun4m_cpu_set_irq_lower ?
{
    printf("%d@%d sun4m_cpu_set_irq_lower Lower CPU IRQ %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.sun4m_iommu_mem_readl = qemu.kvm.sun4m_iommu_mem_readl ?
{
    printf("%d@%d sun4m_iommu_mem_readl read reg[0x%x] = 0x%x\n", pid(), gettimeofday_ns(), addr, ret)
}
probe qemu.kvm.log.sun4m_iommu_mem_writel = qemu.kvm.sun4m_iommu_mem_writel ?
{
    printf("%d@%d sun4m_iommu_mem_writel write reg[0x%x] = 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sun4m_iommu_mem_writel_ctrl = qemu.kvm.sun4m_iommu_mem_writel_ctrl ?
{
    printf("%d@%d sun4m_iommu_mem_writel_ctrl iostart = 0x%x\n", pid(), gettimeofday_ns(), iostart)
}
probe qemu.kvm.log.sun4m_iommu_mem_writel_tlbflush = qemu.kvm.sun4m_iommu_mem_writel_tlbflush ?
{
    printf("%d@%d sun4m_iommu_mem_writel_tlbflush tlb flush 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.sun4m_iommu_mem_writel_pgflush = qemu.kvm.sun4m_iommu_mem_writel_pgflush ?
{
    printf("%d@%d sun4m_iommu_mem_writel_pgflush page flush 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.sun4m_iommu_page_get_flags = qemu.kvm.sun4m_iommu_page_get_flags ?
{
    printf("%d@%d sun4m_iommu_page_get_flags get flags addr 0x%x => pte 0x%x, *pte = 0x%x\n", pid(), gettimeofday_ns(), pa, iopte, ret)
}
probe qemu.kvm.log.sun4m_iommu_translate_pa = qemu.kvm.sun4m_iommu_translate_pa ?
{
    printf("%d@%d sun4m_iommu_translate_pa xlate dva 0x%x => pa 0x%x iopte = 0x%x\n", pid(), gettimeofday_ns(), addr, pa, iopte)
}
probe qemu.kvm.log.sun4m_iommu_bad_addr = qemu.kvm.sun4m_iommu_bad_addr ?
{
    printf("%d@%d sun4m_iommu_bad_addr bad addr 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.leon3_set_irq = qemu.kvm.leon3_set_irq ?
{
    printf("%d@%d leon3_set_irq Set CPU IRQ %d\n", pid(), gettimeofday_ns(), intno)
}
probe qemu.kvm.log.leon3_reset_irq = qemu.kvm.leon3_reset_irq ?
{
    printf("%d@%d leon3_reset_irq Reset CPU IRQ %d\n", pid(), gettimeofday_ns(), intno)
}
probe qemu.kvm.log.ebus_isa_irq_handler = qemu.kvm.ebus_isa_irq_handler ?
{
    printf("%d@%d ebus_isa_irq_handler Set ISA IRQ %d level %d\n", pid(), gettimeofday_ns(), n, level)
}
probe qemu.kvm.log.sun4u_iommu_mem_read = qemu.kvm.sun4u_iommu_mem_read ?
{
    printf("%d@%d sun4u_iommu_mem_read addr: 0x%x val: 0x%x size: %d\n", pid(), gettimeofday_ns(), addr, val, size)
}
probe qemu.kvm.log.sun4u_iommu_mem_write = qemu.kvm.sun4u_iommu_mem_write ?
{
    printf("%d@%d sun4u_iommu_mem_write addr: 0x%x val: 0x%x size: %d\n", pid(), gettimeofday_ns(), addr, val, size)
}
probe qemu.kvm.log.sun4u_iommu_translate = qemu.kvm.sun4u_iommu_translate ?
{
    printf("%d@%d sun4u_iommu_translate xlate 0x%x => pa 0x%x tte: 0x%x\n", pid(), gettimeofday_ns(), addr, trans_addr, tte)
}
probe qemu.kvm.log.sparc64_cpu_check_irqs_reset_irq = qemu.kvm.sparc64_cpu_check_irqs_reset_irq ?
{
    printf("%d@%d sparc64_cpu_check_irqs_reset_irq Reset CPU IRQ (current interrupt 0x%x)\n", pid(), gettimeofday_ns(), intno)
}
probe qemu.kvm.log.sparc64_cpu_check_irqs_noset_irq = qemu.kvm.sparc64_cpu_check_irqs_noset_irq ?
{
    printf("%d@%d sparc64_cpu_check_irqs_noset_irq Not setting CPU IRQ: TL=%d current 0x%x >= pending 0x%x\n", pid(), gettimeofday_ns(), tl, tt, intno)
}
probe qemu.kvm.log.sparc64_cpu_check_irqs_set_irq = qemu.kvm.sparc64_cpu_check_irqs_set_irq ?
{
    printf("%d@%d sparc64_cpu_check_irqs_set_irq Set CPU IRQ %d old=0x%x new=0x%x\n", pid(), gettimeofday_ns(), i, old, new)
}
probe qemu.kvm.log.sparc64_cpu_check_irqs_disabled = qemu.kvm.sparc64_cpu_check_irqs_disabled ?
{
    printf("%d@%d sparc64_cpu_check_irqs_disabled Interrupts disabled, pil=0x%08x pil_in=0x%08x softint=0x%08x current interrupt 0x%x\n", pid(), gettimeofday_ns(), pil, pil_in, softint, intno)
}
probe qemu.kvm.log.sparc64_cpu_ivec_raise_irq = qemu.kvm.sparc64_cpu_ivec_raise_irq ?
{
    printf("%d@%d sparc64_cpu_ivec_raise_irq Raise IVEC IRQ %d\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.sparc64_cpu_ivec_lower_irq = qemu.kvm.sparc64_cpu_ivec_lower_irq ?
{
    printf("%d@%d sparc64_cpu_ivec_lower_irq Lower IVEC IRQ %d\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.sparc64_cpu_tick_irq_disabled = qemu.kvm.sparc64_cpu_tick_irq_disabled ?
{
    printf("%d@%d sparc64_cpu_tick_irq_disabled tick_irq: softint disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sparc64_cpu_tick_irq_fire = qemu.kvm.sparc64_cpu_tick_irq_fire ?
{
    printf("%d@%d sparc64_cpu_tick_irq_fire tick_irq: fire\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sparc64_cpu_stick_irq_disabled = qemu.kvm.sparc64_cpu_stick_irq_disabled ?
{
    printf("%d@%d sparc64_cpu_stick_irq_disabled stick_irq: softint disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sparc64_cpu_stick_irq_fire = qemu.kvm.sparc64_cpu_stick_irq_fire ?
{
    printf("%d@%d sparc64_cpu_stick_irq_fire stick_irq: fire\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sparc64_cpu_hstick_irq_disabled = qemu.kvm.sparc64_cpu_hstick_irq_disabled ?
{
    printf("%d@%d sparc64_cpu_hstick_irq_disabled hstick_irq: softint disabled\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sparc64_cpu_hstick_irq_fire = qemu.kvm.sparc64_cpu_hstick_irq_fire ?
{
    printf("%d@%d sparc64_cpu_hstick_irq_fire hstick_irq: fire\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.sparc64_cpu_tick_set_count = qemu.kvm.sparc64_cpu_tick_set_count ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argnpt_str = npt ? user_string_n(npt, 512) : "<null>"
    } catch {}
    printf("%d@%d sparc64_cpu_tick_set_count %s set_count count=0x%x (npt %s) p=%p\n", pid(), gettimeofday_ns(), argname_str, real_count, argnpt_str, p)
}
probe qemu.kvm.log.sparc64_cpu_tick_get_count = qemu.kvm.sparc64_cpu_tick_get_count ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argnpt_str = npt ? user_string_n(npt, 512) : "<null>"
    } catch {}
    printf("%d@%d sparc64_cpu_tick_get_count %s get_count count=0x%x (npt %s) p=%p\n", pid(), gettimeofday_ns(), argname_str, real_count, argnpt_str, p)
}
probe qemu.kvm.log.sparc64_cpu_tick_set_limit = qemu.kvm.sparc64_cpu_tick_set_limit ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argdis_str = dis ? user_string_n(dis, 512) : "<null>"
    } catch {}
    printf("%d@%d sparc64_cpu_tick_set_limit %s set_limit limit=0x%x (%s) p=%p called with limit=0x%x at 0x%x (delta=0x%x)\n", pid(), gettimeofday_ns(), argname_str, real_limit, argdis_str, p, limit_, t, dt)
}
probe qemu.kvm.log.sparc64_cpu_tick_set_limit_zero = qemu.kvm.sparc64_cpu_tick_set_limit_zero ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d sparc64_cpu_tick_set_limit_zero %s set_limit limit=ZERO - not starting timer\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.slavio_timer_get_out = qemu.kvm.slavio_timer_get_out ?
{
    printf("%d@%d slavio_timer_get_out limit 0x%x count 0x%x0x%08x\n", pid(), gettimeofday_ns(), limit_, counthigh, count)
}
probe qemu.kvm.log.slavio_timer_irq = qemu.kvm.slavio_timer_irq ?
{
    printf("%d@%d slavio_timer_irq callback: count 0x%x0x%08x\n", pid(), gettimeofday_ns(), counthigh, count)
}
probe qemu.kvm.log.slavio_timer_mem_readl_invalid = qemu.kvm.slavio_timer_mem_readl_invalid ?
{
    printf("%d@%d slavio_timer_mem_readl_invalid invalid read address 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.slavio_timer_mem_readl = qemu.kvm.slavio_timer_mem_readl ?
{
    printf("%d@%d slavio_timer_mem_readl read 0x%x = 0x%08x\n", pid(), gettimeofday_ns(), addr, ret)
}
probe qemu.kvm.log.slavio_timer_mem_writel = qemu.kvm.slavio_timer_mem_writel ?
{
    printf("%d@%d slavio_timer_mem_writel write 0x%x = 0x%08x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.slavio_timer_mem_writel_limit = qemu.kvm.slavio_timer_mem_writel_limit ?
{
    printf("%d@%d slavio_timer_mem_writel_limit processor %d user timer set to 0x%016x\n", pid(), gettimeofday_ns(), timer_index, count)
}
probe qemu.kvm.log.slavio_timer_mem_writel_counter_invalid = qemu.kvm.slavio_timer_mem_writel_counter_invalid ?
{
    printf("%d@%d slavio_timer_mem_writel_counter_invalid not user timer\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.slavio_timer_mem_writel_status_start = qemu.kvm.slavio_timer_mem_writel_status_start ?
{
    printf("%d@%d slavio_timer_mem_writel_status_start processor %d user timer started\n", pid(), gettimeofday_ns(), timer_index)
}
probe qemu.kvm.log.slavio_timer_mem_writel_status_stop = qemu.kvm.slavio_timer_mem_writel_status_stop ?
{
    printf("%d@%d slavio_timer_mem_writel_status_stop processor %d user timer stopped\n", pid(), gettimeofday_ns(), timer_index)
}
probe qemu.kvm.log.slavio_timer_mem_writel_mode_user = qemu.kvm.slavio_timer_mem_writel_mode_user ?
{
    printf("%d@%d slavio_timer_mem_writel_mode_user processor %d changed from counter to user timer\n", pid(), gettimeofday_ns(), timer_index)
}
probe qemu.kvm.log.slavio_timer_mem_writel_mode_counter = qemu.kvm.slavio_timer_mem_writel_mode_counter ?
{
    printf("%d@%d slavio_timer_mem_writel_mode_counter processor %d changed from user timer to counter\n", pid(), gettimeofday_ns(), timer_index)
}
probe qemu.kvm.log.slavio_timer_mem_writel_mode_invalid = qemu.kvm.slavio_timer_mem_writel_mode_invalid ?
{
    printf("%d@%d slavio_timer_mem_writel_mode_invalid not system timer\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.slavio_timer_mem_writel_invalid = qemu.kvm.slavio_timer_mem_writel_invalid ?
{
    printf("%d@%d slavio_timer_mem_writel_invalid invalid write address 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.grlib_gptimer_enable = qemu.kvm.grlib_gptimer_enable ?
{
    printf("%d@%d grlib_gptimer_enable timer:%d set count 0x%x and run\n", pid(), gettimeofday_ns(), id, count)
}
probe qemu.kvm.log.grlib_gptimer_disabled = qemu.kvm.grlib_gptimer_disabled ?
{
    printf("%d@%d grlib_gptimer_disabled timer:%d Timer disable config 0x%x\n", pid(), gettimeofday_ns(), id, config)
}
probe qemu.kvm.log.grlib_gptimer_restart = qemu.kvm.grlib_gptimer_restart ?
{
    printf("%d@%d grlib_gptimer_restart timer:%d reload val: 0x%x\n", pid(), gettimeofday_ns(), id, reload)
}
probe qemu.kvm.log.grlib_gptimer_set_scaler = qemu.kvm.grlib_gptimer_set_scaler ?
{
    printf("%d@%d grlib_gptimer_set_scaler scaler:0x%x freq: 0x%x\n", pid(), gettimeofday_ns(), scaler, freq)
}
probe qemu.kvm.log.grlib_gptimer_hit = qemu.kvm.grlib_gptimer_hit ?
{
    printf("%d@%d grlib_gptimer_hit timer:%d HIT\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.grlib_gptimer_readl = qemu.kvm.grlib_gptimer_readl ?
{
    printf("%d@%d grlib_gptimer_readl timer:%d addr 0x%x 0x%x\n", pid(), gettimeofday_ns(), id, addr, val)
}
probe qemu.kvm.log.grlib_gptimer_writel = qemu.kvm.grlib_gptimer_writel ?
{
    printf("%d@%d grlib_gptimer_writel timer:%d addr 0x%x 0x%x\n", pid(), gettimeofday_ns(), id, addr, val)
}
probe qemu.kvm.log.lm32_timer_memory_write = qemu.kvm.lm32_timer_memory_write ?
{
    printf("%d@%d lm32_timer_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.lm32_timer_memory_read = qemu.kvm.lm32_timer_memory_read ?
{
    printf("%d@%d lm32_timer_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.lm32_timer_hit = qemu.kvm.lm32_timer_hit ?
{
    printf("%d@%d lm32_timer_hit timer hit\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.lm32_timer_irq_state = qemu.kvm.lm32_timer_irq_state ?
{
    printf("%d@%d lm32_timer_irq_state irq state %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.milkymist_sysctl_memory_read = qemu.kvm.milkymist_sysctl_memory_read ?
{
    printf("%d@%d milkymist_sysctl_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_sysctl_memory_write = qemu.kvm.milkymist_sysctl_memory_write ?
{
    printf("%d@%d milkymist_sysctl_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_sysctl_icap_write = qemu.kvm.milkymist_sysctl_icap_write ?
{
    printf("%d@%d milkymist_sysctl_icap_write value 0x%08x\n", pid(), gettimeofday_ns(), value)
}
probe qemu.kvm.log.milkymist_sysctl_start_timer0 = qemu.kvm.milkymist_sysctl_start_timer0 ?
{
    printf("%d@%d milkymist_sysctl_start_timer0 Start timer0\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_sysctl_stop_timer0 = qemu.kvm.milkymist_sysctl_stop_timer0 ?
{
    printf("%d@%d milkymist_sysctl_stop_timer0 Stop timer0\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_sysctl_start_timer1 = qemu.kvm.milkymist_sysctl_start_timer1 ?
{
    printf("%d@%d milkymist_sysctl_start_timer1 Start timer1\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_sysctl_stop_timer1 = qemu.kvm.milkymist_sysctl_stop_timer1 ?
{
    printf("%d@%d milkymist_sysctl_stop_timer1 Stop timer1\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_sysctl_pulse_irq_timer0 = qemu.kvm.milkymist_sysctl_pulse_irq_timer0 ?
{
    printf("%d@%d milkymist_sysctl_pulse_irq_timer0 Pulse IRQ Timer0\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_sysctl_pulse_irq_timer1 = qemu.kvm.milkymist_sysctl_pulse_irq_timer1 ?
{
    printf("%d@%d milkymist_sysctl_pulse_irq_timer1 Pulse IRQ Timer1\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.aspeed_timer_ctrl_enable = qemu.kvm.aspeed_timer_ctrl_enable ?
{
    printf("%d@%d aspeed_timer_ctrl_enable Timer %u: %d\n", pid(), gettimeofday_ns(), i, enable)
}
probe qemu.kvm.log.aspeed_timer_ctrl_external_clock = qemu.kvm.aspeed_timer_ctrl_external_clock ?
{
    printf("%d@%d aspeed_timer_ctrl_external_clock Timer %u: %d\n", pid(), gettimeofday_ns(), i, enable)
}
probe qemu.kvm.log.aspeed_timer_ctrl_overflow_interrupt = qemu.kvm.aspeed_timer_ctrl_overflow_interrupt ?
{
    printf("%d@%d aspeed_timer_ctrl_overflow_interrupt Timer %u: %d\n", pid(), gettimeofday_ns(), i, enable)
}
probe qemu.kvm.log.aspeed_timer_ctrl_pulse_enable = qemu.kvm.aspeed_timer_ctrl_pulse_enable ?
{
    printf("%d@%d aspeed_timer_ctrl_pulse_enable Timer %u: %d\n", pid(), gettimeofday_ns(), i, enable)
}
probe qemu.kvm.log.aspeed_timer_set_ctrl2 = qemu.kvm.aspeed_timer_set_ctrl2 ?
{
    printf("%d@%d aspeed_timer_set_ctrl2 Value: 0x%x\n", pid(), gettimeofday_ns(), value)
}
probe qemu.kvm.log.aspeed_timer_set_value = qemu.kvm.aspeed_timer_set_value ?
{
    printf("%d@%d aspeed_timer_set_value Timer %d register %d: 0x%x\n", pid(), gettimeofday_ns(), timer, reg, value)
}
probe qemu.kvm.log.aspeed_timer_read = qemu.kvm.aspeed_timer_read ?
{
    printf("%d@%d aspeed_timer_read From 0x%x: of size %u: 0x%x\n", pid(), gettimeofday_ns(), offset, size, value)
}
probe qemu.kvm.log.systick_reload = qemu.kvm.systick_reload ?
{
    printf("%d@%d systick_reload systick reload\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.systick_timer_tick = qemu.kvm.systick_timer_tick ?
{
    printf("%d@%d systick_timer_tick systick reload\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.systick_read = qemu.kvm.systick_read ?
{
    printf("%d@%d systick_read systick read addr 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), addr, value, size)
}
probe qemu.kvm.log.systick_write = qemu.kvm.systick_write ?
{
    printf("%d@%d systick_write systick write addr 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), addr, value, size)
}
probe qemu.kvm.log.cmsdk_apb_timer_read = qemu.kvm.cmsdk_apb_timer_read ?
{
    printf("%d@%d cmsdk_apb_timer_read CMSDK APB timer read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.cmsdk_apb_timer_write = qemu.kvm.cmsdk_apb_timer_write ?
{
    printf("%d@%d cmsdk_apb_timer_write CMSDK APB timer write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.cmsdk_apb_timer_reset = qemu.kvm.cmsdk_apb_timer_reset ?
{
    printf("%d@%d cmsdk_apb_timer_reset CMSDK APB timer: reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.cmsdk_apb_dualtimer_read = qemu.kvm.cmsdk_apb_dualtimer_read ?
{
    printf("%d@%d cmsdk_apb_dualtimer_read CMSDK APB dualtimer read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.cmsdk_apb_dualtimer_write = qemu.kvm.cmsdk_apb_dualtimer_write ?
{
    printf("%d@%d cmsdk_apb_dualtimer_write CMSDK APB dualtimer write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.cmsdk_apb_dualtimer_reset = qemu.kvm.cmsdk_apb_dualtimer_reset ?
{
    printf("%d@%d cmsdk_apb_dualtimer_reset CMSDK APB dualtimer: reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.nrf51_timer_read = qemu.kvm.nrf51_timer_read ?
{
    printf("%d@%d nrf51_timer_read read addr 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), addr, value, size)
}
probe qemu.kvm.log.nrf51_timer_write = qemu.kvm.nrf51_timer_write ?
{
    printf("%d@%d nrf51_timer_write write addr 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), addr, value, size)
}
probe qemu.kvm.log.bcm2835_systmr_irq = qemu.kvm.bcm2835_systmr_irq ?
{
    printf("%d@%d bcm2835_systmr_irq timer irq state %u\n", pid(), gettimeofday_ns(), enable)
}
probe qemu.kvm.log.bcm2835_systmr_read = qemu.kvm.bcm2835_systmr_read ?
{
    printf("%d@%d bcm2835_systmr_read timer read: offset 0x%x data 0x%x\n", pid(), gettimeofday_ns(), offset, data)
}
probe qemu.kvm.log.bcm2835_systmr_write = qemu.kvm.bcm2835_systmr_write ?
{
    printf("%d@%d bcm2835_systmr_write timer write: offset 0x%x data 0x%x\n", pid(), gettimeofday_ns(), offset, data)
}
probe qemu.kvm.log.tpm_crb_mmio_read = qemu.kvm.tpm_crb_mmio_read ?
{
    printf("%d@%d tpm_crb_mmio_read CRB read 0x%016x len:%u val: 0x%x\n", pid(), gettimeofday_ns(), addr, size, val)
}
probe qemu.kvm.log.tpm_crb_mmio_write = qemu.kvm.tpm_crb_mmio_write ?
{
    printf("%d@%d tpm_crb_mmio_write CRB write 0x%016x len:%u val: 0x%x\n", pid(), gettimeofday_ns(), addr, size, val)
}
probe qemu.kvm.log.tpm_passthrough_handle_request = qemu.kvm.tpm_passthrough_handle_request ?
{
    printf("%d@%d tpm_passthrough_handle_request processing command %p\n", pid(), gettimeofday_ns(), cmd)
}
probe qemu.kvm.log.tpm_passthrough_reset = qemu.kvm.tpm_passthrough_reset ?
{
    printf("%d@%d tpm_passthrough_reset reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_util_get_buffer_size_hdr_len = qemu.kvm.tpm_util_get_buffer_size_hdr_len ?
{
    printf("%d@%d tpm_util_get_buffer_size_hdr_len tpm_resp->hdr.len = %u, expected = %u\n", pid(), gettimeofday_ns(), len, expected)
}
probe qemu.kvm.log.tpm_util_get_buffer_size_len = qemu.kvm.tpm_util_get_buffer_size_len ?
{
    printf("%d@%d tpm_util_get_buffer_size_len tpm_resp->len = %u, expected = %u\n", pid(), gettimeofday_ns(), len, expected)
}
probe qemu.kvm.log.tpm_util_get_buffer_size_hdr_len2 = qemu.kvm.tpm_util_get_buffer_size_hdr_len2 ?
{
    printf("%d@%d tpm_util_get_buffer_size_hdr_len2 tpm2_resp->hdr.len = %u, expected = %u\n", pid(), gettimeofday_ns(), len, expected)
}
probe qemu.kvm.log.tpm_util_get_buffer_size_len2 = qemu.kvm.tpm_util_get_buffer_size_len2 ?
{
    printf("%d@%d tpm_util_get_buffer_size_len2 tpm2_resp->len = %u, expected = %u\n", pid(), gettimeofday_ns(), len, expected)
}
probe qemu.kvm.log.tpm_util_get_buffer_size = qemu.kvm.tpm_util_get_buffer_size ?
{
    printf("%d@%d tpm_util_get_buffer_size buffersize of device: %u\n", pid(), gettimeofday_ns(), len)
}
probe qemu.kvm.log.tpm_emulator_set_locality = qemu.kvm.tpm_emulator_set_locality ?
{
    printf("%d@%d tpm_emulator_set_locality setting locality to %d\n", pid(), gettimeofday_ns(), locty)
}
probe qemu.kvm.log.tpm_emulator_handle_request = qemu.kvm.tpm_emulator_handle_request ?
{
    printf("%d@%d tpm_emulator_handle_request processing TPM command\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_emulator_probe_caps = qemu.kvm.tpm_emulator_probe_caps ?
{
    printf("%d@%d tpm_emulator_probe_caps capabilities: 0x%x\n", pid(), gettimeofday_ns(), caps)
}
probe qemu.kvm.log.tpm_emulator_set_buffer_size = qemu.kvm.tpm_emulator_set_buffer_size ?
{
    printf("%d@%d tpm_emulator_set_buffer_size buffer size: %u, min: %u, max: %u\n", pid(), gettimeofday_ns(), buffersize, minsize, maxsize)
}
probe qemu.kvm.log.tpm_emulator_startup_tpm_resume = qemu.kvm.tpm_emulator_startup_tpm_resume ?
{
    printf("%d@%d tpm_emulator_startup_tpm_resume is_resume: %d, buffer size: %u\n", pid(), gettimeofday_ns(), is_resume, buffersize)
}
probe qemu.kvm.log.tpm_emulator_get_tpm_established_flag = qemu.kvm.tpm_emulator_get_tpm_established_flag ?
{
    printf("%d@%d tpm_emulator_get_tpm_established_flag got established flag: %d\n", pid(), gettimeofday_ns(), flag)
}
probe qemu.kvm.log.tpm_emulator_cancel_cmd_not_supt = qemu.kvm.tpm_emulator_cancel_cmd_not_supt ?
{
    printf("%d@%d tpm_emulator_cancel_cmd_not_supt Backend does not support CANCEL_TPM_CMD\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_emulator_handle_device_opts_tpm12 = qemu.kvm.tpm_emulator_handle_device_opts_tpm12 ?
{
    printf("%d@%d tpm_emulator_handle_device_opts_tpm12 TPM Version 1.2\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_emulator_handle_device_opts_tpm2 = qemu.kvm.tpm_emulator_handle_device_opts_tpm2 ?
{
    printf("%d@%d tpm_emulator_handle_device_opts_tpm2 TPM Version 2\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_emulator_handle_device_opts_unspec = qemu.kvm.tpm_emulator_handle_device_opts_unspec ?
{
    printf("%d@%d tpm_emulator_handle_device_opts_unspec TPM Version Unspecified\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_emulator_handle_device_opts_startup_error = qemu.kvm.tpm_emulator_handle_device_opts_startup_error ?
{
    printf("%d@%d tpm_emulator_handle_device_opts_startup_error Startup error\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_emulator_get_state_blob = qemu.kvm.tpm_emulator_get_state_blob ?
{
    printf("%d@%d tpm_emulator_get_state_blob got state blob type %d, %u bytes, flags 0x%08x\n", pid(), gettimeofday_ns(), type, size, flags)
}
probe qemu.kvm.log.tpm_emulator_set_state_blob = qemu.kvm.tpm_emulator_set_state_blob ?
{
    printf("%d@%d tpm_emulator_set_state_blob set state blob type %d, %u bytes, flags 0x%08x\n", pid(), gettimeofday_ns(), type, size, flags)
}
probe qemu.kvm.log.tpm_emulator_set_state_blobs = qemu.kvm.tpm_emulator_set_state_blobs ?
{
    printf("%d@%d tpm_emulator_set_state_blobs setting state blobs\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_emulator_set_state_blobs_error = qemu.kvm.tpm_emulator_set_state_blobs_error ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d tpm_emulator_set_state_blobs_error error while setting state blobs: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.tpm_emulator_set_state_blobs_done = qemu.kvm.tpm_emulator_set_state_blobs_done ?
{
    printf("%d@%d tpm_emulator_set_state_blobs_done Done setting state blobs\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_emulator_pre_save = qemu.kvm.tpm_emulator_pre_save ?
{
    printf("%d@%d tpm_emulator_pre_save \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_emulator_inst_init = qemu.kvm.tpm_emulator_inst_init ?
{
    printf("%d@%d tpm_emulator_inst_init \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_tis_show_buffer = qemu.kvm.tpm_tis_show_buffer ?
{
    try {
        argdirection_str = direction ? user_string_n(direction, 512) : "<null>"
    } catch {}
    try {
        argbuf_str = buf ? user_string_n(buf, 512) : "<null>"
    } catch {}
    printf("%d@%d tpm_tis_show_buffer direction: %s len: %u\nbuf: %s\n", pid(), gettimeofday_ns(), argdirection_str, len, argbuf_str)
}
probe qemu.kvm.log.tpm_tis_raise_irq = qemu.kvm.tpm_tis_raise_irq ?
{
    printf("%d@%d tpm_tis_raise_irq Raising IRQ for flag 0x%08x\n", pid(), gettimeofday_ns(), irqmask)
}
probe qemu.kvm.log.tpm_tis_new_active_locality = qemu.kvm.tpm_tis_new_active_locality ?
{
    printf("%d@%d tpm_tis_new_active_locality Active locality is now %d\n", pid(), gettimeofday_ns(), locty)
}
probe qemu.kvm.log.tpm_tis_abort = qemu.kvm.tpm_tis_abort ?
{
    printf("%d@%d tpm_tis_abort New active locality is %d\n", pid(), gettimeofday_ns(), locty)
}
probe qemu.kvm.log.tpm_tis_data_read = qemu.kvm.tpm_tis_data_read ?
{
    printf("%d@%d tpm_tis_data_read byte 0x%02x   [%d]\n", pid(), gettimeofday_ns(), value, off)
}
probe qemu.kvm.log.tpm_tis_mmio_read = qemu.kvm.tpm_tis_mmio_read ?
{
    printf("%d@%d tpm_tis_mmio_read  read.%u(0x%08x) = 0x%08x\n", pid(), gettimeofday_ns(), size, addr, val)
}
probe qemu.kvm.log.tpm_tis_mmio_write = qemu.kvm.tpm_tis_mmio_write ?
{
    printf("%d@%d tpm_tis_mmio_write write.%u(0x%08x) = 0x%08x\n", pid(), gettimeofday_ns(), size, addr, val)
}
probe qemu.kvm.log.tpm_tis_mmio_write_locty4 = qemu.kvm.tpm_tis_mmio_write_locty4 ?
{
    printf("%d@%d tpm_tis_mmio_write_locty4 Access to locality 4 only allowed from hardware\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_tis_mmio_write_release_locty = qemu.kvm.tpm_tis_mmio_write_release_locty ?
{
    printf("%d@%d tpm_tis_mmio_write_release_locty Releasing locality %d\n", pid(), gettimeofday_ns(), locty)
}
probe qemu.kvm.log.tpm_tis_mmio_write_locty_req_use = qemu.kvm.tpm_tis_mmio_write_locty_req_use ?
{
    printf("%d@%d tpm_tis_mmio_write_locty_req_use Locality %d requests use\n", pid(), gettimeofday_ns(), locty)
}
probe qemu.kvm.log.tpm_tis_mmio_write_next_locty = qemu.kvm.tpm_tis_mmio_write_next_locty ?
{
    printf("%d@%d tpm_tis_mmio_write_next_locty Next active locality is %d\n", pid(), gettimeofday_ns(), locty)
}
probe qemu.kvm.log.tpm_tis_mmio_write_locty_seized = qemu.kvm.tpm_tis_mmio_write_locty_seized ?
{
    printf("%d@%d tpm_tis_mmio_write_locty_seized Locality %d seized from locality %d\n", pid(), gettimeofday_ns(), locty, active)
}
probe qemu.kvm.log.tpm_tis_mmio_write_init_abort = qemu.kvm.tpm_tis_mmio_write_init_abort ?
{
    printf("%d@%d tpm_tis_mmio_write_init_abort Initiating abort\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_tis_mmio_write_lowering_irq = qemu.kvm.tpm_tis_mmio_write_lowering_irq ?
{
    printf("%d@%d tpm_tis_mmio_write_lowering_irq Lowering IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.tpm_tis_mmio_write_data2send = qemu.kvm.tpm_tis_mmio_write_data2send ?
{
    printf("%d@%d tpm_tis_mmio_write_data2send Data to send to TPM: 0x%08x (size=%d)\n", pid(), gettimeofday_ns(), value, size)
}
probe qemu.kvm.log.tpm_tis_pre_save = qemu.kvm.tpm_tis_pre_save ?
{
    printf("%d@%d tpm_tis_pre_save locty: %d, rw_offset = %u\n", pid(), gettimeofday_ns(), locty, rw_offset)
}
probe qemu.kvm.log.tpm_ppi_memset = qemu.kvm.tpm_ppi_memset ?
{
    printf("%d@%d tpm_ppi_memset memset: %p %u\n", pid(), gettimeofday_ns(), ptr, size)
}
probe qemu.kvm.log.usb_packet_state_change = qemu.kvm.usb_packet_state_change ?
{
    try {
        argport_str = port ? user_string_n(port, 512) : "<null>"
    } catch {}
    try {
        argo_str = o ? user_string_n(o, 512) : "<null>"
    } catch {}
    try {
        argn_str = n ? user_string_n(n, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_packet_state_change bus %d, port %s, ep %d, packet %p, state %s -> %s\n", pid(), gettimeofday_ns(), bus, argport_str, ep, p, argo_str, argn_str)
}
probe qemu.kvm.log.usb_packet_state_fault = qemu.kvm.usb_packet_state_fault ?
{
    try {
        argport_str = port ? user_string_n(port, 512) : "<null>"
    } catch {}
    try {
        argo_str = o ? user_string_n(o, 512) : "<null>"
    } catch {}
    try {
        argn_str = n ? user_string_n(n, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_packet_state_fault bus %d, port %s, ep %d, packet %p, state %s, expected %s\n", pid(), gettimeofday_ns(), bus, argport_str, ep, p, argo_str, argn_str)
}
probe qemu.kvm.log.usb_port_claim = qemu.kvm.usb_port_claim ?
{
    try {
        argport_str = port ? user_string_n(port, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_port_claim bus %d, port %s\n", pid(), gettimeofday_ns(), bus, argport_str)
}
probe qemu.kvm.log.usb_port_attach = qemu.kvm.usb_port_attach ?
{
    try {
        argport_str = port ? user_string_n(port, 512) : "<null>"
    } catch {}
    try {
        argdevspeed_str = devspeed ? user_string_n(devspeed, 512) : "<null>"
    } catch {}
    try {
        argportspeed_str = portspeed ? user_string_n(portspeed, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_port_attach bus %d, port %s, devspeed %s, portspeed %s\n", pid(), gettimeofday_ns(), bus, argport_str, argdevspeed_str, argportspeed_str)
}
probe qemu.kvm.log.usb_port_detach = qemu.kvm.usb_port_detach ?
{
    try {
        argport_str = port ? user_string_n(port, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_port_detach bus %d, port %s\n", pid(), gettimeofday_ns(), bus, argport_str)
}
probe qemu.kvm.log.usb_port_release = qemu.kvm.usb_port_release ?
{
    try {
        argport_str = port ? user_string_n(port, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_port_release bus %d, port %s\n", pid(), gettimeofday_ns(), bus, argport_str)
}
probe qemu.kvm.log.usb_ohci_iso_td_read_failed = qemu.kvm.usb_ohci_iso_td_read_failed ?
{
    printf("%d@%d usb_ohci_iso_td_read_failed ISO_TD read error at 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_ohci_iso_td_head = qemu.kvm.usb_ohci_iso_td_head ?
{
    printf("%d@%d usb_ohci_iso_td_head ISO_TD ED head 0x%.8x tailp 0x%.8x\n0x%.8x 0x%.8x 0x%.8x 0x%.8x\nframe_number 0x%.8x starting_frame 0x%.8x\nframe_count  0x%.8x relative %d\n", pid(), gettimeofday_ns(), head, tail, flags, bp, next_, be, framenum, startframe, framecount, rel_frame_num)
}
probe qemu.kvm.log.usb_ohci_iso_td_head_offset = qemu.kvm.usb_ohci_iso_td_head_offset ?
{
    printf("%d@%d usb_ohci_iso_td_head_offset 0x%.8x 0x%.8x 0x%.8x 0x%.8x 0x%.8x 0x%.8x 0x%.8x 0x%.8x\n", pid(), gettimeofday_ns(), o0, o1, o2, o3, o4, o5, o6, o7)
}
probe qemu.kvm.log.usb_ohci_iso_td_relative_frame_number_neg = qemu.kvm.usb_ohci_iso_td_relative_frame_number_neg ?
{
    printf("%d@%d usb_ohci_iso_td_relative_frame_number_neg ISO_TD R=%d < 0\n", pid(), gettimeofday_ns(), rel)
}
probe qemu.kvm.log.usb_ohci_iso_td_relative_frame_number_big = qemu.kvm.usb_ohci_iso_td_relative_frame_number_big ?
{
    printf("%d@%d usb_ohci_iso_td_relative_frame_number_big ISO_TD R=%d > FC=%d\n", pid(), gettimeofday_ns(), rel, count)
}
probe qemu.kvm.log.usb_ohci_iso_td_bad_direction = qemu.kvm.usb_ohci_iso_td_bad_direction ?
{
    printf("%d@%d usb_ohci_iso_td_bad_direction Bad direction %d\n", pid(), gettimeofday_ns(), dir)
}
probe qemu.kvm.log.usb_ohci_iso_td_bad_bp_be = qemu.kvm.usb_ohci_iso_td_bad_bp_be ?
{
    printf("%d@%d usb_ohci_iso_td_bad_bp_be ISO_TD bp 0x%.8x be 0x%.8x\n", pid(), gettimeofday_ns(), bp, be)
}
probe qemu.kvm.log.usb_ohci_iso_td_bad_cc_not_accessed = qemu.kvm.usb_ohci_iso_td_bad_cc_not_accessed ?
{
    printf("%d@%d usb_ohci_iso_td_bad_cc_not_accessed ISO_TD cc != not accessed 0x%.8x 0x%.8x\n", pid(), gettimeofday_ns(), start, next_)
}
probe qemu.kvm.log.usb_ohci_iso_td_bad_cc_overrun = qemu.kvm.usb_ohci_iso_td_bad_cc_overrun ?
{
    printf("%d@%d usb_ohci_iso_td_bad_cc_overrun ISO_TD start_offset=0x%.8x > next_offset=0x%.8x\n", pid(), gettimeofday_ns(), start, next_)
}
probe qemu.kvm.log.usb_ohci_iso_td_so = qemu.kvm.usb_ohci_iso_td_so ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_iso_td_so 0x%.8x eo 0x%.8x\nsa 0x%.8x ea 0x%.8x\ndir %s len %u ret %d\n", pid(), gettimeofday_ns(), so, eo, s, e, argstr_str, len, ret)
}
probe qemu.kvm.log.usb_ohci_iso_td_data_overrun = qemu.kvm.usb_ohci_iso_td_data_overrun ?
{
    printf("%d@%d usb_ohci_iso_td_data_overrun DataOverrun %d > %u\n", pid(), gettimeofday_ns(), ret, len)
}
probe qemu.kvm.log.usb_ohci_iso_td_data_underrun = qemu.kvm.usb_ohci_iso_td_data_underrun ?
{
    printf("%d@%d usb_ohci_iso_td_data_underrun DataUnderrun %d\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.usb_ohci_iso_td_nak = qemu.kvm.usb_ohci_iso_td_nak ?
{
    printf("%d@%d usb_ohci_iso_td_nak got NAK/STALL %d\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.usb_ohci_iso_td_bad_response = qemu.kvm.usb_ohci_iso_td_bad_response ?
{
    printf("%d@%d usb_ohci_iso_td_bad_response Bad device response %d\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.usb_ohci_port_attach = qemu.kvm.usb_ohci_port_attach ?
{
    printf("%d@%d usb_ohci_port_attach port #%d\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.usb_ohci_port_detach = qemu.kvm.usb_ohci_port_detach ?
{
    printf("%d@%d usb_ohci_port_detach port #%d\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.usb_ohci_port_wakeup = qemu.kvm.usb_ohci_port_wakeup ?
{
    printf("%d@%d usb_ohci_port_wakeup port #%d\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.usb_ohci_port_suspend = qemu.kvm.usb_ohci_port_suspend ?
{
    printf("%d@%d usb_ohci_port_suspend port #%d\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.usb_ohci_port_reset = qemu.kvm.usb_ohci_port_reset ?
{
    printf("%d@%d usb_ohci_port_reset port #%d\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.usb_ohci_remote_wakeup = qemu.kvm.usb_ohci_remote_wakeup ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_remote_wakeup %s: SUSPEND->RESUME\n", pid(), gettimeofday_ns(), args_str)
}
probe qemu.kvm.log.usb_ohci_reset = qemu.kvm.usb_ohci_reset ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_reset %s\n", pid(), gettimeofday_ns(), args_str)
}
probe qemu.kvm.log.usb_ohci_start = qemu.kvm.usb_ohci_start ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_start %s: USB Operational\n", pid(), gettimeofday_ns(), args_str)
}
probe qemu.kvm.log.usb_ohci_resume = qemu.kvm.usb_ohci_resume ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_resume %s: USB Resume\n", pid(), gettimeofday_ns(), args_str)
}
probe qemu.kvm.log.usb_ohci_stop = qemu.kvm.usb_ohci_stop ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_stop %s: USB Suspended\n", pid(), gettimeofday_ns(), args_str)
}
probe qemu.kvm.log.usb_ohci_exit = qemu.kvm.usb_ohci_exit ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_exit %s\n", pid(), gettimeofday_ns(), args_str)
}
probe qemu.kvm.log.usb_ohci_set_ctl = qemu.kvm.usb_ohci_set_ctl ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_set_ctl %s: new state 0x%x\n", pid(), gettimeofday_ns(), args_str, new_state)
}
probe qemu.kvm.log.usb_ohci_td_underrun = qemu.kvm.usb_ohci_td_underrun ?
{
    printf("%d@%d usb_ohci_td_underrun \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_td_dev_error = qemu.kvm.usb_ohci_td_dev_error ?
{
    printf("%d@%d usb_ohci_td_dev_error \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_td_nak = qemu.kvm.usb_ohci_td_nak ?
{
    printf("%d@%d usb_ohci_td_nak \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_td_stall = qemu.kvm.usb_ohci_td_stall ?
{
    printf("%d@%d usb_ohci_td_stall \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_td_babble = qemu.kvm.usb_ohci_td_babble ?
{
    printf("%d@%d usb_ohci_td_babble \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_td_bad_device_response = qemu.kvm.usb_ohci_td_bad_device_response ?
{
    printf("%d@%d usb_ohci_td_bad_device_response %d\n", pid(), gettimeofday_ns(), rc)
}
probe qemu.kvm.log.usb_ohci_td_read_error = qemu.kvm.usb_ohci_td_read_error ?
{
    printf("%d@%d usb_ohci_td_read_error TD read error at 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_ohci_td_bad_direction = qemu.kvm.usb_ohci_td_bad_direction ?
{
    printf("%d@%d usb_ohci_td_bad_direction Bad direction %d\n", pid(), gettimeofday_ns(), dir)
}
probe qemu.kvm.log.usb_ohci_td_skip_async = qemu.kvm.usb_ohci_td_skip_async ?
{
    printf("%d@%d usb_ohci_td_skip_async \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_td_pkt_hdr = qemu.kvm.usb_ohci_td_pkt_hdr ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_td_pkt_hdr  TD @ 0x%.8x %d of %d bytes %s r=%d cbp=0x%.8x be=0x%.8x\n", pid(), gettimeofday_ns(), addr, pktlen, len, args_str, flag_r, cbp, be)
}
probe qemu.kvm.log.usb_ohci_td_pkt_short = qemu.kvm.usb_ohci_td_pkt_short ?
{
    try {
        argdir_str = dir ? user_string_n(dir, 512) : "<null>"
    } catch {}
    try {
        argbuf_str = buf ? user_string_n(buf, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_td_pkt_short %s data: %s\n", pid(), gettimeofday_ns(), argdir_str, argbuf_str)
}
probe qemu.kvm.log.usb_ohci_td_pkt_full = qemu.kvm.usb_ohci_td_pkt_full ?
{
    try {
        argdir_str = dir ? user_string_n(dir, 512) : "<null>"
    } catch {}
    try {
        argbuf_str = buf ? user_string_n(buf, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_td_pkt_full %s data: %s\n", pid(), gettimeofday_ns(), argdir_str, argbuf_str)
}
probe qemu.kvm.log.usb_ohci_td_too_many_pending = qemu.kvm.usb_ohci_td_too_many_pending ?
{
    printf("%d@%d usb_ohci_td_too_many_pending \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_td_packet_status = qemu.kvm.usb_ohci_td_packet_status ?
{
    printf("%d@%d usb_ohci_td_packet_status status=%d\n", pid(), gettimeofday_ns(), status)
}
probe qemu.kvm.log.usb_ohci_ed_read_error = qemu.kvm.usb_ohci_ed_read_error ?
{
    printf("%d@%d usb_ohci_ed_read_error ED read error at 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_ohci_ed_pkt = qemu.kvm.usb_ohci_ed_pkt ?
{
    printf("%d@%d usb_ohci_ed_pkt ED @ 0x%.8x h=%u c=%u\n  head=0x%.8x tailp=0x%.8x next=0x%.8x\n", pid(), gettimeofday_ns(), cur, h, c, head, tail, next_)
}
probe qemu.kvm.log.usb_ohci_ed_pkt_flags = qemu.kvm.usb_ohci_ed_pkt_flags ?
{
    printf("%d@%d usb_ohci_ed_pkt_flags fa=%u en=%u d=%u s=%u k=%u f=%u mps=%u\n", pid(), gettimeofday_ns(), fa, en, d, s, k, f, mps)
}
probe qemu.kvm.log.usb_ohci_hcca_read_error = qemu.kvm.usb_ohci_hcca_read_error ?
{
    printf("%d@%d usb_ohci_hcca_read_error HCCA read error at 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_ohci_mem_read_unaligned = qemu.kvm.usb_ohci_mem_read_unaligned ?
{
    printf("%d@%d usb_ohci_mem_read_unaligned at 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_ohci_mem_read_bad_offset = qemu.kvm.usb_ohci_mem_read_bad_offset ?
{
    printf("%d@%d usb_ohci_mem_read_bad_offset 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_ohci_mem_write_unaligned = qemu.kvm.usb_ohci_mem_write_unaligned ?
{
    printf("%d@%d usb_ohci_mem_write_unaligned at 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_ohci_mem_write_bad_offset = qemu.kvm.usb_ohci_mem_write_bad_offset ?
{
    printf("%d@%d usb_ohci_mem_write_bad_offset 0x%x\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_ohci_process_lists = qemu.kvm.usb_ohci_process_lists ?
{
    printf("%d@%d usb_ohci_process_lists head 0x%x, cur 0x%x\n", pid(), gettimeofday_ns(), head, cur)
}
probe qemu.kvm.log.usb_ohci_set_frame_interval = qemu.kvm.usb_ohci_set_frame_interval ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ohci_set_frame_interval %s: FrameInterval = 0x%x (%u)\n", pid(), gettimeofday_ns(), argname_str, fi_x, fi_u)
}
probe qemu.kvm.log.usb_ohci_hub_power_up = qemu.kvm.usb_ohci_hub_power_up ?
{
    printf("%d@%d usb_ohci_hub_power_up powered up all ports\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_hub_power_down = qemu.kvm.usb_ohci_hub_power_down ?
{
    printf("%d@%d usb_ohci_hub_power_down powered down all ports\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_init_time = qemu.kvm.usb_ohci_init_time ?
{
    printf("%d@%d usb_ohci_init_time usb_bit_time=%d usb_frame_time=%d\n", pid(), gettimeofday_ns(), frametime, bittime)
}
probe qemu.kvm.log.usb_ohci_die = qemu.kvm.usb_ohci_die ?
{
    printf("%d@%d usb_ohci_die \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ohci_async_complete = qemu.kvm.usb_ohci_async_complete ?
{
    printf("%d@%d usb_ohci_async_complete \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ehci_reset = qemu.kvm.usb_ehci_reset ?
{
    printf("%d@%d usb_ehci_reset === RESET ===\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ehci_unrealize = qemu.kvm.usb_ehci_unrealize ?
{
    printf("%d@%d usb_ehci_unrealize === UNREALIZE ===\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ehci_opreg_read = qemu.kvm.usb_ehci_opreg_read ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_opreg_read rd mmio 0x%04x [%s] = 0x%x\n", pid(), gettimeofday_ns(), addr, argstr_str, val)
}
probe qemu.kvm.log.usb_ehci_opreg_write = qemu.kvm.usb_ehci_opreg_write ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_opreg_write wr mmio 0x%04x [%s] = 0x%x\n", pid(), gettimeofday_ns(), addr, argstr_str, val)
}
probe qemu.kvm.log.usb_ehci_opreg_change = qemu.kvm.usb_ehci_opreg_change ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_opreg_change ch mmio 0x%04x [%s] = 0x%x (old: 0x%x)\n", pid(), gettimeofday_ns(), addr, argstr_str, new, old)
}
probe qemu.kvm.log.usb_ehci_portsc_read = qemu.kvm.usb_ehci_portsc_read ?
{
    printf("%d@%d usb_ehci_portsc_read rd mmio 0x%04x [port %d] = 0x%x\n", pid(), gettimeofday_ns(), addr, port, val)
}
probe qemu.kvm.log.usb_ehci_portsc_write = qemu.kvm.usb_ehci_portsc_write ?
{
    printf("%d@%d usb_ehci_portsc_write wr mmio 0x%04x [port %d] = 0x%x\n", pid(), gettimeofday_ns(), addr, port, val)
}
probe qemu.kvm.log.usb_ehci_portsc_change = qemu.kvm.usb_ehci_portsc_change ?
{
    printf("%d@%d usb_ehci_portsc_change ch mmio 0x%04x [port %d] = 0x%x (old: 0x%x)\n", pid(), gettimeofday_ns(), addr, port, new, old)
}
probe qemu.kvm.log.usb_ehci_usbsts = qemu.kvm.usb_ehci_usbsts ?
{
    try {
        argsts_str = sts ? user_string_n(sts, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_usbsts usbsts %s %d\n", pid(), gettimeofday_ns(), argsts_str, state)
}
probe qemu.kvm.log.usb_ehci_state = qemu.kvm.usb_ehci_state ?
{
    try {
        argschedule_str = schedule ? user_string_n(schedule, 512) : "<null>"
    } catch {}
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_state %s schedule %s\n", pid(), gettimeofday_ns(), argschedule_str, argstate_str)
}
probe qemu.kvm.log.usb_ehci_qh_ptrs = qemu.kvm.usb_ehci_qh_ptrs ?
{
    printf("%d@%d usb_ehci_qh_ptrs q %p - QH @ 0x%08x: next 0x%08x qtds 0x%08x,0x%08x,0x%08x\n", pid(), gettimeofday_ns(), q, addr, nxt, c_qtd, n_qtd, a_qtd)
}
probe qemu.kvm.log.usb_ehci_qh_fields = qemu.kvm.usb_ehci_qh_fields ?
{
    printf("%d@%d usb_ehci_qh_fields QH @ 0x%08x - rl %d, mplen %d, eps %d, ep %d, dev %d\n", pid(), gettimeofday_ns(), addr, rl, mplen, eps, ep, devaddr)
}
probe qemu.kvm.log.usb_ehci_qh_bits = qemu.kvm.usb_ehci_qh_bits ?
{
    printf("%d@%d usb_ehci_qh_bits QH @ 0x%08x - c %d, h %d, dtc %d, i %d\n", pid(), gettimeofday_ns(), addr, c, h, dtc, i)
}
probe qemu.kvm.log.usb_ehci_qtd_ptrs = qemu.kvm.usb_ehci_qtd_ptrs ?
{
    printf("%d@%d usb_ehci_qtd_ptrs q %p - QTD @ 0x%08x: next 0x%08x altnext 0x%08x\n", pid(), gettimeofday_ns(), q, addr, nxt, altnext)
}
probe qemu.kvm.log.usb_ehci_qtd_fields = qemu.kvm.usb_ehci_qtd_fields ?
{
    printf("%d@%d usb_ehci_qtd_fields QTD @ 0x%08x - tbytes %d, cpage %d, cerr %d, pid %d\n", pid(), gettimeofday_ns(), addr, tbytes, cpage, cerr, pid)
}
probe qemu.kvm.log.usb_ehci_qtd_bits = qemu.kvm.usb_ehci_qtd_bits ?
{
    printf("%d@%d usb_ehci_qtd_bits QTD @ 0x%08x - ioc %d, active %d, halt %d, babble %d, xacterr %d\n", pid(), gettimeofday_ns(), addr, ioc, active, halt, babble, xacterr)
}
probe qemu.kvm.log.usb_ehci_itd = qemu.kvm.usb_ehci_itd ?
{
    printf("%d@%d usb_ehci_itd ITD @ 0x%08x: next 0x%08x - mplen %d, mult %d, ep %d, dev %d\n", pid(), gettimeofday_ns(), addr, nxt, mplen, mult, ep, devaddr)
}
probe qemu.kvm.log.usb_ehci_sitd = qemu.kvm.usb_ehci_sitd ?
{
    printf("%d@%d usb_ehci_sitd ITD @ 0x%08x: next 0x%08x - active %d\n", pid(), gettimeofday_ns(), addr, nxt, active)
}
probe qemu.kvm.log.usb_ehci_port_attach = qemu.kvm.usb_ehci_port_attach ?
{
    try {
        argowner_str = owner ? user_string_n(owner, 512) : "<null>"
    } catch {}
    try {
        argdevice_str = device ? user_string_n(device, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_port_attach attach port #%d, owner %s, device %s\n", pid(), gettimeofday_ns(), port, argowner_str, argdevice_str)
}
probe qemu.kvm.log.usb_ehci_port_detach = qemu.kvm.usb_ehci_port_detach ?
{
    try {
        argowner_str = owner ? user_string_n(owner, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_port_detach detach port #%d, owner %s\n", pid(), gettimeofday_ns(), port, argowner_str)
}
probe qemu.kvm.log.usb_ehci_port_reset = qemu.kvm.usb_ehci_port_reset ?
{
    printf("%d@%d usb_ehci_port_reset reset port #%d - %d\n", pid(), gettimeofday_ns(), port, enable)
}
probe qemu.kvm.log.usb_ehci_port_suspend = qemu.kvm.usb_ehci_port_suspend ?
{
    printf("%d@%d usb_ehci_port_suspend port #%d\n", pid(), gettimeofday_ns(), port)
}
probe qemu.kvm.log.usb_ehci_port_wakeup = qemu.kvm.usb_ehci_port_wakeup ?
{
    printf("%d@%d usb_ehci_port_wakeup port #%d\n", pid(), gettimeofday_ns(), port)
}
probe qemu.kvm.log.usb_ehci_port_resume = qemu.kvm.usb_ehci_port_resume ?
{
    printf("%d@%d usb_ehci_port_resume port #%d\n", pid(), gettimeofday_ns(), port)
}
probe qemu.kvm.log.usb_ehci_queue_action = qemu.kvm.usb_ehci_queue_action ?
{
    try {
        argaction_str = action ? user_string_n(action, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_queue_action q %p: %s\n", pid(), gettimeofday_ns(), q, argaction_str)
}
probe qemu.kvm.log.usb_ehci_packet_action = qemu.kvm.usb_ehci_packet_action ?
{
    try {
        argaction_str = action ? user_string_n(action, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_packet_action q %p p %p: %s\n", pid(), gettimeofday_ns(), q, p, argaction_str)
}
probe qemu.kvm.log.usb_ehci_irq = qemu.kvm.usb_ehci_irq ?
{
    printf("%d@%d usb_ehci_irq level %d, frindex 0x%04x, sts 0x%x, mask 0x%x\n", pid(), gettimeofday_ns(), level, frindex, sts, mask)
}
probe qemu.kvm.log.usb_ehci_guest_bug = qemu.kvm.usb_ehci_guest_bug ?
{
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_ehci_guest_bug %s\n", pid(), gettimeofday_ns(), argreason_str)
}
probe qemu.kvm.log.usb_ehci_doorbell_ring = qemu.kvm.usb_ehci_doorbell_ring ?
{
    printf("%d@%d usb_ehci_doorbell_ring \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ehci_doorbell_ack = qemu.kvm.usb_ehci_doorbell_ack ?
{
    printf("%d@%d usb_ehci_doorbell_ack \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_ehci_dma_error = qemu.kvm.usb_ehci_dma_error ?
{
    printf("%d@%d usb_ehci_dma_error \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_uhci_reset = qemu.kvm.usb_uhci_reset ?
{
    printf("%d@%d usb_uhci_reset === RESET ===\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_uhci_exit = qemu.kvm.usb_uhci_exit ?
{
    printf("%d@%d usb_uhci_exit === EXIT ===\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_uhci_schedule_start = qemu.kvm.usb_uhci_schedule_start ?
{
    printf("%d@%d usb_uhci_schedule_start \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_uhci_schedule_stop = qemu.kvm.usb_uhci_schedule_stop ?
{
    printf("%d@%d usb_uhci_schedule_stop \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_uhci_frame_start = qemu.kvm.usb_uhci_frame_start ?
{
    printf("%d@%d usb_uhci_frame_start nr %d\n", pid(), gettimeofday_ns(), num)
}
probe qemu.kvm.log.usb_uhci_frame_stop_bandwidth = qemu.kvm.usb_uhci_frame_stop_bandwidth ?
{
    printf("%d@%d usb_uhci_frame_stop_bandwidth \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_uhci_frame_loop_stop_idle = qemu.kvm.usb_uhci_frame_loop_stop_idle ?
{
    printf("%d@%d usb_uhci_frame_loop_stop_idle \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_uhci_frame_loop_continue = qemu.kvm.usb_uhci_frame_loop_continue ?
{
    printf("%d@%d usb_uhci_frame_loop_continue \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_uhci_mmio_readw = qemu.kvm.usb_uhci_mmio_readw ?
{
    printf("%d@%d usb_uhci_mmio_readw addr 0x%04x, ret 0x%04x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.usb_uhci_mmio_writew = qemu.kvm.usb_uhci_mmio_writew ?
{
    printf("%d@%d usb_uhci_mmio_writew addr 0x%04x, val 0x%04x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.usb_uhci_queue_add = qemu.kvm.usb_uhci_queue_add ?
{
    printf("%d@%d usb_uhci_queue_add token 0x%x\n", pid(), gettimeofday_ns(), token)
}
probe qemu.kvm.log.usb_uhci_queue_del = qemu.kvm.usb_uhci_queue_del ?
{
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_uhci_queue_del token 0x%x: %s\n", pid(), gettimeofday_ns(), token, argreason_str)
}
probe qemu.kvm.log.usb_uhci_packet_add = qemu.kvm.usb_uhci_packet_add ?
{
    printf("%d@%d usb_uhci_packet_add token 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), token, addr)
}
probe qemu.kvm.log.usb_uhci_packet_link_async = qemu.kvm.usb_uhci_packet_link_async ?
{
    printf("%d@%d usb_uhci_packet_link_async token 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), token, addr)
}
probe qemu.kvm.log.usb_uhci_packet_unlink_async = qemu.kvm.usb_uhci_packet_unlink_async ?
{
    printf("%d@%d usb_uhci_packet_unlink_async token 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), token, addr)
}
probe qemu.kvm.log.usb_uhci_packet_cancel = qemu.kvm.usb_uhci_packet_cancel ?
{
    printf("%d@%d usb_uhci_packet_cancel token 0x%x, td 0x%x, done %d\n", pid(), gettimeofday_ns(), token, addr, done)
}
probe qemu.kvm.log.usb_uhci_packet_complete_success = qemu.kvm.usb_uhci_packet_complete_success ?
{
    printf("%d@%d usb_uhci_packet_complete_success token 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), token, addr)
}
probe qemu.kvm.log.usb_uhci_packet_complete_shortxfer = qemu.kvm.usb_uhci_packet_complete_shortxfer ?
{
    printf("%d@%d usb_uhci_packet_complete_shortxfer token 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), token, addr)
}
probe qemu.kvm.log.usb_uhci_packet_complete_stall = qemu.kvm.usb_uhci_packet_complete_stall ?
{
    printf("%d@%d usb_uhci_packet_complete_stall token 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), token, addr)
}
probe qemu.kvm.log.usb_uhci_packet_complete_babble = qemu.kvm.usb_uhci_packet_complete_babble ?
{
    printf("%d@%d usb_uhci_packet_complete_babble token 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), token, addr)
}
probe qemu.kvm.log.usb_uhci_packet_complete_error = qemu.kvm.usb_uhci_packet_complete_error ?
{
    printf("%d@%d usb_uhci_packet_complete_error token 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), token, addr)
}
probe qemu.kvm.log.usb_uhci_packet_del = qemu.kvm.usb_uhci_packet_del ?
{
    printf("%d@%d usb_uhci_packet_del token 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), token, addr)
}
probe qemu.kvm.log.usb_uhci_qh_load = qemu.kvm.usb_uhci_qh_load ?
{
    printf("%d@%d usb_uhci_qh_load qh 0x%x\n", pid(), gettimeofday_ns(), qh)
}
probe qemu.kvm.log.usb_uhci_td_load = qemu.kvm.usb_uhci_td_load ?
{
    printf("%d@%d usb_uhci_td_load qh 0x%x, td 0x%x, ctrl 0x%x, token 0x%x\n", pid(), gettimeofday_ns(), qh, td, ctrl, token)
}
probe qemu.kvm.log.usb_uhci_td_queue = qemu.kvm.usb_uhci_td_queue ?
{
    printf("%d@%d usb_uhci_td_queue td 0x%x, ctrl 0x%x, token 0x%x\n", pid(), gettimeofday_ns(), td, ctrl, token)
}
probe qemu.kvm.log.usb_uhci_td_nextqh = qemu.kvm.usb_uhci_td_nextqh ?
{
    printf("%d@%d usb_uhci_td_nextqh qh 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), qh, td)
}
probe qemu.kvm.log.usb_uhci_td_async = qemu.kvm.usb_uhci_td_async ?
{
    printf("%d@%d usb_uhci_td_async qh 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), qh, td)
}
probe qemu.kvm.log.usb_uhci_td_complete = qemu.kvm.usb_uhci_td_complete ?
{
    printf("%d@%d usb_uhci_td_complete qh 0x%x, td 0x%x\n", pid(), gettimeofday_ns(), qh, td)
}
probe qemu.kvm.log.usb_xhci_reset = qemu.kvm.usb_xhci_reset ?
{
    printf("%d@%d usb_xhci_reset === RESET ===\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_xhci_exit = qemu.kvm.usb_xhci_exit ?
{
    printf("%d@%d usb_xhci_exit === EXIT ===\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_xhci_run = qemu.kvm.usb_xhci_run ?
{
    printf("%d@%d usb_xhci_run \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_xhci_stop = qemu.kvm.usb_xhci_stop ?
{
    printf("%d@%d usb_xhci_stop \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_xhci_cap_read = qemu.kvm.usb_xhci_cap_read ?
{
    printf("%d@%d usb_xhci_cap_read off 0x%04x, ret 0x%08x\n", pid(), gettimeofday_ns(), off, val)
}
probe qemu.kvm.log.usb_xhci_oper_read = qemu.kvm.usb_xhci_oper_read ?
{
    printf("%d@%d usb_xhci_oper_read off 0x%04x, ret 0x%08x\n", pid(), gettimeofday_ns(), off, val)
}
probe qemu.kvm.log.usb_xhci_port_read = qemu.kvm.usb_xhci_port_read ?
{
    printf("%d@%d usb_xhci_port_read port %d, off 0x%04x, ret 0x%08x\n", pid(), gettimeofday_ns(), port, off, val)
}
probe qemu.kvm.log.usb_xhci_runtime_read = qemu.kvm.usb_xhci_runtime_read ?
{
    printf("%d@%d usb_xhci_runtime_read off 0x%04x, ret 0x%08x\n", pid(), gettimeofday_ns(), off, val)
}
probe qemu.kvm.log.usb_xhci_doorbell_read = qemu.kvm.usb_xhci_doorbell_read ?
{
    printf("%d@%d usb_xhci_doorbell_read off 0x%04x, ret 0x%08x\n", pid(), gettimeofday_ns(), off, val)
}
probe qemu.kvm.log.usb_xhci_oper_write = qemu.kvm.usb_xhci_oper_write ?
{
    printf("%d@%d usb_xhci_oper_write off 0x%04x, val 0x%08x\n", pid(), gettimeofday_ns(), off, val)
}
probe qemu.kvm.log.usb_xhci_port_write = qemu.kvm.usb_xhci_port_write ?
{
    printf("%d@%d usb_xhci_port_write port %d, off 0x%04x, val 0x%08x\n", pid(), gettimeofday_ns(), port, off, val)
}
probe qemu.kvm.log.usb_xhci_runtime_write = qemu.kvm.usb_xhci_runtime_write ?
{
    printf("%d@%d usb_xhci_runtime_write off 0x%04x, val 0x%08x\n", pid(), gettimeofday_ns(), off, val)
}
probe qemu.kvm.log.usb_xhci_doorbell_write = qemu.kvm.usb_xhci_doorbell_write ?
{
    printf("%d@%d usb_xhci_doorbell_write off 0x%04x, val 0x%08x\n", pid(), gettimeofday_ns(), off, val)
}
probe qemu.kvm.log.usb_xhci_irq_intx = qemu.kvm.usb_xhci_irq_intx ?
{
    printf("%d@%d usb_xhci_irq_intx level %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.usb_xhci_irq_msi = qemu.kvm.usb_xhci_irq_msi ?
{
    printf("%d@%d usb_xhci_irq_msi nr %d\n", pid(), gettimeofday_ns(), nr)
}
probe qemu.kvm.log.usb_xhci_irq_msix = qemu.kvm.usb_xhci_irq_msix ?
{
    printf("%d@%d usb_xhci_irq_msix nr %d\n", pid(), gettimeofday_ns(), nr)
}
probe qemu.kvm.log.usb_xhci_irq_msix_use = qemu.kvm.usb_xhci_irq_msix_use ?
{
    printf("%d@%d usb_xhci_irq_msix_use nr %d\n", pid(), gettimeofday_ns(), nr)
}
probe qemu.kvm.log.usb_xhci_irq_msix_unuse = qemu.kvm.usb_xhci_irq_msix_unuse ?
{
    printf("%d@%d usb_xhci_irq_msix_unuse nr %d\n", pid(), gettimeofday_ns(), nr)
}
probe qemu.kvm.log.usb_xhci_queue_event = qemu.kvm.usb_xhci_queue_event ?
{
    try {
        argtrb_str = trb ? user_string_n(trb, 512) : "<null>"
    } catch {}
    try {
        argevt_str = evt ? user_string_n(evt, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_xhci_queue_event v %d, idx %d, %s, %s, p 0x%016x, s 0x%08x, c 0x%08x\n", pid(), gettimeofday_ns(), vector, idx, argtrb_str, argevt_str, param, status, control)
}
probe qemu.kvm.log.usb_xhci_fetch_trb = qemu.kvm.usb_xhci_fetch_trb ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_xhci_fetch_trb addr 0x%016x, %s, p 0x%016x, s 0x%08x, c 0x%08x\n", pid(), gettimeofday_ns(), addr, argname_str, param, status, control)
}
probe qemu.kvm.log.usb_xhci_port_reset = qemu.kvm.usb_xhci_port_reset ?
{
    printf("%d@%d usb_xhci_port_reset port %d, warm %d\n", pid(), gettimeofday_ns(), port, warm)
}
probe qemu.kvm.log.usb_xhci_port_link = qemu.kvm.usb_xhci_port_link ?
{
    printf("%d@%d usb_xhci_port_link port %d, pls %d\n", pid(), gettimeofday_ns(), port, pls)
}
probe qemu.kvm.log.usb_xhci_port_notify = qemu.kvm.usb_xhci_port_notify ?
{
    printf("%d@%d usb_xhci_port_notify port %d, bits 0x%x\n", pid(), gettimeofday_ns(), port, pls)
}
probe qemu.kvm.log.usb_xhci_slot_enable = qemu.kvm.usb_xhci_slot_enable ?
{
    printf("%d@%d usb_xhci_slot_enable slotid %d\n", pid(), gettimeofday_ns(), slotid)
}
probe qemu.kvm.log.usb_xhci_slot_disable = qemu.kvm.usb_xhci_slot_disable ?
{
    printf("%d@%d usb_xhci_slot_disable slotid %d\n", pid(), gettimeofday_ns(), slotid)
}
probe qemu.kvm.log.usb_xhci_slot_address = qemu.kvm.usb_xhci_slot_address ?
{
    try {
        argport_str = port ? user_string_n(port, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_xhci_slot_address slotid %d, port %s\n", pid(), gettimeofday_ns(), slotid, argport_str)
}
probe qemu.kvm.log.usb_xhci_slot_configure = qemu.kvm.usb_xhci_slot_configure ?
{
    printf("%d@%d usb_xhci_slot_configure slotid %d\n", pid(), gettimeofday_ns(), slotid)
}
probe qemu.kvm.log.usb_xhci_slot_evaluate = qemu.kvm.usb_xhci_slot_evaluate ?
{
    printf("%d@%d usb_xhci_slot_evaluate slotid %d\n", pid(), gettimeofday_ns(), slotid)
}
probe qemu.kvm.log.usb_xhci_slot_reset = qemu.kvm.usb_xhci_slot_reset ?
{
    printf("%d@%d usb_xhci_slot_reset slotid %d\n", pid(), gettimeofday_ns(), slotid)
}
probe qemu.kvm.log.usb_xhci_ep_enable = qemu.kvm.usb_xhci_ep_enable ?
{
    printf("%d@%d usb_xhci_ep_enable slotid %d, epid %d\n", pid(), gettimeofday_ns(), slotid, epid)
}
probe qemu.kvm.log.usb_xhci_ep_disable = qemu.kvm.usb_xhci_ep_disable ?
{
    printf("%d@%d usb_xhci_ep_disable slotid %d, epid %d\n", pid(), gettimeofday_ns(), slotid, epid)
}
probe qemu.kvm.log.usb_xhci_ep_set_dequeue = qemu.kvm.usb_xhci_ep_set_dequeue ?
{
    printf("%d@%d usb_xhci_ep_set_dequeue slotid %d, epid %d, streamid %d, ptr 0x%016x\n", pid(), gettimeofday_ns(), slotid, epid, streamid, param)
}
probe qemu.kvm.log.usb_xhci_ep_kick = qemu.kvm.usb_xhci_ep_kick ?
{
    printf("%d@%d usb_xhci_ep_kick slotid %d, epid %d, streamid %d\n", pid(), gettimeofday_ns(), slotid, epid, streamid)
}
probe qemu.kvm.log.usb_xhci_ep_stop = qemu.kvm.usb_xhci_ep_stop ?
{
    printf("%d@%d usb_xhci_ep_stop slotid %d, epid %d\n", pid(), gettimeofday_ns(), slotid, epid)
}
probe qemu.kvm.log.usb_xhci_ep_reset = qemu.kvm.usb_xhci_ep_reset ?
{
    printf("%d@%d usb_xhci_ep_reset slotid %d, epid %d\n", pid(), gettimeofday_ns(), slotid, epid)
}
probe qemu.kvm.log.usb_xhci_ep_state = qemu.kvm.usb_xhci_ep_state ?
{
    try {
        argos_str = os ? user_string_n(os, 512) : "<null>"
    } catch {}
    try {
        argns_str = ns ? user_string_n(ns, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_xhci_ep_state slotid %d, epid %d, %s -> %s\n", pid(), gettimeofday_ns(), slotid, epid, argos_str, argns_str)
}
probe qemu.kvm.log.usb_xhci_xfer_start = qemu.kvm.usb_xhci_xfer_start ?
{
    printf("%d@%d usb_xhci_xfer_start %p: slotid %d, epid %d, streamid %d\n", pid(), gettimeofday_ns(), xfer, slotid, epid, streamid)
}
probe qemu.kvm.log.usb_xhci_xfer_async = qemu.kvm.usb_xhci_xfer_async ?
{
    printf("%d@%d usb_xhci_xfer_async %p\n", pid(), gettimeofday_ns(), xfer)
}
probe qemu.kvm.log.usb_xhci_xfer_nak = qemu.kvm.usb_xhci_xfer_nak ?
{
    printf("%d@%d usb_xhci_xfer_nak %p\n", pid(), gettimeofday_ns(), xfer)
}
probe qemu.kvm.log.usb_xhci_xfer_retry = qemu.kvm.usb_xhci_xfer_retry ?
{
    printf("%d@%d usb_xhci_xfer_retry %p\n", pid(), gettimeofday_ns(), xfer)
}
probe qemu.kvm.log.usb_xhci_xfer_success = qemu.kvm.usb_xhci_xfer_success ?
{
    printf("%d@%d usb_xhci_xfer_success %p: len %d\n", pid(), gettimeofday_ns(), xfer, bytes)
}
probe qemu.kvm.log.usb_xhci_xfer_error = qemu.kvm.usb_xhci_xfer_error ?
{
    printf("%d@%d usb_xhci_xfer_error %p: ret %d\n", pid(), gettimeofday_ns(), xfer, ret)
}
probe qemu.kvm.log.usb_xhci_unimplemented = qemu.kvm.usb_xhci_unimplemented ?
{
    try {
        argitem_str = item ? user_string_n(item, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_xhci_unimplemented %s (0x%x)\n", pid(), gettimeofday_ns(), argitem_str, nr)
}
probe qemu.kvm.log.usb_xhci_enforced_limit = qemu.kvm.usb_xhci_enforced_limit ?
{
    try {
        argitem_str = item ? user_string_n(item, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_xhci_enforced_limit %s\n", pid(), gettimeofday_ns(), argitem_str)
}
probe qemu.kvm.log.usb_desc_device = qemu.kvm.usb_desc_device ?
{
    printf("%d@%d usb_desc_device dev %d query device, len %d, ret %d\n", pid(), gettimeofday_ns(), addr, len, ret)
}
probe qemu.kvm.log.usb_desc_device_qualifier = qemu.kvm.usb_desc_device_qualifier ?
{
    printf("%d@%d usb_desc_device_qualifier dev %d query device qualifier, len %d, ret %d\n", pid(), gettimeofday_ns(), addr, len, ret)
}
probe qemu.kvm.log.usb_desc_config = qemu.kvm.usb_desc_config ?
{
    printf("%d@%d usb_desc_config dev %d query config %d, len %d, ret %d\n", pid(), gettimeofday_ns(), addr, index, len, ret)
}
probe qemu.kvm.log.usb_desc_other_speed_config = qemu.kvm.usb_desc_other_speed_config ?
{
    printf("%d@%d usb_desc_other_speed_config dev %d query config %d, len %d, ret %d\n", pid(), gettimeofday_ns(), addr, index, len, ret)
}
probe qemu.kvm.log.usb_desc_string = qemu.kvm.usb_desc_string ?
{
    printf("%d@%d usb_desc_string dev %d query string %d, len %d, ret %d\n", pid(), gettimeofday_ns(), addr, index, len, ret)
}
probe qemu.kvm.log.usb_desc_bos = qemu.kvm.usb_desc_bos ?
{
    printf("%d@%d usb_desc_bos dev %d bos, len %d, ret %d\n", pid(), gettimeofday_ns(), addr, len, ret)
}
probe qemu.kvm.log.usb_desc_msos = qemu.kvm.usb_desc_msos ?
{
    printf("%d@%d usb_desc_msos dev %d msos, index 0x%x, len %d, ret %d\n", pid(), gettimeofday_ns(), addr, index, len, ret)
}
probe qemu.kvm.log.usb_set_addr = qemu.kvm.usb_set_addr ?
{
    printf("%d@%d usb_set_addr dev %d\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_set_config = qemu.kvm.usb_set_config ?
{
    printf("%d@%d usb_set_config dev %d, config %d, ret %d\n", pid(), gettimeofday_ns(), addr, config, ret)
}
probe qemu.kvm.log.usb_set_interface = qemu.kvm.usb_set_interface ?
{
    printf("%d@%d usb_set_interface dev %d, interface %d, altsetting %d, ret %d\n", pid(), gettimeofday_ns(), addr, iface, alt, ret)
}
probe qemu.kvm.log.usb_clear_device_feature = qemu.kvm.usb_clear_device_feature ?
{
    printf("%d@%d usb_clear_device_feature dev %d, feature %d, ret %d\n", pid(), gettimeofday_ns(), addr, feature, ret)
}
probe qemu.kvm.log.usb_set_device_feature = qemu.kvm.usb_set_device_feature ?
{
    printf("%d@%d usb_set_device_feature dev %d, feature %d, ret %d\n", pid(), gettimeofday_ns(), addr, feature, ret)
}
probe qemu.kvm.log.usb_hub_reset = qemu.kvm.usb_hub_reset ?
{
    printf("%d@%d usb_hub_reset dev %d\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_hub_control = qemu.kvm.usb_hub_control ?
{
    printf("%d@%d usb_hub_control dev %d, req 0x%x, value %d, index %d, langth %d\n", pid(), gettimeofday_ns(), addr, request, value, index, length)
}
probe qemu.kvm.log.usb_hub_get_port_status = qemu.kvm.usb_hub_get_port_status ?
{
    printf("%d@%d usb_hub_get_port_status dev %d, port %d, status 0x%x, changed 0x%x\n", pid(), gettimeofday_ns(), addr, nr, status, changed)
}
probe qemu.kvm.log.usb_hub_set_port_feature = qemu.kvm.usb_hub_set_port_feature ?
{
    try {
        argf_str = f ? user_string_n(f, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_hub_set_port_feature dev %d, port %d, feature %s\n", pid(), gettimeofday_ns(), addr, nr, argf_str)
}
probe qemu.kvm.log.usb_hub_clear_port_feature = qemu.kvm.usb_hub_clear_port_feature ?
{
    try {
        argf_str = f ? user_string_n(f, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_hub_clear_port_feature dev %d, port %d, feature %s\n", pid(), gettimeofday_ns(), addr, nr, argf_str)
}
probe qemu.kvm.log.usb_hub_attach = qemu.kvm.usb_hub_attach ?
{
    printf("%d@%d usb_hub_attach dev %d, port %d\n", pid(), gettimeofday_ns(), addr, nr)
}
probe qemu.kvm.log.usb_hub_detach = qemu.kvm.usb_hub_detach ?
{
    printf("%d@%d usb_hub_detach dev %d, port %d\n", pid(), gettimeofday_ns(), addr, nr)
}
probe qemu.kvm.log.usb_hub_status_report = qemu.kvm.usb_hub_status_report ?
{
    printf("%d@%d usb_hub_status_report dev %d, status 0x%x\n", pid(), gettimeofday_ns(), addr, status)
}
probe qemu.kvm.log.usb_uas_reset = qemu.kvm.usb_uas_reset ?
{
    printf("%d@%d usb_uas_reset dev %d\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_uas_command = qemu.kvm.usb_uas_command ?
{
    printf("%d@%d usb_uas_command dev %d, tag 0x%x, lun %d, lun64 0x%08x-0x%08x\n", pid(), gettimeofday_ns(), addr, tag, lun, lun64_1, lun64_2)
}
probe qemu.kvm.log.usb_uas_response = qemu.kvm.usb_uas_response ?
{
    printf("%d@%d usb_uas_response dev %d, tag 0x%x, code 0x%x\n", pid(), gettimeofday_ns(), addr, tag, code)
}
probe qemu.kvm.log.usb_uas_sense = qemu.kvm.usb_uas_sense ?
{
    printf("%d@%d usb_uas_sense dev %d, tag 0x%x, status 0x%x\n", pid(), gettimeofday_ns(), addr, tag, status)
}
probe qemu.kvm.log.usb_uas_read_ready = qemu.kvm.usb_uas_read_ready ?
{
    printf("%d@%d usb_uas_read_ready dev %d, tag 0x%x\n", pid(), gettimeofday_ns(), addr, tag)
}
probe qemu.kvm.log.usb_uas_write_ready = qemu.kvm.usb_uas_write_ready ?
{
    printf("%d@%d usb_uas_write_ready dev %d, tag 0x%x\n", pid(), gettimeofday_ns(), addr, tag)
}
probe qemu.kvm.log.usb_uas_xfer_data = qemu.kvm.usb_uas_xfer_data ?
{
    printf("%d@%d usb_uas_xfer_data dev %d, tag 0x%x, copy %d, usb-pkt %d/%d, scsi-buf %d/%d\n", pid(), gettimeofday_ns(), addr, tag, copy, uoff, usize, soff, ssize)
}
probe qemu.kvm.log.usb_uas_scsi_data = qemu.kvm.usb_uas_scsi_data ?
{
    printf("%d@%d usb_uas_scsi_data dev %d, tag 0x%x, bytes %d\n", pid(), gettimeofday_ns(), addr, tag, bytes)
}
probe qemu.kvm.log.usb_uas_scsi_complete = qemu.kvm.usb_uas_scsi_complete ?
{
    printf("%d@%d usb_uas_scsi_complete dev %d, tag 0x%x, status 0x%x, residue %d\n", pid(), gettimeofday_ns(), addr, tag, status, resid)
}
probe qemu.kvm.log.usb_uas_tmf_abort_task = qemu.kvm.usb_uas_tmf_abort_task ?
{
    printf("%d@%d usb_uas_tmf_abort_task dev %d, tag 0x%x, task-tag 0x%x\n", pid(), gettimeofday_ns(), addr, tag, task_tag)
}
probe qemu.kvm.log.usb_uas_tmf_logical_unit_reset = qemu.kvm.usb_uas_tmf_logical_unit_reset ?
{
    printf("%d@%d usb_uas_tmf_logical_unit_reset dev %d, tag 0x%x, lun %d\n", pid(), gettimeofday_ns(), addr, tag, lun)
}
probe qemu.kvm.log.usb_uas_tmf_unsupported = qemu.kvm.usb_uas_tmf_unsupported ?
{
    printf("%d@%d usb_uas_tmf_unsupported dev %d, tag 0x%x, function 0x%x\n", pid(), gettimeofday_ns(), addr, tag, function_)
}
probe qemu.kvm.log.usb_mtp_reset = qemu.kvm.usb_mtp_reset ?
{
    printf("%d@%d usb_mtp_reset dev %d\n", pid(), gettimeofday_ns(), addr)
}
probe qemu.kvm.log.usb_mtp_command = qemu.kvm.usb_mtp_command ?
{
    printf("%d@%d usb_mtp_command dev %d, code 0x%x, trans 0x%x, args 0x%x, 0x%x, 0x%x, 0x%x, 0x%x\n", pid(), gettimeofday_ns(), dev, code, trans, arg0, arg1, arg2, arg3, arg4)
}
probe qemu.kvm.log.usb_mtp_success = qemu.kvm.usb_mtp_success ?
{
    printf("%d@%d usb_mtp_success dev %d, trans 0x%x, args 0x%x, 0x%x\n", pid(), gettimeofday_ns(), dev, trans, arg0, arg1)
}
probe qemu.kvm.log.usb_mtp_error = qemu.kvm.usb_mtp_error ?
{
    printf("%d@%d usb_mtp_error dev %d, code 0x%x, trans 0x%x, args 0x%x, 0x%x\n", pid(), gettimeofday_ns(), dev, code, trans, arg0, arg1)
}
probe qemu.kvm.log.usb_mtp_data_in = qemu.kvm.usb_mtp_data_in ?
{
    printf("%d@%d usb_mtp_data_in dev %d, trans 0x%x, len %d\n", pid(), gettimeofday_ns(), dev, trans, len)
}
probe qemu.kvm.log.usb_mtp_xfer = qemu.kvm.usb_mtp_xfer ?
{
    printf("%d@%d usb_mtp_xfer dev %d, ep %d, %d/%d\n", pid(), gettimeofday_ns(), dev, ep, dlen, plen)
}
probe qemu.kvm.log.usb_mtp_nak = qemu.kvm.usb_mtp_nak ?
{
    printf("%d@%d usb_mtp_nak dev %d, ep %d\n", pid(), gettimeofday_ns(), dev, ep)
}
probe qemu.kvm.log.usb_mtp_stall = qemu.kvm.usb_mtp_stall ?
{
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_stall dev %d, reason: %s\n", pid(), gettimeofday_ns(), dev, argreason_str)
}
probe qemu.kvm.log.usb_mtp_op_get_device_info = qemu.kvm.usb_mtp_op_get_device_info ?
{
    printf("%d@%d usb_mtp_op_get_device_info dev %d\n", pid(), gettimeofday_ns(), dev)
}
probe qemu.kvm.log.usb_mtp_op_open_session = qemu.kvm.usb_mtp_op_open_session ?
{
    printf("%d@%d usb_mtp_op_open_session dev %d\n", pid(), gettimeofday_ns(), dev)
}
probe qemu.kvm.log.usb_mtp_op_close_session = qemu.kvm.usb_mtp_op_close_session ?
{
    printf("%d@%d usb_mtp_op_close_session dev %d\n", pid(), gettimeofday_ns(), dev)
}
probe qemu.kvm.log.usb_mtp_op_get_storage_ids = qemu.kvm.usb_mtp_op_get_storage_ids ?
{
    printf("%d@%d usb_mtp_op_get_storage_ids dev %d\n", pid(), gettimeofday_ns(), dev)
}
probe qemu.kvm.log.usb_mtp_op_get_storage_info = qemu.kvm.usb_mtp_op_get_storage_info ?
{
    printf("%d@%d usb_mtp_op_get_storage_info dev %d\n", pid(), gettimeofday_ns(), dev)
}
probe qemu.kvm.log.usb_mtp_op_get_num_objects = qemu.kvm.usb_mtp_op_get_num_objects ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_op_get_num_objects dev %d, handle 0x%x, path %s\n", pid(), gettimeofday_ns(), dev, handle, argpath_str)
}
probe qemu.kvm.log.usb_mtp_op_get_object_handles = qemu.kvm.usb_mtp_op_get_object_handles ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_op_get_object_handles dev %d, handle 0x%x, path %s\n", pid(), gettimeofday_ns(), dev, handle, argpath_str)
}
probe qemu.kvm.log.usb_mtp_op_get_object_info = qemu.kvm.usb_mtp_op_get_object_info ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_op_get_object_info dev %d, handle 0x%x, path %s\n", pid(), gettimeofday_ns(), dev, handle, argpath_str)
}
probe qemu.kvm.log.usb_mtp_op_get_object = qemu.kvm.usb_mtp_op_get_object ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_op_get_object dev %d, handle 0x%x, path %s\n", pid(), gettimeofday_ns(), dev, handle, argpath_str)
}
probe qemu.kvm.log.usb_mtp_op_get_partial_object = qemu.kvm.usb_mtp_op_get_partial_object ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_op_get_partial_object dev %d, handle 0x%x, path %s, off %d, len %d\n", pid(), gettimeofday_ns(), dev, handle, argpath_str, offset, length)
}
probe qemu.kvm.log.usb_mtp_op_unknown = qemu.kvm.usb_mtp_op_unknown ?
{
    printf("%d@%d usb_mtp_op_unknown dev %d, command code 0x%x\n", pid(), gettimeofday_ns(), dev, code)
}
probe qemu.kvm.log.usb_mtp_object_alloc = qemu.kvm.usb_mtp_object_alloc ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_object_alloc dev %d, handle 0x%x, path %s\n", pid(), gettimeofday_ns(), dev, handle, argpath_str)
}
probe qemu.kvm.log.usb_mtp_object_free = qemu.kvm.usb_mtp_object_free ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_object_free dev %d, handle 0x%x, path %s\n", pid(), gettimeofday_ns(), dev, handle, argpath_str)
}
probe qemu.kvm.log.usb_mtp_add_child = qemu.kvm.usb_mtp_add_child ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_add_child dev %d, handle 0x%x, path %s\n", pid(), gettimeofday_ns(), dev, handle, argpath_str)
}
probe qemu.kvm.log.usb_mtp_file_monitor_event = qemu.kvm.usb_mtp_file_monitor_event ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_mtp_file_monitor_event dev %d, path %s event %s\n", pid(), gettimeofday_ns(), dev, argpath_str, args_str)
}
probe qemu.kvm.log.usb_host_open_started = qemu.kvm.usb_host_open_started ?
{
    printf("%d@%d usb_host_open_started dev %d:%d\n", pid(), gettimeofday_ns(), bus, addr)
}
probe qemu.kvm.log.usb_host_open_success = qemu.kvm.usb_host_open_success ?
{
    printf("%d@%d usb_host_open_success dev %d:%d\n", pid(), gettimeofday_ns(), bus, addr)
}
probe qemu.kvm.log.usb_host_open_failure = qemu.kvm.usb_host_open_failure ?
{
    printf("%d@%d usb_host_open_failure dev %d:%d\n", pid(), gettimeofday_ns(), bus, addr)
}
probe qemu.kvm.log.usb_host_close = qemu.kvm.usb_host_close ?
{
    printf("%d@%d usb_host_close dev %d:%d\n", pid(), gettimeofday_ns(), bus, addr)
}
probe qemu.kvm.log.usb_host_attach_kernel = qemu.kvm.usb_host_attach_kernel ?
{
    printf("%d@%d usb_host_attach_kernel dev %d:%d, if %d\n", pid(), gettimeofday_ns(), bus, addr, interface)
}
probe qemu.kvm.log.usb_host_detach_kernel = qemu.kvm.usb_host_detach_kernel ?
{
    printf("%d@%d usb_host_detach_kernel dev %d:%d, if %d\n", pid(), gettimeofday_ns(), bus, addr, interface)
}
probe qemu.kvm.log.usb_host_set_address = qemu.kvm.usb_host_set_address ?
{
    printf("%d@%d usb_host_set_address dev %d:%d, address %d\n", pid(), gettimeofday_ns(), bus, addr, config)
}
probe qemu.kvm.log.usb_host_set_config = qemu.kvm.usb_host_set_config ?
{
    printf("%d@%d usb_host_set_config dev %d:%d, config %d\n", pid(), gettimeofday_ns(), bus, addr, config)
}
probe qemu.kvm.log.usb_host_set_interface = qemu.kvm.usb_host_set_interface ?
{
    printf("%d@%d usb_host_set_interface dev %d:%d, interface %d, alt %d\n", pid(), gettimeofday_ns(), bus, addr, interface, alt)
}
probe qemu.kvm.log.usb_host_claim_interface = qemu.kvm.usb_host_claim_interface ?
{
    printf("%d@%d usb_host_claim_interface dev %d:%d, config %d, if %d\n", pid(), gettimeofday_ns(), bus, addr, config, interface)
}
probe qemu.kvm.log.usb_host_release_interface = qemu.kvm.usb_host_release_interface ?
{
    printf("%d@%d usb_host_release_interface dev %d:%d, if %d\n", pid(), gettimeofday_ns(), bus, addr, interface)
}
probe qemu.kvm.log.usb_host_req_control = qemu.kvm.usb_host_req_control ?
{
    printf("%d@%d usb_host_req_control dev %d:%d, packet %p, req 0x%x, value %d, index %d\n", pid(), gettimeofday_ns(), bus, addr, p, req, value, index)
}
probe qemu.kvm.log.usb_host_req_data = qemu.kvm.usb_host_req_data ?
{
    printf("%d@%d usb_host_req_data dev %d:%d, packet %p, in %d, ep %d, size %d\n", pid(), gettimeofday_ns(), bus, addr, p, in_, ep, size)
}
probe qemu.kvm.log.usb_host_req_complete = qemu.kvm.usb_host_req_complete ?
{
    printf("%d@%d usb_host_req_complete dev %d:%d, packet %p, status %d, length %d\n", pid(), gettimeofday_ns(), bus, addr, p, status, length)
}
probe qemu.kvm.log.usb_host_req_emulated = qemu.kvm.usb_host_req_emulated ?
{
    printf("%d@%d usb_host_req_emulated dev %d:%d, packet %p, status %d\n", pid(), gettimeofday_ns(), bus, addr, p, status)
}
probe qemu.kvm.log.usb_host_req_canceled = qemu.kvm.usb_host_req_canceled ?
{
    printf("%d@%d usb_host_req_canceled dev %d:%d, packet %p\n", pid(), gettimeofday_ns(), bus, addr, p)
}
probe qemu.kvm.log.usb_host_iso_start = qemu.kvm.usb_host_iso_start ?
{
    printf("%d@%d usb_host_iso_start dev %d:%d, ep %d\n", pid(), gettimeofday_ns(), bus, addr, ep)
}
probe qemu.kvm.log.usb_host_iso_stop = qemu.kvm.usb_host_iso_stop ?
{
    printf("%d@%d usb_host_iso_stop dev %d:%d, ep %d\n", pid(), gettimeofday_ns(), bus, addr, ep)
}
probe qemu.kvm.log.usb_host_iso_out_of_bufs = qemu.kvm.usb_host_iso_out_of_bufs ?
{
    printf("%d@%d usb_host_iso_out_of_bufs dev %d:%d, ep %d\n", pid(), gettimeofday_ns(), bus, addr, ep)
}
probe qemu.kvm.log.usb_host_reset = qemu.kvm.usb_host_reset ?
{
    printf("%d@%d usb_host_reset dev %d:%d\n", pid(), gettimeofday_ns(), bus, addr)
}
probe qemu.kvm.log.usb_host_auto_scan_enabled = qemu.kvm.usb_host_auto_scan_enabled ?
{
    printf("%d@%d usb_host_auto_scan_enabled \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_host_auto_scan_disabled = qemu.kvm.usb_host_auto_scan_disabled ?
{
    printf("%d@%d usb_host_auto_scan_disabled \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.usb_host_parse_config = qemu.kvm.usb_host_parse_config ?
{
    printf("%d@%d usb_host_parse_config dev %d:%d, value %d, active %d\n", pid(), gettimeofday_ns(), bus, addr, value, active)
}
probe qemu.kvm.log.usb_host_parse_interface = qemu.kvm.usb_host_parse_interface ?
{
    printf("%d@%d usb_host_parse_interface dev %d:%d, num %d, alt %d, active %d\n", pid(), gettimeofday_ns(), bus, addr, num, alt, active)
}
probe qemu.kvm.log.usb_host_parse_endpoint = qemu.kvm.usb_host_parse_endpoint ?
{
    try {
        argdir_str = dir ? user_string_n(dir, 512) : "<null>"
    } catch {}
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_host_parse_endpoint dev %d:%d, ep %d, %s, %s, active %d\n", pid(), gettimeofday_ns(), bus, addr, ep, argdir_str, argtype_str, active)
}
probe qemu.kvm.log.usb_host_parse_error = qemu.kvm.usb_host_parse_error ?
{
    try {
        argerrmsg_str = errmsg ? user_string_n(errmsg, 512) : "<null>"
    } catch {}
    printf("%d@%d usb_host_parse_error dev %d:%d, msg %s\n", pid(), gettimeofday_ns(), bus, addr, argerrmsg_str)
}
probe qemu.kvm.log.vfio_intx_interrupt = qemu.kvm.vfio_intx_interrupt ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_intx_interrupt  (%s) Pin %c\n", pid(), gettimeofday_ns(), argname_str, line)
}
probe qemu.kvm.log.vfio_intx_eoi = qemu.kvm.vfio_intx_eoi ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_intx_eoi  (%s) EOI\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_intx_enable_kvm = qemu.kvm.vfio_intx_enable_kvm ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_intx_enable_kvm  (%s) KVM INTx accel enabled\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_intx_disable_kvm = qemu.kvm.vfio_intx_disable_kvm ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_intx_disable_kvm  (%s) KVM INTx accel disabled\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_intx_update = qemu.kvm.vfio_intx_update ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_intx_update  (%s) IRQ moved %d -> %d\n", pid(), gettimeofday_ns(), argname_str, new_irq, target_irq)
}
probe qemu.kvm.log.vfio_intx_enable = qemu.kvm.vfio_intx_enable ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_intx_enable  (%s)\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_intx_disable = qemu.kvm.vfio_intx_disable ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_intx_disable  (%s)\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_msi_interrupt = qemu.kvm.vfio_msi_interrupt ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msi_interrupt  (%s) vector %d 0x%x/0x%x\n", pid(), gettimeofday_ns(), argname_str, index, addr, data)
}
probe qemu.kvm.log.vfio_msix_vector_do_use = qemu.kvm.vfio_msix_vector_do_use ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msix_vector_do_use  (%s) vector %d used\n", pid(), gettimeofday_ns(), argname_str, index)
}
probe qemu.kvm.log.vfio_msix_vector_release = qemu.kvm.vfio_msix_vector_release ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msix_vector_release  (%s) vector %d released\n", pid(), gettimeofday_ns(), argname_str, index)
}
probe qemu.kvm.log.vfio_msix_enable = qemu.kvm.vfio_msix_enable ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msix_enable  (%s)\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_msix_pba_disable = qemu.kvm.vfio_msix_pba_disable ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msix_pba_disable  (%s)\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_msix_pba_enable = qemu.kvm.vfio_msix_pba_enable ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msix_pba_enable  (%s)\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_msix_disable = qemu.kvm.vfio_msix_disable ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msix_disable  (%s)\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_msix_fixup = qemu.kvm.vfio_msix_fixup ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msix_fixup  (%s) MSI-X region %d mmap fixup [0x%x - 0x%x]\n", pid(), gettimeofday_ns(), argname_str, bar, start, end)
}
probe qemu.kvm.log.vfio_msix_relo = qemu.kvm.vfio_msix_relo ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msix_relo  (%s) BAR %d offset 0x%x\n", pid(), gettimeofday_ns(), argname_str, bar, offset)
}
probe qemu.kvm.log.vfio_msi_enable = qemu.kvm.vfio_msi_enable ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msi_enable  (%s) Enabled %d MSI vectors\n", pid(), gettimeofday_ns(), argname_str, nr_vectors)
}
probe qemu.kvm.log.vfio_msi_disable = qemu.kvm.vfio_msi_disable ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msi_disable  (%s)\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_pci_load_rom = qemu.kvm.vfio_pci_load_rom ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_load_rom Device %s ROM:\n  size: 0x%lx, offset: 0x%lx, flags: 0x%lx\n", pid(), gettimeofday_ns(), argname_str, size, offset, flags)
}
probe qemu.kvm.log.vfio_rom_read = qemu.kvm.vfio_rom_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_rom_read  (%s, 0x%x, 0x%x) = 0x%x\n", pid(), gettimeofday_ns(), argname_str, addr, size, data)
}
probe qemu.kvm.log.vfio_pci_size_rom = qemu.kvm.vfio_pci_size_rom ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_size_rom %s ROM size 0x%x\n", pid(), gettimeofday_ns(), argname_str, size)
}
probe qemu.kvm.log.vfio_vga_write = qemu.kvm.vfio_vga_write ?
{
    printf("%d@%d vfio_vga_write  (0x%x, 0x%x, %d)\n", pid(), gettimeofday_ns(), addr, data, size)
}
probe qemu.kvm.log.vfio_vga_read = qemu.kvm.vfio_vga_read ?
{
    printf("%d@%d vfio_vga_read  (0x%x, %d) = 0x%x\n", pid(), gettimeofday_ns(), addr, size, data)
}
probe qemu.kvm.log.vfio_pci_read_config = qemu.kvm.vfio_pci_read_config ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_read_config  (%s, @0x%x, len=0x%x) 0x%x\n", pid(), gettimeofday_ns(), argname_str, addr, len, val)
}
probe qemu.kvm.log.vfio_pci_write_config = qemu.kvm.vfio_pci_write_config ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_write_config  (%s, @0x%x, 0x%x, len=0x%x)\n", pid(), gettimeofday_ns(), argname_str, addr, val, len)
}
probe qemu.kvm.log.vfio_msi_setup = qemu.kvm.vfio_msi_setup ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msi_setup %s PCI MSI CAP @0x%x\n", pid(), gettimeofday_ns(), argname_str, pos)
}
probe qemu.kvm.log.vfio_msix_early_setup = qemu.kvm.vfio_msix_early_setup ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_msix_early_setup %s PCI MSI-X CAP @0x%x, BAR %d, offset 0x%x, entries %d\n", pid(), gettimeofday_ns(), argname_str, pos, table_bar, offset, entries)
}
probe qemu.kvm.log.vfio_check_pcie_flr = qemu.kvm.vfio_check_pcie_flr ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_check_pcie_flr %s Supports FLR via PCIe cap\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_check_pm_reset = qemu.kvm.vfio_check_pm_reset ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_check_pm_reset %s Supports PM reset\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_check_af_flr = qemu.kvm.vfio_check_af_flr ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_check_af_flr %s Supports FLR via AF cap\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_pci_hot_reset = qemu.kvm.vfio_pci_hot_reset ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_hot_reset  (%s) %s\n", pid(), gettimeofday_ns(), argname_str, argtype_str)
}
probe qemu.kvm.log.vfio_pci_hot_reset_has_dep_devices = qemu.kvm.vfio_pci_hot_reset_has_dep_devices ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_hot_reset_has_dep_devices %s: hot reset dependent devices:\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_pci_hot_reset_dep_devices = qemu.kvm.vfio_pci_hot_reset_dep_devices ?
{
    printf("%d@%d vfio_pci_hot_reset_dep_devices \t%04x:%02x:%02x.%x group %d\n", pid(), gettimeofday_ns(), domain, bus, slot, function_, group_id)
}
probe qemu.kvm.log.vfio_pci_hot_reset_result = qemu.kvm.vfio_pci_hot_reset_result ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argresult_str = result ? user_string_n(result, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_hot_reset_result %s hot reset: %s\n", pid(), gettimeofday_ns(), argname_str, argresult_str)
}
probe qemu.kvm.log.vfio_populate_device_config = qemu.kvm.vfio_populate_device_config ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_populate_device_config Device %s config:\n  size: 0x%lx, offset: 0x%lx, flags: 0x%lx\n", pid(), gettimeofday_ns(), argname_str, size, offset, flags)
}
probe qemu.kvm.log.vfio_populate_device_get_irq_info_failure = qemu.kvm.vfio_populate_device_get_irq_info_failure ?
{
    try {
        argerrstr_str = errstr ? user_string_n(errstr, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_populate_device_get_irq_info_failure VFIO_DEVICE_GET_IRQ_INFO failure: %s\n", pid(), gettimeofday_ns(), argerrstr_str)
}
probe qemu.kvm.log.vfio_realize = qemu.kvm.vfio_realize ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_realize  (%s) group %d\n", pid(), gettimeofday_ns(), argname_str, group_id)
}
probe qemu.kvm.log.vfio_mdev = qemu.kvm.vfio_mdev ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_mdev  (%s) is_mdev %d\n", pid(), gettimeofday_ns(), argname_str, is_mdev)
}
probe qemu.kvm.log.vfio_add_ext_cap_dropped = qemu.kvm.vfio_add_ext_cap_dropped ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_add_ext_cap_dropped %s 0x%x@0x%x\n", pid(), gettimeofday_ns(), argname_str, cap, offset)
}
probe qemu.kvm.log.vfio_pci_reset = qemu.kvm.vfio_pci_reset ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_reset  (%s)\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_pci_reset_flr = qemu.kvm.vfio_pci_reset_flr ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_reset_flr %s FLR/VFIO_DEVICE_RESET\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_pci_reset_pm = qemu.kvm.vfio_pci_reset_pm ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_reset_pm %s PCI PM Reset\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_pci_emulated_vendor_id = qemu.kvm.vfio_pci_emulated_vendor_id ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_emulated_vendor_id %s 0x%04x\n", pid(), gettimeofday_ns(), argname_str, val)
}
probe qemu.kvm.log.vfio_pci_emulated_device_id = qemu.kvm.vfio_pci_emulated_device_id ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_emulated_device_id %s 0x%04x\n", pid(), gettimeofday_ns(), argname_str, val)
}
probe qemu.kvm.log.vfio_pci_emulated_sub_vendor_id = qemu.kvm.vfio_pci_emulated_sub_vendor_id ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_emulated_sub_vendor_id %s 0x%04x\n", pid(), gettimeofday_ns(), argname_str, val)
}
probe qemu.kvm.log.vfio_pci_emulated_sub_device_id = qemu.kvm.vfio_pci_emulated_sub_device_id ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_emulated_sub_device_id %s 0x%04x\n", pid(), gettimeofday_ns(), argname_str, val)
}
probe qemu.kvm.log.vfio_quirk_rom_blacklisted = qemu.kvm.vfio_quirk_rom_blacklisted ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_rom_blacklisted %s %04x:%04x\n", pid(), gettimeofday_ns(), argname_str, vid, did)
}
probe qemu.kvm.log.vfio_quirk_generic_window_address_write = qemu.kvm.vfio_quirk_generic_window_address_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argregion_name_str = region_name ? user_string_n(region_name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_generic_window_address_write %s %s 0x%x\n", pid(), gettimeofday_ns(), argname_str, argregion_name_str, data)
}
probe qemu.kvm.log.vfio_quirk_generic_window_data_read = qemu.kvm.vfio_quirk_generic_window_data_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argregion_name_str = region_name ? user_string_n(region_name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_generic_window_data_read %s %s 0x%x\n", pid(), gettimeofday_ns(), argname_str, argregion_name_str, data)
}
probe qemu.kvm.log.vfio_quirk_generic_window_data_write = qemu.kvm.vfio_quirk_generic_window_data_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argregion_name_str = region_name ? user_string_n(region_name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_generic_window_data_write %s %s 0x%x\n", pid(), gettimeofday_ns(), argname_str, argregion_name_str, data)
}
probe qemu.kvm.log.vfio_quirk_generic_mirror_read = qemu.kvm.vfio_quirk_generic_mirror_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argregion_name_str = region_name ? user_string_n(region_name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_generic_mirror_read %s %s 0x%x: 0x%x\n", pid(), gettimeofday_ns(), argname_str, argregion_name_str, addr, data)
}
probe qemu.kvm.log.vfio_quirk_generic_mirror_write = qemu.kvm.vfio_quirk_generic_mirror_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argregion_name_str = region_name ? user_string_n(region_name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_generic_mirror_write %s %s 0x%x: 0x%x\n", pid(), gettimeofday_ns(), argname_str, argregion_name_str, addr, data)
}
probe qemu.kvm.log.vfio_quirk_ati_3c3_read = qemu.kvm.vfio_quirk_ati_3c3_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_ati_3c3_read %s 0x%x\n", pid(), gettimeofday_ns(), argname_str, data)
}
probe qemu.kvm.log.vfio_quirk_ati_3c3_probe = qemu.kvm.vfio_quirk_ati_3c3_probe ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_ati_3c3_probe %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_ati_bar4_probe = qemu.kvm.vfio_quirk_ati_bar4_probe ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_ati_bar4_probe %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_ati_bar2_probe = qemu.kvm.vfio_quirk_ati_bar2_probe ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_ati_bar2_probe %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_nvidia_3d0_state = qemu.kvm.vfio_quirk_nvidia_3d0_state ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_nvidia_3d0_state %s %s\n", pid(), gettimeofday_ns(), argname_str, argstate_str)
}
probe qemu.kvm.log.vfio_quirk_nvidia_3d0_read = qemu.kvm.vfio_quirk_nvidia_3d0_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_nvidia_3d0_read  (%s, @0x%x, len=0x%x) 0x%x\n", pid(), gettimeofday_ns(), argname_str, offset, size, val)
}
probe qemu.kvm.log.vfio_quirk_nvidia_3d0_write = qemu.kvm.vfio_quirk_nvidia_3d0_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_nvidia_3d0_write (%s, @0x%x, 0x%x, len=0x%x)\n", pid(), gettimeofday_ns(), argname_str, offset, data, size)
}
probe qemu.kvm.log.vfio_quirk_nvidia_3d0_probe = qemu.kvm.vfio_quirk_nvidia_3d0_probe ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_nvidia_3d0_probe %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_nvidia_bar5_state = qemu.kvm.vfio_quirk_nvidia_bar5_state ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_nvidia_bar5_state %s %s\n", pid(), gettimeofday_ns(), argname_str, argstate_str)
}
probe qemu.kvm.log.vfio_quirk_nvidia_bar5_probe = qemu.kvm.vfio_quirk_nvidia_bar5_probe ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_nvidia_bar5_probe %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_nvidia_bar0_msi_ack = qemu.kvm.vfio_quirk_nvidia_bar0_msi_ack ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_nvidia_bar0_msi_ack %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_nvidia_bar0_probe = qemu.kvm.vfio_quirk_nvidia_bar0_probe ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_nvidia_bar0_probe %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_rtl8168_fake_latch = qemu.kvm.vfio_quirk_rtl8168_fake_latch ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_rtl8168_fake_latch %s 0x%x\n", pid(), gettimeofday_ns(), argname_str, val)
}
probe qemu.kvm.log.vfio_quirk_rtl8168_msix_write = qemu.kvm.vfio_quirk_rtl8168_msix_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_rtl8168_msix_write %s MSI-X table write[0x%x]: 0x%x\n", pid(), gettimeofday_ns(), argname_str, offset, val)
}
probe qemu.kvm.log.vfio_quirk_rtl8168_msix_read = qemu.kvm.vfio_quirk_rtl8168_msix_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_rtl8168_msix_read %s MSI-X table read[0x%x]: 0x%x\n", pid(), gettimeofday_ns(), argname_str, offset, val)
}
probe qemu.kvm.log.vfio_quirk_rtl8168_probe = qemu.kvm.vfio_quirk_rtl8168_probe ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_rtl8168_probe %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_ati_bonaire_reset_skipped = qemu.kvm.vfio_quirk_ati_bonaire_reset_skipped ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_ati_bonaire_reset_skipped %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_ati_bonaire_reset_no_smc = qemu.kvm.vfio_quirk_ati_bonaire_reset_no_smc ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_ati_bonaire_reset_no_smc %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_ati_bonaire_reset_timeout = qemu.kvm.vfio_quirk_ati_bonaire_reset_timeout ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_ati_bonaire_reset_timeout %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_ati_bonaire_reset_done = qemu.kvm.vfio_quirk_ati_bonaire_reset_done ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_ati_bonaire_reset_done %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_quirk_ati_bonaire_reset = qemu.kvm.vfio_quirk_ati_bonaire_reset ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_quirk_ati_bonaire_reset %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_ioeventfd_exit = qemu.kvm.vfio_ioeventfd_exit ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_ioeventfd_exit %s+0x%x[%d]:0x%x\n", pid(), gettimeofday_ns(), argname_str, addr, size, data)
}
probe qemu.kvm.log.vfio_ioeventfd_handler = qemu.kvm.vfio_ioeventfd_handler ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_ioeventfd_handler %s+0x%x[%d] -> 0x%x\n", pid(), gettimeofday_ns(), argname_str, addr, size, data)
}
probe qemu.kvm.log.vfio_ioeventfd_init = qemu.kvm.vfio_ioeventfd_init ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_ioeventfd_init %s+0x%x[%d]:0x%x vfio:%d\n", pid(), gettimeofday_ns(), argname_str, addr, size, data, vfio)
}
probe qemu.kvm.log.vfio_pci_igd_bar4_write = qemu.kvm.vfio_pci_igd_bar4_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_igd_bar4_write %s [0x%03x] 0x%08x -> 0x%08x\n", pid(), gettimeofday_ns(), argname_str, index, data, base)
}
probe qemu.kvm.log.vfio_pci_igd_bdsm_enabled = qemu.kvm.vfio_pci_igd_bdsm_enabled ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_igd_bdsm_enabled %s %dMB\n", pid(), gettimeofday_ns(), argname_str, size)
}
probe qemu.kvm.log.vfio_pci_igd_opregion_enabled = qemu.kvm.vfio_pci_igd_opregion_enabled ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_igd_opregion_enabled %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_pci_igd_host_bridge_enabled = qemu.kvm.vfio_pci_igd_host_bridge_enabled ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_igd_host_bridge_enabled %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_pci_igd_lpc_bridge_enabled = qemu.kvm.vfio_pci_igd_lpc_bridge_enabled ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_igd_lpc_bridge_enabled %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vfio_pci_nvidia_gpu_setup_quirk = qemu.kvm.vfio_pci_nvidia_gpu_setup_quirk ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_nvidia_gpu_setup_quirk %s tgt=0x%x size=0x%x\n", pid(), gettimeofday_ns(), argname_str, tgt, size)
}
probe qemu.kvm.log.vfio_pci_nvlink2_setup_quirk_ssatgt = qemu.kvm.vfio_pci_nvlink2_setup_quirk_ssatgt ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_nvlink2_setup_quirk_ssatgt %s tgt=0x%x size=0x%x\n", pid(), gettimeofday_ns(), argname_str, tgt, size)
}
probe qemu.kvm.log.vfio_pci_nvlink2_setup_quirk_lnkspd = qemu.kvm.vfio_pci_nvlink2_setup_quirk_lnkspd ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_pci_nvlink2_setup_quirk_lnkspd %s link_speed=0x%x\n", pid(), gettimeofday_ns(), argname_str, link_speed)
}
probe qemu.kvm.log.vfio_region_write = qemu.kvm.vfio_region_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_region_write  (%s:region%d+0x%x, 0x%x, %d)\n", pid(), gettimeofday_ns(), argname_str, index, addr, data, size)
}
probe qemu.kvm.log.vfio_region_read = qemu.kvm.vfio_region_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_region_read  (%s:region%d+0x%x, %d) = 0x%x\n", pid(), gettimeofday_ns(), argname_str, index, addr, size, data)
}
probe qemu.kvm.log.vfio_iommu_map_notify = qemu.kvm.vfio_iommu_map_notify ?
{
    try {
        argop_str = op ? user_string_n(op, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_iommu_map_notify iommu %s @ 0x%x - 0x%x\n", pid(), gettimeofday_ns(), argop_str, iova_start, iova_end)
}
probe qemu.kvm.log.vfio_listener_region_add_skip = qemu.kvm.vfio_listener_region_add_skip ?
{
    printf("%d@%d vfio_listener_region_add_skip SKIPPING region_add 0x%x - 0x%x\n", pid(), gettimeofday_ns(), start, end)
}
probe qemu.kvm.log.vfio_spapr_group_attach = qemu.kvm.vfio_spapr_group_attach ?
{
    printf("%d@%d vfio_spapr_group_attach Attached groupfd %d to liobn fd %d\n", pid(), gettimeofday_ns(), groupfd, tablefd)
}
probe qemu.kvm.log.vfio_listener_region_add_iommu = qemu.kvm.vfio_listener_region_add_iommu ?
{
    printf("%d@%d vfio_listener_region_add_iommu region_add [iommu] 0x%x - 0x%x\n", pid(), gettimeofday_ns(), start, end)
}
probe qemu.kvm.log.vfio_listener_region_add_ram = qemu.kvm.vfio_listener_region_add_ram ?
{
    printf("%d@%d vfio_listener_region_add_ram region_add [ram] 0x%x - 0x%x [%p]\n", pid(), gettimeofday_ns(), iova_start, iova_end, vaddr)
}
probe qemu.kvm.log.vfio_listener_region_add_no_dma_map = qemu.kvm.vfio_listener_region_add_no_dma_map ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_listener_region_add_no_dma_map Region \"%s\" 0x%x size=0x%x is not aligned to 0x%x and cannot be mapped for DMA\n", pid(), gettimeofday_ns(), argname_str, iova, size, page_size)
}
probe qemu.kvm.log.vfio_listener_region_del_skip = qemu.kvm.vfio_listener_region_del_skip ?
{
    printf("%d@%d vfio_listener_region_del_skip SKIPPING region_del 0x%x - 0x%x\n", pid(), gettimeofday_ns(), start, end)
}
probe qemu.kvm.log.vfio_listener_region_del = qemu.kvm.vfio_listener_region_del ?
{
    printf("%d@%d vfio_listener_region_del region_del 0x%x - 0x%x\n", pid(), gettimeofday_ns(), start, end)
}
probe qemu.kvm.log.vfio_disconnect_container = qemu.kvm.vfio_disconnect_container ?
{
    printf("%d@%d vfio_disconnect_container close container->fd=%d\n", pid(), gettimeofday_ns(), fd)
}
probe qemu.kvm.log.vfio_put_group = qemu.kvm.vfio_put_group ?
{
    printf("%d@%d vfio_put_group close group->fd=%d\n", pid(), gettimeofday_ns(), fd)
}
probe qemu.kvm.log.vfio_get_device = qemu.kvm.vfio_get_device ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_get_device Device %s flags: %u, regions: %u, irqs: %u\n", pid(), gettimeofday_ns(), argname_str, flags, num_regions, num_irqs)
}
probe qemu.kvm.log.vfio_put_base_device = qemu.kvm.vfio_put_base_device ?
{
    printf("%d@%d vfio_put_base_device close vdev->fd=%d\n", pid(), gettimeofday_ns(), fd)
}
probe qemu.kvm.log.vfio_region_setup = qemu.kvm.vfio_region_setup ?
{
    try {
        argdev_str = dev ? user_string_n(dev, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_region_setup Device %s, region %d \"%s\", flags: 0x%lx, offset: 0x%lx, size: 0x%lx\n", pid(), gettimeofday_ns(), argdev_str, index, argname_str, flags, offset, size)
}
probe qemu.kvm.log.vfio_region_mmap_fault = qemu.kvm.vfio_region_mmap_fault ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_region_mmap_fault Region %s mmaps[%d], [0x%lx - 0x%lx], fault: %d\n", pid(), gettimeofday_ns(), argname_str, index, offset, size, fault)
}
probe qemu.kvm.log.vfio_region_mmap = qemu.kvm.vfio_region_mmap ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_region_mmap Region %s [0x%lx - 0x%lx]\n", pid(), gettimeofday_ns(), argname_str, offset, end)
}
probe qemu.kvm.log.vfio_region_exit = qemu.kvm.vfio_region_exit ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_region_exit Device %s, region %d\n", pid(), gettimeofday_ns(), argname_str, index)
}
probe qemu.kvm.log.vfio_region_finalize = qemu.kvm.vfio_region_finalize ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_region_finalize Device %s, region %d\n", pid(), gettimeofday_ns(), argname_str, index)
}
probe qemu.kvm.log.vfio_region_mmaps_set_enabled = qemu.kvm.vfio_region_mmaps_set_enabled ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_region_mmaps_set_enabled Region %s mmaps enabled: %d\n", pid(), gettimeofday_ns(), argname_str, enabled)
}
probe qemu.kvm.log.vfio_region_sparse_mmap_header = qemu.kvm.vfio_region_sparse_mmap_header ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_region_sparse_mmap_header Device %s region %d: %d sparse mmap entries\n", pid(), gettimeofday_ns(), argname_str, index, nr_areas)
}
probe qemu.kvm.log.vfio_region_sparse_mmap_entry = qemu.kvm.vfio_region_sparse_mmap_entry ?
{
    printf("%d@%d vfio_region_sparse_mmap_entry sparse entry %d [0x%lx - 0x%lx]\n", pid(), gettimeofday_ns(), i, start, end)
}
probe qemu.kvm.log.vfio_get_dev_region = qemu.kvm.vfio_get_dev_region ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_get_dev_region %s index %d, %08x/%0x8\n", pid(), gettimeofday_ns(), argname_str, index, type, subtype)
}
probe qemu.kvm.log.vfio_dma_unmap_overflow_workaround = qemu.kvm.vfio_dma_unmap_overflow_workaround ?
{
    printf("%d@%d vfio_dma_unmap_overflow_workaround \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vfio_platform_base_device_init = qemu.kvm.vfio_platform_base_device_init ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_platform_base_device_init %s belongs to group #%d\n", pid(), gettimeofday_ns(), argname_str, groupid)
}
probe qemu.kvm.log.vfio_platform_realize = qemu.kvm.vfio_platform_realize ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argcompat_str = compat ? user_string_n(compat, 512) : "<null>"
    } catch {}
    printf("%d@%d vfio_platform_realize vfio device %s, compat = %s\n", pid(), gettimeofday_ns(), argname_str, argcompat_str)
}
probe qemu.kvm.log.vfio_platform_eoi = qemu.kvm.vfio_platform_eoi ?
{
    printf("%d@%d vfio_platform_eoi EOI IRQ pin %d (fd=%d)\n", pid(), gettimeofday_ns(), pin, fd)
}
probe qemu.kvm.log.vfio_platform_intp_mmap_enable = qemu.kvm.vfio_platform_intp_mmap_enable ?
{
    printf("%d@%d vfio_platform_intp_mmap_enable IRQ #%d still active, stay in slow path\n", pid(), gettimeofday_ns(), pin)
}
probe qemu.kvm.log.vfio_platform_intp_interrupt = qemu.kvm.vfio_platform_intp_interrupt ?
{
    printf("%d@%d vfio_platform_intp_interrupt Inject IRQ #%d (fd = %d)\n", pid(), gettimeofday_ns(), pin, fd)
}
probe qemu.kvm.log.vfio_platform_intp_inject_pending_lockheld = qemu.kvm.vfio_platform_intp_inject_pending_lockheld ?
{
    printf("%d@%d vfio_platform_intp_inject_pending_lockheld Inject pending IRQ #%d (fd = %d)\n", pid(), gettimeofday_ns(), pin, fd)
}
probe qemu.kvm.log.vfio_platform_populate_interrupts = qemu.kvm.vfio_platform_populate_interrupts ?
{
    printf("%d@%d vfio_platform_populate_interrupts - IRQ index %d: count %d, flags=0x%x\n", pid(), gettimeofday_ns(), pin, count, flags)
}
probe qemu.kvm.log.vfio_intp_interrupt_set_pending = qemu.kvm.vfio_intp_interrupt_set_pending ?
{
    printf("%d@%d vfio_intp_interrupt_set_pending irq %d is set PENDING\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.vfio_platform_start_level_irqfd_injection = qemu.kvm.vfio_platform_start_level_irqfd_injection ?
{
    printf("%d@%d vfio_platform_start_level_irqfd_injection IRQ index=%d, fd = %d, resamplefd = %d\n", pid(), gettimeofday_ns(), index, fd, resamplefd)
}
probe qemu.kvm.log.vfio_platform_start_edge_irqfd_injection = qemu.kvm.vfio_platform_start_edge_irqfd_injection ?
{
    printf("%d@%d vfio_platform_start_edge_irqfd_injection IRQ index=%d, fd = %d\n", pid(), gettimeofday_ns(), index, fd)
}
probe qemu.kvm.log.vfio_prereg_listener_region_add_skip = qemu.kvm.vfio_prereg_listener_region_add_skip ?
{
    printf("%d@%d vfio_prereg_listener_region_add_skip 0x%x - 0x%x\n", pid(), gettimeofday_ns(), start, end)
}
probe qemu.kvm.log.vfio_prereg_listener_region_del_skip = qemu.kvm.vfio_prereg_listener_region_del_skip ?
{
    printf("%d@%d vfio_prereg_listener_region_del_skip 0x%x - 0x%x\n", pid(), gettimeofday_ns(), start, end)
}
probe qemu.kvm.log.vfio_prereg_register = qemu.kvm.vfio_prereg_register ?
{
    printf("%d@%d vfio_prereg_register va=0x%x size=0x%x ret=%d\n", pid(), gettimeofday_ns(), va, size, ret)
}
probe qemu.kvm.log.vfio_prereg_unregister = qemu.kvm.vfio_prereg_unregister ?
{
    printf("%d@%d vfio_prereg_unregister va=0x%x size=0x%x ret=%d\n", pid(), gettimeofday_ns(), va, size, ret)
}
probe qemu.kvm.log.vfio_spapr_create_window = qemu.kvm.vfio_spapr_create_window ?
{
    printf("%d@%d vfio_spapr_create_window pageshift=0x%x levels=%u winsize=0x%x offset=0x%x\n", pid(), gettimeofday_ns(), ps, levels, ws, off)
}
probe qemu.kvm.log.vfio_spapr_remove_window = qemu.kvm.vfio_spapr_remove_window ?
{
    printf("%d@%d vfio_spapr_remove_window offset=0x%x\n", pid(), gettimeofday_ns(), off)
}
probe qemu.kvm.log.vfio_display_edid_available = qemu.kvm.vfio_display_edid_available ?
{
    printf("%d@%d vfio_display_edid_available \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vfio_display_edid_link_up = qemu.kvm.vfio_display_edid_link_up ?
{
    printf("%d@%d vfio_display_edid_link_up \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vfio_display_edid_link_down = qemu.kvm.vfio_display_edid_link_down ?
{
    printf("%d@%d vfio_display_edid_link_down \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vfio_display_edid_update = qemu.kvm.vfio_display_edid_update ?
{
    printf("%d@%d vfio_display_edid_update %ux%u\n", pid(), gettimeofday_ns(), prefx, prefy)
}
probe qemu.kvm.log.vfio_display_edid_write_error = qemu.kvm.vfio_display_edid_write_error ?
{
    printf("%d@%d vfio_display_edid_write_error \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vhost_commit = qemu.kvm.vhost_commit ?
{
    printf("%d@%d vhost_commit Started: %d Changed: %d\n", pid(), gettimeofday_ns(), started, changed)
}
probe qemu.kvm.log.vhost_region_add_section = qemu.kvm.vhost_region_add_section ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vhost_region_add_section %s: 0x%x+0x%x @ 0x%x\n", pid(), gettimeofday_ns(), argname_str, gpa, size, host)
}
probe qemu.kvm.log.vhost_region_add_section_merge = qemu.kvm.vhost_region_add_section_merge ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vhost_region_add_section_merge %s: size: 0x%x gpa: 0x%x owr: 0x%x\n", pid(), gettimeofday_ns(), argname_str, new_size, gpa, owr)
}
probe qemu.kvm.log.vhost_region_add_section_aligned = qemu.kvm.vhost_region_add_section_aligned ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vhost_region_add_section_aligned %s: 0x%x+0x%x @ 0x%x\n", pid(), gettimeofday_ns(), argname_str, gpa, size, host)
}
probe qemu.kvm.log.vhost_section = qemu.kvm.vhost_section ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vhost_section %s:%d\n", pid(), gettimeofday_ns(), argname_str, r)
}
probe qemu.kvm.log.vhost_iotlb_miss = qemu.kvm.vhost_iotlb_miss ?
{
    printf("%d@%d vhost_iotlb_miss %p step %d\n", pid(), gettimeofday_ns(), dev, step)
}
probe qemu.kvm.log.vhost_user_postcopy_end_entry = qemu.kvm.vhost_user_postcopy_end_entry ?
{
    printf("%d@%d vhost_user_postcopy_end_entry \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vhost_user_postcopy_end_exit = qemu.kvm.vhost_user_postcopy_end_exit ?
{
    printf("%d@%d vhost_user_postcopy_end_exit \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vhost_user_postcopy_fault_handler = qemu.kvm.vhost_user_postcopy_fault_handler ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vhost_user_postcopy_fault_handler %s: @0x%x nregions:%d\n", pid(), gettimeofday_ns(), argname_str, fault_address, nregions)
}
probe qemu.kvm.log.vhost_user_postcopy_fault_handler_loop = qemu.kvm.vhost_user_postcopy_fault_handler_loop ?
{
    printf("%d@%d vhost_user_postcopy_fault_handler_loop %d: client 0x%x +0x%x\n", pid(), gettimeofday_ns(), i, client_base, size)
}
probe qemu.kvm.log.vhost_user_postcopy_fault_handler_found = qemu.kvm.vhost_user_postcopy_fault_handler_found ?
{
    printf("%d@%d vhost_user_postcopy_fault_handler_found %d: region_offset: 0x%x rb_offset:0x%x\n", pid(), gettimeofday_ns(), i, region_offset, rb_offset)
}
probe qemu.kvm.log.vhost_user_postcopy_listen = qemu.kvm.vhost_user_postcopy_listen ?
{
    printf("%d@%d vhost_user_postcopy_listen \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vhost_user_set_mem_table_postcopy = qemu.kvm.vhost_user_set_mem_table_postcopy ?
{
    printf("%d@%d vhost_user_set_mem_table_postcopy client:0x%x for hva: 0x%x reply %d region %d\n", pid(), gettimeofday_ns(), client_addr, qhva, reply_i, region_i)
}
probe qemu.kvm.log.vhost_user_set_mem_table_withfd = qemu.kvm.vhost_user_set_mem_table_withfd ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vhost_user_set_mem_table_withfd %d:%s: size:0x%x GPA:0x%x QVA/userspace:0x%x RB offset:0x%x\n", pid(), gettimeofday_ns(), index, argname_str, memory_size, guest_phys_addr, userspace_addr, offset)
}
probe qemu.kvm.log.vhost_user_postcopy_waker = qemu.kvm.vhost_user_postcopy_waker ?
{
    try {
        argrb_str = rb ? user_string_n(rb, 512) : "<null>"
    } catch {}
    printf("%d@%d vhost_user_postcopy_waker %s + 0x%x\n", pid(), gettimeofday_ns(), argrb_str, rb_offset)
}
probe qemu.kvm.log.vhost_user_postcopy_waker_found = qemu.kvm.vhost_user_postcopy_waker_found ?
{
    printf("%d@%d vhost_user_postcopy_waker_found 0x%x\n", pid(), gettimeofday_ns(), client_addr)
}
probe qemu.kvm.log.vhost_user_postcopy_waker_nomatch = qemu.kvm.vhost_user_postcopy_waker_nomatch ?
{
    try {
        argrb_str = rb ? user_string_n(rb, 512) : "<null>"
    } catch {}
    printf("%d@%d vhost_user_postcopy_waker_nomatch %s + 0x%x\n", pid(), gettimeofday_ns(), argrb_str, rb_offset)
}
probe qemu.kvm.log.virtqueue_alloc_element = qemu.kvm.virtqueue_alloc_element ?
{
    printf("%d@%d virtqueue_alloc_element elem %p size %d in_num %u out_num %u\n", pid(), gettimeofday_ns(), elem, sz, in_num, out_num)
}
probe qemu.kvm.log.virtqueue_fill = qemu.kvm.virtqueue_fill ?
{
    printf("%d@%d virtqueue_fill vq %p elem %p len %u idx %u\n", pid(), gettimeofday_ns(), vq, elem, len, idx)
}
probe qemu.kvm.log.virtqueue_flush = qemu.kvm.virtqueue_flush ?
{
    printf("%d@%d virtqueue_flush vq %p count %u\n", pid(), gettimeofday_ns(), vq, count)
}
probe qemu.kvm.log.virtqueue_pop = qemu.kvm.virtqueue_pop ?
{
    printf("%d@%d virtqueue_pop vq %p elem %p in_num %u out_num %u\n", pid(), gettimeofday_ns(), vq, elem, in_num, out_num)
}
probe qemu.kvm.log.virtio_queue_notify = qemu.kvm.virtio_queue_notify ?
{
    printf("%d@%d virtio_queue_notify vdev %p n %d vq %p\n", pid(), gettimeofday_ns(), vdev, n, vq)
}
probe qemu.kvm.log.virtio_notify_irqfd = qemu.kvm.virtio_notify_irqfd ?
{
    printf("%d@%d virtio_notify_irqfd vdev %p vq %p\n", pid(), gettimeofday_ns(), vdev, vq)
}
probe qemu.kvm.log.virtio_notify = qemu.kvm.virtio_notify ?
{
    printf("%d@%d virtio_notify vdev %p vq %p\n", pid(), gettimeofday_ns(), vdev, vq)
}
probe qemu.kvm.log.virtio_set_status = qemu.kvm.virtio_set_status ?
{
    printf("%d@%d virtio_set_status vdev %p val %u\n", pid(), gettimeofday_ns(), vdev, val)
}
probe qemu.kvm.log.virtio_rng_guest_not_ready = qemu.kvm.virtio_rng_guest_not_ready ?
{
    printf("%d@%d virtio_rng_guest_not_ready rng %p: guest not ready\n", pid(), gettimeofday_ns(), rng)
}
probe qemu.kvm.log.virtio_rng_cpu_is_stopped = qemu.kvm.virtio_rng_cpu_is_stopped ?
{
    printf("%d@%d virtio_rng_cpu_is_stopped rng %p: cpu is stopped, dropping %d bytes\n", pid(), gettimeofday_ns(), rng, size)
}
probe qemu.kvm.log.virtio_rng_popped = qemu.kvm.virtio_rng_popped ?
{
    printf("%d@%d virtio_rng_popped rng %p: elem popped\n", pid(), gettimeofday_ns(), rng)
}
probe qemu.kvm.log.virtio_rng_pushed = qemu.kvm.virtio_rng_pushed ?
{
    printf("%d@%d virtio_rng_pushed rng %p: %d bytes pushed\n", pid(), gettimeofday_ns(), rng, len)
}
probe qemu.kvm.log.virtio_rng_request = qemu.kvm.virtio_rng_request ?
{
    printf("%d@%d virtio_rng_request rng %p: %d bytes requested, %u bytes quota left\n", pid(), gettimeofday_ns(), rng, size, quota)
}
probe qemu.kvm.log.virtio_rng_vm_state_change = qemu.kvm.virtio_rng_vm_state_change ?
{
    printf("%d@%d virtio_rng_vm_state_change rng %p: state change to running %d state %d\n", pid(), gettimeofday_ns(), rng, running, state)
}
probe qemu.kvm.log.virtio_balloon_bad_addr = qemu.kvm.virtio_balloon_bad_addr ?
{
    printf("%d@%d virtio_balloon_bad_addr 0x%x\n", pid(), gettimeofday_ns(), gpa)
}
probe qemu.kvm.log.virtio_balloon_handle_output = qemu.kvm.virtio_balloon_handle_output ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d virtio_balloon_handle_output section name: %s gpa: 0x%x\n", pid(), gettimeofday_ns(), argname_str, gpa)
}
probe qemu.kvm.log.virtio_balloon_get_config = qemu.kvm.virtio_balloon_get_config ?
{
    printf("%d@%d virtio_balloon_get_config num_pages: %d actual: %d\n", pid(), gettimeofday_ns(), num_pages, actual)
}
probe qemu.kvm.log.virtio_balloon_set_config = qemu.kvm.virtio_balloon_set_config ?
{
    printf("%d@%d virtio_balloon_set_config actual: %d oldactual: %d\n", pid(), gettimeofday_ns(), actual, oldactual)
}
probe qemu.kvm.log.virtio_balloon_to_target = qemu.kvm.virtio_balloon_to_target ?
{
    printf("%d@%d virtio_balloon_to_target balloon target: 0x%x num_pages: %d\n", pid(), gettimeofday_ns(), target, num_pages)
}
probe qemu.kvm.log.virtio_mmio_read = qemu.kvm.virtio_mmio_read ?
{
    printf("%d@%d virtio_mmio_read virtio_mmio_read offset 0x%x\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.virtio_mmio_write_offset = qemu.kvm.virtio_mmio_write_offset ?
{
    printf("%d@%d virtio_mmio_write_offset virtio_mmio_write offset 0x%x value 0x%x\n", pid(), gettimeofday_ns(), offset, value)
}
probe qemu.kvm.log.virtio_mmio_guest_page = qemu.kvm.virtio_mmio_guest_page ?
{
    printf("%d@%d virtio_mmio_guest_page guest page size 0x%x shift %d\n", pid(), gettimeofday_ns(), size, shift)
}
probe qemu.kvm.log.virtio_mmio_queue_write = qemu.kvm.virtio_mmio_queue_write ?
{
    printf("%d@%d virtio_mmio_queue_write mmio_queue write 0x%x max %d\n", pid(), gettimeofday_ns(), value, max_size)
}
probe qemu.kvm.log.virtio_mmio_setting_irq = qemu.kvm.virtio_mmio_setting_irq ?
{
    printf("%d@%d virtio_mmio_setting_irq virtio_mmio setting IRQ %d\n", pid(), gettimeofday_ns(), level)
}
probe qemu.kvm.log.cmsdk_apb_watchdog_read = qemu.kvm.cmsdk_apb_watchdog_read ?
{
    printf("%d@%d cmsdk_apb_watchdog_read CMSDK APB watchdog read: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.cmsdk_apb_watchdog_write = qemu.kvm.cmsdk_apb_watchdog_write ?
{
    printf("%d@%d cmsdk_apb_watchdog_write CMSDK APB watchdog write: offset 0x%x data 0x%x size %u\n", pid(), gettimeofday_ns(), offset, data, size)
}
probe qemu.kvm.log.cmsdk_apb_watchdog_reset = qemu.kvm.cmsdk_apb_watchdog_reset ?
{
    printf("%d@%d cmsdk_apb_watchdog_reset CMSDK APB watchdog: reset\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_default_ioreq_server = qemu.kvm.xen_default_ioreq_server ?
{
    printf("%d@%d xen_default_ioreq_server \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_ioreq_server_create = qemu.kvm.xen_ioreq_server_create ?
{
    printf("%d@%d xen_ioreq_server_create id: %u\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.xen_ioreq_server_destroy = qemu.kvm.xen_ioreq_server_destroy ?
{
    printf("%d@%d xen_ioreq_server_destroy id: %u\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.xen_ioreq_server_state = qemu.kvm.xen_ioreq_server_state ?
{
    printf("%d@%d xen_ioreq_server_state id: %u: enable: %i\n", pid(), gettimeofday_ns(), id, enable)
}
probe qemu.kvm.log.xen_map_mmio_range = qemu.kvm.xen_map_mmio_range ?
{
    printf("%d@%d xen_map_mmio_range id: %u start: 0x%x end: 0x%x\n", pid(), gettimeofday_ns(), id, start_addr, end_addr)
}
probe qemu.kvm.log.xen_unmap_mmio_range = qemu.kvm.xen_unmap_mmio_range ?
{
    printf("%d@%d xen_unmap_mmio_range id: %u start: 0x%x end: 0x%x\n", pid(), gettimeofday_ns(), id, start_addr, end_addr)
}
probe qemu.kvm.log.xen_map_portio_range = qemu.kvm.xen_map_portio_range ?
{
    printf("%d@%d xen_map_portio_range id: %u start: 0x%x end: 0x%x\n", pid(), gettimeofday_ns(), id, start_addr, end_addr)
}
probe qemu.kvm.log.xen_unmap_portio_range = qemu.kvm.xen_unmap_portio_range ?
{
    printf("%d@%d xen_unmap_portio_range id: %u start: 0x%x end: 0x%x\n", pid(), gettimeofday_ns(), id, start_addr, end_addr)
}
probe qemu.kvm.log.xen_map_pcidev = qemu.kvm.xen_map_pcidev ?
{
    printf("%d@%d xen_map_pcidev id: %u bdf: %02x.%02x.%02x\n", pid(), gettimeofday_ns(), id, bus, dev, func)
}
probe qemu.kvm.log.xen_unmap_pcidev = qemu.kvm.xen_unmap_pcidev ?
{
    printf("%d@%d xen_unmap_pcidev id: %u bdf: %02x.%02x.%02x\n", pid(), gettimeofday_ns(), id, bus, dev, func)
}
probe qemu.kvm.log.xen_domid_restrict = qemu.kvm.xen_domid_restrict ?
{
    printf("%d@%d xen_domid_restrict err: %u\n", pid(), gettimeofday_ns(), err)
}
probe qemu.kvm.log.xen_bus_realize = qemu.kvm.xen_bus_realize ?
{
    printf("%d@%d xen_bus_realize \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_bus_unrealize = qemu.kvm.xen_bus_unrealize ?
{
    printf("%d@%d xen_bus_unrealize \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_bus_enumerate = qemu.kvm.xen_bus_enumerate ?
{
    printf("%d@%d xen_bus_enumerate \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_bus_cleanup = qemu.kvm.xen_bus_cleanup ?
{
    printf("%d@%d xen_bus_cleanup \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.xen_bus_type_enumerate = qemu.kvm.xen_bus_type_enumerate ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_bus_type_enumerate type: %s\n", pid(), gettimeofday_ns(), argtype_str)
}
probe qemu.kvm.log.xen_bus_backend_create = qemu.kvm.xen_bus_backend_create ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_bus_backend_create type: %s path: %s\n", pid(), gettimeofday_ns(), argtype_str, argpath_str)
}
probe qemu.kvm.log.xen_bus_device_cleanup = qemu.kvm.xen_bus_device_cleanup ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_bus_device_cleanup type: %s name: %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str)
}
probe qemu.kvm.log.xen_bus_add_watch = qemu.kvm.xen_bus_add_watch ?
{
    try {
        argnode_str = node ? user_string_n(node, 512) : "<null>"
    } catch {}
    try {
        argkey_str = key ? user_string_n(key, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_bus_add_watch node: %s key: %s\n", pid(), gettimeofday_ns(), argnode_str, argkey_str)
}
probe qemu.kvm.log.xen_bus_remove_watch = qemu.kvm.xen_bus_remove_watch ?
{
    try {
        argnode_str = node ? user_string_n(node, 512) : "<null>"
    } catch {}
    try {
        argkey_str = key ? user_string_n(key, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_bus_remove_watch node: %s key: %s\n", pid(), gettimeofday_ns(), argnode_str, argkey_str)
}
probe qemu.kvm.log.xen_device_realize = qemu.kvm.xen_device_realize ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_realize type: %s name: %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str)
}
probe qemu.kvm.log.xen_device_unrealize = qemu.kvm.xen_device_unrealize ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_unrealize type: %s name: %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str)
}
probe qemu.kvm.log.xen_device_backend_state = qemu.kvm.xen_device_backend_state ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_backend_state type: %s name: %s -> %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str, argstate_str)
}
probe qemu.kvm.log.xen_device_backend_online = qemu.kvm.xen_device_backend_online ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_backend_online type: %s name: %s -> %u\n", pid(), gettimeofday_ns(), argtype_str, argname_str, online)
}
probe qemu.kvm.log.xen_device_backend_changed = qemu.kvm.xen_device_backend_changed ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_backend_changed type: %s name: %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str)
}
probe qemu.kvm.log.xen_device_frontend_state = qemu.kvm.xen_device_frontend_state ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_frontend_state type: %s name: %s -> %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str, argstate_str)
}
probe qemu.kvm.log.xen_device_frontend_changed = qemu.kvm.xen_device_frontend_changed ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_frontend_changed type: %s name: %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str)
}
probe qemu.kvm.log.xen_device_unplug = qemu.kvm.xen_device_unplug ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_unplug type: %s name: %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str)
}
probe qemu.kvm.log.xen_device_add_watch = qemu.kvm.xen_device_add_watch ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argnode_str = node ? user_string_n(node, 512) : "<null>"
    } catch {}
    try {
        argkey_str = key ? user_string_n(key, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_add_watch type: %s name: %s node: %s key: %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str, argnode_str, argkey_str)
}
probe qemu.kvm.log.xen_device_remove_watch = qemu.kvm.xen_device_remove_watch ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argnode_str = node ? user_string_n(node, 512) : "<null>"
    } catch {}
    try {
        argkey_str = key ? user_string_n(key, 512) : "<null>"
    } catch {}
    printf("%d@%d xen_device_remove_watch type: %s name: %s node: %s key: %s\n", pid(), gettimeofday_ns(), argtype_str, argname_str, argnode_str, argkey_str)
}
probe qemu.kvm.log.xs_node_create = qemu.kvm.xs_node_create ?
{
    try {
        argnode_str = node ? user_string_n(node, 512) : "<null>"
    } catch {}
    printf("%d@%d xs_node_create %s\n", pid(), gettimeofday_ns(), argnode_str)
}
probe qemu.kvm.log.xs_node_destroy = qemu.kvm.xs_node_destroy ?
{
    try {
        argnode_str = node ? user_string_n(node, 512) : "<null>"
    } catch {}
    printf("%d@%d xs_node_destroy %s\n", pid(), gettimeofday_ns(), argnode_str)
}
probe qemu.kvm.log.xs_node_vprintf = qemu.kvm.xs_node_vprintf ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    try {
        argvalue_str = value ? user_string_n(value, 512) : "<null>"
    } catch {}
    printf("%d@%d xs_node_vprintf %s %s\n", pid(), gettimeofday_ns(), argpath_str, argvalue_str)
}
probe qemu.kvm.log.xs_node_vscanf = qemu.kvm.xs_node_vscanf ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    try {
        argvalue_str = value ? user_string_n(value, 512) : "<null>"
    } catch {}
    printf("%d@%d xs_node_vscanf %s %s\n", pid(), gettimeofday_ns(), argpath_str, argvalue_str)
}
probe qemu.kvm.log.xs_node_watch = qemu.kvm.xs_node_watch ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d xs_node_watch %s\n", pid(), gettimeofday_ns(), argpath_str)
}
probe qemu.kvm.log.xs_node_unwatch = qemu.kvm.xs_node_unwatch ?
{
    try {
        argpath_str = path ? user_string_n(path, 512) : "<null>"
    } catch {}
    printf("%d@%d xs_node_unwatch %s\n", pid(), gettimeofday_ns(), argpath_str)
}
probe qemu.kvm.log.nrf51_gpio_read = qemu.kvm.nrf51_gpio_read ?
{
    printf("%d@%d nrf51_gpio_read offset 0x%x value 0x%x\n", pid(), gettimeofday_ns(), offset, r)
}
probe qemu.kvm.log.nrf51_gpio_write = qemu.kvm.nrf51_gpio_write ?
{
    printf("%d@%d nrf51_gpio_write offset 0x%x value 0x%x\n", pid(), gettimeofday_ns(), offset, value)
}
probe qemu.kvm.log.nrf51_gpio_set = qemu.kvm.nrf51_gpio_set ?
{
    printf("%d@%d nrf51_gpio_set line %i value %i\n", pid(), gettimeofday_ns(), line, value)
}
probe qemu.kvm.log.nrf51_gpio_update_output_irq = qemu.kvm.nrf51_gpio_update_output_irq ?
{
    printf("%d@%d nrf51_gpio_update_output_irq line %i value %i\n", pid(), gettimeofday_ns(), line, value)
}
probe qemu.kvm.log.sifive_gpio_read = qemu.kvm.sifive_gpio_read ?
{
    printf("%d@%d sifive_gpio_read offset 0x%x value 0x%x\n", pid(), gettimeofday_ns(), offset, r)
}
probe qemu.kvm.log.sifive_gpio_write = qemu.kvm.sifive_gpio_write ?
{
    printf("%d@%d sifive_gpio_write offset 0x%x value 0x%x\n", pid(), gettimeofday_ns(), offset, value)
}
probe qemu.kvm.log.sifive_gpio_set = qemu.kvm.sifive_gpio_set ?
{
    printf("%d@%d sifive_gpio_set line %i value %i\n", pid(), gettimeofday_ns(), line, value)
}
probe qemu.kvm.log.sifive_gpio_update_output_irq = qemu.kvm.sifive_gpio_update_output_irq ?
{
    printf("%d@%d sifive_gpio_update_output_irq line %i value %i\n", pid(), gettimeofday_ns(), line, value)
}
probe qemu.kvm.log.qemu_loadvm_state_section = qemu.kvm.qemu_loadvm_state_section ?
{
    printf("%d@%d qemu_loadvm_state_section %d\n", pid(), gettimeofday_ns(), section_type)
}
probe qemu.kvm.log.qemu_loadvm_state_section_command = qemu.kvm.qemu_loadvm_state_section_command ?
{
    printf("%d@%d qemu_loadvm_state_section_command %d\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.qemu_loadvm_state_section_partend = qemu.kvm.qemu_loadvm_state_section_partend ?
{
    printf("%d@%d qemu_loadvm_state_section_partend %u\n", pid(), gettimeofday_ns(), section_id)
}
probe qemu.kvm.log.qemu_loadvm_state_post_main = qemu.kvm.qemu_loadvm_state_post_main ?
{
    printf("%d@%d qemu_loadvm_state_post_main %d\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.qemu_loadvm_state_section_startfull = qemu.kvm.qemu_loadvm_state_section_startfull ?
{
    try {
        argidstr_str = idstr ? user_string_n(idstr, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_loadvm_state_section_startfull %u(%s) %u %u\n", pid(), gettimeofday_ns(), section_id, argidstr_str, instance_id, version_id)
}
probe qemu.kvm.log.qemu_savevm_send_packaged = qemu.kvm.qemu_savevm_send_packaged ?
{
    printf("%d@%d qemu_savevm_send_packaged \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_state_setup = qemu.kvm.loadvm_state_setup ?
{
    printf("%d@%d loadvm_state_setup \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_state_cleanup = qemu.kvm.loadvm_state_cleanup ?
{
    printf("%d@%d loadvm_state_cleanup \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_handle_cmd_packaged = qemu.kvm.loadvm_handle_cmd_packaged ?
{
    printf("%d@%d loadvm_handle_cmd_packaged %u\n", pid(), gettimeofday_ns(), length)
}
probe qemu.kvm.log.loadvm_handle_cmd_packaged_main = qemu.kvm.loadvm_handle_cmd_packaged_main ?
{
    printf("%d@%d loadvm_handle_cmd_packaged_main %d\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.loadvm_handle_cmd_packaged_received = qemu.kvm.loadvm_handle_cmd_packaged_received ?
{
    printf("%d@%d loadvm_handle_cmd_packaged_received %d\n", pid(), gettimeofday_ns(), ret)
}
probe qemu.kvm.log.loadvm_handle_recv_bitmap = qemu.kvm.loadvm_handle_recv_bitmap ?
{
    try {
        args_str = s ? user_string_n(s, 512) : "<null>"
    } catch {}
    printf("%d@%d loadvm_handle_recv_bitmap %s\n", pid(), gettimeofday_ns(), args_str)
}
probe qemu.kvm.log.loadvm_postcopy_handle_advise = qemu.kvm.loadvm_postcopy_handle_advise ?
{
    printf("%d@%d loadvm_postcopy_handle_advise \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_postcopy_handle_listen = qemu.kvm.loadvm_postcopy_handle_listen ?
{
    printf("%d@%d loadvm_postcopy_handle_listen \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_postcopy_handle_run = qemu.kvm.loadvm_postcopy_handle_run ?
{
    printf("%d@%d loadvm_postcopy_handle_run \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_postcopy_handle_run_cpu_sync = qemu.kvm.loadvm_postcopy_handle_run_cpu_sync ?
{
    printf("%d@%d loadvm_postcopy_handle_run_cpu_sync \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_postcopy_handle_run_vmstart = qemu.kvm.loadvm_postcopy_handle_run_vmstart ?
{
    printf("%d@%d loadvm_postcopy_handle_run_vmstart \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_postcopy_handle_resume = qemu.kvm.loadvm_postcopy_handle_resume ?
{
    printf("%d@%d loadvm_postcopy_handle_resume \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_postcopy_ram_handle_discard = qemu.kvm.loadvm_postcopy_ram_handle_discard ?
{
    printf("%d@%d loadvm_postcopy_ram_handle_discard \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_postcopy_ram_handle_discard_end = qemu.kvm.loadvm_postcopy_ram_handle_discard_end ?
{
    printf("%d@%d loadvm_postcopy_ram_handle_discard_end \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.loadvm_postcopy_ram_handle_discard_header = qemu.kvm.loadvm_postcopy_ram_handle_discard_header ?
{
    try {
        argramid_str = ramid ? user_string_n(ramid, 512) : "<null>"
    } catch {}
    printf("%d@%d loadvm_postcopy_ram_handle_discard_header %s: %ud\n", pid(), gettimeofday_ns(), argramid_str, len)
}
probe qemu.kvm.log.loadvm_process_command = qemu.kvm.loadvm_process_command ?
{
    printf("%d@%d loadvm_process_command com=0x%x len=%d\n", pid(), gettimeofday_ns(), com, len)
}
probe qemu.kvm.log.loadvm_process_command_ping = qemu.kvm.loadvm_process_command_ping ?
{
    printf("%d@%d loadvm_process_command_ping 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.postcopy_ram_listen_thread_exit = qemu.kvm.postcopy_ram_listen_thread_exit ?
{
    printf("%d@%d postcopy_ram_listen_thread_exit \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_ram_listen_thread_start = qemu.kvm.postcopy_ram_listen_thread_start ?
{
    printf("%d@%d postcopy_ram_listen_thread_start \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_savevm_send_postcopy_advise = qemu.kvm.qemu_savevm_send_postcopy_advise ?
{
    printf("%d@%d qemu_savevm_send_postcopy_advise \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_savevm_send_postcopy_ram_discard = qemu.kvm.qemu_savevm_send_postcopy_ram_discard ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_savevm_send_postcopy_ram_discard %s: %ud\n", pid(), gettimeofday_ns(), argid_str, len)
}
probe qemu.kvm.log.savevm_command_send = qemu.kvm.savevm_command_send ?
{
    printf("%d@%d savevm_command_send com=0x%x len=%d\n", pid(), gettimeofday_ns(), command, len)
}
probe qemu.kvm.log.savevm_section_start = qemu.kvm.savevm_section_start ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d savevm_section_start %s, section_id %u\n", pid(), gettimeofday_ns(), argid_str, section_id)
}
probe qemu.kvm.log.savevm_section_end = qemu.kvm.savevm_section_end ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d savevm_section_end %s, section_id %u -> %d\n", pid(), gettimeofday_ns(), argid_str, section_id, ret)
}
probe qemu.kvm.log.savevm_section_skip = qemu.kvm.savevm_section_skip ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d savevm_section_skip %s, section_id %u\n", pid(), gettimeofday_ns(), argid_str, section_id)
}
probe qemu.kvm.log.savevm_send_open_return_path = qemu.kvm.savevm_send_open_return_path ?
{
    printf("%d@%d savevm_send_open_return_path \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_send_ping = qemu.kvm.savevm_send_ping ?
{
    printf("%d@%d savevm_send_ping 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.savevm_send_postcopy_listen = qemu.kvm.savevm_send_postcopy_listen ?
{
    printf("%d@%d savevm_send_postcopy_listen \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_send_postcopy_run = qemu.kvm.savevm_send_postcopy_run ?
{
    printf("%d@%d savevm_send_postcopy_run \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_send_postcopy_resume = qemu.kvm.savevm_send_postcopy_resume ?
{
    printf("%d@%d savevm_send_postcopy_resume \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_send_colo_enable = qemu.kvm.savevm_send_colo_enable ?
{
    printf("%d@%d savevm_send_colo_enable \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_send_recv_bitmap = qemu.kvm.savevm_send_recv_bitmap ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d savevm_send_recv_bitmap %s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.savevm_state_setup = qemu.kvm.savevm_state_setup ?
{
    printf("%d@%d savevm_state_setup \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_state_resume_prepare = qemu.kvm.savevm_state_resume_prepare ?
{
    printf("%d@%d savevm_state_resume_prepare \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_state_header = qemu.kvm.savevm_state_header ?
{
    printf("%d@%d savevm_state_header \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_state_iterate = qemu.kvm.savevm_state_iterate ?
{
    printf("%d@%d savevm_state_iterate \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_state_cleanup = qemu.kvm.savevm_state_cleanup ?
{
    printf("%d@%d savevm_state_cleanup \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.savevm_state_complete_precopy = qemu.kvm.savevm_state_complete_precopy ?
{
    printf("%d@%d savevm_state_complete_precopy \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vmstate_save = qemu.kvm.vmstate_save ?
{
    try {
        argidstr_str = idstr ? user_string_n(idstr, 512) : "<null>"
    } catch {}
    try {
        argvmsd_name_str = vmsd_name ? user_string_n(vmsd_name, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_save %s, %s\n", pid(), gettimeofday_ns(), argidstr_str, argvmsd_name_str)
}
probe qemu.kvm.log.vmstate_load = qemu.kvm.vmstate_load ?
{
    try {
        argidstr_str = idstr ? user_string_n(idstr, 512) : "<null>"
    } catch {}
    try {
        argvmsd_name_str = vmsd_name ? user_string_n(vmsd_name, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_load %s, %s\n", pid(), gettimeofday_ns(), argidstr_str, argvmsd_name_str)
}
probe qemu.kvm.log.postcopy_pause_incoming = qemu.kvm.postcopy_pause_incoming ?
{
    printf("%d@%d postcopy_pause_incoming \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_pause_incoming_continued = qemu.kvm.postcopy_pause_incoming_continued ?
{
    printf("%d@%d postcopy_pause_incoming_continued \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.vmstate_load_field_error = qemu.kvm.vmstate_load_field_error ?
{
    try {
        argfield_str = field ? user_string_n(field, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_load_field_error field \"%s\" load failed, ret = %d\n", pid(), gettimeofday_ns(), argfield_str, ret)
}
probe qemu.kvm.log.vmstate_load_state = qemu.kvm.vmstate_load_state ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_load_state %s v%d\n", pid(), gettimeofday_ns(), argname_str, version_id)
}
probe qemu.kvm.log.vmstate_load_state_end = qemu.kvm.vmstate_load_state_end ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_load_state_end %s %s/%d\n", pid(), gettimeofday_ns(), argname_str, argreason_str, val)
}
probe qemu.kvm.log.vmstate_load_state_field = qemu.kvm.vmstate_load_state_field ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argfield_str = field ? user_string_n(field, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_load_state_field %s:%s\n", pid(), gettimeofday_ns(), argname_str, argfield_str)
}
probe qemu.kvm.log.vmstate_n_elems = qemu.kvm.vmstate_n_elems ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_n_elems %s: %d\n", pid(), gettimeofday_ns(), argname_str, n_elems)
}
probe qemu.kvm.log.vmstate_subsection_load = qemu.kvm.vmstate_subsection_load ?
{
    try {
        argparent_str = parent ? user_string_n(parent, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_subsection_load %s\n", pid(), gettimeofday_ns(), argparent_str)
}
probe qemu.kvm.log.vmstate_subsection_load_bad = qemu.kvm.vmstate_subsection_load_bad ?
{
    try {
        argparent_str = parent ? user_string_n(parent, 512) : "<null>"
    } catch {}
    try {
        argsub_str = sub ? user_string_n(sub, 512) : "<null>"
    } catch {}
    try {
        argsub2_str = sub2 ? user_string_n(sub2, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_subsection_load_bad %s: %s/%s\n", pid(), gettimeofday_ns(), argparent_str, argsub_str, argsub2_str)
}
probe qemu.kvm.log.vmstate_subsection_load_good = qemu.kvm.vmstate_subsection_load_good ?
{
    try {
        argparent_str = parent ? user_string_n(parent, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_subsection_load_good %s\n", pid(), gettimeofday_ns(), argparent_str)
}
probe qemu.kvm.log.vmstate_save_state_pre_save_res = qemu.kvm.vmstate_save_state_pre_save_res ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_save_state_pre_save_res %s/%d\n", pid(), gettimeofday_ns(), argname_str, res)
}
probe qemu.kvm.log.vmstate_save_state_loop = qemu.kvm.vmstate_save_state_loop ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argfield_str = field ? user_string_n(field, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_save_state_loop %s/%s[%d]\n", pid(), gettimeofday_ns(), argname_str, argfield_str, n_elems)
}
probe qemu.kvm.log.vmstate_save_state_top = qemu.kvm.vmstate_save_state_top ?
{
    try {
        argidstr_str = idstr ? user_string_n(idstr, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_save_state_top %s\n", pid(), gettimeofday_ns(), argidstr_str)
}
probe qemu.kvm.log.vmstate_subsection_save_loop = qemu.kvm.vmstate_subsection_save_loop ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argsub_str = sub ? user_string_n(sub, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_subsection_save_loop %s/%s\n", pid(), gettimeofday_ns(), argname_str, argsub_str)
}
probe qemu.kvm.log.vmstate_subsection_save_top = qemu.kvm.vmstate_subsection_save_top ?
{
    try {
        argidstr_str = idstr ? user_string_n(idstr, 512) : "<null>"
    } catch {}
    printf("%d@%d vmstate_subsection_save_top %s\n", pid(), gettimeofday_ns(), argidstr_str)
}
probe qemu.kvm.log.get_qtailq = qemu.kvm.get_qtailq ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d get_qtailq %s v%d\n", pid(), gettimeofday_ns(), argname_str, version_id)
}
probe qemu.kvm.log.get_qtailq_end = qemu.kvm.get_qtailq_end ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d get_qtailq_end %s %s/%d\n", pid(), gettimeofday_ns(), argname_str, argreason_str, val)
}
probe qemu.kvm.log.put_qtailq = qemu.kvm.put_qtailq ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d put_qtailq %s v%d\n", pid(), gettimeofday_ns(), argname_str, version_id)
}
probe qemu.kvm.log.put_qtailq_end = qemu.kvm.put_qtailq_end ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d put_qtailq_end %s %s\n", pid(), gettimeofday_ns(), argname_str, argreason_str)
}
probe qemu.kvm.log.get_gtree = qemu.kvm.get_gtree ?
{
    try {
        argfield_name_str = field_name ? user_string_n(field_name, 512) : "<null>"
    } catch {}
    try {
        argkey_vmsd_name_str = key_vmsd_name ? user_string_n(key_vmsd_name, 512) : "<null>"
    } catch {}
    try {
        argval_vmsd_name_str = val_vmsd_name ? user_string_n(val_vmsd_name, 512) : "<null>"
    } catch {}
    printf("%d@%d get_gtree %s(%s/%s) nnodes=%d\n", pid(), gettimeofday_ns(), argfield_name_str, argkey_vmsd_name_str, argval_vmsd_name_str, nnodes)
}
probe qemu.kvm.log.get_gtree_end = qemu.kvm.get_gtree_end ?
{
    try {
        argfield_name_str = field_name ? user_string_n(field_name, 512) : "<null>"
    } catch {}
    try {
        argkey_vmsd_name_str = key_vmsd_name ? user_string_n(key_vmsd_name, 512) : "<null>"
    } catch {}
    try {
        argval_vmsd_name_str = val_vmsd_name ? user_string_n(val_vmsd_name, 512) : "<null>"
    } catch {}
    printf("%d@%d get_gtree_end %s(%s/%s) %d\n", pid(), gettimeofday_ns(), argfield_name_str, argkey_vmsd_name_str, argval_vmsd_name_str, ret)
}
probe qemu.kvm.log.put_gtree = qemu.kvm.put_gtree ?
{
    try {
        argfield_name_str = field_name ? user_string_n(field_name, 512) : "<null>"
    } catch {}
    try {
        argkey_vmsd_name_str = key_vmsd_name ? user_string_n(key_vmsd_name, 512) : "<null>"
    } catch {}
    try {
        argval_vmsd_name_str = val_vmsd_name ? user_string_n(val_vmsd_name, 512) : "<null>"
    } catch {}
    printf("%d@%d put_gtree %s(%s/%s) nnodes=%d\n", pid(), gettimeofday_ns(), argfield_name_str, argkey_vmsd_name_str, argval_vmsd_name_str, nnodes)
}
probe qemu.kvm.log.put_gtree_end = qemu.kvm.put_gtree_end ?
{
    try {
        argfield_name_str = field_name ? user_string_n(field_name, 512) : "<null>"
    } catch {}
    try {
        argkey_vmsd_name_str = key_vmsd_name ? user_string_n(key_vmsd_name, 512) : "<null>"
    } catch {}
    try {
        argval_vmsd_name_str = val_vmsd_name ? user_string_n(val_vmsd_name, 512) : "<null>"
    } catch {}
    printf("%d@%d put_gtree_end %s(%s/%s) %d\n", pid(), gettimeofday_ns(), argfield_name_str, argkey_vmsd_name_str, argval_vmsd_name_str, ret)
}
probe qemu.kvm.log.qemu_file_fclose = qemu.kvm.qemu_file_fclose ?
{
    printf("%d@%d qemu_file_fclose \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.get_queued_page = qemu.kvm.get_queued_page ?
{
    try {
        argblock_name_str = block_name ? user_string_n(block_name, 512) : "<null>"
    } catch {}
    printf("%d@%d get_queued_page %s/0x%x page_abs=0x%lx\n", pid(), gettimeofday_ns(), argblock_name_str, tmp_offset, page_abs)
}
probe qemu.kvm.log.get_queued_page_not_dirty = qemu.kvm.get_queued_page_not_dirty ?
{
    try {
        argblock_name_str = block_name ? user_string_n(block_name, 512) : "<null>"
    } catch {}
    printf("%d@%d get_queued_page_not_dirty %s/0x%x page_abs=0x%lx\n", pid(), gettimeofday_ns(), argblock_name_str, tmp_offset, page_abs)
}
probe qemu.kvm.log.migration_bitmap_sync_start = qemu.kvm.migration_bitmap_sync_start ?
{
    printf("%d@%d migration_bitmap_sync_start \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_bitmap_sync_end = qemu.kvm.migration_bitmap_sync_end ?
{
    printf("%d@%d migration_bitmap_sync_end dirty_pages %u\n", pid(), gettimeofday_ns(), dirty_pages)
}
probe qemu.kvm.log.migration_bitmap_clear_dirty = qemu.kvm.migration_bitmap_clear_dirty ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_bitmap_clear_dirty rb %s start 0x%x size 0x%x page 0x%lx\n", pid(), gettimeofday_ns(), argstr_str, start, size, page)
}
probe qemu.kvm.log.migration_throttle = qemu.kvm.migration_throttle ?
{
    printf("%d@%d migration_throttle \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.multifd_new_send_channel_async = qemu.kvm.multifd_new_send_channel_async ?
{
    printf("%d@%d multifd_new_send_channel_async channel %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.multifd_recv = qemu.kvm.multifd_recv ?
{
    printf("%d@%d multifd_recv channel %d packet_num %u pages %d flags 0x%x next packet size %d\n", pid(), gettimeofday_ns(), id, packet_num, used, flags, next_packet_size)
}
probe qemu.kvm.log.multifd_recv_new_channel = qemu.kvm.multifd_recv_new_channel ?
{
    printf("%d@%d multifd_recv_new_channel channel %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.multifd_recv_sync_main = qemu.kvm.multifd_recv_sync_main ?
{
    printf("%d@%d multifd_recv_sync_main packet num %ld\n", pid(), gettimeofday_ns(), packet_num)
}
probe qemu.kvm.log.multifd_recv_sync_main_signal = qemu.kvm.multifd_recv_sync_main_signal ?
{
    printf("%d@%d multifd_recv_sync_main_signal channel %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.multifd_recv_sync_main_wait = qemu.kvm.multifd_recv_sync_main_wait ?
{
    printf("%d@%d multifd_recv_sync_main_wait channel %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.multifd_recv_terminate_threads = qemu.kvm.multifd_recv_terminate_threads ?
{
    printf("%d@%d multifd_recv_terminate_threads error %d\n", pid(), gettimeofday_ns(), error)
}
probe qemu.kvm.log.multifd_recv_thread_end = qemu.kvm.multifd_recv_thread_end ?
{
    printf("%d@%d multifd_recv_thread_end channel %d packets %u pages %u\n", pid(), gettimeofday_ns(), id, packets, pages)
}
probe qemu.kvm.log.multifd_recv_thread_start = qemu.kvm.multifd_recv_thread_start ?
{
    printf("%d@%d multifd_recv_thread_start %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.multifd_save_setup_wait = qemu.kvm.multifd_save_setup_wait ?
{
    printf("%d@%d multifd_save_setup_wait %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.multifd_send = qemu.kvm.multifd_send ?
{
    printf("%d@%d multifd_send channel %d packet_num %u pages %d flags 0x%x next packet size %d\n", pid(), gettimeofday_ns(), id, packet_num, used, flags, next_packet_size)
}
probe qemu.kvm.log.multifd_send_error = qemu.kvm.multifd_send_error ?
{
    printf("%d@%d multifd_send_error channel %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.multifd_send_sync_main = qemu.kvm.multifd_send_sync_main ?
{
    printf("%d@%d multifd_send_sync_main packet num %ld\n", pid(), gettimeofday_ns(), packet_num)
}
probe qemu.kvm.log.multifd_send_sync_main_signal = qemu.kvm.multifd_send_sync_main_signal ?
{
    printf("%d@%d multifd_send_sync_main_signal channel %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.multifd_send_sync_main_wait = qemu.kvm.multifd_send_sync_main_wait ?
{
    printf("%d@%d multifd_send_sync_main_wait channel %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.multifd_send_terminate_threads = qemu.kvm.multifd_send_terminate_threads ?
{
    printf("%d@%d multifd_send_terminate_threads error %d\n", pid(), gettimeofday_ns(), error)
}
probe qemu.kvm.log.multifd_send_thread_end = qemu.kvm.multifd_send_thread_end ?
{
    printf("%d@%d multifd_send_thread_end channel %d packets %u pages %u\n", pid(), gettimeofday_ns(), id, packets, pages)
}
probe qemu.kvm.log.multifd_send_thread_start = qemu.kvm.multifd_send_thread_start ?
{
    printf("%d@%d multifd_send_thread_start %d\n", pid(), gettimeofday_ns(), id)
}
probe qemu.kvm.log.ram_discard_range = qemu.kvm.ram_discard_range ?
{
    try {
        argrbname_str = rbname ? user_string_n(rbname, 512) : "<null>"
    } catch {}
    printf("%d@%d ram_discard_range %s: start: %x %x\n", pid(), gettimeofday_ns(), argrbname_str, start, len)
}
probe qemu.kvm.log.ram_load_loop = qemu.kvm.ram_load_loop ?
{
    try {
        argrbname_str = rbname ? user_string_n(rbname, 512) : "<null>"
    } catch {}
    printf("%d@%d ram_load_loop %s: addr: 0x%x flags: 0x%x host: %p\n", pid(), gettimeofday_ns(), argrbname_str, addr, flags, host)
}
probe qemu.kvm.log.ram_load_postcopy_loop = qemu.kvm.ram_load_postcopy_loop ?
{
    printf("%d@%d ram_load_postcopy_loop @%x %x\n", pid(), gettimeofday_ns(), addr, flags)
}
probe qemu.kvm.log.ram_postcopy_send_discard_bitmap = qemu.kvm.ram_postcopy_send_discard_bitmap ?
{
    printf("%d@%d ram_postcopy_send_discard_bitmap \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ram_save_page = qemu.kvm.ram_save_page ?
{
    try {
        argrbname_str = rbname ? user_string_n(rbname, 512) : "<null>"
    } catch {}
    printf("%d@%d ram_save_page %s: offset: 0x%x host: %p\n", pid(), gettimeofday_ns(), argrbname_str, offset, host)
}
probe qemu.kvm.log.ram_save_queue_pages = qemu.kvm.ram_save_queue_pages ?
{
    try {
        argrbname_str = rbname ? user_string_n(rbname, 512) : "<null>"
    } catch {}
    printf("%d@%d ram_save_queue_pages %s: start: 0x%x len: 0x%x\n", pid(), gettimeofday_ns(), argrbname_str, start, len)
}
probe qemu.kvm.log.ram_dirty_bitmap_request = qemu.kvm.ram_dirty_bitmap_request ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d ram_dirty_bitmap_request %s\n", pid(), gettimeofday_ns(), argstr_str)
}
probe qemu.kvm.log.ram_dirty_bitmap_reload_begin = qemu.kvm.ram_dirty_bitmap_reload_begin ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d ram_dirty_bitmap_reload_begin %s\n", pid(), gettimeofday_ns(), argstr_str)
}
probe qemu.kvm.log.ram_dirty_bitmap_reload_complete = qemu.kvm.ram_dirty_bitmap_reload_complete ?
{
    try {
        argstr_str = str ? user_string_n(str, 512) : "<null>"
    } catch {}
    printf("%d@%d ram_dirty_bitmap_reload_complete %s\n", pid(), gettimeofday_ns(), argstr_str)
}
probe qemu.kvm.log.ram_dirty_bitmap_sync_start = qemu.kvm.ram_dirty_bitmap_sync_start ?
{
    printf("%d@%d ram_dirty_bitmap_sync_start \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ram_dirty_bitmap_sync_wait = qemu.kvm.ram_dirty_bitmap_sync_wait ?
{
    printf("%d@%d ram_dirty_bitmap_sync_wait \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ram_dirty_bitmap_sync_complete = qemu.kvm.ram_dirty_bitmap_sync_complete ?
{
    printf("%d@%d ram_dirty_bitmap_sync_complete \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ram_state_resume_prepare = qemu.kvm.ram_state_resume_prepare ?
{
    printf("%d@%d ram_state_resume_prepare %d\n", pid(), gettimeofday_ns(), v)
}
probe qemu.kvm.log.colo_flush_ram_cache_begin = qemu.kvm.colo_flush_ram_cache_begin ?
{
    printf("%d@%d colo_flush_ram_cache_begin dirty_pages %u\n", pid(), gettimeofday_ns(), dirty_pages)
}
probe qemu.kvm.log.colo_flush_ram_cache_end = qemu.kvm.colo_flush_ram_cache_end ?
{
    printf("%d@%d colo_flush_ram_cache_end \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.save_xbzrle_page_skipping = qemu.kvm.save_xbzrle_page_skipping ?
{
    printf("%d@%d save_xbzrle_page_skipping \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.save_xbzrle_page_overflow = qemu.kvm.save_xbzrle_page_overflow ?
{
    printf("%d@%d save_xbzrle_page_overflow \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.ram_save_iterate_big_wait = qemu.kvm.ram_save_iterate_big_wait ?
{
    printf("%d@%d ram_save_iterate_big_wait big wait: %u milliseconds, %d iterations\n", pid(), gettimeofday_ns(), milliconds, iterations)
}
probe qemu.kvm.log.ram_load_complete = qemu.kvm.ram_load_complete ?
{
    printf("%d@%d ram_load_complete exit_code %d seq iteration %u\n", pid(), gettimeofday_ns(), ret, seq_iter)
}
probe qemu.kvm.log.await_return_path_close_on_source_close = qemu.kvm.await_return_path_close_on_source_close ?
{
    printf("%d@%d await_return_path_close_on_source_close \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.await_return_path_close_on_source_joining = qemu.kvm.await_return_path_close_on_source_joining ?
{
    printf("%d@%d await_return_path_close_on_source_joining \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migrate_set_state = qemu.kvm.migrate_set_state ?
{
    try {
        argnew_state_str = new_state ? user_string_n(new_state, 512) : "<null>"
    } catch {}
    printf("%d@%d migrate_set_state new state %s\n", pid(), gettimeofday_ns(), argnew_state_str)
}
probe qemu.kvm.log.migrate_fd_cleanup = qemu.kvm.migrate_fd_cleanup ?
{
    printf("%d@%d migrate_fd_cleanup \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migrate_fd_error = qemu.kvm.migrate_fd_error ?
{
    try {
        argerror_desc_str = error_desc ? user_string_n(error_desc, 512) : "<null>"
    } catch {}
    printf("%d@%d migrate_fd_error error=%s\n", pid(), gettimeofday_ns(), argerror_desc_str)
}
probe qemu.kvm.log.migrate_fd_cancel = qemu.kvm.migrate_fd_cancel ?
{
    printf("%d@%d migrate_fd_cancel \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migrate_handle_rp_req_pages = qemu.kvm.migrate_handle_rp_req_pages ?
{
    try {
        argrbname_str = rbname ? user_string_n(rbname, 512) : "<null>"
    } catch {}
    printf("%d@%d migrate_handle_rp_req_pages in %s at 0x%x len 0x%x\n", pid(), gettimeofday_ns(), argrbname_str, start, len)
}
probe qemu.kvm.log.migrate_pending = qemu.kvm.migrate_pending ?
{
    printf("%d@%d migrate_pending pending size %u max %u (pre = %u compat=%u post=%u)\n", pid(), gettimeofday_ns(), size, max, pre, compat, post)
}
probe qemu.kvm.log.migrate_send_rp_message = qemu.kvm.migrate_send_rp_message ?
{
    printf("%d@%d migrate_send_rp_message %d: len %d\n", pid(), gettimeofday_ns(), msg_type, len)
}
probe qemu.kvm.log.migrate_send_rp_recv_bitmap = qemu.kvm.migrate_send_rp_recv_bitmap ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d migrate_send_rp_recv_bitmap block '%s' size 0x%i\n", pid(), gettimeofday_ns(), argname_str, size)
}
probe qemu.kvm.log.migration_completion_file_err = qemu.kvm.migration_completion_file_err ?
{
    printf("%d@%d migration_completion_file_err \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_completion_postcopy_end = qemu.kvm.migration_completion_postcopy_end ?
{
    printf("%d@%d migration_completion_postcopy_end \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_completion_postcopy_end_after_complete = qemu.kvm.migration_completion_postcopy_end_after_complete ?
{
    printf("%d@%d migration_completion_postcopy_end_after_complete \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_rate_limit_pre = qemu.kvm.migration_rate_limit_pre ?
{
    printf("%d@%d migration_rate_limit_pre %d ms\n", pid(), gettimeofday_ns(), ms)
}
probe qemu.kvm.log.migration_rate_limit_post = qemu.kvm.migration_rate_limit_post ?
{
    printf("%d@%d migration_rate_limit_post urgent: %d\n", pid(), gettimeofday_ns(), urgent)
}
probe qemu.kvm.log.migration_return_path_end_before = qemu.kvm.migration_return_path_end_before ?
{
    printf("%d@%d migration_return_path_end_before \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_return_path_end_after = qemu.kvm.migration_return_path_end_after ?
{
    printf("%d@%d migration_return_path_end_after %d\n", pid(), gettimeofday_ns(), rp_error)
}
probe qemu.kvm.log.migration_thread_after_loop = qemu.kvm.migration_thread_after_loop ?
{
    printf("%d@%d migration_thread_after_loop \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_thread_file_err = qemu.kvm.migration_thread_file_err ?
{
    printf("%d@%d migration_thread_file_err \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_thread_setup_complete = qemu.kvm.migration_thread_setup_complete ?
{
    printf("%d@%d migration_thread_setup_complete \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.open_return_path_on_source = qemu.kvm.open_return_path_on_source ?
{
    printf("%d@%d open_return_path_on_source \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.open_return_path_on_source_continue = qemu.kvm.open_return_path_on_source_continue ?
{
    printf("%d@%d open_return_path_on_source_continue \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_start = qemu.kvm.postcopy_start ?
{
    printf("%d@%d postcopy_start \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_pause_return_path = qemu.kvm.postcopy_pause_return_path ?
{
    printf("%d@%d postcopy_pause_return_path \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_pause_return_path_continued = qemu.kvm.postcopy_pause_return_path_continued ?
{
    printf("%d@%d postcopy_pause_return_path_continued \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_pause_continued = qemu.kvm.postcopy_pause_continued ?
{
    printf("%d@%d postcopy_pause_continued \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_start_set_run = qemu.kvm.postcopy_start_set_run ?
{
    printf("%d@%d postcopy_start_set_run \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.source_return_path_thread_bad_end = qemu.kvm.source_return_path_thread_bad_end ?
{
    printf("%d@%d source_return_path_thread_bad_end \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.source_return_path_thread_end = qemu.kvm.source_return_path_thread_end ?
{
    printf("%d@%d source_return_path_thread_end \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.source_return_path_thread_entry = qemu.kvm.source_return_path_thread_entry ?
{
    printf("%d@%d source_return_path_thread_entry \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.source_return_path_thread_loop_top = qemu.kvm.source_return_path_thread_loop_top ?
{
    printf("%d@%d source_return_path_thread_loop_top \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.source_return_path_thread_pong = qemu.kvm.source_return_path_thread_pong ?
{
    printf("%d@%d source_return_path_thread_pong 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.source_return_path_thread_shut = qemu.kvm.source_return_path_thread_shut ?
{
    printf("%d@%d source_return_path_thread_shut 0x%x\n", pid(), gettimeofday_ns(), val)
}
probe qemu.kvm.log.source_return_path_thread_resume_ack = qemu.kvm.source_return_path_thread_resume_ack ?
{
    printf("%d@%d source_return_path_thread_resume_ack %u\n", pid(), gettimeofday_ns(), v)
}
probe qemu.kvm.log.migration_thread_low_pending = qemu.kvm.migration_thread_low_pending ?
{
    printf("%d@%d migration_thread_low_pending %u\n", pid(), gettimeofday_ns(), pending)
}
probe qemu.kvm.log.migrate_transferred = qemu.kvm.migrate_transferred ?
{
    printf("%d@%d migrate_transferred transferred %u time_spent %u bandwidth %u max_size %d\n", pid(), gettimeofday_ns(), tranferred, time_spent, bandwidth, size)
}
probe qemu.kvm.log.process_incoming_migration_co_end = qemu.kvm.process_incoming_migration_co_end ?
{
    printf("%d@%d process_incoming_migration_co_end ret=%d postcopy-state=%d\n", pid(), gettimeofday_ns(), ret, ps)
}
probe qemu.kvm.log.process_incoming_migration_co_postcopy_end_main = qemu.kvm.process_incoming_migration_co_postcopy_end_main ?
{
    printf("%d@%d process_incoming_migration_co_postcopy_end_main \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_set_incoming_channel = qemu.kvm.migration_set_incoming_channel ?
{
    try {
        argioctype_str = ioctype ? user_string_n(ioctype, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_set_incoming_channel ioc=%p ioctype=%s\n", pid(), gettimeofday_ns(), ioc, argioctype_str)
}
probe qemu.kvm.log.migration_set_outgoing_channel = qemu.kvm.migration_set_outgoing_channel ?
{
    try {
        argioctype_str = ioctype ? user_string_n(ioctype, 512) : "<null>"
    } catch {}
    try {
        arghostname_str = hostname ? user_string_n(hostname, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_set_outgoing_channel ioc=%p ioctype=%s hostname=%s err=%p\n", pid(), gettimeofday_ns(), ioc, argioctype_str, arghostname_str, err)
}
probe qemu.kvm.log.migrate_state_too_big = qemu.kvm.migrate_state_too_big ?
{
    printf("%d@%d migrate_state_too_big \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migrate_global_state_post_load = qemu.kvm.migrate_global_state_post_load ?
{
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d migrate_global_state_post_load loaded state: %s\n", pid(), gettimeofday_ns(), argstate_str)
}
probe qemu.kvm.log.migrate_global_state_pre_save = qemu.kvm.migrate_global_state_pre_save ?
{
    try {
        argstate_str = state ? user_string_n(state, 512) : "<null>"
    } catch {}
    printf("%d@%d migrate_global_state_pre_save saved state: %s\n", pid(), gettimeofday_ns(), argstate_str)
}
probe qemu.kvm.log.qemu_rdma_accept_incoming_migration = qemu.kvm.qemu_rdma_accept_incoming_migration ?
{
    printf("%d@%d qemu_rdma_accept_incoming_migration \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_accept_incoming_migration_accepted = qemu.kvm.qemu_rdma_accept_incoming_migration_accepted ?
{
    printf("%d@%d qemu_rdma_accept_incoming_migration_accepted \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_accept_pin_state = qemu.kvm.qemu_rdma_accept_pin_state ?
{
    printf("%d@%d qemu_rdma_accept_pin_state %d\n", pid(), gettimeofday_ns(), pin)
}
probe qemu.kvm.log.qemu_rdma_accept_pin_verbsc = qemu.kvm.qemu_rdma_accept_pin_verbsc ?
{
    printf("%d@%d qemu_rdma_accept_pin_verbsc Verbs context after listen: %p\n", pid(), gettimeofday_ns(), verbs)
}
probe qemu.kvm.log.qemu_rdma_block_for_wrid_miss = qemu.kvm.qemu_rdma_block_for_wrid_miss ?
{
    try {
        argwcompstr_str = wcompstr ? user_string_n(wcompstr, 512) : "<null>"
    } catch {}
    try {
        arggcompstr_str = gcompstr ? user_string_n(gcompstr, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_block_for_wrid_miss A Wanted wrid %s (%d) but got %s (%u)\n", pid(), gettimeofday_ns(), argwcompstr_str, wcomp, arggcompstr_str, req)
}
probe qemu.kvm.log.qemu_rdma_cleanup_disconnect = qemu.kvm.qemu_rdma_cleanup_disconnect ?
{
    printf("%d@%d qemu_rdma_cleanup_disconnect \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_close = qemu.kvm.qemu_rdma_close ?
{
    printf("%d@%d qemu_rdma_close \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_connect_pin_all_requested = qemu.kvm.qemu_rdma_connect_pin_all_requested ?
{
    printf("%d@%d qemu_rdma_connect_pin_all_requested \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_connect_pin_all_outcome = qemu.kvm.qemu_rdma_connect_pin_all_outcome ?
{
    printf("%d@%d qemu_rdma_connect_pin_all_outcome %d\n", pid(), gettimeofday_ns(), pin)
}
probe qemu.kvm.log.qemu_rdma_dest_init_trying = qemu.kvm.qemu_rdma_dest_init_trying ?
{
    try {
        arghost_str = host ? user_string_n(host, 512) : "<null>"
    } catch {}
    try {
        argip_str = ip ? user_string_n(ip, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_dest_init_trying %s => %s\n", pid(), gettimeofday_ns(), arghost_str, argip_str)
}
probe qemu.kvm.log.qemu_rdma_dump_gid = qemu.kvm.qemu_rdma_dump_gid ?
{
    try {
        argwho_str = who ? user_string_n(who, 512) : "<null>"
    } catch {}
    try {
        argsrc_str = src ? user_string_n(src, 512) : "<null>"
    } catch {}
    try {
        argdst_str = dst ? user_string_n(dst, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_dump_gid %s Source GID: %s, Dest GID: %s\n", pid(), gettimeofday_ns(), argwho_str, argsrc_str, argdst_str)
}
probe qemu.kvm.log.qemu_rdma_exchange_get_response_start = qemu.kvm.qemu_rdma_exchange_get_response_start ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_exchange_get_response_start CONTROL: %s receiving...\n", pid(), gettimeofday_ns(), argdesc_str)
}
probe qemu.kvm.log.qemu_rdma_exchange_get_response_none = qemu.kvm.qemu_rdma_exchange_get_response_none ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_exchange_get_response_none Surprise: got %s (%d)\n", pid(), gettimeofday_ns(), argdesc_str, type)
}
probe qemu.kvm.log.qemu_rdma_exchange_send_issue_callback = qemu.kvm.qemu_rdma_exchange_send_issue_callback ?
{
    printf("%d@%d qemu_rdma_exchange_send_issue_callback \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_exchange_send_waiting = qemu.kvm.qemu_rdma_exchange_send_waiting ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_exchange_send_waiting Waiting for response %s\n", pid(), gettimeofday_ns(), argdesc_str)
}
probe qemu.kvm.log.qemu_rdma_exchange_send_received = qemu.kvm.qemu_rdma_exchange_send_received ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_exchange_send_received Response %s received.\n", pid(), gettimeofday_ns(), argdesc_str)
}
probe qemu.kvm.log.qemu_rdma_fill = qemu.kvm.qemu_rdma_fill ?
{
    printf("%d@%d qemu_rdma_fill RDMA %d of %d bytes already in buffer\n", pid(), gettimeofday_ns(), control_len, size)
}
probe qemu.kvm.log.qemu_rdma_init_ram_blocks = qemu.kvm.qemu_rdma_init_ram_blocks ?
{
    printf("%d@%d qemu_rdma_init_ram_blocks Allocated %d local ram block structures\n", pid(), gettimeofday_ns(), blocks)
}
probe qemu.kvm.log.qemu_rdma_poll_recv = qemu.kvm.qemu_rdma_poll_recv ?
{
    try {
        argcompstr_str = compstr ? user_string_n(compstr, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_poll_recv completion %s #%d received (%d) left %d\n", pid(), gettimeofday_ns(), argcompstr_str, comp, id, sent)
}
probe qemu.kvm.log.qemu_rdma_poll_write = qemu.kvm.qemu_rdma_poll_write ?
{
    try {
        argcompstr_str = compstr ? user_string_n(compstr, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_poll_write completions %s (%d) left %d, block %u, chunk: %u %p %p\n", pid(), gettimeofday_ns(), argcompstr_str, comp, left, block, chunk, local, remote)
}
probe qemu.kvm.log.qemu_rdma_poll_other = qemu.kvm.qemu_rdma_poll_other ?
{
    try {
        argcompstr_str = compstr ? user_string_n(compstr, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_poll_other other completion %s (%d) received left %d\n", pid(), gettimeofday_ns(), argcompstr_str, comp, left)
}
probe qemu.kvm.log.qemu_rdma_post_send_control = qemu.kvm.qemu_rdma_post_send_control ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_post_send_control CONTROL: sending %s..\n", pid(), gettimeofday_ns(), argdesc_str)
}
probe qemu.kvm.log.qemu_rdma_register_and_get_keys = qemu.kvm.qemu_rdma_register_and_get_keys ?
{
    printf("%d@%d qemu_rdma_register_and_get_keys Registering %u bytes @ %p\n", pid(), gettimeofday_ns(), len, start)
}
probe qemu.kvm.log.qemu_rdma_registration_handle_compress = qemu.kvm.qemu_rdma_registration_handle_compress ?
{
    printf("%d@%d qemu_rdma_registration_handle_compress Zapping zero chunk: %d bytes, index %d, offset %d\n", pid(), gettimeofday_ns(), length, index, offset)
}
probe qemu.kvm.log.qemu_rdma_registration_handle_finished = qemu.kvm.qemu_rdma_registration_handle_finished ?
{
    printf("%d@%d qemu_rdma_registration_handle_finished \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_registration_handle_ram_blocks = qemu.kvm.qemu_rdma_registration_handle_ram_blocks ?
{
    printf("%d@%d qemu_rdma_registration_handle_ram_blocks \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_registration_handle_ram_blocks_loop = qemu.kvm.qemu_rdma_registration_handle_ram_blocks_loop ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_registration_handle_ram_blocks_loop %s: @0x%x/%u host:@%p src_index: %u\n", pid(), gettimeofday_ns(), argname_str, offset, length, local_host_addr, src_index)
}
probe qemu.kvm.log.qemu_rdma_registration_handle_register = qemu.kvm.qemu_rdma_registration_handle_register ?
{
    printf("%d@%d qemu_rdma_registration_handle_register %d requests\n", pid(), gettimeofday_ns(), requests)
}
probe qemu.kvm.log.qemu_rdma_registration_handle_register_loop = qemu.kvm.qemu_rdma_registration_handle_register_loop ?
{
    printf("%d@%d qemu_rdma_registration_handle_register_loop Registration request (%d): index %d, current_addr %u chunks: %u\n", pid(), gettimeofday_ns(), req, index, addr, chunks)
}
probe qemu.kvm.log.qemu_rdma_registration_handle_register_rkey = qemu.kvm.qemu_rdma_registration_handle_register_rkey ?
{
    printf("%d@%d qemu_rdma_registration_handle_register_rkey 0x%x\n", pid(), gettimeofday_ns(), rkey)
}
probe qemu.kvm.log.qemu_rdma_registration_handle_unregister = qemu.kvm.qemu_rdma_registration_handle_unregister ?
{
    printf("%d@%d qemu_rdma_registration_handle_unregister %d requests\n", pid(), gettimeofday_ns(), requests)
}
probe qemu.kvm.log.qemu_rdma_registration_handle_unregister_loop = qemu.kvm.qemu_rdma_registration_handle_unregister_loop ?
{
    printf("%d@%d qemu_rdma_registration_handle_unregister_loop Unregistration request (%d): index %d, chunk %u\n", pid(), gettimeofday_ns(), count, index, chunk)
}
probe qemu.kvm.log.qemu_rdma_registration_handle_unregister_success = qemu.kvm.qemu_rdma_registration_handle_unregister_success ?
{
    printf("%d@%d qemu_rdma_registration_handle_unregister_success %u\n", pid(), gettimeofday_ns(), chunk)
}
probe qemu.kvm.log.qemu_rdma_registration_handle_wait = qemu.kvm.qemu_rdma_registration_handle_wait ?
{
    printf("%d@%d qemu_rdma_registration_handle_wait \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_registration_start = qemu.kvm.qemu_rdma_registration_start ?
{
    printf("%d@%d qemu_rdma_registration_start %u\n", pid(), gettimeofday_ns(), flags)
}
probe qemu.kvm.log.qemu_rdma_registration_stop = qemu.kvm.qemu_rdma_registration_stop ?
{
    printf("%d@%d qemu_rdma_registration_stop %u\n", pid(), gettimeofday_ns(), flags)
}
probe qemu.kvm.log.qemu_rdma_registration_stop_ram = qemu.kvm.qemu_rdma_registration_stop_ram ?
{
    printf("%d@%d qemu_rdma_registration_stop_ram \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_resolve_host_trying = qemu.kvm.qemu_rdma_resolve_host_trying ?
{
    try {
        arghost_str = host ? user_string_n(host, 512) : "<null>"
    } catch {}
    try {
        argip_str = ip ? user_string_n(ip, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_rdma_resolve_host_trying Trying %s => %s\n", pid(), gettimeofday_ns(), arghost_str, argip_str)
}
probe qemu.kvm.log.qemu_rdma_signal_unregister_append = qemu.kvm.qemu_rdma_signal_unregister_append ?
{
    printf("%d@%d qemu_rdma_signal_unregister_append Appending unregister chunk %u at position %d\n", pid(), gettimeofday_ns(), chunk, pos)
}
probe qemu.kvm.log.qemu_rdma_signal_unregister_already = qemu.kvm.qemu_rdma_signal_unregister_already ?
{
    printf("%d@%d qemu_rdma_signal_unregister_already Unregister chunk %u already in queue\n", pid(), gettimeofday_ns(), chunk)
}
probe qemu.kvm.log.qemu_rdma_unregister_waiting_inflight = qemu.kvm.qemu_rdma_unregister_waiting_inflight ?
{
    printf("%d@%d qemu_rdma_unregister_waiting_inflight Cannot unregister inflight chunk: %u\n", pid(), gettimeofday_ns(), chunk)
}
probe qemu.kvm.log.qemu_rdma_unregister_waiting_proc = qemu.kvm.qemu_rdma_unregister_waiting_proc ?
{
    printf("%d@%d qemu_rdma_unregister_waiting_proc Processing unregister for chunk: %u at position %d\n", pid(), gettimeofday_ns(), chunk, pos)
}
probe qemu.kvm.log.qemu_rdma_unregister_waiting_send = qemu.kvm.qemu_rdma_unregister_waiting_send ?
{
    printf("%d@%d qemu_rdma_unregister_waiting_send Sending unregister for chunk: %u\n", pid(), gettimeofday_ns(), chunk)
}
probe qemu.kvm.log.qemu_rdma_unregister_waiting_complete = qemu.kvm.qemu_rdma_unregister_waiting_complete ?
{
    printf("%d@%d qemu_rdma_unregister_waiting_complete Unregister for chunk: %u complete.\n", pid(), gettimeofday_ns(), chunk)
}
probe qemu.kvm.log.qemu_rdma_write_flush = qemu.kvm.qemu_rdma_write_flush ?
{
    printf("%d@%d qemu_rdma_write_flush sent total: %d\n", pid(), gettimeofday_ns(), sent)
}
probe qemu.kvm.log.qemu_rdma_write_one_block = qemu.kvm.qemu_rdma_write_one_block ?
{
    printf("%d@%d qemu_rdma_write_one_block (%d) Not clobbering: block: %d chunk %u current %u len %u %d %d\n", pid(), gettimeofday_ns(), count, block, chunk, current, len, nb_sent, nb_chunks)
}
probe qemu.kvm.log.qemu_rdma_write_one_post = qemu.kvm.qemu_rdma_write_one_post ?
{
    printf("%d@%d qemu_rdma_write_one_post Posting chunk: %u, addr: 0x%lx remote: 0x%lx, bytes %u\n", pid(), gettimeofday_ns(), chunk, addr, remote, len)
}
probe qemu.kvm.log.qemu_rdma_write_one_queue_full = qemu.kvm.qemu_rdma_write_one_queue_full ?
{
    printf("%d@%d qemu_rdma_write_one_queue_full \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_rdma_write_one_recvregres = qemu.kvm.qemu_rdma_write_one_recvregres ?
{
    printf("%d@%d qemu_rdma_write_one_recvregres Received registration result: my key: 0x%x their key 0x%x, chunk %u\n", pid(), gettimeofday_ns(), mykey, theirkey, chunk)
}
probe qemu.kvm.log.qemu_rdma_write_one_sendreg = qemu.kvm.qemu_rdma_write_one_sendreg ?
{
    printf("%d@%d qemu_rdma_write_one_sendreg Sending registration request chunk %u for %d bytes, index: %d, offset: %d\n", pid(), gettimeofday_ns(), chunk, len, index, offset)
}
probe qemu.kvm.log.qemu_rdma_write_one_top = qemu.kvm.qemu_rdma_write_one_top ?
{
    printf("%d@%d qemu_rdma_write_one_top Writing %u chunks, (%u MB)\n", pid(), gettimeofday_ns(), chunks, size)
}
probe qemu.kvm.log.qemu_rdma_write_one_zero = qemu.kvm.qemu_rdma_write_one_zero ?
{
    printf("%d@%d qemu_rdma_write_one_zero Entire chunk is zero, sending compress: %u for %d bytes, index: %d, offset: %d\n", pid(), gettimeofday_ns(), chunk, len, index, offset)
}
probe qemu.kvm.log.rdma_add_block = qemu.kvm.rdma_add_block ?
{
    try {
        argblock_name_str = block_name ? user_string_n(block_name, 512) : "<null>"
    } catch {}
    printf("%d@%d rdma_add_block Added Block: '%s':%d, addr: %u, offset: %u length: %u end: %u bits %u chunks %d\n", pid(), gettimeofday_ns(), argblock_name_str, block, addr, offset, len, end, bits, chunks)
}
probe qemu.kvm.log.rdma_block_notification_handle = qemu.kvm.rdma_block_notification_handle ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d rdma_block_notification_handle %s at %d\n", pid(), gettimeofday_ns(), argname_str, index)
}
probe qemu.kvm.log.rdma_delete_block = qemu.kvm.rdma_delete_block ?
{
    printf("%d@%d rdma_delete_block Deleted Block: %p, addr: %u, offset: %u length: %u end: %u bits %u chunks %d\n", pid(), gettimeofday_ns(), block, addr, offset, len, end, bits, chunks)
}
probe qemu.kvm.log.rdma_start_incoming_migration = qemu.kvm.rdma_start_incoming_migration ?
{
    printf("%d@%d rdma_start_incoming_migration \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.rdma_start_incoming_migration_after_dest_init = qemu.kvm.rdma_start_incoming_migration_after_dest_init ?
{
    printf("%d@%d rdma_start_incoming_migration_after_dest_init \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.rdma_start_incoming_migration_after_rdma_listen = qemu.kvm.rdma_start_incoming_migration_after_rdma_listen ?
{
    printf("%d@%d rdma_start_incoming_migration_after_rdma_listen \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.rdma_start_outgoing_migration_after_rdma_connect = qemu.kvm.rdma_start_outgoing_migration_after_rdma_connect ?
{
    printf("%d@%d rdma_start_outgoing_migration_after_rdma_connect \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.rdma_start_outgoing_migration_after_rdma_source_init = qemu.kvm.rdma_start_outgoing_migration_after_rdma_source_init ?
{
    printf("%d@%d rdma_start_outgoing_migration_after_rdma_source_init \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_discard_send_finish = qemu.kvm.postcopy_discard_send_finish ?
{
    try {
        argramblock_str = ramblock ? user_string_n(ramblock, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_discard_send_finish %s mask words sent=%d in %d commands\n", pid(), gettimeofday_ns(), argramblock_str, nwords, ncmds)
}
probe qemu.kvm.log.postcopy_discard_send_range = qemu.kvm.postcopy_discard_send_range ?
{
    try {
        argramblock_str = ramblock ? user_string_n(ramblock, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_discard_send_range %s:%lx/%lx\n", pid(), gettimeofday_ns(), argramblock_str, start, length)
}
probe qemu.kvm.log.postcopy_cleanup_range = qemu.kvm.postcopy_cleanup_range ?
{
    try {
        argramblock_str = ramblock ? user_string_n(ramblock, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_cleanup_range %s: %p offset=0x%x length=0x%x\n", pid(), gettimeofday_ns(), argramblock_str, host_addr, offset, length)
}
probe qemu.kvm.log.postcopy_init_range = qemu.kvm.postcopy_init_range ?
{
    try {
        argramblock_str = ramblock ? user_string_n(ramblock, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_init_range %s: %p offset=0x%x length=0x%x\n", pid(), gettimeofday_ns(), argramblock_str, host_addr, offset, length)
}
probe qemu.kvm.log.postcopy_nhp_range = qemu.kvm.postcopy_nhp_range ?
{
    try {
        argramblock_str = ramblock ? user_string_n(ramblock, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_nhp_range %s: %p offset=0x%x length=0x%x\n", pid(), gettimeofday_ns(), argramblock_str, host_addr, offset, length)
}
probe qemu.kvm.log.postcopy_place_page = qemu.kvm.postcopy_place_page ?
{
    printf("%d@%d postcopy_place_page host=%p\n", pid(), gettimeofday_ns(), host_addr)
}
probe qemu.kvm.log.postcopy_place_page_zero = qemu.kvm.postcopy_place_page_zero ?
{
    printf("%d@%d postcopy_place_page_zero host=%p\n", pid(), gettimeofday_ns(), host_addr)
}
probe qemu.kvm.log.postcopy_ram_enable_notify = qemu.kvm.postcopy_ram_enable_notify ?
{
    printf("%d@%d postcopy_ram_enable_notify \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.mark_postcopy_blocktime_begin = qemu.kvm.mark_postcopy_blocktime_begin ?
{
    printf("%d@%d mark_postcopy_blocktime_begin addr: 0x%x, dd: %p, time: %u, cpu: %d, already_received: %d\n", pid(), gettimeofday_ns(), addr, dd, time, cpu, received)
}
probe qemu.kvm.log.mark_postcopy_blocktime_end = qemu.kvm.mark_postcopy_blocktime_end ?
{
    printf("%d@%d mark_postcopy_blocktime_end addr: 0x%x, dd: %p, time: %u, affected_cpu: %d\n", pid(), gettimeofday_ns(), addr, dd, time, affected_cpu)
}
probe qemu.kvm.log.postcopy_pause_fault_thread = qemu.kvm.postcopy_pause_fault_thread ?
{
    printf("%d@%d postcopy_pause_fault_thread \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_pause_fault_thread_continued = qemu.kvm.postcopy_pause_fault_thread_continued ?
{
    printf("%d@%d postcopy_pause_fault_thread_continued \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_ram_fault_thread_entry = qemu.kvm.postcopy_ram_fault_thread_entry ?
{
    printf("%d@%d postcopy_ram_fault_thread_entry \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_ram_fault_thread_exit = qemu.kvm.postcopy_ram_fault_thread_exit ?
{
    printf("%d@%d postcopy_ram_fault_thread_exit \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_ram_fault_thread_fds_core = qemu.kvm.postcopy_ram_fault_thread_fds_core ?
{
    printf("%d@%d postcopy_ram_fault_thread_fds_core ufd: %d quitfd: %d\n", pid(), gettimeofday_ns(), baseufd, quitfd)
}
probe qemu.kvm.log.postcopy_ram_fault_thread_fds_extra = qemu.kvm.postcopy_ram_fault_thread_fds_extra ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_ram_fault_thread_fds_extra %d/%s: %d\n", pid(), gettimeofday_ns(), index, argname_str, fd)
}
probe qemu.kvm.log.postcopy_ram_fault_thread_quit = qemu.kvm.postcopy_ram_fault_thread_quit ?
{
    printf("%d@%d postcopy_ram_fault_thread_quit \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_ram_fault_thread_request = qemu.kvm.postcopy_ram_fault_thread_request ?
{
    try {
        argramblock_str = ramblock ? user_string_n(ramblock, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_ram_fault_thread_request Request for HVA=0x%x rb=%s offset=0x%x pid=%u\n", pid(), gettimeofday_ns(), hostaddr, argramblock_str, offset, pid)
}
probe qemu.kvm.log.postcopy_ram_incoming_cleanup_closeuf = qemu.kvm.postcopy_ram_incoming_cleanup_closeuf ?
{
    printf("%d@%d postcopy_ram_incoming_cleanup_closeuf \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_ram_incoming_cleanup_entry = qemu.kvm.postcopy_ram_incoming_cleanup_entry ?
{
    printf("%d@%d postcopy_ram_incoming_cleanup_entry \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_ram_incoming_cleanup_exit = qemu.kvm.postcopy_ram_incoming_cleanup_exit ?
{
    printf("%d@%d postcopy_ram_incoming_cleanup_exit \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_ram_incoming_cleanup_join = qemu.kvm.postcopy_ram_incoming_cleanup_join ?
{
    printf("%d@%d postcopy_ram_incoming_cleanup_join \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.postcopy_ram_incoming_cleanup_blocktime = qemu.kvm.postcopy_ram_incoming_cleanup_blocktime ?
{
    printf("%d@%d postcopy_ram_incoming_cleanup_blocktime total blocktime %u\n", pid(), gettimeofday_ns(), total)
}
probe qemu.kvm.log.postcopy_request_shared_page = qemu.kvm.postcopy_request_shared_page ?
{
    try {
        argsharer_str = sharer ? user_string_n(sharer, 512) : "<null>"
    } catch {}
    try {
        argrb_str = rb ? user_string_n(rb, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_request_shared_page for %s in %s offset 0x%x\n", pid(), gettimeofday_ns(), argsharer_str, argrb_str, rb_offset)
}
probe qemu.kvm.log.postcopy_request_shared_page_present = qemu.kvm.postcopy_request_shared_page_present ?
{
    try {
        argsharer_str = sharer ? user_string_n(sharer, 512) : "<null>"
    } catch {}
    try {
        argrb_str = rb ? user_string_n(rb, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_request_shared_page_present %s already %s offset 0x%x\n", pid(), gettimeofday_ns(), argsharer_str, argrb_str, rb_offset)
}
probe qemu.kvm.log.postcopy_wake_shared = qemu.kvm.postcopy_wake_shared ?
{
    try {
        argrb_str = rb ? user_string_n(rb, 512) : "<null>"
    } catch {}
    printf("%d@%d postcopy_wake_shared at 0x%x in %s\n", pid(), gettimeofday_ns(), client_addr, argrb_str)
}
probe qemu.kvm.log.get_mem_fault_cpu_index = qemu.kvm.get_mem_fault_cpu_index ?
{
    printf("%d@%d get_mem_fault_cpu_index cpu: %d, pid: %u\n", pid(), gettimeofday_ns(), cpu, pid)
}
probe qemu.kvm.log.migration_exec_outgoing = qemu.kvm.migration_exec_outgoing ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_exec_outgoing cmd=%s\n", pid(), gettimeofday_ns(), argcmd_str)
}
probe qemu.kvm.log.migration_exec_incoming = qemu.kvm.migration_exec_incoming ?
{
    try {
        argcmd_str = cmd ? user_string_n(cmd, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_exec_incoming cmd=%s\n", pid(), gettimeofday_ns(), argcmd_str)
}
probe qemu.kvm.log.migration_fd_outgoing = qemu.kvm.migration_fd_outgoing ?
{
    printf("%d@%d migration_fd_outgoing fd=%d\n", pid(), gettimeofday_ns(), fd)
}
probe qemu.kvm.log.migration_fd_incoming = qemu.kvm.migration_fd_incoming ?
{
    printf("%d@%d migration_fd_incoming fd=%d\n", pid(), gettimeofday_ns(), fd)
}
probe qemu.kvm.log.migration_socket_incoming_accepted = qemu.kvm.migration_socket_incoming_accepted ?
{
    printf("%d@%d migration_socket_incoming_accepted \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_socket_outgoing_connected = qemu.kvm.migration_socket_outgoing_connected ?
{
    try {
        arghostname_str = hostname ? user_string_n(hostname, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_socket_outgoing_connected hostname=%s\n", pid(), gettimeofday_ns(), arghostname_str)
}
probe qemu.kvm.log.migration_socket_outgoing_error = qemu.kvm.migration_socket_outgoing_error ?
{
    try {
        argerr_str = err ? user_string_n(err, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_socket_outgoing_error error=%s\n", pid(), gettimeofday_ns(), argerr_str)
}
probe qemu.kvm.log.migration_tls_outgoing_handshake_start = qemu.kvm.migration_tls_outgoing_handshake_start ?
{
    try {
        arghostname_str = hostname ? user_string_n(hostname, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_tls_outgoing_handshake_start hostname=%s\n", pid(), gettimeofday_ns(), arghostname_str)
}
probe qemu.kvm.log.migration_tls_outgoing_handshake_error = qemu.kvm.migration_tls_outgoing_handshake_error ?
{
    try {
        argerr_str = err ? user_string_n(err, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_tls_outgoing_handshake_error err=%s\n", pid(), gettimeofday_ns(), argerr_str)
}
probe qemu.kvm.log.migration_tls_outgoing_handshake_complete = qemu.kvm.migration_tls_outgoing_handshake_complete ?
{
    printf("%d@%d migration_tls_outgoing_handshake_complete \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_tls_incoming_handshake_start = qemu.kvm.migration_tls_incoming_handshake_start ?
{
    printf("%d@%d migration_tls_incoming_handshake_start \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.migration_tls_incoming_handshake_error = qemu.kvm.migration_tls_incoming_handshake_error ?
{
    try {
        argerr_str = err ? user_string_n(err, 512) : "<null>"
    } catch {}
    printf("%d@%d migration_tls_incoming_handshake_error err=%s\n", pid(), gettimeofday_ns(), argerr_str)
}
probe qemu.kvm.log.migration_tls_incoming_handshake_complete = qemu.kvm.migration_tls_incoming_handshake_complete ?
{
    printf("%d@%d migration_tls_incoming_handshake_complete \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.colo_vm_state_change = qemu.kvm.colo_vm_state_change ?
{
    try {
        argold_str = old ? user_string_n(old, 512) : "<null>"
    } catch {}
    try {
        argnew_str = new ? user_string_n(new, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_vm_state_change Change '%s' => '%s'\n", pid(), gettimeofday_ns(), argold_str, argnew_str)
}
probe qemu.kvm.log.colo_send_message = qemu.kvm.colo_send_message ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_send_message Send '%s' message\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.colo_receive_message = qemu.kvm.colo_receive_message ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_receive_message Receive '%s' message\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.colo_failover_set_state = qemu.kvm.colo_failover_set_state ?
{
    try {
        argnew_state_str = new_state ? user_string_n(new_state, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_failover_set_state new state %s\n", pid(), gettimeofday_ns(), argnew_state_str)
}
probe qemu.kvm.log.send_bitmap_header_enter = qemu.kvm.send_bitmap_header_enter ?
{
    printf("%d@%d send_bitmap_header_enter \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.send_bitmap_bits = qemu.kvm.send_bitmap_bits ?
{
    printf("%d@%d send_bitmap_bits flags: 0x%x, start_sector: %u, nr_sectors: %u, data_size: %u\n", pid(), gettimeofday_ns(), flags, start_sector, nr_sectors, data_size)
}
probe qemu.kvm.log.dirty_bitmap_save_iterate = qemu.kvm.dirty_bitmap_save_iterate ?
{
    printf("%d@%d dirty_bitmap_save_iterate in postcopy: %d\n", pid(), gettimeofday_ns(), in_postcopy)
}
probe qemu.kvm.log.dirty_bitmap_save_complete_enter = qemu.kvm.dirty_bitmap_save_complete_enter ?
{
    printf("%d@%d dirty_bitmap_save_complete_enter \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.dirty_bitmap_save_complete_finish = qemu.kvm.dirty_bitmap_save_complete_finish ?
{
    printf("%d@%d dirty_bitmap_save_complete_finish \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.dirty_bitmap_save_pending = qemu.kvm.dirty_bitmap_save_pending ?
{
    printf("%d@%d dirty_bitmap_save_pending pending %u max: %u\n", pid(), gettimeofday_ns(), pending, max_size)
}
probe qemu.kvm.log.dirty_bitmap_load_complete = qemu.kvm.dirty_bitmap_load_complete ?
{
    printf("%d@%d dirty_bitmap_load_complete \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.dirty_bitmap_load_bits_enter = qemu.kvm.dirty_bitmap_load_bits_enter ?
{
    printf("%d@%d dirty_bitmap_load_bits_enter chunk: %u %u\n", pid(), gettimeofday_ns(), first_sector, nr_sectors)
}
probe qemu.kvm.log.dirty_bitmap_load_bits_zeroes = qemu.kvm.dirty_bitmap_load_bits_zeroes ?
{
    printf("%d@%d dirty_bitmap_load_bits_zeroes \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.dirty_bitmap_load_header = qemu.kvm.dirty_bitmap_load_header ?
{
    printf("%d@%d dirty_bitmap_load_header flags 0x%x\n", pid(), gettimeofday_ns(), flags)
}
probe qemu.kvm.log.dirty_bitmap_load_enter = qemu.kvm.dirty_bitmap_load_enter ?
{
    printf("%d@%d dirty_bitmap_load_enter \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.dirty_bitmap_load_success = qemu.kvm.dirty_bitmap_load_success ?
{
    printf("%d@%d dirty_bitmap_load_success \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.qemu_announce_self_iter = qemu.kvm.qemu_announce_self_iter ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    try {
        argmac_str = mac ? user_string_n(mac, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_announce_self_iter %s:%s:%s skip: %d\n", pid(), gettimeofday_ns(), argid_str, argname_str, argmac_str, skip)
}
probe qemu.kvm.log.qemu_announce_timer_del = qemu.kvm.qemu_announce_timer_del ?
{
    try {
        argid_str = id ? user_string_n(id, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_announce_timer_del free named: %d free timer: %d id: %s\n", pid(), gettimeofday_ns(), free_named, free_timer, argid_str)
}
probe qemu.kvm.log.vhost_user_event = qemu.kvm.vhost_user_event ?
{
    try {
        argchr_str = chr ? user_string_n(chr, 512) : "<null>"
    } catch {}
    printf("%d@%d vhost_user_event chr: %s got event: %d\n", pid(), gettimeofday_ns(), argchr_str, event)
}
probe qemu.kvm.log.colo_proxy_main = qemu.kvm.colo_proxy_main ?
{
    try {
        argchr_str = chr ? user_string_n(chr, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_proxy_main : %s\n", pid(), gettimeofday_ns(), argchr_str)
}
probe qemu.kvm.log.colo_compare_main = qemu.kvm.colo_compare_main ?
{
    try {
        argchr_str = chr ? user_string_n(chr, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_compare_main : %s\n", pid(), gettimeofday_ns(), argchr_str)
}
probe qemu.kvm.log.colo_compare_udp_miscompare = qemu.kvm.colo_compare_udp_miscompare ?
{
    try {
        argsta_str = sta ? user_string_n(sta, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_compare_udp_miscompare : %s = %d\n", pid(), gettimeofday_ns(), argsta_str, size)
}
probe qemu.kvm.log.colo_compare_icmp_miscompare = qemu.kvm.colo_compare_icmp_miscompare ?
{
    try {
        argsta_str = sta ? user_string_n(sta, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_compare_icmp_miscompare : %s = %d\n", pid(), gettimeofday_ns(), argsta_str, size)
}
probe qemu.kvm.log.colo_compare_ip_info = qemu.kvm.colo_compare_ip_info ?
{
    try {
        argsta_str = sta ? user_string_n(sta, 512) : "<null>"
    } catch {}
    try {
        argstb_str = stb ? user_string_n(stb, 512) : "<null>"
    } catch {}
    try {
        argstc_str = stc ? user_string_n(stc, 512) : "<null>"
    } catch {}
    try {
        argstd_str = std ? user_string_n(std, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_compare_ip_info ppkt size = %d, ip_src = %s, ip_dst = %s, spkt size = %d, ip_src = %s, ip_dst = %s\n", pid(), gettimeofday_ns(), psize, argsta_str, argstb_str, ssize, argstc_str, argstd_str)
}
probe qemu.kvm.log.colo_old_packet_check_found = qemu.kvm.colo_old_packet_check_found ?
{
    printf("%d@%d colo_old_packet_check_found %d\n", pid(), gettimeofday_ns(), old_time)
}
probe qemu.kvm.log.colo_compare_miscompare = qemu.kvm.colo_compare_miscompare ?
{
    printf("%d@%d colo_compare_miscompare \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.colo_compare_tcp_info = qemu.kvm.colo_compare_tcp_info ?
{
    try {
        argpkt_str = pkt ? user_string_n(pkt, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_compare_tcp_info %s: seq/ack= %u/%u hdlen= %d pdlen= %d offset= %d flags=%d\n", pid(), gettimeofday_ns(), argpkt_str, seq, ack, hdlen, pdlen, offset, flags)
}
probe qemu.kvm.log.colo_filter_rewriter_debug = qemu.kvm.colo_filter_rewriter_debug ?
{
    printf("%d@%d colo_filter_rewriter_debug \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.colo_filter_rewriter_pkt_info = qemu.kvm.colo_filter_rewriter_pkt_info ?
{
    try {
        argfunc_str = func ? user_string_n(func, 512) : "<null>"
    } catch {}
    try {
        argsrc_str = src ? user_string_n(src, 512) : "<null>"
    } catch {}
    try {
        argdst_str = dst ? user_string_n(dst, 512) : "<null>"
    } catch {}
    printf("%d@%d colo_filter_rewriter_pkt_info %s: src/dst: %s/%s p: seq/ack=%u/%u  flags=0x%x\n", pid(), gettimeofday_ns(), argfunc_str, argsrc_str, argdst_str, seq, ack, flag)
}
probe qemu.kvm.log.colo_filter_rewriter_conn_offset = qemu.kvm.colo_filter_rewriter_conn_offset ?
{
    printf("%d@%d colo_filter_rewriter_conn_offset : offset=%u\n", pid(), gettimeofday_ns(), offset)
}
probe qemu.kvm.log.console_gfx_new = qemu.kvm.console_gfx_new ?
{
    printf("%d@%d console_gfx_new \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.console_gfx_reuse = qemu.kvm.console_gfx_reuse ?
{
    printf("%d@%d console_gfx_reuse %d\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.console_gfx_close = qemu.kvm.console_gfx_close ?
{
    printf("%d@%d console_gfx_close %d\n", pid(), gettimeofday_ns(), index)
}
probe qemu.kvm.log.console_putchar_csi = qemu.kvm.console_putchar_csi ?
{
    printf("%d@%d console_putchar_csi escape sequence CSI%d;%d%c, %d parameters\n", pid(), gettimeofday_ns(), esc_param0, esc_param1, ch, nb_esc_params)
}
probe qemu.kvm.log.console_putchar_unhandled = qemu.kvm.console_putchar_unhandled ?
{
    printf("%d@%d console_putchar_unhandled unhandled escape character '%c'\n", pid(), gettimeofday_ns(), ch)
}
probe qemu.kvm.log.console_txt_new = qemu.kvm.console_txt_new ?
{
    printf("%d@%d console_txt_new %dx%d\n", pid(), gettimeofday_ns(), w, h)
}
probe qemu.kvm.log.console_select = qemu.kvm.console_select ?
{
    printf("%d@%d console_select %d\n", pid(), gettimeofday_ns(), nr)
}
probe qemu.kvm.log.console_refresh = qemu.kvm.console_refresh ?
{
    printf("%d@%d console_refresh interval %d ms\n", pid(), gettimeofday_ns(), interval)
}
probe qemu.kvm.log.displaysurface_create = qemu.kvm.displaysurface_create ?
{
    printf("%d@%d displaysurface_create surface=%p, %dx%d\n", pid(), gettimeofday_ns(), display_surface, w, h)
}
probe qemu.kvm.log.displaysurface_create_from = qemu.kvm.displaysurface_create_from ?
{
    printf("%d@%d displaysurface_create_from surface=%p, %dx%d, format 0x%x\n", pid(), gettimeofday_ns(), display_surface, w, h, format)
}
probe qemu.kvm.log.displaysurface_create_pixman = qemu.kvm.displaysurface_create_pixman ?
{
    printf("%d@%d displaysurface_create_pixman surface=%p\n", pid(), gettimeofday_ns(), display_surface)
}
probe qemu.kvm.log.displaysurface_free = qemu.kvm.displaysurface_free ?
{
    printf("%d@%d displaysurface_free surface=%p\n", pid(), gettimeofday_ns(), display_surface)
}
probe qemu.kvm.log.displaychangelistener_register = qemu.kvm.displaychangelistener_register ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d displaychangelistener_register %p [ %s ]\n", pid(), gettimeofday_ns(), dcl, argname_str)
}
probe qemu.kvm.log.displaychangelistener_unregister = qemu.kvm.displaychangelistener_unregister ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d displaychangelistener_unregister %p [ %s ]\n", pid(), gettimeofday_ns(), dcl, argname_str)
}
probe qemu.kvm.log.ppm_save = qemu.kvm.ppm_save ?
{
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    printf("%d@%d ppm_save %s surface=%p\n", pid(), gettimeofday_ns(), argfilename_str, display_surface)
}
probe qemu.kvm.log.gd_switch = qemu.kvm.gd_switch ?
{
    try {
        argtab_str = tab ? user_string_n(tab, 512) : "<null>"
    } catch {}
    printf("%d@%d gd_switch tab=%s, width=%d, height=%d\n", pid(), gettimeofday_ns(), argtab_str, width, height)
}
probe qemu.kvm.log.gd_update = qemu.kvm.gd_update ?
{
    try {
        argtab_str = tab ? user_string_n(tab, 512) : "<null>"
    } catch {}
    printf("%d@%d gd_update tab=%s, x=%d, y=%d, w=%d, h=%d\n", pid(), gettimeofday_ns(), argtab_str, x, y, w, h)
}
probe qemu.kvm.log.gd_key_event = qemu.kvm.gd_key_event ?
{
    try {
        argtab_str = tab ? user_string_n(tab, 512) : "<null>"
    } catch {}
    try {
        argaction_str = action ? user_string_n(action, 512) : "<null>"
    } catch {}
    printf("%d@%d gd_key_event tab=%s, translated GDK keycode %d to QKeyCode %d (%s)\n", pid(), gettimeofday_ns(), argtab_str, gdk_keycode, qkeycode, argaction_str)
}
probe qemu.kvm.log.gd_grab = qemu.kvm.gd_grab ?
{
    try {
        argtab_str = tab ? user_string_n(tab, 512) : "<null>"
    } catch {}
    try {
        argdevice_str = device ? user_string_n(device, 512) : "<null>"
    } catch {}
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d gd_grab tab=%s, dev=%s, reason=%s\n", pid(), gettimeofday_ns(), argtab_str, argdevice_str, argreason_str)
}
probe qemu.kvm.log.gd_ungrab = qemu.kvm.gd_ungrab ?
{
    try {
        argtab_str = tab ? user_string_n(tab, 512) : "<null>"
    } catch {}
    try {
        argdevice_str = device ? user_string_n(device, 512) : "<null>"
    } catch {}
    printf("%d@%d gd_ungrab tab=%s, dev=%s\n", pid(), gettimeofday_ns(), argtab_str, argdevice_str)
}
probe qemu.kvm.log.gd_keymap_windowing = qemu.kvm.gd_keymap_windowing ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d gd_keymap_windowing backend=%s\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.vnc_key_guest_leds = qemu.kvm.vnc_key_guest_leds ?
{
    printf("%d@%d vnc_key_guest_leds caps %d, num %d, scroll %d\n", pid(), gettimeofday_ns(), caps, num, scroll)
}
probe qemu.kvm.log.vnc_key_map_init = qemu.kvm.vnc_key_map_init ?
{
    try {
        arglayout_str = layout ? user_string_n(layout, 512) : "<null>"
    } catch {}
    printf("%d@%d vnc_key_map_init %s\n", pid(), gettimeofday_ns(), arglayout_str)
}
probe qemu.kvm.log.vnc_key_event_ext = qemu.kvm.vnc_key_event_ext ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vnc_key_event_ext down %d, sym 0x%x, keycode 0x%x [%s]\n", pid(), gettimeofday_ns(), down, sym, keycode, argname_str)
}
probe qemu.kvm.log.vnc_key_event_map = qemu.kvm.vnc_key_event_map ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vnc_key_event_map down %d, sym 0x%x -> keycode 0x%x [%s]\n", pid(), gettimeofday_ns(), down, sym, keycode, argname_str)
}
probe qemu.kvm.log.vnc_key_sync_numlock = qemu.kvm.vnc_key_sync_numlock ?
{
    printf("%d@%d vnc_key_sync_numlock %d\n", pid(), gettimeofday_ns(), on)
}
probe qemu.kvm.log.vnc_key_sync_capslock = qemu.kvm.vnc_key_sync_capslock ?
{
    printf("%d@%d vnc_key_sync_capslock %d\n", pid(), gettimeofday_ns(), on)
}
probe qemu.kvm.log.vnc_client_eof = qemu.kvm.vnc_client_eof ?
{
    printf("%d@%d vnc_client_eof VNC client EOF state=%p ioc=%p\n", pid(), gettimeofday_ns(), state, ioc)
}
probe qemu.kvm.log.vnc_client_io_error = qemu.kvm.vnc_client_io_error ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d vnc_client_io_error VNC client I/O error state=%p ioc=%p errmsg=%s\n", pid(), gettimeofday_ns(), state, ioc, argmsg_str)
}
probe qemu.kvm.log.vnc_client_connect = qemu.kvm.vnc_client_connect ?
{
    printf("%d@%d vnc_client_connect VNC client connect state=%p ioc=%p\n", pid(), gettimeofday_ns(), state, ioc)
}
probe qemu.kvm.log.vnc_client_disconnect_start = qemu.kvm.vnc_client_disconnect_start ?
{
    printf("%d@%d vnc_client_disconnect_start VNC client disconnect start state=%p ioc=%p\n", pid(), gettimeofday_ns(), state, ioc)
}
probe qemu.kvm.log.vnc_client_disconnect_finish = qemu.kvm.vnc_client_disconnect_finish ?
{
    printf("%d@%d vnc_client_disconnect_finish VNC client disconnect finish state=%p ioc=%p\n", pid(), gettimeofday_ns(), state, ioc)
}
probe qemu.kvm.log.vnc_client_io_wrap = qemu.kvm.vnc_client_io_wrap ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d vnc_client_io_wrap VNC client I/O wrap state=%p ioc=%p type=%s\n", pid(), gettimeofday_ns(), state, ioc, argtype_str)
}
probe qemu.kvm.log.vnc_client_throttle_threshold = qemu.kvm.vnc_client_throttle_threshold ?
{
    printf("%d@%d vnc_client_throttle_threshold VNC client throttle threshold state=%p ioc=%p oldoffset=%u newoffset=%u width=%d height=%d bpp=%d audio=%p\n", pid(), gettimeofday_ns(), state, ioc, oldoffset, offset, client_width, client_height, bytes_per_pixel, audio_cap)
}
probe qemu.kvm.log.vnc_client_throttle_incremental = qemu.kvm.vnc_client_throttle_incremental ?
{
    printf("%d@%d vnc_client_throttle_incremental VNC client throttle incremental state=%p ioc=%p job-update=%d offset=%u\n", pid(), gettimeofday_ns(), state, ioc, job_update, offset)
}
probe qemu.kvm.log.vnc_client_throttle_forced = qemu.kvm.vnc_client_throttle_forced ?
{
    printf("%d@%d vnc_client_throttle_forced VNC client throttle forced state=%p ioc=%p job-update=%d offset=%u\n", pid(), gettimeofday_ns(), state, ioc, job_update, offset)
}
probe qemu.kvm.log.vnc_client_throttle_audio = qemu.kvm.vnc_client_throttle_audio ?
{
    printf("%d@%d vnc_client_throttle_audio VNC client throttle audio state=%p ioc=%p offset=%u\n", pid(), gettimeofday_ns(), state, ioc, offset)
}
probe qemu.kvm.log.vnc_client_unthrottle_forced = qemu.kvm.vnc_client_unthrottle_forced ?
{
    printf("%d@%d vnc_client_unthrottle_forced VNC client unthrottle forced offset state=%p ioc=%p\n", pid(), gettimeofday_ns(), state, ioc)
}
probe qemu.kvm.log.vnc_client_unthrottle_incremental = qemu.kvm.vnc_client_unthrottle_incremental ?
{
    printf("%d@%d vnc_client_unthrottle_incremental VNC client unthrottle incremental state=%p ioc=%p offset=%u\n", pid(), gettimeofday_ns(), state, ioc, offset)
}
probe qemu.kvm.log.vnc_client_output_limit = qemu.kvm.vnc_client_output_limit ?
{
    printf("%d@%d vnc_client_output_limit VNC client output limit state=%p ioc=%p offset=%u threshold=%u\n", pid(), gettimeofday_ns(), state, ioc, offset, threshold)
}
probe qemu.kvm.log.vnc_auth_init = qemu.kvm.vnc_auth_init ?
{
    printf("%d@%d vnc_auth_init VNC auth init state=%p websock=%d auth=%d subauth=%d\n", pid(), gettimeofday_ns(), display, websock, auth, subauth)
}
probe qemu.kvm.log.vnc_auth_start = qemu.kvm.vnc_auth_start ?
{
    printf("%d@%d vnc_auth_start VNC client auth start state=%p method=%d\n", pid(), gettimeofday_ns(), state, method)
}
probe qemu.kvm.log.vnc_auth_pass = qemu.kvm.vnc_auth_pass ?
{
    printf("%d@%d vnc_auth_pass VNC client auth passed state=%p method=%d\n", pid(), gettimeofday_ns(), state, method)
}
probe qemu.kvm.log.vnc_auth_fail = qemu.kvm.vnc_auth_fail ?
{
    try {
        argmessage_str = message ? user_string_n(message, 512) : "<null>"
    } catch {}
    try {
        argreason_str = reason ? user_string_n(reason, 512) : "<null>"
    } catch {}
    printf("%d@%d vnc_auth_fail VNC client auth failed state=%p method=%d message=%s reason=%s\n", pid(), gettimeofday_ns(), state, method, argmessage_str, argreason_str)
}
probe qemu.kvm.log.vnc_auth_reject = qemu.kvm.vnc_auth_reject ?
{
    printf("%d@%d vnc_auth_reject VNC client auth rejected state=%p method expected=%d got=%d\n", pid(), gettimeofday_ns(), state, expect, got)
}
probe qemu.kvm.log.vnc_auth_vencrypt_version = qemu.kvm.vnc_auth_vencrypt_version ?
{
    printf("%d@%d vnc_auth_vencrypt_version VNC client auth vencrypt version state=%p major=%d minor=%d\n", pid(), gettimeofday_ns(), state, major, minor)
}
probe qemu.kvm.log.vnc_auth_vencrypt_subauth = qemu.kvm.vnc_auth_vencrypt_subauth ?
{
    printf("%d@%d vnc_auth_vencrypt_subauth VNC client auth vencrypt subauth state=%p auth=%d\n", pid(), gettimeofday_ns(), state, auth)
}
probe qemu.kvm.log.vnc_auth_sasl_mech_list = qemu.kvm.vnc_auth_sasl_mech_list ?
{
    try {
        argmechs_str = mechs ? user_string_n(mechs, 512) : "<null>"
    } catch {}
    printf("%d@%d vnc_auth_sasl_mech_list VNC client auth SASL state=%p mechlist=%s\n", pid(), gettimeofday_ns(), state, argmechs_str)
}
probe qemu.kvm.log.vnc_auth_sasl_mech_choose = qemu.kvm.vnc_auth_sasl_mech_choose ?
{
    try {
        argmech_str = mech ? user_string_n(mech, 512) : "<null>"
    } catch {}
    printf("%d@%d vnc_auth_sasl_mech_choose VNC client auth SASL state=%p mech=%s\n", pid(), gettimeofday_ns(), state, argmech_str)
}
probe qemu.kvm.log.vnc_auth_sasl_start = qemu.kvm.vnc_auth_sasl_start ?
{
    printf("%d@%d vnc_auth_sasl_start VNC client auth SASL start state=%p clientdata=%p clientlen=%u serverdata=%p serverlen=%u ret=%d\n", pid(), gettimeofday_ns(), state, clientdata, clientlen, serverdata, severlen, ret)
}
probe qemu.kvm.log.vnc_auth_sasl_step = qemu.kvm.vnc_auth_sasl_step ?
{
    printf("%d@%d vnc_auth_sasl_step VNC client auth SASL step state=%p clientdata=%p clientlen=%u serverdata=%p serverlen=%u ret=%d\n", pid(), gettimeofday_ns(), state, clientdata, clientlen, serverdata, severlen, ret)
}
probe qemu.kvm.log.vnc_auth_sasl_ssf = qemu.kvm.vnc_auth_sasl_ssf ?
{
    printf("%d@%d vnc_auth_sasl_ssf VNC client auth SASL SSF state=%p size=%d\n", pid(), gettimeofday_ns(), state, ssf)
}
probe qemu.kvm.log.vnc_auth_sasl_username = qemu.kvm.vnc_auth_sasl_username ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d vnc_auth_sasl_username VNC client auth SASL user state=%p name=%s\n", pid(), gettimeofday_ns(), state, argname_str)
}
probe qemu.kvm.log.vnc_auth_sasl_acl = qemu.kvm.vnc_auth_sasl_acl ?
{
    printf("%d@%d vnc_auth_sasl_acl VNC client auth SASL ACL state=%p allow=%d\n", pid(), gettimeofday_ns(), state, allow)
}
probe qemu.kvm.log.input_event_key_number = qemu.kvm.input_event_key_number ?
{
    try {
        argqcode_str = qcode ? user_string_n(qcode, 512) : "<null>"
    } catch {}
    printf("%d@%d input_event_key_number con %d, key number 0x%x [%s], down %d\n", pid(), gettimeofday_ns(), conidx, number, argqcode_str, down)
}
probe qemu.kvm.log.input_event_key_qcode = qemu.kvm.input_event_key_qcode ?
{
    try {
        argqcode_str = qcode ? user_string_n(qcode, 512) : "<null>"
    } catch {}
    printf("%d@%d input_event_key_qcode con %d, key qcode %s, down %d\n", pid(), gettimeofday_ns(), conidx, argqcode_str, down)
}
probe qemu.kvm.log.input_event_btn = qemu.kvm.input_event_btn ?
{
    try {
        argbtn_str = btn ? user_string_n(btn, 512) : "<null>"
    } catch {}
    printf("%d@%d input_event_btn con %d, button %s, down %d\n", pid(), gettimeofday_ns(), conidx, argbtn_str, down)
}
probe qemu.kvm.log.input_event_rel = qemu.kvm.input_event_rel ?
{
    try {
        argaxis_str = axis ? user_string_n(axis, 512) : "<null>"
    } catch {}
    printf("%d@%d input_event_rel con %d, axis %s, value %d\n", pid(), gettimeofday_ns(), conidx, argaxis_str, value)
}
probe qemu.kvm.log.input_event_abs = qemu.kvm.input_event_abs ?
{
    try {
        argaxis_str = axis ? user_string_n(axis, 512) : "<null>"
    } catch {}
    printf("%d@%d input_event_abs con %d, axis %s, value 0x%x\n", pid(), gettimeofday_ns(), conidx, argaxis_str, value)
}
probe qemu.kvm.log.input_event_sync = qemu.kvm.input_event_sync ?
{
    printf("%d@%d input_event_sync \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.input_mouse_mode = qemu.kvm.input_mouse_mode ?
{
    printf("%d@%d input_mouse_mode absolute %d\n", pid(), gettimeofday_ns(), absolute)
}
probe qemu.kvm.log.qemu_spice_add_memslot = qemu.kvm.qemu_spice_add_memslot ?
{
    printf("%d@%d qemu_spice_add_memslot %d %u: host virt 0x%lx - 0x%lx async=%d\n", pid(), gettimeofday_ns(), qid, slot_id, virt_start, virt_end, async)
}
probe qemu.kvm.log.qemu_spice_del_memslot = qemu.kvm.qemu_spice_del_memslot ?
{
    printf("%d@%d qemu_spice_del_memslot %d gid=%u sid=%u\n", pid(), gettimeofday_ns(), qid, gid, slot_id)
}
probe qemu.kvm.log.qemu_spice_create_primary_surface = qemu.kvm.qemu_spice_create_primary_surface ?
{
    printf("%d@%d qemu_spice_create_primary_surface %d sid=%u surface=%p async=%d\n", pid(), gettimeofday_ns(), qid, sid, surface, async)
}
probe qemu.kvm.log.qemu_spice_destroy_primary_surface = qemu.kvm.qemu_spice_destroy_primary_surface ?
{
    printf("%d@%d qemu_spice_destroy_primary_surface %d sid=%u async=%d\n", pid(), gettimeofday_ns(), qid, sid, async)
}
probe qemu.kvm.log.qemu_spice_wakeup = qemu.kvm.qemu_spice_wakeup ?
{
    printf("%d@%d qemu_spice_wakeup %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qemu_spice_create_update = qemu.kvm.qemu_spice_create_update ?
{
    printf("%d@%d qemu_spice_create_update lr %d -> %d,  tb -> %d -> %d\n", pid(), gettimeofday_ns(), left, right, top, bottom)
}
probe qemu.kvm.log.qemu_spice_display_update = qemu.kvm.qemu_spice_display_update ?
{
    printf("%d@%d qemu_spice_display_update %d +%d+%d %dx%d\n", pid(), gettimeofday_ns(), qid, x, y, w, h)
}
probe qemu.kvm.log.qemu_spice_display_surface = qemu.kvm.qemu_spice_display_surface ?
{
    printf("%d@%d qemu_spice_display_surface %d %dx%d, fast %d\n", pid(), gettimeofday_ns(), qid, w, h, fast)
}
probe qemu.kvm.log.qemu_spice_display_refresh = qemu.kvm.qemu_spice_display_refresh ?
{
    printf("%d@%d qemu_spice_display_refresh %d notify %d\n", pid(), gettimeofday_ns(), qid, notify)
}
probe qemu.kvm.log.qemu_spice_ui_info = qemu.kvm.qemu_spice_ui_info ?
{
    printf("%d@%d qemu_spice_ui_info %d %dx%d\n", pid(), gettimeofday_ns(), qid, width, height)
}
probe qemu.kvm.log.qemu_spice_gl_surface = qemu.kvm.qemu_spice_gl_surface ?
{
    printf("%d@%d qemu_spice_gl_surface %d %dx%d, fourcc 0x%x\n", pid(), gettimeofday_ns(), qid, w, h, fourcc)
}
probe qemu.kvm.log.qemu_spice_gl_scanout_disable = qemu.kvm.qemu_spice_gl_scanout_disable ?
{
    printf("%d@%d qemu_spice_gl_scanout_disable %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qemu_spice_gl_scanout_texture = qemu.kvm.qemu_spice_gl_scanout_texture ?
{
    printf("%d@%d qemu_spice_gl_scanout_texture %d %dx%d, fourcc 0x%x\n", pid(), gettimeofday_ns(), qid, w, h, fourcc)
}
probe qemu.kvm.log.qemu_spice_gl_cursor = qemu.kvm.qemu_spice_gl_cursor ?
{
    printf("%d@%d qemu_spice_gl_cursor %d enabled %d, hotspot %d\n", pid(), gettimeofday_ns(), qid, enabled, hotspot)
}
probe qemu.kvm.log.qemu_spice_gl_forward_dmabuf = qemu.kvm.qemu_spice_gl_forward_dmabuf ?
{
    printf("%d@%d qemu_spice_gl_forward_dmabuf %d %dx%d\n", pid(), gettimeofday_ns(), qid, width, height)
}
probe qemu.kvm.log.qemu_spice_gl_render_dmabuf = qemu.kvm.qemu_spice_gl_render_dmabuf ?
{
    printf("%d@%d qemu_spice_gl_render_dmabuf %d %dx%d\n", pid(), gettimeofday_ns(), qid, width, height)
}
probe qemu.kvm.log.qemu_spice_gl_update = qemu.kvm.qemu_spice_gl_update ?
{
    printf("%d@%d qemu_spice_gl_update %d +%d+%d %dx%d\n", pid(), gettimeofday_ns(), qid, x, y, w, h)
}
probe qemu.kvm.log.keymap_parse = qemu.kvm.keymap_parse ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    printf("%d@%d keymap_parse file %s\n", pid(), gettimeofday_ns(), argfile_str)
}
probe qemu.kvm.log.keymap_add = qemu.kvm.keymap_add ?
{
    try {
        argline_str = line ? user_string_n(line, 512) : "<null>"
    } catch {}
    printf("%d@%d keymap_add sym=0x%04x code=0x%04x (line: %s)\n", pid(), gettimeofday_ns(), sym, code, argline_str)
}
probe qemu.kvm.log.keymap_unmapped = qemu.kvm.keymap_unmapped ?
{
    printf("%d@%d keymap_unmapped sym=0x%04x\n", pid(), gettimeofday_ns(), sym)
}
probe qemu.kvm.log.xkeymap_extension = qemu.kvm.xkeymap_extension ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xkeymap_extension extension '%s'\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.xkeymap_vendor = qemu.kvm.xkeymap_vendor ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xkeymap_vendor vendor '%s'\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.xkeymap_keycodes = qemu.kvm.xkeymap_keycodes ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xkeymap_keycodes keycodes '%s'\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.xkeymap_keymap = qemu.kvm.xkeymap_keymap ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d xkeymap_keymap keymap '%s'\n", pid(), gettimeofday_ns(), argname_str)
}
probe qemu.kvm.log.jazz_led_read = qemu.kvm.jazz_led_read ?
{
    printf("%d@%d jazz_led_read read addr=0x%x: 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.jazz_led_write = qemu.kvm.jazz_led_write ?
{
    printf("%d@%d jazz_led_write write addr=0x%x: 0x%x\n", pid(), gettimeofday_ns(), addr, new)
}
probe qemu.kvm.log.xenfb_mouse_event = qemu.kvm.xenfb_mouse_event ?
{
    printf("%d@%d xenfb_mouse_event %p x %d y %d z %d bs 0x%x abs %d\n", pid(), gettimeofday_ns(), opaque, dx, dy, dz, button_state, abs_pointer_wanted)
}
probe qemu.kvm.log.xenfb_key_event = qemu.kvm.xenfb_key_event ?
{
    printf("%d@%d xenfb_key_event %p scancode %d bs 0x%x\n", pid(), gettimeofday_ns(), opaque, scancode, button_state)
}
probe qemu.kvm.log.xenfb_input_connected = qemu.kvm.xenfb_input_connected ?
{
    printf("%d@%d xenfb_input_connected %p abs %d\n", pid(), gettimeofday_ns(), xendev, abs_pointer_wanted)
}
probe qemu.kvm.log.g364fb_read = qemu.kvm.g364fb_read ?
{
    printf("%d@%d g364fb_read read addr=0x%x: 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.g364fb_write = qemu.kvm.g364fb_write ?
{
    printf("%d@%d g364fb_write write addr=0x%x: 0x%x\n", pid(), gettimeofday_ns(), addr, new)
}
probe qemu.kvm.log.milkymist_tmu2_memory_read = qemu.kvm.milkymist_tmu2_memory_read ?
{
    printf("%d@%d milkymist_tmu2_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_tmu2_memory_write = qemu.kvm.milkymist_tmu2_memory_write ?
{
    printf("%d@%d milkymist_tmu2_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_tmu2_start = qemu.kvm.milkymist_tmu2_start ?
{
    printf("%d@%d milkymist_tmu2_start Start TMU\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_tmu2_pulse_irq = qemu.kvm.milkymist_tmu2_pulse_irq ?
{
    printf("%d@%d milkymist_tmu2_pulse_irq Pulse IRQ\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.milkymist_vgafb_memory_read = qemu.kvm.milkymist_vgafb_memory_read ?
{
    printf("%d@%d milkymist_vgafb_memory_read addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.milkymist_vgafb_memory_write = qemu.kvm.milkymist_vgafb_memory_write ?
{
    printf("%d@%d milkymist_vgafb_memory_write addr 0x%08x value 0x%08x\n", pid(), gettimeofday_ns(), addr, value)
}
probe qemu.kvm.log.vmware_value_read = qemu.kvm.vmware_value_read ?
{
    printf("%d@%d vmware_value_read index %d, value 0x%x\n", pid(), gettimeofday_ns(), index, value)
}
probe qemu.kvm.log.vmware_value_write = qemu.kvm.vmware_value_write ?
{
    printf("%d@%d vmware_value_write index %d, value 0x%x\n", pid(), gettimeofday_ns(), index, value)
}
probe qemu.kvm.log.vmware_palette_read = qemu.kvm.vmware_palette_read ?
{
    printf("%d@%d vmware_palette_read index %d, value 0x%x\n", pid(), gettimeofday_ns(), index, value)
}
probe qemu.kvm.log.vmware_palette_write = qemu.kvm.vmware_palette_write ?
{
    printf("%d@%d vmware_palette_write index %d, value 0x%x\n", pid(), gettimeofday_ns(), index, value)
}
probe qemu.kvm.log.vmware_scratch_read = qemu.kvm.vmware_scratch_read ?
{
    printf("%d@%d vmware_scratch_read index %d, value 0x%x\n", pid(), gettimeofday_ns(), index, value)
}
probe qemu.kvm.log.vmware_scratch_write = qemu.kvm.vmware_scratch_write ?
{
    printf("%d@%d vmware_scratch_write index %d, value 0x%x\n", pid(), gettimeofday_ns(), index, value)
}
probe qemu.kvm.log.vmware_setmode = qemu.kvm.vmware_setmode ?
{
    printf("%d@%d vmware_setmode %dx%d @ %d bpp\n", pid(), gettimeofday_ns(), w, h, bpp)
}
probe qemu.kvm.log.virtio_gpu_features = qemu.kvm.virtio_gpu_features ?
{
    printf("%d@%d virtio_gpu_features virgl %d\n", pid(), gettimeofday_ns(), virgl)
}
probe qemu.kvm.log.virtio_gpu_cmd_get_display_info = qemu.kvm.virtio_gpu_cmd_get_display_info ?
{
    printf("%d@%d virtio_gpu_cmd_get_display_info \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.virtio_gpu_cmd_get_edid = qemu.kvm.virtio_gpu_cmd_get_edid ?
{
    printf("%d@%d virtio_gpu_cmd_get_edid scanout %d\n", pid(), gettimeofday_ns(), scanout)
}
probe qemu.kvm.log.virtio_gpu_cmd_set_scanout = qemu.kvm.virtio_gpu_cmd_set_scanout ?
{
    printf("%d@%d virtio_gpu_cmd_set_scanout id %d, res 0x%x, w %d, h %d, x %d, y %d\n", pid(), gettimeofday_ns(), id, res, w, h, x, y)
}
probe qemu.kvm.log.virtio_gpu_cmd_res_create_2d = qemu.kvm.virtio_gpu_cmd_res_create_2d ?
{
    printf("%d@%d virtio_gpu_cmd_res_create_2d res 0x%x, fmt 0x%x, w %d, h %d\n", pid(), gettimeofday_ns(), res, fmt, w, h)
}
probe qemu.kvm.log.virtio_gpu_cmd_res_create_3d = qemu.kvm.virtio_gpu_cmd_res_create_3d ?
{
    printf("%d@%d virtio_gpu_cmd_res_create_3d res 0x%x, fmt 0x%x, w %d, h %d, d %d\n", pid(), gettimeofday_ns(), res, fmt, w, h, d)
}
probe qemu.kvm.log.virtio_gpu_cmd_res_unref = qemu.kvm.virtio_gpu_cmd_res_unref ?
{
    printf("%d@%d virtio_gpu_cmd_res_unref res 0x%x\n", pid(), gettimeofday_ns(), res)
}
probe qemu.kvm.log.virtio_gpu_cmd_res_back_attach = qemu.kvm.virtio_gpu_cmd_res_back_attach ?
{
    printf("%d@%d virtio_gpu_cmd_res_back_attach res 0x%x\n", pid(), gettimeofday_ns(), res)
}
probe qemu.kvm.log.virtio_gpu_cmd_res_back_detach = qemu.kvm.virtio_gpu_cmd_res_back_detach ?
{
    printf("%d@%d virtio_gpu_cmd_res_back_detach res 0x%x\n", pid(), gettimeofday_ns(), res)
}
probe qemu.kvm.log.virtio_gpu_cmd_res_xfer_toh_2d = qemu.kvm.virtio_gpu_cmd_res_xfer_toh_2d ?
{
    printf("%d@%d virtio_gpu_cmd_res_xfer_toh_2d res 0x%x\n", pid(), gettimeofday_ns(), res)
}
probe qemu.kvm.log.virtio_gpu_cmd_res_xfer_toh_3d = qemu.kvm.virtio_gpu_cmd_res_xfer_toh_3d ?
{
    printf("%d@%d virtio_gpu_cmd_res_xfer_toh_3d res 0x%x\n", pid(), gettimeofday_ns(), res)
}
probe qemu.kvm.log.virtio_gpu_cmd_res_xfer_fromh_3d = qemu.kvm.virtio_gpu_cmd_res_xfer_fromh_3d ?
{
    printf("%d@%d virtio_gpu_cmd_res_xfer_fromh_3d res 0x%x\n", pid(), gettimeofday_ns(), res)
}
probe qemu.kvm.log.virtio_gpu_cmd_res_flush = qemu.kvm.virtio_gpu_cmd_res_flush ?
{
    printf("%d@%d virtio_gpu_cmd_res_flush res 0x%x, w %d, h %d, x %d, y %d\n", pid(), gettimeofday_ns(), res, w, h, x, y)
}
probe qemu.kvm.log.virtio_gpu_cmd_ctx_create = qemu.kvm.virtio_gpu_cmd_ctx_create ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d virtio_gpu_cmd_ctx_create ctx 0x%x, name %s\n", pid(), gettimeofday_ns(), ctx, argname_str)
}
probe qemu.kvm.log.virtio_gpu_cmd_ctx_destroy = qemu.kvm.virtio_gpu_cmd_ctx_destroy ?
{
    printf("%d@%d virtio_gpu_cmd_ctx_destroy ctx 0x%x\n", pid(), gettimeofday_ns(), ctx)
}
probe qemu.kvm.log.virtio_gpu_cmd_ctx_res_attach = qemu.kvm.virtio_gpu_cmd_ctx_res_attach ?
{
    printf("%d@%d virtio_gpu_cmd_ctx_res_attach ctx 0x%x, res 0x%x\n", pid(), gettimeofday_ns(), ctx, res)
}
probe qemu.kvm.log.virtio_gpu_cmd_ctx_res_detach = qemu.kvm.virtio_gpu_cmd_ctx_res_detach ?
{
    printf("%d@%d virtio_gpu_cmd_ctx_res_detach ctx 0x%x, res 0x%x\n", pid(), gettimeofday_ns(), ctx, res)
}
probe qemu.kvm.log.virtio_gpu_cmd_ctx_submit = qemu.kvm.virtio_gpu_cmd_ctx_submit ?
{
    printf("%d@%d virtio_gpu_cmd_ctx_submit ctx 0x%x, size %d\n", pid(), gettimeofday_ns(), ctx, size)
}
probe qemu.kvm.log.virtio_gpu_update_cursor = qemu.kvm.virtio_gpu_update_cursor ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    printf("%d@%d virtio_gpu_update_cursor scanout %d, x %d, y %d, %s, res 0x%x\n", pid(), gettimeofday_ns(), scanout, x, y, argtype_str, res)
}
probe qemu.kvm.log.virtio_gpu_fence_ctrl = qemu.kvm.virtio_gpu_fence_ctrl ?
{
    printf("%d@%d virtio_gpu_fence_ctrl fence 0x%x, type 0x%x\n", pid(), gettimeofday_ns(), fence, type)
}
probe qemu.kvm.log.virtio_gpu_fence_resp = qemu.kvm.virtio_gpu_fence_resp ?
{
    printf("%d@%d virtio_gpu_fence_resp fence 0x%x\n", pid(), gettimeofday_ns(), fence)
}
probe qemu.kvm.log.qxl_create_guest_primary = qemu.kvm.qxl_create_guest_primary ?
{
    printf("%d@%d qxl_create_guest_primary %d %ux%u mem=0x%x %u,%u\n", pid(), gettimeofday_ns(), qid, width, height, mem, format, position)
}
probe qemu.kvm.log.qxl_create_guest_primary_rest = qemu.kvm.qxl_create_guest_primary_rest ?
{
    printf("%d@%d qxl_create_guest_primary_rest %d %d,%d,%d\n", pid(), gettimeofday_ns(), qid, stride, type, flags)
}
probe qemu.kvm.log.qxl_destroy_primary = qemu.kvm.qxl_destroy_primary ?
{
    printf("%d@%d qxl_destroy_primary %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_enter_vga_mode = qemu.kvm.qxl_enter_vga_mode ?
{
    printf("%d@%d qxl_enter_vga_mode %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_exit_vga_mode = qemu.kvm.qxl_exit_vga_mode ?
{
    printf("%d@%d qxl_exit_vga_mode %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_hard_reset = qemu.kvm.qxl_hard_reset ?
{
    printf("%d@%d qxl_hard_reset %d loadvm=%d\n", pid(), gettimeofday_ns(), qid, loadvm)
}
probe qemu.kvm.log.qxl_interface_async_complete_io = qemu.kvm.qxl_interface_async_complete_io ?
{
    printf("%d@%d qxl_interface_async_complete_io %d current=%d cookie=%p\n", pid(), gettimeofday_ns(), qid, current_async, cookie)
}
probe qemu.kvm.log.qxl_interface_attach_worker = qemu.kvm.qxl_interface_attach_worker ?
{
    printf("%d@%d qxl_interface_attach_worker %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_interface_get_init_info = qemu.kvm.qxl_interface_get_init_info ?
{
    printf("%d@%d qxl_interface_get_init_info %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_interface_set_compression_level = qemu.kvm.qxl_interface_set_compression_level ?
{
    printf("%d@%d qxl_interface_set_compression_level %d %d\n", pid(), gettimeofday_ns(), qid, level)
}
probe qemu.kvm.log.qxl_interface_update_area_complete = qemu.kvm.qxl_interface_update_area_complete ?
{
    printf("%d@%d qxl_interface_update_area_complete %d surface=%d [%d,%d,%d,%d]\n", pid(), gettimeofday_ns(), qid, surface_id, dirty_left, dirty_right, dirty_top, dirty_bottom)
}
probe qemu.kvm.log.qxl_interface_update_area_complete_rest = qemu.kvm.qxl_interface_update_area_complete_rest ?
{
    printf("%d@%d qxl_interface_update_area_complete_rest %d #=%d\n", pid(), gettimeofday_ns(), qid, num_updated_rects)
}
probe qemu.kvm.log.qxl_interface_update_area_complete_overflow = qemu.kvm.qxl_interface_update_area_complete_overflow ?
{
    printf("%d@%d qxl_interface_update_area_complete_overflow %d max=%d\n", pid(), gettimeofday_ns(), qid, max)
}
probe qemu.kvm.log.qxl_interface_update_area_complete_schedule_bh = qemu.kvm.qxl_interface_update_area_complete_schedule_bh ?
{
    printf("%d@%d qxl_interface_update_area_complete_schedule_bh %d #dirty=%d\n", pid(), gettimeofday_ns(), qid, num_dirty)
}
probe qemu.kvm.log.qxl_io_destroy_primary_ignored = qemu.kvm.qxl_io_destroy_primary_ignored ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_io_destroy_primary_ignored %d %s\n", pid(), gettimeofday_ns(), qid, argmode_str)
}
probe qemu.kvm.log.qxl_io_log = qemu.kvm.qxl_io_log ?
{
    try {
        arglog_buf_str = log_buf ? user_string_n(log_buf, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_io_log %d %s\n", pid(), gettimeofday_ns(), qid, arglog_buf_str)
}
probe qemu.kvm.log.qxl_io_read_unexpected = qemu.kvm.qxl_io_read_unexpected ?
{
    printf("%d@%d qxl_io_read_unexpected %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_io_unexpected_vga_mode = qemu.kvm.qxl_io_unexpected_vga_mode ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_io_unexpected_vga_mode %d 0x%x=%x (%s)\n", pid(), gettimeofday_ns(), qid, addr, val, argdesc_str)
}
probe qemu.kvm.log.qxl_io_write = qemu.kvm.qxl_io_write ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    try {
        arganame_str = aname ? user_string_n(aname, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_io_write %d %s addr=%u (%s) val=%u size=%u async=%d\n", pid(), gettimeofday_ns(), qid, argmode_str, addr, arganame_str, val, size, async)
}
probe qemu.kvm.log.qxl_memslot_add_guest = qemu.kvm.qxl_memslot_add_guest ?
{
    printf("%d@%d qxl_memslot_add_guest %d %u: guest phys 0x%x - 0x%x\n", pid(), gettimeofday_ns(), qid, slot_id, guest_start, guest_end)
}
probe qemu.kvm.log.qxl_post_load = qemu.kvm.qxl_post_load ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_post_load %d %s\n", pid(), gettimeofday_ns(), qid, argmode_str)
}
probe qemu.kvm.log.qxl_pre_load = qemu.kvm.qxl_pre_load ?
{
    printf("%d@%d qxl_pre_load %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_pre_save = qemu.kvm.qxl_pre_save ?
{
    printf("%d@%d qxl_pre_save %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_reset_surfaces = qemu.kvm.qxl_reset_surfaces ?
{
    printf("%d@%d qxl_reset_surfaces %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_ring_command_check = qemu.kvm.qxl_ring_command_check ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_ring_command_check %d %s\n", pid(), gettimeofday_ns(), qid, argmode_str)
}
probe qemu.kvm.log.qxl_ring_command_get = qemu.kvm.qxl_ring_command_get ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_ring_command_get %d %s\n", pid(), gettimeofday_ns(), qid, argmode_str)
}
probe qemu.kvm.log.qxl_ring_command_req_notification = qemu.kvm.qxl_ring_command_req_notification ?
{
    printf("%d@%d qxl_ring_command_req_notification %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_ring_cursor_check = qemu.kvm.qxl_ring_cursor_check ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_ring_cursor_check %d %s\n", pid(), gettimeofday_ns(), qid, argmode_str)
}
probe qemu.kvm.log.qxl_ring_cursor_get = qemu.kvm.qxl_ring_cursor_get ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_ring_cursor_get %d %s\n", pid(), gettimeofday_ns(), qid, argmode_str)
}
probe qemu.kvm.log.qxl_ring_cursor_req_notification = qemu.kvm.qxl_ring_cursor_req_notification ?
{
    printf("%d@%d qxl_ring_cursor_req_notification %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_ring_res_push = qemu.kvm.qxl_ring_res_push ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    try {
        argnotify_str = notify ? user_string_n(notify, 512) : "<null>"
    } catch {}
    printf("%d@%d qxl_ring_res_push %d %s s#=%d res#=%d last=%p notify=%s\n", pid(), gettimeofday_ns(), qid, argmode_str, surface_count, free_res, last_release, argnotify_str)
}
probe qemu.kvm.log.qxl_ring_res_push_rest = qemu.kvm.qxl_ring_res_push_rest ?
{
    printf("%d@%d qxl_ring_res_push_rest %d ring %d/%d [%d,%d]\n", pid(), gettimeofday_ns(), qid, ring_has, ring_size, prod, cons)
}
probe qemu.kvm.log.qxl_ring_res_put = qemu.kvm.qxl_ring_res_put ?
{
    printf("%d@%d qxl_ring_res_put %d #res=%d\n", pid(), gettimeofday_ns(), qid, free_res)
}
probe qemu.kvm.log.qxl_set_mode = qemu.kvm.qxl_set_mode ?
{
    printf("%d@%d qxl_set_mode %d mode=%d [ x=%d y=%d @ bpp=%d devmem=0x%x ]\n", pid(), gettimeofday_ns(), qid, modenr, x_res, y_res, bits, devmem)
}
probe qemu.kvm.log.qxl_soft_reset = qemu.kvm.qxl_soft_reset ?
{
    printf("%d@%d qxl_soft_reset %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_spice_destroy_surfaces_complete = qemu.kvm.qxl_spice_destroy_surfaces_complete ?
{
    printf("%d@%d qxl_spice_destroy_surfaces_complete %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_spice_destroy_surfaces = qemu.kvm.qxl_spice_destroy_surfaces ?
{
    printf("%d@%d qxl_spice_destroy_surfaces %d async=%d\n", pid(), gettimeofday_ns(), qid, async)
}
probe qemu.kvm.log.qxl_spice_destroy_surface_wait_complete = qemu.kvm.qxl_spice_destroy_surface_wait_complete ?
{
    printf("%d@%d qxl_spice_destroy_surface_wait_complete %d sid=%d\n", pid(), gettimeofday_ns(), qid, id)
}
probe qemu.kvm.log.qxl_spice_destroy_surface_wait = qemu.kvm.qxl_spice_destroy_surface_wait ?
{
    printf("%d@%d qxl_spice_destroy_surface_wait %d sid=%d async=%d\n", pid(), gettimeofday_ns(), qid, id, async)
}
probe qemu.kvm.log.qxl_spice_flush_surfaces_async = qemu.kvm.qxl_spice_flush_surfaces_async ?
{
    printf("%d@%d qxl_spice_flush_surfaces_async %d s#=%d, res#=%d\n", pid(), gettimeofday_ns(), qid, surface_count, num_free_res)
}
probe qemu.kvm.log.qxl_spice_monitors_config = qemu.kvm.qxl_spice_monitors_config ?
{
    printf("%d@%d qxl_spice_monitors_config %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_spice_loadvm_commands = qemu.kvm.qxl_spice_loadvm_commands ?
{
    printf("%d@%d qxl_spice_loadvm_commands %d ext=%p count=%d\n", pid(), gettimeofday_ns(), qid, ext, count)
}
probe qemu.kvm.log.qxl_spice_oom = qemu.kvm.qxl_spice_oom ?
{
    printf("%d@%d qxl_spice_oom %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_spice_reset_cursor = qemu.kvm.qxl_spice_reset_cursor ?
{
    printf("%d@%d qxl_spice_reset_cursor %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_spice_reset_image_cache = qemu.kvm.qxl_spice_reset_image_cache ?
{
    printf("%d@%d qxl_spice_reset_image_cache %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_spice_reset_memslots = qemu.kvm.qxl_spice_reset_memslots ?
{
    printf("%d@%d qxl_spice_reset_memslots %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_spice_update_area = qemu.kvm.qxl_spice_update_area ?
{
    printf("%d@%d qxl_spice_update_area %d sid=%d [%d,%d,%d,%d]\n", pid(), gettimeofday_ns(), qid, surface_id, left, right, top, bottom)
}
probe qemu.kvm.log.qxl_spice_update_area_rest = qemu.kvm.qxl_spice_update_area_rest ?
{
    printf("%d@%d qxl_spice_update_area_rest %d #d=%d clear=%d\n", pid(), gettimeofday_ns(), qid, num_dirty_rects, clear_dirty_region)
}
probe qemu.kvm.log.qxl_surfaces_dirty = qemu.kvm.qxl_surfaces_dirty ?
{
    printf("%d@%d qxl_surfaces_dirty %d offset=0x%x size=0x%x\n", pid(), gettimeofday_ns(), qid, offset, size)
}
probe qemu.kvm.log.qxl_send_events = qemu.kvm.qxl_send_events ?
{
    printf("%d@%d qxl_send_events %d %d\n", pid(), gettimeofday_ns(), qid, events)
}
probe qemu.kvm.log.qxl_send_events_vm_stopped = qemu.kvm.qxl_send_events_vm_stopped ?
{
    printf("%d@%d qxl_send_events_vm_stopped %d %d\n", pid(), gettimeofday_ns(), qid, events)
}
probe qemu.kvm.log.qxl_set_guest_bug = qemu.kvm.qxl_set_guest_bug ?
{
    printf("%d@%d qxl_set_guest_bug %d\n", pid(), gettimeofday_ns(), qid)
}
probe qemu.kvm.log.qxl_interrupt_client_monitors_config = qemu.kvm.qxl_interrupt_client_monitors_config ?
{
    printf("%d@%d qxl_interrupt_client_monitors_config %d %d %p\n", pid(), gettimeofday_ns(), qid, num_heads, heads)
}
probe qemu.kvm.log.qxl_client_monitors_config_unsupported_by_guest = qemu.kvm.qxl_client_monitors_config_unsupported_by_guest ?
{
    printf("%d@%d qxl_client_monitors_config_unsupported_by_guest %d 0x%X %p\n", pid(), gettimeofday_ns(), qid, int_mask, client_monitors_config)
}
probe qemu.kvm.log.qxl_client_monitors_config_unsupported_by_device = qemu.kvm.qxl_client_monitors_config_unsupported_by_device ?
{
    printf("%d@%d qxl_client_monitors_config_unsupported_by_device %d revision=%d\n", pid(), gettimeofday_ns(), qid, revision)
}
probe qemu.kvm.log.qxl_client_monitors_config_capped = qemu.kvm.qxl_client_monitors_config_capped ?
{
    printf("%d@%d qxl_client_monitors_config_capped %d %d %d\n", pid(), gettimeofday_ns(), qid, requested, limit_)
}
probe qemu.kvm.log.qxl_client_monitors_config_crc = qemu.kvm.qxl_client_monitors_config_crc ?
{
    printf("%d@%d qxl_client_monitors_config_crc %d %u %u\n", pid(), gettimeofday_ns(), qid, size, crc32)
}
probe qemu.kvm.log.qxl_set_client_capabilities_unsupported_by_revision = qemu.kvm.qxl_set_client_capabilities_unsupported_by_revision ?
{
    printf("%d@%d qxl_set_client_capabilities_unsupported_by_revision %d revision=%d\n", pid(), gettimeofday_ns(), qid, revision)
}
probe qemu.kvm.log.qxl_render_blit = qemu.kvm.qxl_render_blit ?
{
    printf("%d@%d qxl_render_blit stride=%d [%d, %d, %d, %d]\n", pid(), gettimeofday_ns(), stride, left, right, top, bottom)
}
probe qemu.kvm.log.qxl_render_guest_primary_resized = qemu.kvm.qxl_render_guest_primary_resized ?
{
    printf("%d@%d qxl_render_guest_primary_resized %dx%d, stride %d, bpp %d, depth %d\n", pid(), gettimeofday_ns(), width, height, stride, bytes_pp, bits_pp)
}
probe qemu.kvm.log.qxl_render_update_area_done = qemu.kvm.qxl_render_update_area_done ?
{
    printf("%d@%d qxl_render_update_area_done %p\n", pid(), gettimeofday_ns(), cookie)
}
probe qemu.kvm.log.vga_std_read_io = qemu.kvm.vga_std_read_io ?
{
    printf("%d@%d vga_std_read_io addr 0x%x, val 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.vga_std_write_io = qemu.kvm.vga_std_write_io ?
{
    printf("%d@%d vga_std_write_io addr 0x%x, val 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.vga_vbe_read = qemu.kvm.vga_vbe_read ?
{
    printf("%d@%d vga_vbe_read index 0x%x, val 0x%x\n", pid(), gettimeofday_ns(), index, val)
}
probe qemu.kvm.log.vga_vbe_write = qemu.kvm.vga_vbe_write ?
{
    printf("%d@%d vga_vbe_write index 0x%x, val 0x%x\n", pid(), gettimeofday_ns(), index, val)
}
probe qemu.kvm.log.vga_cirrus_read_io = qemu.kvm.vga_cirrus_read_io ?
{
    printf("%d@%d vga_cirrus_read_io addr 0x%x, val 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.vga_cirrus_write_io = qemu.kvm.vga_cirrus_write_io ?
{
    printf("%d@%d vga_cirrus_write_io addr 0x%x, val 0x%x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.vga_cirrus_write_blt = qemu.kvm.vga_cirrus_write_blt ?
{
    printf("%d@%d vga_cirrus_write_blt offset 0x%x, val 0x%x\n", pid(), gettimeofday_ns(), offset, val)
}
probe qemu.kvm.log.sii9022_read_reg = qemu.kvm.sii9022_read_reg ?
{
    printf("%d@%d sii9022_read_reg addr 0x%02x, val 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sii9022_write_reg = qemu.kvm.sii9022_write_reg ?
{
    printf("%d@%d sii9022_write_reg addr 0x%02x, val 0x%02x\n", pid(), gettimeofday_ns(), addr, val)
}
probe qemu.kvm.log.sii9022_switch_mode = qemu.kvm.sii9022_switch_mode ?
{
    try {
        argmode_str = mode ? user_string_n(mode, 512) : "<null>"
    } catch {}
    printf("%d@%d sii9022_switch_mode mode: %s\n", pid(), gettimeofday_ns(), argmode_str)
}
probe qemu.kvm.log.ati_mm_read = qemu.kvm.ati_mm_read ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d ati_mm_read %u 0x%x %s -> 0x%x\n", pid(), gettimeofday_ns(), size, addr, argname_str, val)
}
probe qemu.kvm.log.ati_mm_write = qemu.kvm.ati_mm_write ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d ati_mm_write %u 0x%x %s <- 0x%x\n", pid(), gettimeofday_ns(), size, addr, argname_str, val)
}
probe qemu.kvm.log.visit_free = qemu.kvm.visit_free ?
{
    printf("%d@%d visit_free v=%p\n", pid(), gettimeofday_ns(), v)
}
probe qemu.kvm.log.visit_complete = qemu.kvm.visit_complete ?
{
    printf("%d@%d visit_complete v=%p opaque=%p\n", pid(), gettimeofday_ns(), v, opaque)
}
probe qemu.kvm.log.visit_start_struct = qemu.kvm.visit_start_struct ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_start_struct v=%p name=%s obj=%p size=%u\n", pid(), gettimeofday_ns(), v, argname_str, obj, size)
}
probe qemu.kvm.log.visit_check_struct = qemu.kvm.visit_check_struct ?
{
    printf("%d@%d visit_check_struct v=%p\n", pid(), gettimeofday_ns(), v)
}
probe qemu.kvm.log.visit_end_struct = qemu.kvm.visit_end_struct ?
{
    printf("%d@%d visit_end_struct v=%p obj=%p\n", pid(), gettimeofday_ns(), v, obj)
}
probe qemu.kvm.log.visit_start_list = qemu.kvm.visit_start_list ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_start_list v=%p name=%s obj=%p size=%u\n", pid(), gettimeofday_ns(), v, argname_str, obj, size)
}
probe qemu.kvm.log.visit_next_list = qemu.kvm.visit_next_list ?
{
    printf("%d@%d visit_next_list v=%p tail=%p size=%u\n", pid(), gettimeofday_ns(), v, tail, size)
}
probe qemu.kvm.log.visit_check_list = qemu.kvm.visit_check_list ?
{
    printf("%d@%d visit_check_list v=%p\n", pid(), gettimeofday_ns(), v)
}
probe qemu.kvm.log.visit_end_list = qemu.kvm.visit_end_list ?
{
    printf("%d@%d visit_end_list v=%p obj=%p\n", pid(), gettimeofday_ns(), v, obj)
}
probe qemu.kvm.log.visit_start_alternate = qemu.kvm.visit_start_alternate ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_start_alternate v=%p name=%s obj=%p size=%u\n", pid(), gettimeofday_ns(), v, argname_str, obj, size)
}
probe qemu.kvm.log.visit_end_alternate = qemu.kvm.visit_end_alternate ?
{
    printf("%d@%d visit_end_alternate v=%p obj=%p\n", pid(), gettimeofday_ns(), v, obj)
}
probe qemu.kvm.log.visit_optional = qemu.kvm.visit_optional ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_optional v=%p name=%s present=%p\n", pid(), gettimeofday_ns(), v, argname_str, present)
}
probe qemu.kvm.log.visit_type_enum = qemu.kvm.visit_type_enum ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_enum v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_int = qemu.kvm.visit_type_int ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_int v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_uint8 = qemu.kvm.visit_type_uint8 ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_uint8 v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_uint16 = qemu.kvm.visit_type_uint16 ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_uint16 v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_uint32 = qemu.kvm.visit_type_uint32 ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_uint32 v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_uint64 = qemu.kvm.visit_type_uint64 ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_uint64 v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_int8 = qemu.kvm.visit_type_int8 ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_int8 v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_int16 = qemu.kvm.visit_type_int16 ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_int16 v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_int32 = qemu.kvm.visit_type_int32 ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_int32 v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_int64 = qemu.kvm.visit_type_int64 ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_int64 v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_size = qemu.kvm.visit_type_size ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_size v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_bool = qemu.kvm.visit_type_bool ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_bool v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_str = qemu.kvm.visit_type_str ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_str v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_number = qemu.kvm.visit_type_number ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_number v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_any = qemu.kvm.visit_type_any ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_any v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.visit_type_null = qemu.kvm.visit_type_null ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d visit_type_null v=%p name=%s obj=%p\n", pid(), gettimeofday_ns(), v, argname_str, obj)
}
probe qemu.kvm.log.object_dynamic_cast_assert = qemu.kvm.object_dynamic_cast_assert ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argtarget_str = target ? user_string_n(target, 512) : "<null>"
    } catch {}
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    try {
        argfunc_str = func ? user_string_n(func, 512) : "<null>"
    } catch {}
    printf("%d@%d object_dynamic_cast_assert %s->%s (%s:%d:%s)\n", pid(), gettimeofday_ns(), argtype_str, argtarget_str, argfile_str, line, argfunc_str)
}
probe qemu.kvm.log.object_class_dynamic_cast_assert = qemu.kvm.object_class_dynamic_cast_assert ?
{
    try {
        argtype_str = type ? user_string_n(type, 512) : "<null>"
    } catch {}
    try {
        argtarget_str = target ? user_string_n(target, 512) : "<null>"
    } catch {}
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    try {
        argfunc_str = func ? user_string_n(func, 512) : "<null>"
    } catch {}
    printf("%d@%d object_class_dynamic_cast_assert %s->%s (%s:%d:%s)\n", pid(), gettimeofday_ns(), argtype_str, argtarget_str, argfile_str, line, argfunc_str)
}
probe qemu.kvm.log.arm_gt_recalc = qemu.kvm.arm_gt_recalc ?
{
    printf("%d@%d arm_gt_recalc gt recalc: timer %d irqstate %d next tick 0x%x\n", pid(), gettimeofday_ns(), timer, irqstate, nexttick)
}
probe qemu.kvm.log.arm_gt_recalc_disabled = qemu.kvm.arm_gt_recalc_disabled ?
{
    printf("%d@%d arm_gt_recalc_disabled gt recalc: timer %d irqstate 0 timer disabled\n", pid(), gettimeofday_ns(), timer)
}
probe qemu.kvm.log.arm_gt_cval_write = qemu.kvm.arm_gt_cval_write ?
{
    printf("%d@%d arm_gt_cval_write gt_cval_write: timer %d value 0x%x\n", pid(), gettimeofday_ns(), timer, value)
}
probe qemu.kvm.log.arm_gt_tval_write = qemu.kvm.arm_gt_tval_write ?
{
    printf("%d@%d arm_gt_tval_write gt_tval_write: timer %d value 0x%x\n", pid(), gettimeofday_ns(), timer, value)
}
probe qemu.kvm.log.arm_gt_ctl_write = qemu.kvm.arm_gt_ctl_write ?
{
    printf("%d@%d arm_gt_ctl_write gt_ctl_write: timer %d value 0x%x\n", pid(), gettimeofday_ns(), timer, value)
}
probe qemu.kvm.log.arm_gt_imask_toggle = qemu.kvm.arm_gt_imask_toggle ?
{
    printf("%d@%d arm_gt_imask_toggle gt_ctl_write: timer %d IMASK toggle, new irqstate %d\n", pid(), gettimeofday_ns(), timer, irqstate)
}
probe qemu.kvm.log.arm_gt_cntvoff_write = qemu.kvm.arm_gt_cntvoff_write ?
{
    printf("%d@%d arm_gt_cntvoff_write gt_cntvoff_write: value 0x%x\n", pid(), gettimeofday_ns(), value)
}
probe qemu.kvm.log.kvm_arm_fixup_msi_route = qemu.kvm.kvm_arm_fixup_msi_route ?
{
    printf("%d@%d kvm_arm_fixup_msi_route MSI iova = 0x%x is translated into 0x%x\n", pid(), gettimeofday_ns(), iova, gpa)
}
probe qemu.kvm.log.kvm_x86_fixup_msi_error = qemu.kvm.kvm_x86_fixup_msi_error ?
{
    printf("%d@%d kvm_x86_fixup_msi_error VT-d failed to remap interrupt for GSI %u\n", pid(), gettimeofday_ns(), gsi)
}
probe qemu.kvm.log.kvm_x86_add_msi_route = qemu.kvm.kvm_x86_add_msi_route ?
{
    printf("%d@%d kvm_x86_add_msi_route Adding route entry for virq %d\n", pid(), gettimeofday_ns(), virq)
}
probe qemu.kvm.log.kvm_x86_remove_msi_route = qemu.kvm.kvm_x86_remove_msi_route ?
{
    printf("%d@%d kvm_x86_remove_msi_route Removing route entry for virq %d\n", pid(), gettimeofday_ns(), virq)
}
probe qemu.kvm.log.kvm_x86_update_msi_routes = qemu.kvm.kvm_x86_update_msi_routes ?
{
    printf("%d@%d kvm_x86_update_msi_routes Updated %d MSI routes\n", pid(), gettimeofday_ns(), num)
}
probe qemu.kvm.log.kvm_sev_init = qemu.kvm.kvm_sev_init ?
{
    printf("%d@%d kvm_sev_init \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_memcrypt_register_region = qemu.kvm.kvm_memcrypt_register_region ?
{
    printf("%d@%d kvm_memcrypt_register_region addr %p len 0x%u\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.kvm_memcrypt_unregister_region = qemu.kvm.kvm_memcrypt_unregister_region ?
{
    printf("%d@%d kvm_memcrypt_unregister_region addr %p len 0x%u\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.kvm_sev_change_state = qemu.kvm.kvm_sev_change_state ?
{
    try {
        argold_str = old ? user_string_n(old, 512) : "<null>"
    } catch {}
    try {
        argnew_str = new ? user_string_n(new, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_sev_change_state %s -> %s\n", pid(), gettimeofday_ns(), argold_str, argnew_str)
}
probe qemu.kvm.log.kvm_sev_launch_start = qemu.kvm.kvm_sev_launch_start ?
{
    printf("%d@%d kvm_sev_launch_start policy 0x%x session %p pdh %p\n", pid(), gettimeofday_ns(), policy, session, pdh)
}
probe qemu.kvm.log.kvm_sev_launch_update_data = qemu.kvm.kvm_sev_launch_update_data ?
{
    printf("%d@%d kvm_sev_launch_update_data addr %p len 0x%u\n", pid(), gettimeofday_ns(), addr, len)
}
probe qemu.kvm.log.kvm_sev_launch_measurement = qemu.kvm.kvm_sev_launch_measurement ?
{
    try {
        argvalue_str = value ? user_string_n(value, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_sev_launch_measurement data %s\n", pid(), gettimeofday_ns(), argvalue_str)
}
probe qemu.kvm.log.kvm_sev_launch_finish = qemu.kvm.kvm_sev_launch_finish ?
{
    printf("%d@%d kvm_sev_launch_finish \n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.mips_translate_c0 = qemu.kvm.mips_translate_c0 ?
{
    try {
        arginstr_str = instr ? user_string_n(instr, 512) : "<null>"
    } catch {}
    try {
        argrn_str = rn ? user_string_n(rn, 512) : "<null>"
    } catch {}
    printf("%d@%d mips_translate_c0 %s %s (reg %d sel %d)\n", pid(), gettimeofday_ns(), arginstr_str, argrn_str, reg, sel)
}
probe qemu.kvm.log.mips_translate_tr = qemu.kvm.mips_translate_tr ?
{
    try {
        arginstr_str = instr ? user_string_n(instr, 512) : "<null>"
    } catch {}
    printf("%d@%d mips_translate_tr %s (reg %d u %d sel %d h %d)\n", pid(), gettimeofday_ns(), arginstr_str, rt, u, sel, h)
}
probe qemu.kvm.log.kvm_failed_spr_set = qemu.kvm.kvm_failed_spr_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_spr_set Warning: Unable to set SPR %d to KVM: %s\n", pid(), gettimeofday_ns(), spr, argmsg_str)
}
probe qemu.kvm.log.kvm_failed_spr_get = qemu.kvm.kvm_failed_spr_get ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_spr_get Warning: Unable to retrieve SPR %d from KVM: %s\n", pid(), gettimeofday_ns(), spr, argmsg_str)
}
probe qemu.kvm.log.kvm_failed_fpscr_set = qemu.kvm.kvm_failed_fpscr_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_fpscr_set Unable to set FPSCR to KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_fp_set = qemu.kvm.kvm_failed_fp_set ?
{
    try {
        argfpname_str = fpname ? user_string_n(fpname, 512) : "<null>"
    } catch {}
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_fp_set Unable to set %s%d to KVM: %s\n", pid(), gettimeofday_ns(), argfpname_str, fpnum, argmsg_str)
}
probe qemu.kvm.log.kvm_failed_vscr_set = qemu.kvm.kvm_failed_vscr_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_vscr_set Unable to set VSCR to KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_vr_set = qemu.kvm.kvm_failed_vr_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_vr_set Unable to set VR%d to KVM: %s\n", pid(), gettimeofday_ns(), vr, argmsg_str)
}
probe qemu.kvm.log.kvm_failed_fpscr_get = qemu.kvm.kvm_failed_fpscr_get ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_fpscr_get Unable to get FPSCR from KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_fp_get = qemu.kvm.kvm_failed_fp_get ?
{
    try {
        argfpname_str = fpname ? user_string_n(fpname, 512) : "<null>"
    } catch {}
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_fp_get Unable to get %s%d from KVM: %s\n", pid(), gettimeofday_ns(), argfpname_str, fpnum, argmsg_str)
}
probe qemu.kvm.log.kvm_failed_vscr_get = qemu.kvm.kvm_failed_vscr_get ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_vscr_get Unable to get VSCR from KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_vr_get = qemu.kvm.kvm_failed_vr_get ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_vr_get Unable to get VR%d from KVM: %s\n", pid(), gettimeofday_ns(), vr, argmsg_str)
}
probe qemu.kvm.log.kvm_failed_vpa_addr_get = qemu.kvm.kvm_failed_vpa_addr_get ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_vpa_addr_get Unable to get VPA address from KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_slb_get = qemu.kvm.kvm_failed_slb_get ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_slb_get Unable to get SLB shadow state from KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_dtl_get = qemu.kvm.kvm_failed_dtl_get ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_dtl_get Unable to get dispatch trace log state from KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_vpa_addr_set = qemu.kvm.kvm_failed_vpa_addr_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_vpa_addr_set Unable to set VPA address to KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_slb_set = qemu.kvm.kvm_failed_slb_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_slb_set Unable to set SLB shadow state to KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_dtl_set = qemu.kvm.kvm_failed_dtl_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_dtl_set Unable to set dispatch trace log state to KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_null_vpa_addr_set = qemu.kvm.kvm_failed_null_vpa_addr_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_null_vpa_addr_set Unable to set VPA address to KVM: %s\n", pid(), gettimeofday_ns(), argmsg_str)
}
probe qemu.kvm.log.kvm_failed_put_vpa = qemu.kvm.kvm_failed_put_vpa ?
{
    printf("%d@%d kvm_failed_put_vpa Warning: Unable to set VPA information to KVM\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_failed_get_vpa = qemu.kvm.kvm_failed_get_vpa ?
{
    printf("%d@%d kvm_failed_get_vpa Warning: Unable to get VPA information from KVM\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_injected_interrupt = qemu.kvm.kvm_injected_interrupt ?
{
    printf("%d@%d kvm_injected_interrupt injected interrupt %d\n", pid(), gettimeofday_ns(), irq)
}
probe qemu.kvm.log.kvm_handle_dcr_write = qemu.kvm.kvm_handle_dcr_write ?
{
    printf("%d@%d kvm_handle_dcr_write handle dcr write\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_handle_dcr_read = qemu.kvm.kvm_handle_dcr_read ?
{
    printf("%d@%d kvm_handle_dcr_read handle dcr read\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_handle_halt = qemu.kvm.kvm_handle_halt ?
{
    printf("%d@%d kvm_handle_halt handle halt\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_handle_papr_hcall = qemu.kvm.kvm_handle_papr_hcall ?
{
    printf("%d@%d kvm_handle_papr_hcall handle PAPR hypercall\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_handle_epr = qemu.kvm.kvm_handle_epr ?
{
    printf("%d@%d kvm_handle_epr handle epr\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_handle_watchdog_expiry = qemu.kvm.kvm_handle_watchdog_expiry ?
{
    printf("%d@%d kvm_handle_watchdog_expiry handle watchdog expiry\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.kvm_handle_debug_exception = qemu.kvm.kvm_handle_debug_exception ?
{
    printf("%d@%d kvm_handle_debug_exception handle debug exception\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.riscv_trap = qemu.kvm.riscv_trap ?
{
    try {
        argdesc_str = desc ? user_string_n(desc, 512) : "<null>"
    } catch {}
    printf("%d@%d riscv_trap hart:%d, async:%d, cause:%d, epc:0x%d, tval:0x%d, desc=%s\n", pid(), gettimeofday_ns(), hartid, async, cause, epc, tval, argdesc_str)
}
probe qemu.kvm.log.pmpcfg_csr_read = qemu.kvm.pmpcfg_csr_read ?
{
    printf("%d@%d pmpcfg_csr_read hart %u: read reg%u, val: 0x%u\n", pid(), gettimeofday_ns(), mhartid, reg_index, val)
}
probe qemu.kvm.log.pmpcfg_csr_write = qemu.kvm.pmpcfg_csr_write ?
{
    printf("%d@%d pmpcfg_csr_write hart %u: write reg%u, val: 0x%u\n", pid(), gettimeofday_ns(), mhartid, reg_index, val)
}
probe qemu.kvm.log.pmpaddr_csr_read = qemu.kvm.pmpaddr_csr_read ?
{
    printf("%d@%d pmpaddr_csr_read hart %u: read addr%u, val: 0x%u\n", pid(), gettimeofday_ns(), mhartid, addr_index, val)
}
probe qemu.kvm.log.pmpaddr_csr_write = qemu.kvm.pmpaddr_csr_write ?
{
    printf("%d@%d pmpaddr_csr_write hart %u: write addr%u, val: 0x%u\n", pid(), gettimeofday_ns(), mhartid, addr_index, val)
}
probe qemu.kvm.log.get_skeys_nonzero = qemu.kvm.get_skeys_nonzero ?
{
    printf("%d@%d get_skeys_nonzero SKEY: Call to get_skeys unexpectedly returned %d\n", pid(), gettimeofday_ns(), rc)
}
probe qemu.kvm.log.set_skeys_nonzero = qemu.kvm.set_skeys_nonzero ?
{
    printf("%d@%d set_skeys_nonzero SKEY: Call to set_skeys unexpectedly returned %d\n", pid(), gettimeofday_ns(), rc)
}
probe qemu.kvm.log.ioinst = qemu.kvm.ioinst ?
{
    try {
        arginsn_str = insn ? user_string_n(insn, 512) : "<null>"
    } catch {}
    printf("%d@%d ioinst IOINST: %s\n", pid(), gettimeofday_ns(), arginsn_str)
}
probe qemu.kvm.log.ioinst_sch_id = qemu.kvm.ioinst_sch_id ?
{
    try {
        arginsn_str = insn ? user_string_n(insn, 512) : "<null>"
    } catch {}
    printf("%d@%d ioinst_sch_id IOINST: %s (%x.%x.%04x)\n", pid(), gettimeofday_ns(), arginsn_str, cssid, ssid, schid)
}
probe qemu.kvm.log.ioinst_chp_id = qemu.kvm.ioinst_chp_id ?
{
    try {
        arginsn_str = insn ? user_string_n(insn, 512) : "<null>"
    } catch {}
    printf("%d@%d ioinst_chp_id IOINST: %s (%x.%02x)\n", pid(), gettimeofday_ns(), arginsn_str, cssid, chpid)
}
probe qemu.kvm.log.ioinst_chsc_cmd = qemu.kvm.ioinst_chsc_cmd ?
{
    printf("%d@%d ioinst_chsc_cmd IOINST: chsc command 0x%04x, len 0x%04x\n", pid(), gettimeofday_ns(), cmd, len)
}
probe qemu.kvm.log.kvm_enable_cmma = qemu.kvm.kvm_enable_cmma ?
{
    printf("%d@%d kvm_enable_cmma CMMA: enabling with result code %d\n", pid(), gettimeofday_ns(), rc)
}
probe qemu.kvm.log.kvm_clear_cmma = qemu.kvm.kvm_clear_cmma ?
{
    printf("%d@%d kvm_clear_cmma CMMA: clearing with result code %d\n", pid(), gettimeofday_ns(), rc)
}
probe qemu.kvm.log.kvm_failed_cpu_state_set = qemu.kvm.kvm_failed_cpu_state_set ?
{
    try {
        argmsg_str = msg ? user_string_n(msg, 512) : "<null>"
    } catch {}
    printf("%d@%d kvm_failed_cpu_state_set Warning: Unable to set cpu %d state %u to KVM: %s\n", pid(), gettimeofday_ns(), cpu_index, state, argmsg_str)
}
probe qemu.kvm.log.kvm_assign_subch_ioeventfd = qemu.kvm.kvm_assign_subch_ioeventfd ?
{
    printf("%d@%d kvm_assign_subch_ioeventfd fd: %d sch: @0x%x assign: %d vq: %d\n", pid(), gettimeofday_ns(), fd, addr, assign, datamatch)
}
probe qemu.kvm.log.cpu_set_state = qemu.kvm.cpu_set_state ?
{
    printf("%d@%d cpu_set_state setting cpu %d state to %u\n", pid(), gettimeofday_ns(), cpu_index, state)
}
probe qemu.kvm.log.cpu_halt = qemu.kvm.cpu_halt ?
{
    printf("%d@%d cpu_halt halting cpu %d\n", pid(), gettimeofday_ns(), cpu_index)
}
probe qemu.kvm.log.cpu_unhalt = qemu.kvm.cpu_unhalt ?
{
    printf("%d@%d cpu_unhalt unhalting cpu %d\n", pid(), gettimeofday_ns(), cpu_index)
}
probe qemu.kvm.log.sigp_finished = qemu.kvm.sigp_finished ?
{
    printf("%d@%d sigp_finished SIGP: Finished order %u on cpu %d -> cpu %d with cc=%d\n", pid(), gettimeofday_ns(), order, cpu_index, dst_index, cc)
}
probe qemu.kvm.log.mmu_helper_dfault = qemu.kvm.mmu_helper_dfault ?
{
    printf("%d@%d mmu_helper_dfault DFAULT at 0x%x context 0x%x mmu_idx=%d tl=%d\n", pid(), gettimeofday_ns(), address, context, mmu_idx, tl)
}
probe qemu.kvm.log.mmu_helper_dprot = qemu.kvm.mmu_helper_dprot ?
{
    printf("%d@%d mmu_helper_dprot DPROT at 0x%x context 0x%x mmu_idx=%d tl=%d\n", pid(), gettimeofday_ns(), address, context, mmu_idx, tl)
}
probe qemu.kvm.log.mmu_helper_dmiss = qemu.kvm.mmu_helper_dmiss ?
{
    printf("%d@%d mmu_helper_dmiss DMISS at 0x%x context 0x%x\n", pid(), gettimeofday_ns(), address, context)
}
probe qemu.kvm.log.mmu_helper_tfault = qemu.kvm.mmu_helper_tfault ?
{
    printf("%d@%d mmu_helper_tfault TFAULT at 0x%x context 0x%x\n", pid(), gettimeofday_ns(), address, context)
}
probe qemu.kvm.log.mmu_helper_tmiss = qemu.kvm.mmu_helper_tmiss ?
{
    printf("%d@%d mmu_helper_tmiss TMISS at 0x%x context 0x%x\n", pid(), gettimeofday_ns(), address, context)
}
probe qemu.kvm.log.mmu_helper_get_phys_addr_code = qemu.kvm.mmu_helper_get_phys_addr_code ?
{
    printf("%d@%d mmu_helper_get_phys_addr_code tl=%d mmu_idx=%d primary context=0x%x secondary context=0x%x address=0x%x\n", pid(), gettimeofday_ns(), tl, mmu_idx, prim_context, sec_context, address)
}
probe qemu.kvm.log.mmu_helper_get_phys_addr_data = qemu.kvm.mmu_helper_get_phys_addr_data ?
{
    printf("%d@%d mmu_helper_get_phys_addr_data tl=%d mmu_idx=%d primary context=0x%x secondary context=0x%x address=0x%x\n", pid(), gettimeofday_ns(), tl, mmu_idx, prim_context, sec_context, address)
}
probe qemu.kvm.log.mmu_helper_mmu_fault = qemu.kvm.mmu_helper_mmu_fault ?
{
    printf("%d@%d mmu_helper_mmu_fault Translate at 0x%x -> 0x%x, mmu_idx=%d tl=%d primary context=0x%x secondary context=0x%x\n", pid(), gettimeofday_ns(), address, paddr, mmu_idx, tl, prim_context, sec_context)
}
probe qemu.kvm.log.int_helper_set_softint = qemu.kvm.int_helper_set_softint ?
{
    printf("%d@%d int_helper_set_softint new 0x%08x\n", pid(), gettimeofday_ns(), softint)
}
probe qemu.kvm.log.int_helper_clear_softint = qemu.kvm.int_helper_clear_softint ?
{
    printf("%d@%d int_helper_clear_softint new 0x%08x\n", pid(), gettimeofday_ns(), softint)
}
probe qemu.kvm.log.int_helper_write_softint = qemu.kvm.int_helper_write_softint ?
{
    printf("%d@%d int_helper_write_softint new 0x%08x\n", pid(), gettimeofday_ns(), softint)
}
probe qemu.kvm.log.int_helper_icache_freeze = qemu.kvm.int_helper_icache_freeze ?
{
    printf("%d@%d int_helper_icache_freeze Instruction cache: freeze\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.int_helper_dcache_freeze = qemu.kvm.int_helper_dcache_freeze ?
{
    printf("%d@%d int_helper_dcache_freeze Data cache: freeze\n", pid(), gettimeofday_ns())
}
probe qemu.kvm.log.win_helper_gregset_error = qemu.kvm.win_helper_gregset_error ?
{
    printf("%d@%d win_helper_gregset_error ERROR in get_gregset: active pstate bits=0x%x\n", pid(), gettimeofday_ns(), pstate)
}
probe qemu.kvm.log.win_helper_switch_pstate = qemu.kvm.win_helper_switch_pstate ?
{
    printf("%d@%d win_helper_switch_pstate change_pstate: switching regs old=0x%x new=0x%x\n", pid(), gettimeofday_ns(), pstate_regs, new_pstate_regs)
}
probe qemu.kvm.log.win_helper_no_switch_pstate = qemu.kvm.win_helper_no_switch_pstate ?
{
    printf("%d@%d win_helper_no_switch_pstate change_pstate: regs new=0x%x (unchanged)\n", pid(), gettimeofday_ns(), new_pstate_regs)
}
probe qemu.kvm.log.win_helper_wrpil = qemu.kvm.win_helper_wrpil ?
{
    printf("%d@%d win_helper_wrpil old=0x%x new=0x%x\n", pid(), gettimeofday_ns(), psrpil, new_pil)
}
probe qemu.kvm.log.win_helper_done = qemu.kvm.win_helper_done ?
{
    printf("%d@%d win_helper_done tl=%d\n", pid(), gettimeofday_ns(), tl)
}
probe qemu.kvm.log.win_helper_retry = qemu.kvm.win_helper_retry ?
{
    printf("%d@%d win_helper_retry tl=%d\n", pid(), gettimeofday_ns(), tl)
}
probe qemu.kvm.log.run_poll_handlers_begin = qemu.kvm.run_poll_handlers_begin ?
{
    printf("%d@%d run_poll_handlers_begin ctx %p max_ns %d timeout %d\n", pid(), gettimeofday_ns(), ctx, max_ns, timeout)
}
probe qemu.kvm.log.run_poll_handlers_end = qemu.kvm.run_poll_handlers_end ?
{
    printf("%d@%d run_poll_handlers_end ctx %p progress %d new timeout %d\n", pid(), gettimeofday_ns(), ctx, progress, timeout)
}
probe qemu.kvm.log.poll_shrink = qemu.kvm.poll_shrink ?
{
    printf("%d@%d poll_shrink ctx %p old %d new %d\n", pid(), gettimeofday_ns(), ctx, old, new)
}
probe qemu.kvm.log.poll_grow = qemu.kvm.poll_grow ?
{
    printf("%d@%d poll_grow ctx %p old %d new %d\n", pid(), gettimeofday_ns(), ctx, old, new)
}
probe qemu.kvm.log.aio_co_schedule = qemu.kvm.aio_co_schedule ?
{
    printf("%d@%d aio_co_schedule ctx %p co %p\n", pid(), gettimeofday_ns(), ctx, co)
}
probe qemu.kvm.log.aio_co_schedule_bh_cb = qemu.kvm.aio_co_schedule_bh_cb ?
{
    printf("%d@%d aio_co_schedule_bh_cb ctx %p co %p\n", pid(), gettimeofday_ns(), ctx, co)
}
probe qemu.kvm.log.thread_pool_submit = qemu.kvm.thread_pool_submit ?
{
    printf("%d@%d thread_pool_submit pool %p req %p opaque %p\n", pid(), gettimeofday_ns(), pool, req, opaque)
}
probe qemu.kvm.log.thread_pool_complete = qemu.kvm.thread_pool_complete ?
{
    printf("%d@%d thread_pool_complete pool %p req %p opaque %p ret %d\n", pid(), gettimeofday_ns(), pool, req, opaque, ret)
}
probe qemu.kvm.log.thread_pool_cancel = qemu.kvm.thread_pool_cancel ?
{
    printf("%d@%d thread_pool_cancel req %p opaque %p\n", pid(), gettimeofday_ns(), req, opaque)
}
probe qemu.kvm.log.buffer_resize = qemu.kvm.buffer_resize ?
{
    try {
        argbuf_str = buf ? user_string_n(buf, 512) : "<null>"
    } catch {}
    printf("%d@%d buffer_resize %s: old %d, new %d\n", pid(), gettimeofday_ns(), argbuf_str, olen, len)
}
probe qemu.kvm.log.buffer_move_empty = qemu.kvm.buffer_move_empty ?
{
    try {
        argbuf_str = buf ? user_string_n(buf, 512) : "<null>"
    } catch {}
    try {
        argfrom_str = from ? user_string_n(from, 512) : "<null>"
    } catch {}
    printf("%d@%d buffer_move_empty %s: %d bytes from %s\n", pid(), gettimeofday_ns(), argbuf_str, len, argfrom_str)
}
probe qemu.kvm.log.buffer_move = qemu.kvm.buffer_move ?
{
    try {
        argbuf_str = buf ? user_string_n(buf, 512) : "<null>"
    } catch {}
    try {
        argfrom_str = from ? user_string_n(from, 512) : "<null>"
    } catch {}
    printf("%d@%d buffer_move %s: %d bytes from %s\n", pid(), gettimeofday_ns(), argbuf_str, len, argfrom_str)
}
probe qemu.kvm.log.buffer_free = qemu.kvm.buffer_free ?
{
    try {
        argbuf_str = buf ? user_string_n(buf, 512) : "<null>"
    } catch {}
    printf("%d@%d buffer_free %s: capacity %d\n", pid(), gettimeofday_ns(), argbuf_str, len)
}
probe qemu.kvm.log.qemu_file_monitor_add_watch = qemu.kvm.qemu_file_monitor_add_watch ?
{
    try {
        argdirpath_str = dirpath ? user_string_n(dirpath, 512) : "<null>"
    } catch {}
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_file_monitor_add_watch File monitor %p add watch dir='%s' file='%s' cb=%p opaque=%p id=%d\n", pid(), gettimeofday_ns(), mon, argdirpath_str, argfilename_str, cb, opaque, id)
}
probe qemu.kvm.log.qemu_file_monitor_remove_watch = qemu.kvm.qemu_file_monitor_remove_watch ?
{
    try {
        argdirpath_str = dirpath ? user_string_n(dirpath, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_file_monitor_remove_watch File monitor %p remove watch dir='%s' id=%d\n", pid(), gettimeofday_ns(), mon, argdirpath_str, id)
}
probe qemu.kvm.log.qemu_file_monitor_new = qemu.kvm.qemu_file_monitor_new ?
{
    printf("%d@%d qemu_file_monitor_new File monitor %p created fd=%d\n", pid(), gettimeofday_ns(), mon, fd)
}
probe qemu.kvm.log.qemu_file_monitor_enable_watch = qemu.kvm.qemu_file_monitor_enable_watch ?
{
    try {
        argdirpath_str = dirpath ? user_string_n(dirpath, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_file_monitor_enable_watch File monitor %p enable watch dir='%s' id=%u\n", pid(), gettimeofday_ns(), mon, argdirpath_str, id)
}
probe qemu.kvm.log.qemu_file_monitor_disable_watch = qemu.kvm.qemu_file_monitor_disable_watch ?
{
    try {
        argdirpath_str = dirpath ? user_string_n(dirpath, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_file_monitor_disable_watch Fle monitor %p disable watch dir='%s' id=%u\n", pid(), gettimeofday_ns(), mon, argdirpath_str, id)
}
probe qemu.kvm.log.qemu_file_monitor_event = qemu.kvm.qemu_file_monitor_event ?
{
    try {
        argdirpath_str = dirpath ? user_string_n(dirpath, 512) : "<null>"
    } catch {}
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_file_monitor_event File monitor %p event dir='%s' file='%s' mask=0x%x id=%u\n", pid(), gettimeofday_ns(), mon, argdirpath_str, argfilename_str, mask, id)
}
probe qemu.kvm.log.qemu_file_monitor_dispatch = qemu.kvm.qemu_file_monitor_dispatch ?
{
    try {
        argdirpath_str = dirpath ? user_string_n(dirpath, 512) : "<null>"
    } catch {}
    try {
        argfilename_str = filename ? user_string_n(filename, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_file_monitor_dispatch File monitor %p dispatch dir='%s' file='%s' ev=%d cb=%p opaque=%p id=%d\n", pid(), gettimeofday_ns(), mon, argdirpath_str, argfilename_str, ev, cb, opaque, id)
}
probe qemu.kvm.log.qemu_aio_coroutine_enter = qemu.kvm.qemu_aio_coroutine_enter ?
{
    printf("%d@%d qemu_aio_coroutine_enter ctx %p from %p to %p opaque %p\n", pid(), gettimeofday_ns(), ctx, from, to, opaque)
}
probe qemu.kvm.log.qemu_coroutine_yield = qemu.kvm.qemu_coroutine_yield ?
{
    printf("%d@%d qemu_coroutine_yield from %p to %p\n", pid(), gettimeofday_ns(), from, to)
}
probe qemu.kvm.log.qemu_coroutine_terminate = qemu.kvm.qemu_coroutine_terminate ?
{
    printf("%d@%d qemu_coroutine_terminate self %p\n", pid(), gettimeofday_ns(), co)
}
probe qemu.kvm.log.qemu_co_mutex_lock_uncontended = qemu.kvm.qemu_co_mutex_lock_uncontended ?
{
    printf("%d@%d qemu_co_mutex_lock_uncontended mutex %p self %p\n", pid(), gettimeofday_ns(), mutex, self_)
}
probe qemu.kvm.log.qemu_co_mutex_lock_entry = qemu.kvm.qemu_co_mutex_lock_entry ?
{
    printf("%d@%d qemu_co_mutex_lock_entry mutex %p self %p\n", pid(), gettimeofday_ns(), mutex, self_)
}
probe qemu.kvm.log.qemu_co_mutex_lock_return = qemu.kvm.qemu_co_mutex_lock_return ?
{
    printf("%d@%d qemu_co_mutex_lock_return mutex %p self %p\n", pid(), gettimeofday_ns(), mutex, self_)
}
probe qemu.kvm.log.qemu_co_mutex_unlock_entry = qemu.kvm.qemu_co_mutex_unlock_entry ?
{
    printf("%d@%d qemu_co_mutex_unlock_entry mutex %p self %p\n", pid(), gettimeofday_ns(), mutex, self_)
}
probe qemu.kvm.log.qemu_co_mutex_unlock_return = qemu.kvm.qemu_co_mutex_unlock_return ?
{
    printf("%d@%d qemu_co_mutex_unlock_return mutex %p self %p\n", pid(), gettimeofday_ns(), mutex, self_)
}
probe qemu.kvm.log.qemu_memalign = qemu.kvm.qemu_memalign ?
{
    printf("%d@%d qemu_memalign alignment %u size %u ptr %p\n", pid(), gettimeofday_ns(), alignment, size, ptr)
}
probe qemu.kvm.log.qemu_anon_ram_alloc = qemu.kvm.qemu_anon_ram_alloc ?
{
    printf("%d@%d qemu_anon_ram_alloc size %u ptr %p\n", pid(), gettimeofday_ns(), size, ptr)
}
probe qemu.kvm.log.qemu_vfree = qemu.kvm.qemu_vfree ?
{
    printf("%d@%d qemu_vfree ptr %p\n", pid(), gettimeofday_ns(), ptr)
}
probe qemu.kvm.log.qemu_anon_ram_free = qemu.kvm.qemu_anon_ram_free ?
{
    printf("%d@%d qemu_anon_ram_free ptr %p size %u\n", pid(), gettimeofday_ns(), ptr, size)
}
probe qemu.kvm.log.hbitmap_iter_skip_words = qemu.kvm.hbitmap_iter_skip_words ?
{
    printf("%d@%d hbitmap_iter_skip_words hb %p hbi %p pos %d cur 0x%lx\n", pid(), gettimeofday_ns(), hb, hbi, pos, cur)
}
probe qemu.kvm.log.hbitmap_reset = qemu.kvm.hbitmap_reset ?
{
    printf("%d@%d hbitmap_reset hb %p items %u,%u bits %u..%u\n", pid(), gettimeofday_ns(), hb, start, count, sbit, ebit)
}
probe qemu.kvm.log.hbitmap_set = qemu.kvm.hbitmap_set ?
{
    printf("%d@%d hbitmap_set hb %p items %u,%u bits %u..%u\n", pid(), gettimeofday_ns(), hb, start, count, sbit, ebit)
}
probe qemu.kvm.log.lockcnt_fast_path_attempt = qemu.kvm.lockcnt_fast_path_attempt ?
{
    printf("%d@%d lockcnt_fast_path_attempt lockcnt %p fast path %d->%d\n", pid(), gettimeofday_ns(), lockcnt, expected, new)
}
probe qemu.kvm.log.lockcnt_fast_path_success = qemu.kvm.lockcnt_fast_path_success ?
{
    printf("%d@%d lockcnt_fast_path_success lockcnt %p fast path %d->%d succeeded\n", pid(), gettimeofday_ns(), lockcnt, expected, new)
}
probe qemu.kvm.log.lockcnt_unlock_attempt = qemu.kvm.lockcnt_unlock_attempt ?
{
    printf("%d@%d lockcnt_unlock_attempt lockcnt %p unlock %d->%d\n", pid(), gettimeofday_ns(), lockcnt, expected, new)
}
probe qemu.kvm.log.lockcnt_unlock_success = qemu.kvm.lockcnt_unlock_success ?
{
    printf("%d@%d lockcnt_unlock_success lockcnt %p unlock %d->%d succeeded\n", pid(), gettimeofday_ns(), lockcnt, expected, new)
}
probe qemu.kvm.log.lockcnt_futex_wait_prepare = qemu.kvm.lockcnt_futex_wait_prepare ?
{
    printf("%d@%d lockcnt_futex_wait_prepare lockcnt %p preparing slow path %d->%d\n", pid(), gettimeofday_ns(), lockcnt, expected, new)
}
probe qemu.kvm.log.lockcnt_futex_wait = qemu.kvm.lockcnt_futex_wait ?
{
    printf("%d@%d lockcnt_futex_wait lockcnt %p waiting on %d\n", pid(), gettimeofday_ns(), lockcnt, val)
}
probe qemu.kvm.log.lockcnt_futex_wait_resume = qemu.kvm.lockcnt_futex_wait_resume ?
{
    printf("%d@%d lockcnt_futex_wait_resume lockcnt %p after wait: %d\n", pid(), gettimeofday_ns(), lockcnt, new)
}
probe qemu.kvm.log.lockcnt_futex_wake = qemu.kvm.lockcnt_futex_wake ?
{
    printf("%d@%d lockcnt_futex_wake lockcnt %p waking up one waiter\n", pid(), gettimeofday_ns(), lockcnt)
}
probe qemu.kvm.log.socket_listen = qemu.kvm.socket_listen ?
{
    printf("%d@%d socket_listen backlog: %d\n", pid(), gettimeofday_ns(), num)
}
probe qemu.kvm.log.qemu_mutex_lock = qemu.kvm.qemu_mutex_lock ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_mutex_lock waiting on mutex %p (%s:%d)\n", pid(), gettimeofday_ns(), mutex, argfile_str, line)
}
probe qemu.kvm.log.qemu_mutex_locked = qemu.kvm.qemu_mutex_locked ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_mutex_locked taken mutex %p (%s:%d)\n", pid(), gettimeofday_ns(), mutex, argfile_str, line)
}
probe qemu.kvm.log.qemu_mutex_unlock = qemu.kvm.qemu_mutex_unlock ?
{
    try {
        argfile_str = file ? user_string_n(file, 512) : "<null>"
    } catch {}
    printf("%d@%d qemu_mutex_unlock released mutex %p (%s:%d)\n", pid(), gettimeofday_ns(), mutex, argfile_str, line)
}
probe qemu.kvm.log.qemu_vfio_dma_reset_temporary = qemu.kvm.qemu_vfio_dma_reset_temporary ?
{
    printf("%d@%d qemu_vfio_dma_reset_temporary s %p\n", pid(), gettimeofday_ns(), s)
}
probe qemu.kvm.log.qemu_vfio_ram_block_added = qemu.kvm.qemu_vfio_ram_block_added ?
{
    printf("%d@%d qemu_vfio_ram_block_added s %p host %p size 0x%x\n", pid(), gettimeofday_ns(), s, p, size)
}
probe qemu.kvm.log.qemu_vfio_ram_block_removed = qemu.kvm.qemu_vfio_ram_block_removed ?
{
    printf("%d@%d qemu_vfio_ram_block_removed s %p host %p size 0x%x\n", pid(), gettimeofday_ns(), s, p, size)
}
probe qemu.kvm.log.qemu_vfio_find_mapping = qemu.kvm.qemu_vfio_find_mapping ?
{
    printf("%d@%d qemu_vfio_find_mapping s %p host %p\n", pid(), gettimeofday_ns(), s, p)
}
probe qemu.kvm.log.qemu_vfio_new_mapping = qemu.kvm.qemu_vfio_new_mapping ?
{
    printf("%d@%d qemu_vfio_new_mapping s %p host %p size %u index %d iova 0x%x\n", pid(), gettimeofday_ns(), s, host, size, index, iova)
}
probe qemu.kvm.log.qemu_vfio_do_mapping = qemu.kvm.qemu_vfio_do_mapping ?
{
    printf("%d@%d qemu_vfio_do_mapping s %p host %p size %u iova 0x%x\n", pid(), gettimeofday_ns(), s, host, size, iova)
}
probe qemu.kvm.log.qemu_vfio_dma_map = qemu.kvm.qemu_vfio_dma_map ?
{
    printf("%d@%d qemu_vfio_dma_map s %p host %p size %u temporary %d iova %p\n", pid(), gettimeofday_ns(), s, host, size, temporary, iova)
}
probe qemu.kvm.log.qemu_vfio_dma_unmap = qemu.kvm.qemu_vfio_dma_unmap ?
{
    printf("%d@%d qemu_vfio_dma_unmap s %p host %p\n", pid(), gettimeofday_ns(), s, host)
}
probe qemu.kvm.log.loader_write_rom = qemu.kvm.loader_write_rom ?
{
    try {
        argname_str = name ? user_string_n(name, 512) : "<null>"
    } catch {}
    printf("%d@%d loader_write_rom %s: @0x%x size=0x%x ROM=%d\n", pid(), gettimeofday_ns(), argname_str, gpa, size, isrom)
}


Youez - 2016 - github.com/yon3zu
LinuXploit