Claims
- 1. A method for managing a buffer request in a system management controller, the method comprising:
receiving the buffer request; checking a buffer block allocation table for an entry indicating an available block; marking said buffer block allocation table entry as taken; checking a buffer allocation table block corresponding to said buffer block allocation table entry for an entry indicating an available block; and marking said buffer allocation table block entry as taken.
- 2. The method of claim 1, wherein said checking a buffer block allocation table comprises:
examining a next entry in said buffer block allocation table to determine if it is marked as available; and repeating said examining if it is not marked as available.
- 3. The method of claim 1, wherein said checking a buffer allocation table block comprises:
examining a first location in a buffer allocation table block corresponding to said buffer block allocation table entry to determine if it is marked as available; determining if said location is a last location in said corresponding block in said buffer allocation table if said location is marked as taken; repeating said examining a first location in a buffer allocation table block and said determining if said location is a last location with a next location in said corresponding block in said buffer allocation table if said location is not a last location in said corresponding block in said buffer allocation table and said location is marked as taken; marking said buffer block allocation table entry as available if said location is a last location in said corresponding block in said buffer allocation table and said location is marked as taken; and repeating said checking a buffer block allocation table, marking said buffer block allocation table entry, checking a buffer allocation table block, and marking said buffer allocation table block entry with a next entry in said buffer block allocation table if said location is a last location in said corresponding block in said buffer allocation table and said location is marked as taken.
- 4. The method of claim 1, further comprising:
determining if said entry is a last entry in said buffer block allocation table; and returning an error if said entry is a last entry in said buffer block allocation table and it is marked as taken.
- 5. The method of claim 3, further comprising:
passing a buffer identification corresponding to the location to a requester if said location is marked as available.
- 6. An apparatus for managing a buffer request in a system management controller, the apparatus comprising:
a buffer request receiver; a first memory; a second memory; a buffer block allocation table checker coupled to said buffer request receiver and to said first memory; a buffer block allocation table marker coupled to said first memory and to said buffer block allocation table checker; a buffer allocation table checker coupled to said second memory and to said buffer block allocation table checker; and a buffer allocation table marker coupled to said second memory and to said buffer allocation table checker.
- 7. The apparatus of claim 6, wherein said buffer block allocation table checker comprises:
a buffer block allocation table next entry examiner; and a iterator coupled to said buffer block allocation table next entry examiner.
- 8. The apparatus of claim 6, wherein said buffer allocation table checker comprises:
a buffer allocation table block location examiner; a last location determiner coupled to said buffer allocation table block first location examiner; a first iterator coupled to said buffer allocation table block first location examiner and to said last location determiner; a buffer block allocation table entry marker coupled to said last location determiner; a second iterator coupled to said buffer allocation table block location examiner, said last location determiner, said first iterator, and said buffer block allocation table entry marker.
- 9. An apparatus for managing a buffer request in a system management controller, the apparatus comprising:
means for receiving the buffer request; means for checking a buffer block allocation table for an entry indicating an available block; means for marking said buffer block allocation table entry as taken; means for checking a buffer allocation table block corresponding to said buffer block allocation table entry for an entry indicating an available block; and means for marking said buffer allocation table block entry as taken.
- 10. The apparatus of claim 9, wherein said means for checking a buffer block allocation table comprises:
means for examining a next entry in said buffer block allocation table to determine if it is marked as available; and means for repeating said examining if it is not marked as available.
- 11. The apparatus of claim 9, wherein said means for checking a buffer allocation table block comprises:
means for examining a first location in a buffer allocation table block corresponding to said buffer block allocation table entry to determine if it is marked as available; means for determining if said location is a last location in said corresponding block in said buffer allocation table if said location is marked as taken; means for repeating said examining a first location in a buffer allocation table block and said determining if said location is a last location with a next location in said corresponding block in said buffer allocation table if said location is not a last location in said corresponding block in said buffer allocation table and said location is marked as taken; means for marking said buffer block allocation table entry as available if said location is a last location in said corresponding block in said buffer allocation table and said location is marked as taken; and means for repeating said checking a buffer block allocation table, marking said buffer block allocation table entry, checking a buffer allocation table block, and marking said buffer allocation table block entry with a next entry in said buffer block allocation table if said location is a last location in said corresponding block in said buffer allocation table and said location is marked as taken.
- 12. The apparatus of claim 9, further comprising:
means for determining if said entry is a last entry in said buffer block allocation table; and means for returning an error if said entry is a last entry in said buffer block allocation table and it is marked as taken.
- 13. The apparatus of claim 11, further comprising:
passing a buffer identification corresponding to the location to a requester if said location is marked as available.
- 14. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for managing a buffer request in a system management controller, the method comprising:
receiving the buffer request; checking a buffer block allocation table for an entry indicating an available block; marking said buffer block allocation table entry as taken; checking a buffer allocation table block corresponding to said buffer block allocation table entry for an entry indicating an available block; and marking said buffer allocation table block entry as taken.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is a continuation-in-part of co-pending application Ser. No. 10/186,987, filed on Jun. 28, 2002, by Gunawan Ali-Santosa and Rahmat Mortazavi, entitled “PROCESS MANAGEMENT FOR REAL TIME SYSTEMS MANAGEMENT CONTROLLER”, attorney docket no. SUN-P5671.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10186987 |
Jun 2002 |
US |
Child |
10295569 |
Nov 2002 |
US |