Dominic Murphy is a Principal Engineer based in Cambridge with 12 years’ experience and nine years specialising in formal verification for Arm CPUs, leading cross-site teams from project planning through formal sign-off. He has repeatedly deployed formal methods to uncover deep corner-case RTL bugs and has owned verification environments and methodologies for multiple Cortex-M and M-class processors. Dominic pairs hands-on low-level systems expertise—demonstrated by substantive contributions to the Linux kernel IOMMU/DMA subsystems and ARM SMMU drivers—with strategic collaboration across sites and EDA vendors to drive tool and process improvements. He is particularly focused on Safety and Security verification and the pragmatic use of Sequential Equivalence Checking to resolve difficult verification challenges. Notably, his open-source work on torvalds/linux and rockchip/sonyxperia repos shows a rare blend of silicon-proximate formal verification and production kernel systems engineering.
12 years of coding experience
7 years of employment as a software developer
Master’s Degree, Electronic Engineering with Computer Systems, First Class Honours, Master’s Degree, Electronic Engineering with Computer Systems, First Class Honours at University of Southampton
Contributions summary:Dominic primarily contributed to the `iommu/arm-smmu` kernel driver within the Sony Xperia Android kernel repository. Their work involved modifying and refactoring core IOMMU functionality, converting registers to bitfields, and refining context bank handling. These changes demonstrate an understanding of low-level hardware interactions and memory management specific to ARM SMMU implementations, aiming to improve code clarity and maintainability.
Contributions summary:Dominic primarily contributed to the IOMMU (Input/Output Memory Management Unit) subsystem within the Linux kernel, focusing on DMA (Direct Memory Access) operations. Their work involved implementing common IOMMU operations for DMA mapping, adding architecture-specific DMA mapping ops for arm64, and addressing issues related to scatterlist handling and segment merging. The user's contributions also included fixing build issues and improving code robustness within the IOMMU/DMA infrastructure.
kernelkernel-sourcelinuxlinux-kernelbsp
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.