Age | Commit message (Collapse) | Author | Files | Lines |
|
hdata/spira.c:42:49: warning: symbol 'proc_init_data' was not declared. Should it be static?
hdata/spira.c:51:49: warning: symbol 'cpu_ctl_spat_area' was not declared. Should it be static?
hdata/spira.c:54:49: warning: symbol 'cpu_ctl_hsr_area' was not declared. Should it be static?
hdata/spira.c:56:53: warning: symbol 'cpu_ctl_init_data' was not declared. Should it be static?
hdata/spira.c:92:48: warning: symbol 'init_mdst_table' was not declared. Should it be static?
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
|
|
hw/imc.c:188:46: warning: incorrect type in assignment (different base types)
hw/imc.c:188:46: expected unsigned long long [usertype] imc_chip_command
hw/imc.c:188:46: got restricted beint64_t
hw/imc.c:370:41: warning: incorrect type in argument 1 (different base types)
hw/imc.c:370:41: expected restricted beint64_t [usertype] be_val
hw/imc.c:370:41: got unsigned long long [usertype] imc_chip_avl_vector
hw/imc.c:833:38: warning: incorrect type in assignment (different base types)
hw/imc.c:833:38: expected unsigned long long [usertype] imc_chip_command
hw/imc.c:833:38: got restricted beint64_t
hw/imc.c:894:38: warning: incorrect type in assignment (different base types)
hw/imc.c:894:38: expected unsigned long long [usertype] imc_chip_command
hw/imc.c:894:38: got restricted beint64_t
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
|
|
core/init.c:923:28: error: symbol 'main_cpu_entry' redeclared with different type (originally declared at core/init.c:921) - different modifiers
core/init.c:1314:28: error: symbol 'secondary_cpu_entry' redeclared with different type (originally declared at core/init.c:1312) - different modifiers
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
|
|
core/init.c:966:1: error: directive in argument list
core/init.c:968:1: error: directive in argument list
core/init.c:970:1: error: directive in argument list
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
|
|
version.c:1:12: warning: symbol 'version' was not declared. Should it be static?
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
|
|
Signed-off-by: joy_chu <joy_chu@wistron.com>
Acked-by: Stewart Smith <stewart@linux.ibm.com>
[oliver: use SPDX for license; removed whitespace error]
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Some of the libflash debug messages don't print a newlines at the end of
the line and assume that the next print will be contigious with the
last. This isn't true in skiboot since log messages are prefixed with a
timestamp. This results in funny looking output such as:
LIBFLASH: Verifying...
LIBFLASH: reading page 0x01963000..0x01964000...[3.084846885,7] same !
LIBFLASH: reading page 0x01964000..0x01965000...[3.086164489,7] same !
Fix this by moving the "same !" debug message to a new line with the
prefix "LIBFLASH: ..." to indicate it's a continuation of the last
statement.
First reported in https://github.com/open-power/skiboot/issues/51
Reported-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
This patch adds opencapi support on ZZ. It hard-codes the required
device tree entries for the NPU and links. The alternative was to use
HDAT, but it somehow proved too painful to do.
The new device tree entries activate the npu2 init code on ZZ. On
systems with no opencapi adapters, it should go unnoticed, as presence
detection will skip link training.
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Reviewed-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
All link usage values other than GPU were unused, so there's no
functional change or backward compatibility issue.
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
>From Gautham's patch to fix pstates_init() that this was based on:
> On FSP based systems (particularly POWER8), we perform
> occ_pstates_init() late in the boot to allow OCC to be loaded. Hence
> this was being performed in platform.exit(). occ_pstates_init() would
> add pstate information into the device-tree.
>
> A recent commit 9fc0c1287ada ("Move FSP specific op-panel calls to
> platform.exit()") moved the invocation of platform.exit() after the
> creation of device-tree blob. As a result, on FSP based systems, we
> don't have the pstate information in the device-tree, and thus the
> Kernel is unable to perform frequency scaling.
>
> Fix this by moving occ_pstates_init() out of ibm_fsp_exit() and call
> it before the creation of the device-tree blob.
The same patch also broke fast-reboot on ZZ. Without this patch applied
we get the following assert() fail when fast rebooting:
[ 1153.398889405,5] CUPD: Waiting read marker LID and in flight parsm completion...
[ 1153.398892228,3] Duplicate property "mi-version" in node /ibm,opal/firmware
[ 1153.398894036,0] Aborting!
CPU 0054 Backtrace:
S: 0000000031ea39b0 R: 0000000030013828 .backtrace+0x34
S: 0000000031ea3a70 R: 000000003001b268 ._abort+0x4c
S: 0000000031ea3af0 R: 0000000030027788 .new_property+0x80
S: 0000000031ea3b80 R: 00000000300278d0 .dt_add_property+0xa8
S: 0000000031ea3c10 R: 0000000030081a98 .fsp_code_update_wait_vpd+0x19c
S: 0000000031ea3d10 R: 000000003008ff98 .ibm_fsp_exit+0x1c
S: 0000000031ea3d80 R: 0000000030014864 .load_and_boot_kernel+0xb14
S: 0000000031ea3e60 R: 000000003002685c .fast_reboot_entry+0x38c
S: 0000000031ea3f00 R: 0000000030002988 reset_fast_reboot_wakeup+0x40
This happens because fsp_code_update_wait_vpd(true) adds some properties
to the DT so moving it to finalise_dt fixes that crash too.
Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Cc: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
Cc: Vaidyanathan Srinivasan <svaidy@linux.ibm.com>
Fixes: 9fc0c1287ada ("Move FSP specific op-panel calls to platform.exit()")
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Tested-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
This information is consumed by Linux so it needs to be in the DT. Move
it to finalise_dt().
Cc: A Russian <aik@ozlabs.ru>
Fixes: 9fc0c1287ada ("Move FSP specific op-panel calls to platform.exit()")
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Previously the platform.exit() callback was called before we created the
flattened device tree blob for Linux. Some platforms used this to add
various DT properties and this was broken in commit Fixes: 9fc0c1287ada
("Move FSP specific op-panel calls to platform.exit()") which moved the
exit callback to after the DTB had been created.
The logic for moving the time of the exit call makes some sense since we
want to terminate the IPMI watchdog timer as late as possible, but we
still need a way for the platform modify the DTB as late as possible.
This patch adds another platform callback (yay!) called finalise_dt()
which can be used to graft stuff into the DT.
Suggested-by: Vaidyanathan Srinivasan <svaidy@linux.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Reviewed-by: Vaidyanathan Srinivasan <svaidy@linux.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Inspired by u-boot.
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
The platform is a new storage controller for TATLIN server.
Based on IBM Romulus reference design (POWER9).
Signed-off-by: Artem Senichev <a.senichev@yadro.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
(cherry picked from commit 7a2b63d5457345c7dd8b6d7d9524b58a0aa0ae5e)
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
We have new platform type under ZZ. Lets add them. With this fix
we are able to boot the system.
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
On NVLink2 bridge reset, we purge all L2/L3 caches in the system.
This is an asynchronous operation, we have a 2ms timeout here. There are
reports that this is not enough and "PURGE L3 on core xxx timed out"
messages appear (for the reference: on the test setup this takes
280us..780us).
This defines the timeout as a macro and changes this from 2ms to 20ms.
This adds a tracepoint to tell how long it took to purge all the caches.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Add support for the pci-eeh-verbose NVRAM flag on PHB3. We've had this
on PHB4 since forever and it has proven very useful when debugging EEH
issues. When testing changes to the Linux kernel's EEH implementation
it's fairly common for the kernel to crash before printing the EEH log
so it's helpful to have it in the OPAL log where it can be dumped from
XMON.
Note that unlike PHB4 we do not enable verbose mode by default. The
nvram option must be used to explicitly enable it.
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
We currently have the "pci-eeh-verbose" NVRAM flag that causes phb4 to
print a register dump when it detects the PHB has been fenced. This is
useful for debugging most EEH issues since the kernel may not be ready
to handle EEH events when the problem is first detected.
There's no real reason this needs to be specific to PHB4 so this patch
moves the nvram flag handling into the generic init path (along with the
pcie_max_link_speed flag) so we can add a similar function for PHB3.
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Now, with CONFIG_FSP=0/1 we have:
1.6M/1.4M skiboot.lid
323K/375K skiboot.lid.xz
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
We move the platform exit call much closer to executing the kernel,
which should all be safe, and in fact a much better time to do watchdog
related things.
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
This decouples FSP platform from core skiboot logic by using this small
hack that may/may not be a good idea (although is already used
elsewhere, so at least we're consistent).
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
It's only used on FSP systems so should really just be part of that
platform support.
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
We have an implementation for non-FSP systems now, and we shouldn't be
calling that from code in an fsp/ directory, so move op_display() to a
platform function.
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
We throw a bunch of errors in errorlog code otherwise, which we should
fix, but we don't *have* to yet.
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
GCC9 now catches this bug:
In file included from hdata/vpd.c:17:
In function ‘vpd_vini_parse’,
inlined from ‘vpd_data_parse’ at hdata/vpd.c:416:3:
/home/stewart/skiboot/include/skiboot.h:93:31: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
93 | #define prlog(l, f, ...) do { _prlog(l, pr_fmt(f), ##__VA_ARGS__); } while(0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hdata/vpd.c:390:5: note: in expansion of macro ‘prlog’
390 | prlog(PR_WARNING,
| ^~~~~
hdata/vpd.c: In function ‘vpd_data_parse’:
hdata/vpd.c:391:46: note: format string is defined here
391 | "VPD: CCIN desc not available for: %s\n",
| ^~
cc1: all warnings being treated as errors
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Only the reg member is sent anywhere (via xscom_write), so the structure
does not need to be packed.
Fixes GCC9 build problem:
hw/sbe-p9.c: In function ‘p9_sbe_msg_send’:
hw/sbe-p9.c:270:9: error: taking address of packed member of ‘struct p9_sbe_msg’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
270 | data = &msg->reg[0];
| ^~~~~~~~~~~~
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
We need this in the master branch so that the coverity_scan branch gets
picked up.
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
core/ipmi.c:262:44: warning: incorrect type in assignment (different base types)
core/ipmi.c:262:44: expected unsigned long long [usertype] opal_event_ipmi_recv
core/ipmi.c:262:44: got restricted beint64_t
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Fix this sparse warning:
core/stack.c:123:13: warning: symbol 'bt_lock' was not declared. Should it be static?
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
This is based on a patch from Cédric from way back in 2015 (probably
around the time we split opal.h into opal-api.h and opal-internal.h)
that for some reason never got merged.
It means that false warnings spat out of sparse due to our crazy-ass
macro usage get silenced.
It fixes warnings such as
"Using plain integer as NULL pointer"
when the prototype of the function is tested with the __test_args#
defines.
Suggested-by: Cédric Le Goater <clg@fr.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
Repost of the same thing with Signed-off-by, and Acked-by from Michael Neuling.
This fixes a couple issues with external/mambo/skiboot.tcl so I can use the
mambo bogus net.
* newer distros (ubuntu 18.04) allow tap device to have a user specified
name instead of just tapN so we need to pass in a name not a number.
* need some kind of default for net_mac, and need the mconfig for it
to be set from an env var.
Thanks,
Aaron
Acked-by: Michael Neuling <mikey at neuling.org>
Signed-off-by: Aaron Sawdey <sawdey at linux.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|
|
After putting all a GPU's links in reset, do a cache purge in case we
have CPU cache lines belonging to the now-unaccessible GPU memory.
Fixes: 68d11e4460ec ("npu2: Reset NVLinks when resetting a GPU")
Cc: skiboot-stable@lists.ozlabs.org
Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
|