{"push_id":571574597,"size":13,"distinct_size":13,"ref":"refs/heads/mem_event_cleanup5","head":"3968431dc0dea2fc09e6925eda7c219cc392cccf","before":"a85c4cad8616b285abaf283a6a97df23f047b727","commits":[{"sha":"0c93d8dea4ab3d47e7ef074a6b70ef61f4bb5f36","author":{"email":"41f313bdf0dec8c7997de6665b954fcbf1ec3b48@bitdefender.com","name":"Razvan Cojocaru"},"message":"xen/mem_event: Cleanup of mem_event structures\n\nThe public mem_event structures used to communicate with helper applications via\nshared rings have been used in different settings. However, the variable names\nwithin this structure have not reflected this fact, resulting in the reuse of\nvariables to mean different things under different scenarios.\n\nThis patch remedies the issue by clearly defining the structure members based on\nthe actual context within which the structure is used.\n\nSigned-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>\n---\nv5: Style fixes\n    Convert gfn to uint32_t and define mem_access flags bits as we can now save\n        space on the ring this way\n    Split non-mem_event flags into access/paging flags\nv4: Attach mem_event version to each outgoing request directly in mem_event.\nv3: Add padding to mem_event structures.\n    Add version field to mem_event structures and checks for it.","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/0c93d8dea4ab3d47e7ef074a6b70ef61f4bb5f36"},{"sha":"711e688467daa11e43e55250772c596102f601c0","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen/mem_event: Cleanup mem_event ring names and domctls\n\nThe name of one of the mem_event rings still implies it is used only\nfor memory accesses, which is no longer the case. It is also used to\ndeliver various HVM events, thus the name \"monitor\" is more appropriate\nin this setting.\n\nThe mem_event subop definitions are also shortened to be more meaningful.\n\nThe tool side changes are only mechanical renaming to match these new names.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>\nAcked-by: Ian Campbell <ian.campbell@citrix.com>\nAcked-by: Jan Beulich <jbeulich@suse.com>\n---\nv5: Style fixes\nv4: Shorted mem_event domctl subops.\nv3: Style and comment fixes.","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/711e688467daa11e43e55250772c596102f601c0"},{"sha":"bc8e62be5ca98c73c530932404345285b8b549e7","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen/mem_paging: Convert mem_event_op to mem_paging_op\n\nThe only use-case of the mem_event_op structure had been in mem_paging,\nthus renaming the structure mem_paging_op and relocating its associated\nfunctions clarifies its actual usage.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>\nAcked-by: Tim Deegan <tim@xen.org>\nAcked-by: Ian Campbell <ian.campbell@citrix.com>\nAcked-by: Jan Beulich <jbeulich@suse.com>\n---\nv5: Style fixes\nv4: Style fixes\nv3: Style fixes","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/bc8e62be5ca98c73c530932404345285b8b549e7"},{"sha":"5cd593b6ffa3c3152af96e11da821521460d4011","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen/mem_access: Merge mem_event sanity check into mem_access check\n\nThe current sanity check when enabling mem_event is only applicable\nto mem_access.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/5cd593b6ffa3c3152af96e11da821521460d4011"},{"sha":"1fb8d7ea3d45eece9ac3f0f77939a3273c96437f","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen: Rename mem_event to vm_event\n\nIn this patch we mechanically rename mem_event to vm_event. This patch\nintroduces no logic changes to the code. Using the name vm_event better\ndescribes the intended use of this subsystem, which is not limited to memory\nevents. It can be used for off-loading the decision making logic into helper\napplications when encountering various events during a VM's execution.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>\nAcked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>\nAcked-by: Jan Beulich <jbeulich@suse.com>\n---\nv5: hvm_mem_event_emulate_one is renamed hvm_mem_access_emulate_one\nv4: Using git -M option for patch to improve readability\n    Note that in include/xen/vm_event.h the style problems are fixed in a later\n     patch in the series so that git can keep track of the relocation here.","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/1fb8d7ea3d45eece9ac3f0f77939a3273c96437f"},{"sha":"c8e23b11c49dfbf3112b87fbc0c31f1224be0eeb","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"tools/tests: Clean-up tools/tests/xen-access\n\nThe spin-lock implementation in the xen-access test program is implemented\nin a fashion that is actually incomplete. The x86 assembly that guarantees that\nthe lock is held by only one thread lacks the \"lock;\" instruction.\n\nHowever, the spin-lock is not actually necessary in xen-access as it is not\nmultithreaded. The presence of the faulty implementation of the lock in a non-\nmultithreaded environment is unnecessarily complicated for developers who are\ntrying to follow this code as a guide in implementing their own applications.\nThus, removing it from the code improves the clarity on the behavior of the\nsystem.\n\nAlso converting functions that always return 0 to return to void, and making\nthe teardown function actually return an error code on error.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>\nAcked-by: Ian Campbell <ian.campbell@citrix.com>","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/c8e23b11c49dfbf3112b87fbc0c31f1224be0eeb"},{"sha":"d1060f266feb92b957285ac2db8bde43e668fb2f","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"x86/hvm: factor out and rename vm_event related functions\n\nTo avoid growing hvm.c these functions can be stored separately. Minor style\nchanges are applied to the logic in the file.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>\nAcked-by: Kevin Tian <kevin.tian@intel.com>\n---\nv5: Style fixes\nv4: Style fixes\nv3: Style fixes and removing unused fields from msr events.","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/d1060f266feb92b957285ac2db8bde43e668fb2f"},{"sha":"1783ac86a839914c46c2e7c54a76ca2a74d57c32","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen: Introduce monitor_op domctl\n\nIn preparation for allowing for introspecting ARM and PV domains the old\ncontrol interface via the hvm_op hypercall is retired. A new control mechanism\nis introduced via the domctl hypercall: monitor_op.\n\nThis patch aims to establish a base API on which future applications can build\non.\n\nSuggested-by: Andrew Cooper <andrew.cooper3@citrix.com>\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>\nAcked-by: Ian Campbell <ian.campbell@citrix.com>\nAcked-by: Kevin Tian <kevin.tian@intel.com>\nAcked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>\n---\nv4: Style fixes\n    Only defining struct mov_to_cr and struct debug_event in asm-x86/domain.h\n    Add pause/unpause domain wrapper when enabled a monitor option.","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/1783ac86a839914c46c2e7c54a76ca2a74d57c32"},{"sha":"afb8d7375395a068495d130347e2667a46ae38f9","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen/vm_event: Check for VM_EVENT_FLAG_DUMMY only in Debug builds\n\nThe flag is only used for debugging purposes, thus it should be only checked\nfor in debug builds of Xen.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/afb8d7375395a068495d130347e2667a46ae38f9"},{"sha":"7d534fb99c9e3f47a63e6edb5d6f0cac9f04a81a","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen/vm_event: Decouple vm_event and mem_access.\n\nThe vm_event subsystem has been artifically tied to the presence of mem_access.\nWhile mem_access does depend on vm_event, vm_event is an entirely independent\nsubsystem that can be used for arbitrary function-offloading to helper apps in\ndomains. This patch removes the dependency that mem_access needs to be supported\nin order to enable vm_event.\n\nA new vm_event_resume function is introduced which pulls all responses off from\ngiven ring and delegates handling to appropriate helper functions (if\nnecessary). By default, vm_event_resume just pulls the response from the ring\nand unpauses the corresponding vCPU. This approach reduces code duplication\nand present a single point of entry for the entire vm_event subsystem's\nresponse handling mechanism.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>\nAcked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>\n---\nv4: Consolidate resume routines into vm_event_resume\n    Style fixes\n    Sort xen/common/Makefile to be alphabetical\nv3: Move ring processing out from mem_access.c to monitor.c in common","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/7d534fb99c9e3f47a63e6edb5d6f0cac9f04a81a"},{"sha":"ed3382fe074ac67ca31a36806389c7c08746e736","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen/vm_event: Relocate memop checks\n\nThe memop handler function for paging/sharing responsible for calling XSM\ndoesn't really have anything to do with vm_event, thus in this patch we\nrelocate it into mem_paging_memop and mem_sharing_memop. This has already\nbeen the approach in mem_access_memop, so in this patch we just make it\nconsistent.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/ed3382fe074ac67ca31a36806389c7c08746e736"},{"sha":"031d475a2d33775d2934debca9784b3e0748d762","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen/xsm: Split vm_event_op into three separate labels\n\nThe XSM label vm_event_op has been used to control the three memops\ncontrolling mem_access, mem_paging and mem_sharing. While these systems\nrely on vm_event, these are not vm_event operations themselves. Thus,\nin this patch we introduce three separate labels for each of these memops.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>\nAcked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/031d475a2d33775d2934debca9784b3e0748d762"},{"sha":"3968431dc0dea2fc09e6925eda7c219cc392cccf","author":{"email":"819deb4f5f42efe8ac880e8eb3ca516da1e34b7e@zentific.com","name":"Tamas K Lengyel"},"message":"xen/vm_event: Add RESUME option to vm_event_op domctl\n\nThus far mem_access and mem_sharing memops had been able to signal\nto Xen to start pulling responses off the corresponding rings. In this patch\nwe retire these memops and add them to the option to the vm_event_op domctl.\n\nThe vm_event_op domctl suboptions are the same for each ring thus we\nconsolidate them into XEN_VM_EVENT_ENABLE/DISABLE/RESUME.\n\nAs part of this patch in libxc we also rename the mem_access_enable/disable\nfunctions to monitor_enable/disable and move them into xc_monitor.c.\n\nSigned-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>","distinct":true,"url":"https://api.github.com/repos/tklengyel/xen/commits/3968431dc0dea2fc09e6925eda7c219cc392cccf"}]}