IP Library Granted Patent US 7,584,383
Granted Patent B2
US 7,584,383 · App. 11/499,616 · Granted Sep 1, 2009

Method and system for kernel-level diagnostics using a hardware watchpoint facility

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,584,383
App. No.
11/499,616
Granted
Sep 1, 2009
Kind
B2
Abstract

A method for performing kernel-level diagnostics. The method includes obtaining a hardware trap associated with an attempt by a kernel-level instruction stream to access a memory address, wherein the memory address is referenced by a hardware watchpoint facility, forwarding the hardware trap to a software breakpoint handler, executing a diagnostic instruction defined by the software breakpoint handler to obtain diagnostic data, transmitting the diagnostic data to a user, and returning execution flow to the kernel-level instruction stream.

Claims (47)

1. A method for performing kernel-level diagnostics, comprising:

obtaining a hardware trap associated with an attempt by a kernel-level instruction stream to access a memory address, wherein the memory address is referenced by a hardware watchpoint facility;

forwarding the hardware trap to a software breakpoint handler;

executing a diagnostic instruction defined by the software breakpoint handler to obtain diagnostic data;

transmitting the diagnostic data to a user; and

returning execution flow to the kernel-level instruction stream.

2. The method of claim 1 , further comprising:

reconfiguring the hardware watchpoint facility to reference a new memory address, prior to returning execution flow to the kernel-level instruction stream.

3. The method of claim 1 , further comprising:

adding an instruction to the kernel-level instruction stream, by the software breakpoint handler, to obtain a modified kernel-level instruction stream,

wherein returning execution flow to the kernel-level instruction stream comprises transferring execution flow to the modified kernel-level instruction stream.

4. The method of claim 1 , wherein forwarding the hardware trap to the software breakpoint handler comprises:

marking the hardware trap to obtain a marked hardware trap, wherein the marking indicates that the hardware trap is associated with the hardware watchpoint facility; and

forwarding the marked hardware trap to the software breakpoint handler.

5. The method of claim 1 , wherein forwarding the hardware trap to the software breakpoint handler comprises forwarding a first reference identifying a context of the kernel-level instruction stream and a second reference identifying the hardware watchpoint facility.

6. The method of claim 1 , wherein the attempt to access the memory address is halted prior to obtaining the hardware trap, and wherein returning execution flow to the kernel-level instruction stream comprises completing the attempt to access the memory address.

7. The method of claim 1 , wherein the kernel-level instruction stream comprises a kernel initialization instruction stream.

8. The method of claim 1 , wherein the hardware watchpoint facility comprises a plurality of translation table entries in a memory management unit.

9. The method of claim 1 , wherein the hardware watchpoint facility comprises a hardware watchpoint register.

10. A system for performing kernel-level diagnostics, comprising:

a hardware watchpoint facility configured to reference a memory address; and

a kernel diagnostics module configured to:

obtain a hardware trap associated with an attempt by a kernel-level instruction stream to access the memory address, and

forward the hardware trap to a software breakpoint handler configured to:

execute a diagnostic instruction defined by the software breakpoint handler to obtain diagnostic data,

transmit the diagnostic data to a user, and

return execution flow to the kernel-level instruction stream.

11. The system of claim 10 , wherein the software breakpoint handler is further configured to:

reconfigure the hardware watchpoint facility to reference a new memory address, prior to returning execution flow to the kernel-level instruction stream.

12. The system of claim 10 , wherein the software breakpoint handler is further configured to:

add instructions to the kernel-level instruction stream, to obtain a modified kernel-level instruction stream,

wherein returning execution flow to the kernel-level instruction stream comprises transferring execution flow to the modified kernel-level instruction stream.

13. The system of claim 10 , wherein forwarding the hardware trap to the software breakpoint handler comprises:

marking the hardware trap to obtain a marked hardware trap, wherein the marking indicates that the hardware trap is associated with the hardware watchpoint facility; and

forwarding the marked hardware trap to the software breakpoint handler.

14. The system of claim 10 , wherein forwarding the hardware trap to the software breakpoint handler comprises forwarding a first reference identifying a context of the kernel-level instruction stream and a second reference identifying the hardware watchpoint facility.

15. The system of claim 10 , wherein the attempt to access the memory address is halted prior to obtaining the hardware trap, and wherein returning execution flow to the kernel-level instruction stream comprises completing the attempt to access the memory address.

16. The system of claim 10 , wherein the software breakpoint handler is a subcomponent of the kernel diagnostics module.

17. The system of claim 10 , wherein the kernel-level instruction stream comprises a kernel initialization instruction stream.

18. The system of claim 10 , wherein the hardware watchpoint facility comprises a plurality of translation table entries in a memory management unit.

19. The system of claim 10 , wherein the hardware watchpoint facility comprises a hardware watchpoint register.

20. A computer readable storage medium comprising executable instructions for performing kernel-level diagnostics by:

obtaining a hardware trap associated with an attempt by a kernel-level instruction stream to access a memory address, wherein the memory address is referenced by a hardware watchpoint facility;

forwarding the hardware trap to a software breakpoint handler;

executing a diagnostic instruction defined by the software breakpoint handler to obtain diagnostic data;

transmitting the diagnostic data to a user; and

returning execution flow to the kernel-level instruction stream.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037304/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2006
From: HOPKINSON, CARL WAYNE
To: SUN MICROSYSTEMS, INC.
Reel/Frame 018166/0298 →