aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-03-04test-ipmi-hiomap: Add get-flash-info testAndrew Jeffery1-0/+46
[ Upstream commit f65c781eee16b5fb2c4bd0a06c365133e2657026 ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add action-error testAndrew Jeffery1-0/+30
[ Upstream commit ecf6430d1ee99368bfdacc808cabfec5e515610b ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add bad-sequence testAndrew Jeffery1-0/+31
[ Upstream commit 077d19d8240552153688bef86a5f08c76197ed46 ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add event-during-eraseAndrew Jeffery1-0/+37
[ Upstream commit c2a4b4988eccbc8c73d366be6c7356f78385112f ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add event-before-erase testAndrew Jeffery1-0/+18
[ Upstream commit 410b80725ad266026e89b664b957e56e28b95660 ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add erase-two-blocks testAndrew Jeffery1-0/+64
[ Upstream commit 275b3d12af39a469f45db6dc5187382ca037a4ac ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add erase-one-block testAndrew Jeffery1-0/+54
[ Upstream commit 5ee7b0f70b044029ab366e45203b956271bfe756 ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add event-during-write testAndrew Jeffery1-0/+41
[ Upstream commit 9175028fc84acfebec7140fb3f6c16b0badf625a ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add event-before-write testAndrew Jeffery1-0/+15
[ Upstream commit 7f246ff2c9993f3484d934a10a6f408ee8e4884d ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add write-two-blocks testAndrew Jeffery1-0/+118
[ Upstream commit eb0c85ae9868fc0cc1f489c9de334faf595c70fc ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add write-one-block testAndrew Jeffery1-0/+92
[ Upstream commit e69b1135db38bac3ae329f0e8fc63f98c2a4d3e9 ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add event-during-read testAndrew Jeffery1-0/+41
[ Upstream commit fd271bc570d379b37da4599b700f59427e9b28e0 ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add event-before-readAndrew Jeffery1-0/+30
[ Upstream commit e1f20bfd7d91e7370f75e9ddf08c7e09cf22d15f ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add read-two-blocks testAndrew Jeffery1-7/+98
[ Upstream commit d4b870c8524c3abe9d5daf506d1ca30a07d70912 ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add read-one-block testAndrew Jeffery1-3/+68
[ Upstream commit 5b12dfe8dd0d3dd62383796e6588bfa28c6b3a6d ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add protocol-persistent-error testAndrew Jeffery1-0/+33
[ Upstream commit 41e6e8b4acf7951997679c7459ad37187e9d41f0 ] Cc: stable Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Tested-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04libflash/ipmi-hiomap: Enforce message size for empty responseAndrew Jeffery1-0/+6
[ Upstream commit 4af122b23402ca163012de527277901d7770c376 ] The protocol defines the response to the associated messages as empty except for the command ID and sequence fields. If the BMC is returning extra data consider the message malformed. Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04libflash/ipmi-hiomap: Remove unused close handlingAndrew Jeffery1-5/+0
[ Upstream commit 6d8bd2dd9eab3792d3aafde33d5573c0276b72b8 ] Issuing a HIOMAP_C_CLOSE is not required by the protocol specification, rather a close can be implicit in a subsequent CREATE_{READ,WRITE}_WINDOW request. The implicit close provides an opportunity to reduce LPC traffic and the implementation takes up that optimisation, so remove the case from the IPMI callback handler. Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04libflash/ipmi-hiomap: Overhaul event handlingAndrew Jeffery2-64/+58
[ Upstream commit 403d527269bed128a5a114edc2a8e040fc28fc78 ] Reworking the event handling was inspired by a bug report by Vasant where the host would get wedged on multiple flash access attempts in the face of a persistent error state on the BMC-side. The cause of this bug was the early-exit based on ctx->update, which erronously assumed that all events had been completely handled in prior calls to ipmi_hiomap_handle_events(). This is not true if e.g. HIOMAP_E_DAEMON_READY is clear in the prior calls. Regardless, there were other correctness and efficiency problems with the handling strategy: * Ack-able event state was not restored in the face of errors in the process of re-establishing protocol state * It forced needless window restoration with respect to the context in which ipmi_hiomap_handle_events() was called. * Tests for HIOMAP_E_DAEMON_READY and HIOMAP_E_FLASH_LOST were redundant with the overhauled error handling introduced in the previous patch Fix all of the above issues and add comments to explain the event handling flow. Tests for correctness follow later in the series. Cc: stable Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04libflash/ipmi-hiomap: Overhaul error handlingAndrew Jeffery1-107/+197
[ Upstream commit 64a61885a2294eacc54d51962781647ab5c58889 ] The aim is to improve the robustness with respect to absence of the BMC-side daemon. The current error handling roughly mirrors what was done for the mailbox implementation, but there's room for improvement. Errors are split into two classes, those that affect the transport state and those that affect the window validity. From here, we push the transport state error checks right to the bottom of the stack, to ensure the link is known to be in a good state before any message is sent. Window validity tests remain as they were in the hiomap_window_move() and ipmi_hiomap_read() functions. Validity tests are not necessary in the write and erase paths as we will receive an error response from the BMC when performing a dirty or flush on an invalid window. Recovery also remains as it was, done on entry to the blocklevel callbacks. If an error state is encountered in the middle of an operation no attempt is made to recover it on the spot, instead the error is returned up the stack and the caller can choose how it wishes to respond. Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04libflash/ipmi-hiomap: Fix leak of msg in callbackAndrew Jeffery1-0/+1
[ Upstream commit 1b3a5dfbdf924e5c1f0c4f5401eb4535cd2d8d41 ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Print some information on early scenario_exit()Andrew Jeffery1-1/+6
[ Upstream commit f46ed4f7ee79f7093c3a8d494052f5d8656e6101 ] Now we dump the index of the event that we exited on if it's not the appropriate scenario event type. Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Ensure the completion code is setAndrew Jeffery1-0/+2
[ Upstream commit 5293333dd1afb0a1abd355df75a163812e8e196a ] ipmi_queue_msg_sync() intercepts and implements the IPMI transfers for the test scenarios. In some scenarios we want to return IPMI error codes, so make sure the msg->cc field is set. Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Dump unexpected IPMI messagesAndrew Jeffery1-0/+3
[ Upstream commit f246cceda717385be6131078a4077e3671dc6d1f ] These indicate an implementation bug or broken scenario. Either way it's helpful to know what arrived given it wasn't expected. Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04test-ipmi-hiomap: Add ability to delay some IPMI messagesAndrew Jeffery1-1/+24
[ Upstream commit 43ca6a2e5b1237f7bf2efb70333c13d145ae62cd ] The initial implementation delivered all BMC-initiated SELs immediately after the delivery of the last response to the host. In some circumstances we want slightly more control over how this works, so introduce a means to manually advance the scenario in the test case. Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04libflash/test: Generate header dependencies for testsAndrew Jeffery1-1/+4
[ Upstream commit 0dec1de73e1e11e94a15b07a1563941ab18f2ab0 ] Cc: stable Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04hw/bt: Add backend interface to disable ipmi message retry optionVasant Hegde3-1/+17
[ Upstream commit 01f977c33d46f35ae6735c874d415a793d7bd9af ] During boot OPAL makes IPMI_GET_BT_CAPS call to BMC to get BT interface capabilities which includes IPMI message max resend count, message timeout, etc,. Most of the time OPAL gets response from BMC within specified timeout. In some corner cases (like mboxd daemon reset in BMC, BMC reboot, etc) OPAL may not get response within timeout period. In such scenarios, OPAL resends message until max resend count reaches. OPAL uses synchronous IPMI message (ipmi_queue_msg_sync()) for few operations like flash read, write, etc. Thread will wait in OPAL until it gets response from BMC. In some corner cases like BMC reboot, thread may wait in OPAL for long time (more than 20 seconds) and results in kernel hardlockup. This patch introduces new interface to disable message resend option. We will disable message resend option for synchrous message. This will greatly reduces kernel hardlock up issues. This is short term fix. Long term solution is to convert all synchronous messages to asynhrounous one. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04hw/bt: Fix message retry handlerVasant Hegde1-2/+10
[ Upstream commit fdd27ca27231e1b128b6cfbc5d8786fe54861cdd ] In some corner cases (like BMC reboot), bt_send_and_unlock() starts message timer, but won't send message to BMC as driver is not free to send message. bt_expire_old_msg() function enables H2B interrupt without actually sending message. This patch fixes above issue. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04ipmi/power: Fix system reboot issueVasant Hegde1-2/+24
[ Upstream commit b1d421875b4c6282cef349f27964f7e8885f06ee ] Kernel makes reboot/shudown OPAL call for reboot/shutdown. Once kernel gets response from OPAL it runs opal_poll_events() until firmware handles the request. On BMC based system, OPAL makes IPMI call (IPMI_CHASSIS_CONTROL) to initiate system reboot/shutdown. At present OPAL queues IPMI messages and return SUCESS to Host. If BMC is not ready to accept command (like BMC reboot), then these message will fail. We have to manually reboot/shutdown the system using BMC interface. This patch adds logic to validate message return value. If message failed, then it will resend the message. At some stage BMC will be ready to accept message and handles IPMI message. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-03-04qemu: bt device isn't always hanging off /Stewart Smith1-3/+2
[ Upstream commit 44aa41061a9ffc289ff6b7d7b47132c4f15896bd ] Just use the normal for_each_compatible instead. Otherwise in the qemu model as executed by op-test, we wouldn't go down the astbmc_init() path, thus not having flash. Cc: stable # v6.2+ Fixes: 2f0b6af6e01c5f7b3c762647d06c4f792e2cb3b7 Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-02-21hw/phb3/naples: Disable D-statesAlexey Kardashevskiy1-0/+29
[ Upstream commit 4824d17bb53b89cf599ccdbde2a7a77f424cd3bb ] Putting "Mellanox Technologies MT27700 Family [ConnectX-4] [15b3:1013]" (more precisely, the second of 2 its PCI functions, no matter in what order) into the D3 state causes EEH with the "PCT timeout" error. This has been noticed on garrison machines only and firestones do not seem to have this issue. This disables D-states changing for devices on root buses on Naples by installing a config space access filter (copied from PHB4). Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-By: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-02-20skiboot v6.2.1 release notesv6.2.1Stewart Smith1-0/+83
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-02-20libflash/ecc: Fix compilation warningVasant Hegde1-1/+1
[ Upstream commit b570fb646289b34750d14518c77036dc14c732e3 ] We are hitting below warning on gcc9. gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -O2 -Wall -Werror -Wno-stringop-truncation -I. -c libflash/ecc.c -o libflash-ecc.o libflash/ecc.c: In function 'memcpy_to_ecc_unaligned': libflash/ecc.c:419:24: error: taking address of packed member of 'struct ecc64' may result in an unaligned pointer value [-Werror=address-of-packed-member] 419 | memcpy(inc_uint64_by(&ecc_word.data, alignment), src, bytes_wanted); | ^~~~~~~~~~~~~~ libflash/ecc.c:448:24: error: taking address of packed member of 'struct ecc64' may result in an unaligned pointer value [-Werror=address-of-packed-member] 448 | memcpy(inc_uint64_by(&ecc_word.data, len), inc_ecc64_by(dst, len), | ^~~~~~~~~~~~~~ cc1: all warnings being treated as errors Fixes: https://github.com/open-power/skiboot/issues/218 Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-02-15core/opal: Print PIR value in exit pathVasant Hegde1-2/+2
[ Upstream commit 554062d7fe5aac2e1a65a15a0385946a1fb6f8f4 ] Useful for debugging. CC: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-02-15core/ipmi: Improve error messageVasant Hegde1-1/+2
[ Upstream commit 7516e3827e5044442b9b79fa44fe118e101207c8 ] Useful for debugging. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2019-02-13firmware-versions: Add test case for parsing VERSIONStewart Smith18-147/+364
[ Upstream commit 3170270be92ad945600d25ced9352c39fc7f156a ] Also make it possible to use with afl-lop/afl-fuzz just to help make *sure* we're all good. Additionally, if we hit a entry in VERSION that is larger than our buffer size, we skip over it gracefully rather than overwriting the stack. This is only a problem if VERSION isn't trusted, which as of 4b8cc05a94513816d43fb8bd6178896b430af08f it is verified as part of Secure Boot. CC: stable # v5.9+ Fixes: 9727fe384b8685270d344201f7e051475eea3a0b [stewart: fix up include ordering for building on centos7] Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-02-13core/cpu: HID update raceNicholas Piggin1-2/+2
[ Upstream commit d27180b55d7740a711f2a6417eed02782a1cd536 ] If the per-core HID register is updated concurrently by multiple threads, updates can get lost. This has been observed during fast reboot where the HILE bit does not get cleared on all cores, which can cause machine check exception interrupts to crash. Fix this by only updating HID on thread0. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-02-11cpufeatures: Always advertise POWER8NVL as DD2Alexey Kardashevskiy1-4/+5
[ Upstream commit 17975a6e645768c4651199055052a13858db6506 ] Despite the major version of PVR being 1 (0x004c0100) for POWER8NVL, these chips are functionally equalent to P8/P8E DD2 levels. This advertises POWER8NVL as DD2. As the result, skiboot adds ibm,powerpc-cpu-features/processor-control-facility for such CPUs and the linux kernel can use hypervisor doorbell messages to wake secondary threads; otherwise "KVM: CPU %d seems to be stuck" would appear because of missing LPCR_PECEDH. Fixes: 7f4c8e8ce0b "dt: add /cpus/ibm, powerpc-cpu-features device tree bindings" Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-02-11p9dsu: Fix p9dsu slot tablesDeb McLemore1-15/+30
[ Upstream commit 87517c8737b9b868596e93432a51e283c22c6fb1 ] Set the attributes on the slot tables to account for builtin or pluggable etypes, this will allow pci enumeration to calculate subordinate buses. Update some slot label strings. Add WIO Slot5 which is standard on the ESS config. Signed-off-by: Deb McLemore <debmc@linux.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-02-11core/lock: Stop drop_my_locks() from always causing abortReza Arbab1-1/+1
[ Upstream commit 9ef153f6f013b224db8e9b78764ef6cf89c152fa ] The loop in drop_my_locks() looks like this: while((l = list_pop(&this_cpu()->locks_held, struct lock, list)) != NULL) { if (warn) prlog(PR_ERR, " %s\n", l->owner); unlock(l); } Both list_pop() and unlock() call list_del(). This means that on the last iteration of the loop, the list will be empty when we get to unlock_check(), causing this: LOCK ERROR: Releasing lock we don't hold depth @0x30493d20 (state: 0x0000000000000001) [13836.000173140,0] Aborting! CPU 0000 Backtrace: S: 0000000031c03930 R: 000000003001d840 ._abort+0x60 S: 0000000031c039c0 R: 000000003001a0c4 .lock_error+0x64 S: 0000000031c03a50 R: 0000000030019c70 .unlock+0x54 S: 0000000031c03af0 R: 000000003001a040 .drop_my_locks+0xf4 To fix this, change list_pop() to list_top(). Signed-off-by: Reza Arbab <arbab@linux.ibm.com> Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2019-02-11p9dsu: Fix p9dsu default variantDeb McLemore1-19/+21
[ Upstream commit 31231ed300f2d3848af54b32b3712a312646d7da ] Add the default when no riser_id is returned from the ipmi query. This addresses: https://github.com/open-power/boston-openpower/issues/1369 Allow a little more time for BMC reply and cleanup some label strings. Signed-off-by: Deb McLemore <debmc@linux.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2018-12-14skiboot v6.2 release notesv6.2Stewart Smith1-0/+1375
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2018-12-13opal-ci: Drop fedora27, add fedora29Stewart Smith4-27/+6
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2018-12-13ci: Bump Qemu versionJoel Stanley1-1/+1
This moves the qemu version to qemu-powernv-for-skiboot-7 which is based on upstream's 3.1.0, and supports a Power9 machine. It also includes a fix for the skiboot XSCOM errors: XSCOM: read error gcid=0x0 pcb_addr=0x1020013 stat=0x0 There is no modelling of the xscom behaviour but the reads/writes now succeed which is enough for skiboot to not error out. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2018-12-13test: Update qemu arguments to use bmc simulatorJoel Stanley3-3/+6
THe qemu skiboot platform as of 8340a9642bba ("plat/qemu: use the common OpenPOWER routines to initialize") uses the common aspeed BMC setup routines. This means a BT interface is always set up, and if the corresponding Qemu model is not present the timeout is 30 seconds. It looks like this every time an IPMI message is sent: BT: seq 0x9e netfn 0x06 cmd 0x31: Maximum queue length exceeded BT: seq 0x9d netfn 0x06 cmd 0x31: Removed from queue BT: seq 0x9f netfn 0x06 cmd 0x31: Maximum queue length exceeded BT: seq 0x9e netfn 0x06 cmd 0x31: Removed from queue BT: seq 0xa0 netfn 0x06 cmd 0x31: Maximum queue length exceeded BT: seq 0x9f netfn 0x06 cmd 0x31: Removed from queue Avoid this by adding the bmc simulator model to the Qemu powernv machine. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2018-12-13ci: Add opal-utils to Debian unstableJoel Stanley1-1/+4
This puts a 'pflash' in the users PATH, allowing more test coverage of ffspart. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2018-12-13ci: Drop P8 mambo from Debian unstableJoel Stanley1-1/+0
Debian Unstable has removed OpenSSL 1.0.0 from the repository so mambo no longer runs: /opt/ibm/systemsim-p8/bin/systemsim-pegasus: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory By removing it from the container these tests will be automatically skipped. Tracked in https://github.com/open-power/op-build/issues/2519 Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2018-12-13ci: Add dtc dependencies for rawhideJoel Stanley1-0/+2
Both F28 and Rawhide build their own dtc version. Rawhide was missing the required build deps. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2018-12-13ci: Update Debian unstable packagesJoel Stanley1-3/+2
This syncs Debian unstable with Ubuntu 18.04 in order to get the clang package. It also adds qemu to the Debian install, which makes sense Debian also has 2.12. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
2018-12-13ci: Use Ubuntu latest config for Debian unstableJoel Stanley1-1/+1
Debian unstable has the same GCOV issue with 8.2 as Ubuntu latest so it makes sense to share configurations there. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>