The architecture supports a feature called TrustZone, which provides an orthogonal processor mode, called secure mode. Hardware resources (memory and on-chip devices) are configured to be accessible always or only in secure mode. A super-privileged mode, called monitor mode, is used to switch between secure and insecure mode. On power-up the processor enters secure kernel mode. TrustZone can be used to run an unmodified native OS binary next to other native code, similar to virtualization. This is achieved by running the guest in non-secure mode and all other code in secure mode. Unlike real virtualization, this only supports a single guest