1. A method for protecting the integrity of a set of memory pages to be accessed by an operating system of a data processing system, the method comprising: running the operating system in a virtual machine (VM) of the data processing system; verifying the integrity of the set of memory pages on loading of pages in the set of memory pages to a random access memory (RAM) of the data processing system for access by the operating system, wherein the RAM is disposed in the data processing system and is used for storing memory pages in operation; in response to verification of the integrity, designating one or more of the set of memory pages as a set of trusted pages and, in a page table to be used by the operating system during the access, marking one or more non-trusted pages as paged; in response to the verification of integrity, operating the operating system in a trusted mode of operation; and in response to the operating system attempting to access one of the non-trusted pages while operating in the trusted mode of operation, issuing a page interrupt for the non-trusted page and remapping the set of trusted pages to a portion of the RAM which is inaccessible to the VM during an untrusted mode of operation; wherein the page interrupt signals an end of the trusted mode of operation.