summaryrefslogtreecommitdiffstats
path: root/core/cpu.c
Commit message (Collapse)AuthorAgeFilesLines
...
* cpu: Handle opal_reinit_cpus() more gracefully on P7Benjamin Herrenschmidt2015-02-091-0/+7
| | | | | | | Don't try to call into slw_reinit() which causes error logs to be generated. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* Move skiboot internal things from opal.h to opal-api.hStewart Smith2015-02-061-0/+1
| | | | | | | | | | This is probably not the best collection of things in the world, but it means that opal.h is much closer to being directly usable by an OS. This triggers a bunch of #include fixes throughout the tree. Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
* Capture backtraces when measuring stack depthBenjamin Herrenschmidt2014-11-181-0/+2
| | | | Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* Add functions to backtrace into a non-text bufferBenjamin Herrenschmidt2014-11-181-4/+6
| | | | | | Separate text translation from capture of the backtrace Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* Stack checking extensionsBenjamin Herrenschmidt2014-11-171-11/+12
| | | | | | | | | | | | This patch adds: - Normal builds are done with -fstack-protector (we want to investigate using -fstack-protector-strong on gcc4.9 but for now we just use that - Build with STACK_CHECK=1 will use -fstack-protector-all and -pg and will check the stack in mcount Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* convert printf in core/cpu.c to prlog with PR_INFO or PR_DEBUGStewart Smith2014-10-151-7/+8
| | | | | | | | Most of these things are only needed during some interesting debugging sessions, not for normal startup. Let's keep them in memory buffer, not on serial console (unless user specifies) Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
* Returning CPU message just needs to be PR_DEBUG at mostStewart Smith2014-10-151-1/+1
| | | | Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
* Modify the (many) printouts in core/cpu.c to have appropriate PR levelsStewart Smith2014-10-151-8/+12
| | | | | | | We don't need too much detail coming out the serial port, some more detail in memory is good, but for the most part, summarize. Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
* core: Make secondary spin and locks use cpu_relax()Benjamin Herrenschmidt2014-10-081-5/+4
| | | | | | | | This makes secondaries spinning waiting for a job and spinlocks use cpu_relax() which speeds up the primary thread and thus speeds up the boot process a bit. Also prettify a bit cpu_relax() implementation Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* core: pace the loop in cpu_wait_jobJoel Stanley2014-10-011-4/+3
| | | | | | | | | | | | | | | | When waiting for a job to complete, users call cpu_wait_job. This causes the pollers to run and take locks eg. dummy_console takes con_lock. These locks may also be contended by the job that is running, and this contention between the pollers and the job stops the job making forward progress. The 10us delay was picked as a reasonable compromise. With this change Palmetto with DD2 PCI probe time goes from 8e10 to 4e8 ticks. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* cpu: Bump the reinit timeout up to 1sBenjamin Herrenschmidt2014-08-211-1/+2
| | | | | | | | Probably due to the way we spin, we seem to still be hitting the odd case where we fail to reinit due to a secondary not having quite reached the right state inside skiboot. Let's bump the timeout up. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* Add cpu_relax to stop cores spinning hardJoel Stanley2014-08-131-2/+14
| | | | | | | | | Ensure a thread is not stopping its siblings from making forward progress when we are busy-waiting on older DD1.x CPU revisions where SMT priorities are somewhat broken. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* opal: Replace fsp_poll() with a full run of all OPAL pollersBenjamin Herrenschmidt2014-07-081-3/+2
| | | | | | | | | Otherwise we don't handle surveillance and PSI link monitoring This should fix cases of surveillance timeouts during things like code update such as BZ109939 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* Initial commit of Open Source releaseBenjamin Herrenschmidt2014-07-021-0/+672
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
OpenPOWER on IntegriCloud