aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-07-16skiboot v6.4 release notesv6.4Stewart Smith1-0/+850
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-07-16libflash: Fix broken continuationsOliver O'Halloran1-5/+5
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>
2019-07-15npu2-opencapi: Add opencapi support on ZZFrederic Barrat2-2/+103
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>
2019-07-15hdata: Align SMP link definitions with current HDAT specFrederic Barrat2-5/+6
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>
2019-07-15ibm-fsp: Use finalise_dt() for DT fixupsOliver O'Halloran4-6/+14
>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>
2019-07-15witherspoon: Add nvlink peers in finalise_dt()Oliver O'Halloran1-4/+6
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>
2019-07-15core/platform: Add finalise_dt() callbackOliver O'Halloran2-0/+9
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>
2019-07-15Add github template telling people not to use pull requestsJoel Stanley1-0/+3
Inspired by u-boot. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-07-08skiboot v6.4-rc1 release notesv6.4-rc1Stewart Smith1-0/+788
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-07-08platforms/nicole: Add new platformArtem Senichev2-1/+80
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>
2019-07-02skiboot v6.3.2 release notesVasant Hegde1-0/+219
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> (cherry picked from commit 7a2b63d5457345c7dd8b6d7d9524b58a0aa0ae5e) Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-27doc: Add .nojekyll to not confuse gh-pagesStewart Smith1-0/+0
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-27platform/zz: Add new platform typeVasant Hegde1-1/+4
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>
2019-06-27npu2: Increase timeout for L2/L3 cache purgingAlexey Kardashevskiy2-7/+15
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>
2019-06-27hw/phb3: Add verbose EEH outputOliver O'Halloran1-1/+96
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>
2019-06-27pci: Make the pci-eeh-verbose nvram option genericOliver O'Halloran3-7/+11
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>
2019-06-27external/mambo: Bump default POWER9 to Nimbus DD2.3Nicholas Piggin2-3/+3
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24Experimental support for building without FSP codeStewart Smith3-1/+8
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>
2019-06-24Move platform specific PRD functionality to struct platformStewart Smith6-11/+54
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24Separate FSP specific PSI codeStewart Smith9-87/+140
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24core/timer: Use platform heartmeat_time call for FSP platformsStewart Smith5-1/+12
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24Move FSP-specific VPD functionality to platforms/ibm-fsp/Stewart Smith12-150/+187
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24fast-reboot: move platform specific bits to a platform callStewart Smith4-2/+9
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24core/pci: use !platform.bmc hack over fsp_present()Stewart Smith1-2/+1
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24hw/fsp/fsp.c: remove lying commentsStewart Smith1-9/+0
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24core/opal: move HIR trigger to FSP pollerStewart Smith2-14/+17
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24Move FSP specific op-panel calls to platform.exit()Stewart Smith2-10/+7
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>
2019-06-24core/init.c: no longer need to include FSP headersStewart Smith1-2/+0
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24core/init.c: use if (platform.bmc) rather than !fsp_present()Stewart Smith1-1/+1
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>
2019-06-24host_services_occ_base_setup is core homer code not host_servicesStewart Smith3-25/+25
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24Move core/hostservices.c to platforms/ibm-fsp/Stewart Smith6-6/+4
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>
2019-06-24Split FSP OCC code out into hw/fsp/Stewart Smith3-388/+426
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24Move more FSP functions to FSP platformStewart Smith2-12/+13
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-24op_display: make platform function rather than "FSP" specificStewart Smith19-4/+34
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>
2019-06-24doc: travis-ci deploy docs!Stewart Smith5-8/+52
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-19Disable -Waddress-of-packed-member for GCC9Stewart Smith1-1/+2
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>
2019-06-19hdata/vpd: fix printing (char*)0x00Stewart Smith1-4/+5
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>
2019-06-19struct p9_sbe_msg doesn't need to be packedStewart Smith1-1/+1
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>
2019-06-19travis: add back Coverity ScanStewart Smith1-0/+9
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>
2019-06-13sparse: fix incorrect type assignment in core/ipmi.cStewart Smith1-1/+2
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>
2019-06-13sparse: fix bt_lock should be staticStewart Smith1-1/+1
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>
2019-06-13sparse: fix OPAL API function argument testStewart Smith1-2/+9
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>
2019-06-13external/mambo: fix tcl startup code for mambo bogus net (repost)Aaron Sawdey1-4/+6
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>
2019-06-13npu2: Purge cache when resetting a GPUReza Arbab1-0/+6
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>
2019-06-13npu2: Fix typoReza Arbab1-2/+2
Change "brigde" to "bridge". Fixes: 68d11e4460ec ("npu2: Reset NVLinks when resetting a GPU") 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>
2019-06-07doc: Futher document OPAL_REINIT_CPUS_MMU_* modesStewart Smith1-0/+14
Fixes: https://github.com/open-power/skiboot/issues/134 Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-04doc: Add OPAL tokens 46-48 as never usedStewart Smith1-0/+6
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-04opal/hmi: Report NPU2 checkstop reasonFrederic Barrat1-0/+44
The NPU2 is currently not passing any information to linux to explain the cause of an HMI. NPU2 has three Fault Isolation Registers and over 30 of those FIR bits are configured to raise an HMI by default. We won't be able to fit all possible state in the 32-bit xstop_reason field of the HMI event, but we can still try to encode up to 4 HMI reasons. Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com> Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-04npu2-opencapi: Mask 2 XSL errorsFrederic Barrat1-9/+20
Commit f8dfd699f584 ("hw/npu2: Setup an error interrupt on some opencapi FIRs") converted some FIR bits default action from system checkstop to raising an error interrupt. For 2 XSL error events that can be triggered by a misbehaving AFU, the error interrupt is raised twice, once for each link (the XSL logic in the NPU is shared between 2 links). So a badly behaving AFU could impact another, unsuspecting opencapi adapter. It doesn't look good and it turns out we can do better. We can mask those 2 XSL errors. The error will also be picked up by the OTL logic, which is per link. So we'll still get an error interrupt, but only on the relevant link, and the other opencapi adapter can stay functional. Fixes: f8dfd699f584 ("hw/npu2: Setup an error interrupt on some opencapi FIRs") Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com> Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-06-04core/cpu: Fix theoretical use-after-free if no_return job returnsStewart Smith1-2/+6
Practically speaking this should/would never happen, but static analysis caught it, and just *maybe* at some time in the future, someone will have less of a terrible day debugging something terrible if we fix it. Signed-off-by: Stewart Smith <stewart@linux.ibm.com>