1. A processor comprising: address translation hardware to support translation of a first address to a second address, wherein the first address is used by software to access a memory and the second address is used by the processor to access the memory; and memory access control hardware to detect an access permission violation.