IP Library Granted Patent US 7,681,000
Granted Patent B2
US 7,681,000 · App. 11/482,989 · Granted Mar 16, 2010

System for protecting sensitive data from user code in register window architecture

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,681,000
App. No.
11/482,989
Granted
Mar 16, 2010
Kind
B2
Abstract

A system for protecting supervisor mode data from user code in a register window architecture of a processor is provided. The system, when transitioning from supervisor mode to user mode, setting at least one invalid window bit in the invalid window mask of the architecture additional to the invalid window bit set for the reserved window of the invalid window mask. The additional bit is set for a transition window between supervisor and user data windows.

Claims (19)

1. A system for protecting supervisor mode data from user code, the system comprising a processor which implements a register window architecture supporting supervisor and user modes, the processor being configured to implement the architecture as separate window stacks for the supervisor and user modes with a transition window in one of the window stacks set with at least one invalid window bit in an invalid window mask of the architecture additional to an invalid window bit set for a reserved window of the invalid window mask for transitioning from the supervisor mode to the user mode,

wherein the supervisor mode window stack is stored in supervisor mode-only and user mode accessible memory and the user mode window stack is stored in user mode accessible memory, and

a unique numerical label is assigned to each register window starting from 0 and increasing monotonically for every save.

2. A system according to claim 1 , wherein the processor is incorporated in a print engine for a printer.

3. A system according to claim 1 , wherein the position of the additional invalid window bit in the invalid window mask is maintained independent of window overflows and underflows at the transition window.

4. A system according to claim 1 , wherein:

a current stack pointer is switched to the supervisor mode window stack whenever a transition from user mode to supervisor mode occurs; and

the current stack pointer is switched to the user mode window stack whenever a transition from supervisor mode to user mode occurs.

5. A system according to claim 1 , wherein information on the transition window is recorded in the supervisor stack upon window overflow and underflow at the transition window.

6. A system according to claim 1 , wherein information on the transition window is recorded in the supervisor mode window stack upon window overflow and underflow at the transition window.

7. A system according to claim 6 , wherein information on non-transition windows is recorded in the supervisor mode window stack upon window overflow and underflow at the non-transition windows.

8. A system according to claim 1 , wherein a record of a current label assigned to the reserved window is held in the local registers of the reserved window, the record being updated as window overflows and underflows occur at the reserved window.

9. A system according to claim 1 , wherein the labels are used to index a record of at least the stack pointer of the reserved window in the supervisor mode window stack upon window overflow and underflow at the reserved window.

10. A system according to claim 9 , wherein the labels are used to index a record of the stack pointers of each window in the supervisor mode window stack upon window overflow and underflow at each window.

11. A system according to claim 1 , wherein the labels are calculated based on a current window pointer.

12. A system according to claim 11 , wherein, when transitioning from supervisor code to user code, a call function issues saves to bring the current window pointer to the user window positioned after the transition window and overwrites the registers in at least the windows containing supervisor code data from a current window to the reserved window.

13. A system according to claim 12 , wherein the call function overwrites the registers in all of the windows from the current window to the reserved window.

14. A system according to claim 13 , wherein the call function overwrites all registers of the processor containing supervisor code data.

15. A system according to claim 1 , wherein the registers in the transition window are overwritten upon window overflow and underflow at the transition window.

Assignments (3)
CHANGE OF NAME Recorded Jun 25, 2014
From: ZAMTEC LIMITED
To: MEMJET TECHNOLOGY LIMITED
Reel/Frame 033244/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2014
From: SILVERBROOK RESEARCH PTY. LIMITED
To: ZAMTEC LIMITED
Reel/Frame 032274/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2006
From: FUNK, DAVID WILLIAM; GAUKE, BARRY; SILVERBROOK, KIA
To: SILVERBROOK RESEARCH PTY LTD
Reel/Frame 018051/0455 →