GitHub PushEvent at 2014-09-22 18:28:44
Repository: xen
Actor: tklengyel
Payload: {"shas":[["3c50535463e049bd93db71cbdea376c5a2a3443e","dc226868a49efece0a100d3b431c1ba5dbf300fa@sec.in.tum.de","xen/arm: Add p2m_set_permission and p2m_shatter_page helpers.\n\nSigned-off-by: Tamas K Lengyel <tklengyel@sec.in.tum.de>\nAcked-by: Ian Campbell <ian.campbell@citrix.com>\n---\nv8: Determine level_shift in p2m_shatter_page instead of passing as argument.","Tamas K Lengyel",true],["097522e6943897c9982e0b71b8acb5aa142d5456","dc226868a49efece0a100d3b431c1ba5dbf300fa@sec.in.tum.de","xen/arm: Data abort exception (R/W) mem_events.\n\nThis patch enables to store, set, check and deliver LPAE R/W mem_events.\nAs the LPAE PTE's lack enough available software programmable bits,\nwe store the permissions in the extended struct page_info. This enables\nthe lookup mechanism in the trap handler to use the hardware translation,\nso we can rapidly locate the custom page permissions (if there are any).\n\nSigned-off-by: Tamas K Lengyel <tklengyel@sec.in.tum.de>\n---\nv8: - Revert to arch specific p2m_mem_access_check.\n    - Retire dabt_dfsc enum and use FSC_FLT defines.\n    - Revert to Radix tree approach and use access_in_use flag to\n      indicate if the tree is in use or not to avoid uneccessary lokoups.\nv7: - Removed p2m_shatter_page and p2m_set_permission into separate\n      patch.\n    - Replace Radix tree settings store with extended struct page_info\n      approach. This way the trap handlers can use the MMU directly to\n      locate the permission store instead of having to do a tree-lookup.\n    - Add p2m_get_entry/set_entry compat functions which are required by\n      the common mem_access_check function.\n    - Typo fixes.\nv6: - Add helper function p2m_shatter_page.\n    - Only allocate 4k pages when mem_access is in use.\n    - If no setting was found in radix tree but PTE exists,\n      return rwx as permission.\n    - Move the inclusion of various headers into this patch.\n    - Make npfec a const.\nv5: - Move p2m_set_entry's logic into apply_one_level via\n      a new p2m_op, MEMACCESS.\nv4: - Add p2m_mem_access_radix_set function to be called\n      when inserting new PTE's and when updating existing entries.\n    - Switch p2m_mem_access_check to return bool_t.\n    - Use new struct npfec to pass violation info.\nv3: - Add new function for updating the PTE entries, p2m_set_entry.\n    - Use the new struct npfec to pass violation information.\n    - Implement n2rwx, rx2rw and listener required routines.\nv2: - Patch been split to ease the review process.\n    - Add definitions of data abort data fetch status codes (enum dabt_dfsc)\n      and only call p2m_mem_access_check for traps caused by permission violations.\n    - Only call p2m_write_pte in p2m_lookup if the PTE permission actually changed.\n    - Properly save settings in the Radix tree and pause the VCPU with\n      mem_event_vcpu_pause.","Tamas K Lengyel",true],["29b75ceaa8a4942cdb4aaee03917a478f90b5f41","dc226868a49efece0a100d3b431c1ba5dbf300fa@sec.in.tum.de","xen/arm: Instruction prefetch abort (X) mem_event handling\n\nAdd missing structure definition for iabt and update the trap handling\nmechanism to only inject the exception if the mem_access checker\ndecides to do so.\n\nSigned-off-by: Tamas K Lengyel <tklengyel@sec.in.tum.de>\n---\nv8: - Revert to arch specific p2m_mem_access_check.\n    - Retire iabt_fsc enum and use FSC_FLT instead.\n    - Complete the struct definition of hsr_iabt.\nv7: - Use the new common mem_access_check.\nv6: - Make npfec a const.\nv4: - Don't mark instruction fetch violation as read violation.\n    - Use new struct npfec to pass violation info.\nv2: - Add definition for instruction abort instruction fetch status codes\n       (enum iabt_ifsc) and only call p2m_mem_access_check for traps triggered\n       for permission violations.","Tamas K Lengyel",true],["302e1f3eafc500e60d8a2393dce39d635b965096","dc226868a49efece0a100d3b431c1ba5dbf300fa@sec.in.tum.de","xen/arm: Enable the compilation of mem_access and mem_event on ARM.\n\nThis patch sets up the infrastructure to support mem_access and mem_event\non ARM and turns on compilation. We define the required XSM functions.\n\nSigned-off-by: Tamas K Lengyel <tklengyel@sec.in.tum.de>\nAcked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>\n---\nv3: Wrap mem_event related functions in XSM into #ifdef HAS_MEM_ACCESS\n       blocks.\n    Update XSM hooks in flask to properly wire it up on ARM.\n\nv2: Add CONFIG_MEM_PAGING and CONFIG_MEM_SHARING definitions and\n       use them instead of CONFIG_X86.\n    Split domctl copy-back and p2m type definitions into separate\n       patches and move this patch to the end of the series.","Tamas K Lengyel",true],["7f5e76f5739619bacf1f6ac9a1923f20b5198fc8","dc226868a49efece0a100d3b431c1ba5dbf300fa@sec.in.tum.de","tools/libxc: Allocate magic page for mem access on ARM\n\nSigned-off-by: Tamas K Lengyel <tklengyel@sec.in.tum.de>\nReviewed-by: Julien Grall <julien.grall@linaro.org>\nAcked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>","Tamas K Lengyel",true],["73b9665c4dd4e3d26a9bc5945f33163ab39631cc","dc226868a49efece0a100d3b431c1ba5dbf300fa@sec.in.tum.de","tools/tests: Enable xen-access on ARM\n\nDefine the ARM specific test_and_set_bit functions and switch\nto use maximum gpfn as the limit to setting permissions. Also,\nmove HAS_MEM_ACCESS definition into config.\n\nSigned-off-by: Tamas K Lengyel <tklengyel@sec.in.tum.de>\n---\nv6: - Just use xc_domain_maximum_gpfn to get max_gpfn.\nv5: - Use the new information returned by getdomaininfo, max_gpfn, to\n      set access permissions. On ARM this will include the potential\n      memory hole as well which the hypervisor just loops over.\nv4: - Take into account multiple guest ram banks on ARM.\n    - Move HAS_MEM_ACCESS definition into config/*.mk and only compile\n      xen-access when it is defined.\n    - Pass CONFIG_X86/CONFIG_ARM flags during compilation in xen-access\n      Makefile.","Tamas K Lengyel",true]],"size":6,"ref":"refs/heads/arm_memaccess8","head":"73b9665c4dd4e3d26a9bc5945f33163ab39631cc"}