US7577830B2ExpiredUtilityA1
Peripheral device with hardware linked list
Est. expiryJun 19, 2021(expired)· nominal 20-yr term from priority
Inventors:A. Kent Porterfield
G06F 13/4221G06F 9/4411
74
PatentIndex Score
5
Cited by
34
References
11
Claims
Abstract
A linked list is implemented in hardware. Various registers within the linked list are writeable until a control register is written, rendering the registers read-only. A computer peripheral includes the hardware linked list to provide a list of capabilities to a querying device. The linked list can be built, modified, or disabled by low level software, and then locked so that it appears as read-only to higher level software such as an operating system or device driver.
Claims
exact text as granted — not AI-modified1. A method comprising:
disabling a capability of a peripheral component interconnect (PCI) local bus compliant device, the PCI local bus compliant device including a memory having registers, wherein disabling a capability of the PCI local bus compliant device includes modifying, in the memory, a next node pointer register in a capability linked list stored in the memory of the PCI local bus compliant device and writing to a one-time writable control register in the memory that once written to, prevents modification of the capability linked list in the memory of the PCI local bus compliant device, wherein the capability of the PCI local bus compliant device may be re-enabled upon a system reset that resets the one-time writable control register allowing the capability linked list to be modified.
2. The method of claim 1 , wherein the capabilities list comprises a plurality of nodes, each node including a capabilities register and a next node pointer register.
3. The method of claim 1 , wherein modifying the next node pointer register includes modifying a head pointer register.
4. The method of claim 1 , further comprising:
modifying a control register of the PCI local bus compliant device to make the next node pointer register read only.
5. A method comprising:
enabling a capability of a peripheral component interconnect (PCI) local bus compliant device, the PCI local bus compliant device including a memory having registers, wherein enabling a capability of the PCI local bus compliant device includes modifying, in the memory, a next node pointer register in a capability linked list stored in the memory of the PCI local bus compliant device and writing to a one-time writable control register in the memory that once written to, prevents modification of the capability linked list in the memory of the PCI local bus compliant device, wherein the next node pointer register is again modifiable upon a system reset that resets the one-time writable control register allowing the capability linked list to be modified.
6. The method of claim 1 , wherein the capabilities list comprises a plurality of nodes, each node including a capabilities register and a next node pointer register.
7. The method of claim 1 , wherein modifying the next node pointer register includes modifying a head pointer register.
8. The method of claim 1 , further comprising:
modifying a control register of the PCI local bus compliant device to make the next node pointer register read only.
9. A peripheral component interconnect (PCI) compliant device comprising:
a memory including registers;
two or more capability linked lists stored in the registers, wherein a capability linked list identifies one or more capabilities of the PCI compliant device; and
a head pointer register, wherein the head pointer register can be modified to point to one of the two or more capability linked lists; and
a one-time writeable control register, writeable once per reset of a system the PCI compliant device is installed in, wherein the control register, once written to, prevents modification of the head pointer register and the two or more capability linked lists until a system reset.
10. The PCI compliant device of claim 9 , wherein each of the two or more capability linked lists, when pointed to by the head pointer register, identify a unique group of PCI compliant device capabilities from other capability linked lists.
11. A computer peripheral device comprising:
a memory including registers;
a write-once per system reset register designated as a control register in the memory, wherein:
data stored within the control register identifies if a capability linked list of the computer peripheral device can be modified; and
wherein the control register can be written to once following a reset of the computer peripheral device; and
a processor interface to communicate with a processor, wherein modification to the control register can only be made upon receipt of a write instruction received over the processor interface.Join the waitlist — get patent alerts
Track US7577830B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.