Asynchronous callback driven messaging request completion notification
US-9043796-B2 · May 26, 2015 · US
US2019332425A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2019332425-A1 |
| Application number | US-201816203386-A |
| Country | US |
| Kind code | A1 |
| Filing date | Nov 28, 2018 |
| Priority date | Apr 30, 2018 |
| Publication date | Oct 31, 2019 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Various aspects are described herein. In some aspects, the disclosure provides a method for a system-on-chip (SoC) including one or more computing cores. The method includes providing a scheduler to schedule running of threads on the one or more computing cores in a pre-boot environment including a core thread configured to provide a plurality of services. The method further includes providing, by the scheduler, a first lock for the core thread. The method further includes initializing, by the core thread, one or more additional services separate from the plurality of services. The method further includes selectively allowing access to the plurality of services of the core thread to one or more additional threads based on a status of the first lock. The method further includes allowing access to the one or more additional services to the one or more additional threads independent of the status of the first lock.
Opening claim text (preview).
What is claimed is: 1 . A method of enabling a multithread framework in a pre-boot environment for a system-on-chip (SoC) comprising one or more computing cores, the method comprising: providing a scheduler to schedule running of a plurality of threads on the one or more computing cores in the pre-boot environment, the plurality of threads comprising a core thread configured to provide a plurality of services and one or more additional threads; providing, by the scheduler, a first lock for the core thread; initializing, by the core thread, one or more additional services separate from the plurality of services; selectively allowing access to the plurality of services of the core thread to the one or more additional threads based on a status of the first lock; and allowing access to the one or more additional services to the one or more additional threads independent of the status of the first lock. 2 . The method of claim 1 , further comprising providing, by the scheduler, one or more additional locks for the one or more additional services, wherein allowing access to the one or more additional services to the one or more additional threads comprises selectively allowing access to the one or more additional services to the one or more additional threads based on status of the one or more additional locks. 3 . The method of claim 1 , further comprising: acquiring, by a first thread of the one or more additional threads, the first lock when calling one of the plurality of services; and releasing the first lock when returning from the one of the plurality of services. 4 . The method of claim 1 , further comprising: launching the scheduler prior to executing the core thread; and launching the core thread by the scheduler. 5 . The method of claim 1 , wherein one of the plurality of threads comprises a timer thread configured to provide interrupt service to the core thread. 6 . The method of claim 5 , further comprising: upon receiving an interrupt event, determining by the timer thread if the core thread is running an idle process; indicating by the timer thread to the idle process to return from idle when the core thread is running the idle process; and issuing a timer callback to the core thread when the core thread is not running the idle process. 7 . The method of claim 1 , further comprising: acquiring, by a first thread of the one or more additional threads, the first lock when making a raise task priority list call; and releasing the first lock when making a restore task priority list call. 8 . The method of claim 1 , wherein the pre-boot environment comprises a Unified Extensible Firmware Interface (UEFI) pre-boot environment. 9 . A system-on-chip (SoC) comprising: a memory; and one or more computing cores coupled to the memory, the one or more computing cores being configured to: provide a scheduler to schedule running of a plurality of threads on the one or more computing cores in a pre-boot environment, the plurality of threads comprising a core thread configured to provide a plurality of services and one or more additional threads; provide, by the scheduler, a first lock for the core thread; initialize, by the core thread, one or more additional services separate from the plurality of services; selectively allow access to the plurality of services of the core thread to the one or more additional threads based on a status of the first lock; and allow access to the one or more additional services to the one or more additional threads independent of the status of the first lock. 10 . The SoC of claim 9 , wherein the one or more computing cores are further configured to provide, by the scheduler, one or more additional locks for the one or more additional services, wherein allowing access to the one or more additional services to the one or more additional threads comprises selectively allowing access to the one or more additional services to the one or more additional threads based on status of the one or more additional locks. 11 . The SoC of claim 9 , wherein the one or more computing cores are further configured to: acquire, by a first thread of the one or more additional threads, the first lock when calling one of the plurality of services; and release the first lock when returning from the one of the plurality of services. 12 . The SoC of claim 9 , wherein the one or more computing cores are further configured to: launch the scheduler prior to executing the core thread; and launch the core thread by the scheduler. 13 . The SoC of claim 9 , wherein one of the plurality of threads comprises a timer thread configured to provide interrupt service to the core thread. 14 . The SoC of claim 13 , wherein the one or more computing cores are further configured to: upon receiving an interrupt event, determine by the timer thread if the core thread is running an idle process; indicate by the timer thread to the idle process to return from idle when the core thread is running the idle process; and issue a timer callback to the core thread when the core thread is not running the idle process. 15 . The SoC of claim 9 , wherein the one or more computing cores are further configured to: acquire, by a first thread of the one or more additional threads, the first lock when making a raise task priority list call; and release the first lock when making a restore task priority list call. 16 . The SoC of claim 9 , wherein the pre-boot environment comprises a Unified Extensible Firmware Interface (UEFI) pre-boot environment. 17 . A non-transitory computer readable storage medium that stores instructions that when executed by a system-on-chip (SoC) comprising one or more computing cores cause the SoC to perform a method of enabling a multithread framework in a pre-boot environment, the method comprising: providing a scheduler to schedule running of a plurality of threads on the one or more computing cores in the pre-boot environment, the plurality of threads comprising a core thread configured to provide a plurality of services and one or more additional threads; providing, by the scheduler, a first lock for the core thread; initializing, by the core thread, one or more additional services separate from the plurality of services; selectively allowing access to the plurality of services of the core thread to the one or more additional threads based on a status of the first lock; and allowing access to the one or more additional services to the one or more additional threads independent of the status of the first lock. 18 . The non-transitory computer readable storage medium of claim 17 , wherein the method further comprises providing, by the scheduler, one or more additional locks for the one or more additional services, wherein allowing access to the one or more additional services to the one or more additional threads comprises selectively allowing access to the one or more additional services to the one or more additional threads based on status of the one or more additional locks. 19 . The non-transitory computer readable storage medium of claim 17 , wherein the method further comprises: acquiring, by a first thread of the one or more additional threads, the first lock when calling one of the plurality of services; and releasing the first lock when returning from the one of the plurality of services. 20 . The non-transitory computer readable storage medium of claim 17 , wherein the method further comprises: launching the scheduler p
Precedence · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
Deadlock detection or avoidance · CPC title
Initialisation of multiprocessor systems · CPC title
Mutual exclusion algorithms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.