In a computer system in which a software application accesses a system
memory by communicating directly with a hardware device, a method for
protecting addresses in the memory from improper access. The method
includes, in an initialization stage, assigning a register of the hardware
device to the application and generating in the hardware device a
protection block, which block is used thereafter by the device to control
access by the application to the system memory. A first key is stored in
the protection block corresponding to a physical address of the register,
and a handle is assigned to the application that refers to the protection
block. In operation of the application, a command is conveyed from the
application via the register to access the system memory, the command
including the handle. Responsive to the command, a second key is generated
in the hardware device corresponding to the physical address of the
register. Responsive to the handle, the first and second keys are
compared, and the application is allowed to access the memory only if the
keys match in a predetermined manner.
В системе компьютера в применение средства программирования достигает памяти системы путем связывать сразу с прибора, метод для защищать адресует в памяти от неправильного доступа. Метод вклюает, в этап начинания, задавая регистр прибора к применению и производя в прибора блок предохранения, которому блок использован в дальнейшем приспособлением для того чтобы контролировать доступ применением к памяти системы. Первый ключ хранится в блоке предохранения соответствуя к физическому адресу регистра, и ручка задана к применению которое ссылается к блоку предохранения. In operation применения, команда транспортирована от применения через регистр достигнуть памяти системы, команды включая ручку. Отзывчиво к команде, второй ключ произведен в прибора соответствуя к физическому адресу регистра. Отзывчиво к ручке, первым и вторым ключам сравните, и применение позволено достигнуть памяти только если ключи сопрягают в предопределенном образе.