From patchwork Wed Apr 29 07:40:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 1279076 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49Br6K15xrz9sSy for ; Wed, 29 Apr 2020 17:40:57 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=s8q+fj1J; dkim-atps=neutral Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 49Br6K02RhzDr3l for ; Wed, 29 Apr 2020 17:40:57 +1000 (AEST) X-Original-To: skiboot@lists.ozlabs.org Delivered-To: skiboot@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::541; helo=mail-pg1-x541.google.com; envelope-from=npiggin@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=s8q+fj1J; dkim-atps=neutral Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 49Br5x5ly6zDqVP for ; Wed, 29 Apr 2020 17:40:35 +1000 (AEST) Received: by mail-pg1-x541.google.com with SMTP id p8so638008pgi.5 for ; Wed, 29 Apr 2020 00:40:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7HVD/5fvnXfxHL4bLJTgCxC9zdNGHsf3kJoE/xPgYDA=; b=s8q+fj1JmDUczn3TdosG1zniixa/grYS74srpQ5AkigskLTUEgd1E2U2Hnd8sd5T0q duLLSrtbVGK8LKpJGjCOb+nlhzr7fY0NdUC0hoY2fa0pCZU5n5iqBmXsskF1PuHFMTSW dQ2y2Excj1Rdt3aY4CxGO8wbESWFcglEY+M5XZGmHHxGVhHmuIoon5r4899ds2SeEMKN HLIMyCf14YFwZQx+DONqb9sjlCF6wLJHkFRdcc3WJwxKBHwF2bJBQb+4pRYacVJiMCBn CQKIFBP39GtrkHfT2KwTHoOrr6BpReqIaQnf3CD1qa2W6kBFBIcpxBx+qTQqnAURaK7P 1kwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7HVD/5fvnXfxHL4bLJTgCxC9zdNGHsf3kJoE/xPgYDA=; b=a76WI7HS4raCMLdHy1fCo+5CzrvcyY0kwBfM91VIcsnD03ZxJUkuOn6SSYGi/WCQS/ MstwHgZbCSY8gFGGtlbMzrA/Xq/eQi86NWcihsKFE6nKDruSUtWq1aMEAvYunG4biIE2 EM1YhMYJpE6Ad6Q9Y+dfgq5ImyDcBRDGK9277TU5hjtTAT321lTPvnI2gBYD937UwIUg Md87/aTyynoD1lq22G4eWseGmWeLd2Hl4ZHj0O7saS3upukH5TRKGevTNhBjUbkBNA1f ImgJ+ParcUd413dyYm5+2oAryXdFQ3brMNFa5bm81tC+DEN0Jhw4zImG2d1UKk+CoDhd b4GQ== X-Gm-Message-State: AGi0PuYME/SV/E0OLNhVhGcOCIlrib9Rj//uhIpfLfwDSGp9XG7VvRxk iLDvrB3cOLBGgom/mWdUdOuBEMk0 X-Google-Smtp-Source: APiQypLmib5WNIaGE67a5XmOP9MZoBDDCxMjjlgrsVIhFkjI5xWmg6muShCqxqsPHAjtrJ/db6i9/w== X-Received: by 2002:a62:7515:: with SMTP id q21mr35759661pfc.1.1588146030612; Wed, 29 Apr 2020 00:40:30 -0700 (PDT) Received: from bobo.ozlabs.ibm.com ([203.220.177.17]) by smtp.gmail.com with ESMTPSA id v127sm408189pfv.77.2020.04.29.00.40.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2020 00:40:30 -0700 (PDT) From: Nicholas Piggin To: skiboot@lists.ozlabs.org Date: Wed, 29 Apr 2020 17:40:21 +1000 Message-Id: <20200429074021.1678584-1-npiggin@gmail.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Subject: [Skiboot] [PATCH] opal entry: Fix LE skiboot clobbering r10 argument X-BeenThere: skiboot@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list for skiboot development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Skiboot" Fortunately no OPAL calls seem to use 8 arguments yet. Signed-off-by: Nicholas Piggin --- asm/head.S | 2 +- include/asm-utils.h | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/asm/head.S b/asm/head.S index 88b2bc12a..3b41815c6 100644 --- a/asm/head.S +++ b/asm/head.S @@ -837,7 +837,7 @@ enter_nap: .balign 0x10 .global opal_entry opal_entry: - OPAL_ENTRY_TO_SKIBOOT_ENDIAN + OPAL_ENTRY_TO_SKIBOOT_ENDIAN /* This clobbers r11, r12 */ /* Get our per CPU pointer in r12 to check for quiesce */ mfspr %r12,SPR_PIR diff --git a/include/asm-utils.h b/include/asm-utils.h index 73416cd0b..18325a8b3 100644 --- a/include/asm-utils.h +++ b/include/asm-utils.h @@ -28,16 +28,17 @@ /* Load an address via the TOC */ #define LOAD_ADDR_FROM_TOC(r, e) ld r,e@got(%r2) -/* This must preserve LR, so can't use Linux kernel's FIXUP_ENDIAN */ +/* This must preserve LR, may only clobber r11-r12, so can't use Linux kernel's + * FIXUP_ENDIAN */ #define SWITCH_ENDIAN \ .long 0xa600607d; /* mfmsr r11 */ \ .long 0x01006b69; /* xori r11,r11,1 */ \ .long 0xa64b7b7d; /* mthsrr1 r11 */ \ .long 0xa602687d; /* mflr r11 */ \ .long 0x05009f42; /* bcl 20,31,$+4 */ \ - .long 0xa602487d; /* mflr r10 */ \ - .long 0x14004a39; /* addi r10,r10,20 */ \ - .long 0xa64b5a7d; /* mthsrr0 r10 */ \ + .long 0xa602887d; /* mflr r12 */ \ + .long 0x14008c39; /* addi r12,r12,20 */ \ + .long 0xa64b9a7d; /* mthsrr0 r12 */ \ .long 0xa603687d; /* mtlr r11 */ \ .long 0x2402004c /* hrfid */