From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1FDBC433F5 for ; Sat, 21 May 2022 13:13:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243613AbiEUNNp (ORCPT ); Sat, 21 May 2022 09:13:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239687AbiEUNNk (ORCPT ); Sat, 21 May 2022 09:13:40 -0400 Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com [IPv6:2607:f8b0:4864:20::52f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E19AB387B0 for ; Sat, 21 May 2022 06:13:39 -0700 (PDT) Received: by mail-pg1-x52f.google.com with SMTP id 31so9901556pgp.8 for ; Sat, 21 May 2022 06:13:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wXO4BheuhYf/qtVPhrmMyquWayElWld6sjdR5X3gNkE=; b=l6xk/kluVQpMuwRXPybjDty5NMjYJs9gDfwu/kLMXMr4MTLCUzBVK+UTLB1/DhB6DT APVt63p0+SycjvMMyPyDkq4s7oLVc/7A5RqJTqFTJObilxMMKRNgXz3qULPIgfEJXJQH EXSKbjzznlfM9znHRhrHuCdh9jAZ+LkGcJ3+kLn+BToHzbqaK6hzlnUrHuNfs6iOY98+ RdT14U64yKUa/kvIMQEMA62hJ5WAPU0q4aBSGKc2DmCw6Pdf2KLt21U9vkCctwPwBDpR E7jGahl1nzOzqnuqgqJCmBrEwhgvVWeZ0Mv9Da87b5eAWyT1KrSo4LZW5cTigR8P6eR2 6kEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wXO4BheuhYf/qtVPhrmMyquWayElWld6sjdR5X3gNkE=; b=KpMJFvSyq5JjhOwdl58H/X1J8pkJn3pukJfUra/N92ztcO2JNrXIp03HHghQ4w1LWV ZoFYJ94kIODw5vG9RbYVaQvlaMfBCzh6gVrDrMPnBHbKnZ9RYZA1dPuAV3NZGDzQQ/Mm jxyNyVHg0O2JR8733ooXX7o2O5qN93zmne8tKvlh4S/7NDcDdWe6yHY+SgLIfw/mGUW1 nITY1uF6ztkyQZ+1/50W7//Jdd8rWI8JqbsFNuu9CLLyR7AcruFFz3eqNW1bBDogG+lM wRhDG8RxKpAGUXPzQBHBxFdJS3Iz3K7o6Bt6DIRYaFF6kpFYR3KbslaXob6NNWQXR0Qb kWAg== X-Gm-Message-State: AOAM5336R9qudsdBdYIKMy7RpFMQzYqlBgh9Z61O1/+s27byxAXwihlv BEOb6uusGI+L2KRfBO6JhZfXR8r0gRQ= X-Google-Smtp-Source: ABdhPJzbNA9d6fiiiDWRXIgbgBoWlld0RwTG6FoUevm82feThooClQUtFgklc9cPjFrLzTaW83B1Yw== X-Received: by 2002:a63:4846:0:b0:3f2:5f88:e7ab with SMTP id x6-20020a634846000000b003f25f88e7abmr12944774pgk.2.1653138818691; Sat, 21 May 2022 06:13:38 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id jb15-20020a170903258f00b0015e8d4eb256sm1564170plb.160.2022.05.21.06.13.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:13:38 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson Subject: [PATCH v3 01/13] openrisc: Add gcc machine instruction flag configuration Date: Sat, 21 May 2022 22:13:11 +0900 Message-Id: <20220521131323.631209-2-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" OpenRISC GCC supports flags to enable the backend to output instructions if they are supported by a target processor. This patch adds configuration flags to enable configuring these flags to tune the kernel for a particular CPU configuration. In the future we could also enable all of these flags by default and provide instruction emulation in the kernel to make these choices easier for users but this is what we provide for now. Signed-off-by: Stafford Horne --- arch/openrisc/Kconfig | 53 ++++++++++++++++++++++++++++++++++++++++++ arch/openrisc/Makefile | 17 ++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index 0d68adf6e02b..37243f023805 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kconfig @@ -114,6 +114,59 @@ config OPENRISC_HAVE_INST_DIV default y help Select this if your implementation has a hardware divide instruction + +config OPENRISC_HAVE_INST_CMOV + bool "Have instruction l.cmov for conditional move" + default n + help + This config enables gcc to generate l.cmov instructions when compiling + the kernel which in general will improve performance and reduce the + binary size. + + Select this if your implementation has support for the Class II + l.cmov conistional move instruction. + + Say N if you are unsure. + +config OPENRISC_HAVE_INST_ROR + bool "Have instruction l.ror for rotate right" + default n + help + This config enables gcc to generate l.ror instructions when compiling + the kernel which in general will improve performance and reduce the + binary size. + + Select this if your implementation has support for the Class II + l.ror rotate right instruction. + + Say N if you are unsure. + +config OPENRISC_HAVE_INST_RORI + bool "Have instruction l.rori for rotate right with immediate" + default n + help + This config enables gcc to generate l.rori instructions when compiling + the kernel which in general will improve performance and reduce the + binary size. + + Select this if your implementation has support for the Class II + l.rori rotate right with immediate instruction. + + Say N if you are unsure. + +config OPENRISC_HAVE_INST_SEXT + bool "Have instructions l.ext* for sign extension" + default n + help + This config enables gcc to generate l.ext* instructions when compiling + the kernel which in general will improve performance and reduce the + binary size. + + Select this if your implementation has support for the Class II + l.exths, l.extbs, l.exthz and l.extbz size extend instructions. + + Say N if you are unsure. + endmenu =20 config NR_CPUS diff --git a/arch/openrisc/Makefile b/arch/openrisc/Makefile index 760b734fb822..b446510173cd 100644 --- a/arch/openrisc/Makefile +++ b/arch/openrisc/Makefile @@ -21,6 +21,7 @@ OBJCOPYFLAGS :=3D -O binary -R .note -R .comment -S LIBGCC :=3D $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) =20 KBUILD_CFLAGS +=3D -pipe -ffixed-r10 -D__linux__ +KBUILD_CFLAGS +=3D -msfimm -mshftimm =20 all: vmlinux.bin =20 @@ -38,6 +39,22 @@ else KBUILD_CFLAGS +=3D $(call cc-option,-msoft-div) endif =20 +ifeq ($(CONFIG_OPENRISC_HAVE_INST_CMOV),y) + KBUILD_CFLAGS +=3D $(call cc-option,-mcmov) +endif + +ifeq ($(CONFIG_OPENRISC_HAVE_INST_ROR),y) + KBUILD_CFLAGS +=3D $(call cc-option,-mror) +endif + +ifeq ($(CONFIG_OPENRISC_HAVE_INST_RORI),y) + KBUILD_CFLAGS +=3D $(call cc-option,-mrori) +endif + +ifeq ($(CONFIG_OPENRISC_HAVE_INST_SEXT),y) + KBUILD_CFLAGS +=3D $(call cc-option,-msext) +endif + head-y :=3D arch/openrisc/kernel/head.o =20 libs-y +=3D $(LIBGCC) --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8203FC433EF for ; Sat, 21 May 2022 13:13:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243735AbiEUNNu (ORCPT ); Sat, 21 May 2022 09:13:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243648AbiEUNNq (ORCPT ); Sat, 21 May 2022 09:13:46 -0400 Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C78FC38D86 for ; Sat, 21 May 2022 06:13:43 -0700 (PDT) Received: by mail-pj1-x102b.google.com with SMTP id v5-20020a17090a7c0500b001df84fa82f8so9882833pjf.5 for ; Sat, 21 May 2022 06:13:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eUjPg/5e1ChZn1rwFI2hAczpBcOEyorc/hxHSfQm0Lg=; b=SS4710Djm9iHegQA+cfPB+xbNAqruJrs33j7ATRahJ1U9eXijmD1rT4DJTo2NuR94x T1zuJtRspNJRaF/L0vKRigl8c/BfMuE4qKDQhbyMVG71P4krpawCgRze/y9tca1M2OFY OyM24SlF0wkbeMIizNftta18emQlpMNg/R7KKrxw8AsZZc3QAU38Dbu/7nD1Po8dOGvH Pim+7QPHdxH2G6ex1K760GvAEmy37SXLA8yjZ75qVt5mG4PfN+4Nl6EqKEt6JolLoac/ iJ+kqtUN/cCEVRM9SZiFdLnTFs6aC1K9lYIhabAj/izbx0QIzj3H2DOQh68GA9bKD6fN uFMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eUjPg/5e1ChZn1rwFI2hAczpBcOEyorc/hxHSfQm0Lg=; b=S3nXuC0vb1eKjXO0CuF81HQWmPVsdZ2FQ53YRdO2C5REMTcY2ue1GgEBIHEaILDRnI 7rbFsta/Bn9tBOGKW+v/F+YMATKP4lt1unHYMYFb4PxMDobFdWNDpBC9oR7Lk6AE+14a Qz1ljMZVqFIXz6kW5TmDWL9ikAHhAsQncW8nrnONPeCrLxT4rEdP7cDYWE9a6ORrhfYQ m5SVsw95ZzHw0BM+NMzNAsNoDpeMIUbxrsNy8c3AdMnfVM0cQbgOsoKUhjRA1h/LygTq USQ9UvTqh1MW9JUCVdhZ7QYW9TvYJ40+ryCugClTac9yZ12dsWixu5qKi7o6SjO/kcFR XXOg== X-Gm-Message-State: AOAM5326gX+YmCSM1Q8IYWbVA2aIeNJsT86c+LcEcqzNZ549Z85Y1YVz CmuXo1eM29fSnz7gvlGT8oDDOjdVUmA= X-Google-Smtp-Source: ABdhPJxMYtezTY+sdkBxMLe3TSGcu0YJtnAkGJd79Tkz+n/+UZhPZvQz85k1873ZBzqQgTW1EZznfg== X-Received: by 2002:a17:90b:164a:b0:1dc:981d:f197 with SMTP id il10-20020a17090b164a00b001dc981df197mr17010054pjb.228.1653138822715; Sat, 21 May 2022 06:13:42 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id k193-20020a633dca000000b003f60a8d7dadsm1497174pga.15.2022.05.21.06.13.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:13:42 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , Randy Dunlap Subject: [PATCH v3 02/13] openrisc: Cleanup emergency print handling Date: Sat, 21 May 2022 22:13:12 +0900 Message-Id: <20220521131323.631209-3-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The emergency print support only works for 8250 compatible serial ports. Now that OpenRISC platforms may be configured with different serial port hardware we don't want emergency print to try to print to non-existent hardware which will cause lockups. This patch contains several fixes to get emergency print working again: - Update symbol loading to not assume the location of symbols - Split the putc print operation out to its own function to allow for different future implementations. - Update _emergency_print_nr and _emergency_print to use the putc function. - Guard serial 8250 specific sequences by CONFIG_SERIAL_8250 - Update string line feed from lf,cr to cr,lf. Signed-off-by: Stafford Horne --- arch/openrisc/kernel/head.S | 148 +++++++++++++++++++++--------------- 1 file changed, 85 insertions(+), 63 deletions(-) diff --git a/arch/openrisc/kernel/head.S b/arch/openrisc/kernel/head.S index 15f1b38dfe03..7bfa6e4b60c5 100644 --- a/arch/openrisc/kernel/head.S +++ b/arch/openrisc/kernel/head.S @@ -297,19 +297,23 @@ /* temporary store r3, r9 into r1, r10 */ ;\ l.addi r1,r3,0x0 ;\ l.addi r10,r9,0x0 ;\ - /* the string referenced by r3 must be low enough */ ;\ + LOAD_SYMBOL_2_GPR(r9,_string_unhandled_exception) ;\ + tophys (r3,r9) ;\ l.jal _emergency_print ;\ - l.ori r3,r0,lo(_string_unhandled_exception) ;\ + l.nop ;\ l.mfspr r3,r0,SPR_NPC ;\ l.jal _emergency_print_nr ;\ - l.andi r3,r3,0x1f00 ;\ - /* the string referenced by r3 must be low enough */ ;\ + l.andi r3,r3,0x1f00 ;\ + LOAD_SYMBOL_2_GPR(r9,_string_epc_prefix) ;\ + tophys (r3,r9) ;\ l.jal _emergency_print ;\ - l.ori r3,r0,lo(_string_epc_prefix) ;\ + l.nop ;\ l.jal _emergency_print_nr ;\ - l.mfspr r3,r0,SPR_EPCR_BASE ;\ + l.mfspr r3,r0,SPR_EPCR_BASE ;\ + LOAD_SYMBOL_2_GPR(r9,_string_nl) ;\ + tophys (r3,r9) ;\ l.jal _emergency_print ;\ - l.ori r3,r0,lo(_string_nl) ;\ + l.nop ;\ /* end of printing */ ;\ l.addi r3,r1,0x0 ;\ l.addi r9,r10,0x0 ;\ @@ -1530,65 +1534,99 @@ trampoline_out: l.jr r9 l.nop =20 - /* - * DSCR: prints a string referenced by r3. + * DESC: Prints ASCII character stored in r7 * - * PRMS: r3 - address of the first character of null - * terminated string to be printed + * PRMS: r7 - a 32-bit value with an ASCII character in the first byte + * position. * - * PREQ: UART at UART_BASE_ADD has to be initialized + * PREQ: The UART at UART_BASE_ADD has to be initialized * - * POST: caller should be aware that r3, r9 are changed + * POST: internally used but restores: + * r4 - to store UART_BASE_ADD + * r5 - for loading OFF_TXFULL / THRE,TEMT + * r6 - for storing bitmask (SERIAL_8250) */ -ENTRY(_emergency_print) +ENTRY(_emergency_putc) EMERGENCY_PRINT_STORE_GPR4 EMERGENCY_PRINT_STORE_GPR5 EMERGENCY_PRINT_STORE_GPR6 - EMERGENCY_PRINT_STORE_GPR7 -2: - l.lbz r7,0(r3) - l.sfeq r7,r0 - l.bf 9f - l.nop =20 -// putc: l.movhi r4,hi(UART_BASE_ADD) + l.ori r4,r4,lo(UART_BASE_ADD) =20 +#if defined(CONFIG_SERIAL_8250) + /* Check UART LSR THRE (hold) bit */ l.addi r6,r0,0x20 1: l.lbz r5,5(r4) l.andi r5,r5,0x20 l.sfeq r5,r6 l.bnf 1b - l.nop + l.nop =20 + /* Write character */ l.sb 0(r4),r7 =20 + /* Check UART LSR THRE|TEMT (hold, empty) bits */ l.addi r6,r0,0x60 1: l.lbz r5,5(r4) l.andi r5,r5,0x60 l.sfeq r5,r6 l.bnf 1b - l.nop + l.nop +#endif + EMERGENCY_PRINT_LOAD_GPR6 + EMERGENCY_PRINT_LOAD_GPR5 + EMERGENCY_PRINT_LOAD_GPR4 + l.jr r9 + l.nop + +/* + * DSCR: prints a string referenced by r3. + * + * PRMS: r3 - address of the first character of null + * terminated string to be printed + * + * PREQ: UART at UART_BASE_ADD has to be initialized + * + * POST: caller should be aware that r3, r9 are changed + */ +ENTRY(_emergency_print) + EMERGENCY_PRINT_STORE_GPR7 + EMERGENCY_PRINT_STORE_GPR9 + + /* Load character to r7, check for null terminator */ +2: l.lbz r7,0(r3) + l.sfeqi r7,0x0 + l.bf 9f + l.nop + + l.jal _emergency_putc + l.nop =20 /* next character */ l.j 2b - l.addi r3,r3,0x1 + l.addi r3,r3,0x1 =20 9: + EMERGENCY_PRINT_LOAD_GPR9 EMERGENCY_PRINT_LOAD_GPR7 - EMERGENCY_PRINT_LOAD_GPR6 - EMERGENCY_PRINT_LOAD_GPR5 - EMERGENCY_PRINT_LOAD_GPR4 l.jr r9 - l.nop + l.nop =20 +/* + * DSCR: prints a number in r3 in hex. + * + * PRMS: r3 - a 32-bit unsigned integer + * + * PREQ: UART at UART_BASE_ADD has to be initialized + * + * POST: caller should be aware that r3, r9 are changed + */ ENTRY(_emergency_print_nr) - EMERGENCY_PRINT_STORE_GPR4 - EMERGENCY_PRINT_STORE_GPR5 - EMERGENCY_PRINT_STORE_GPR6 EMERGENCY_PRINT_STORE_GPR7 EMERGENCY_PRINT_STORE_GPR8 + EMERGENCY_PRINT_STORE_GPR9 =20 l.addi r8,r0,32 // shift register =20 @@ -1600,58 +1638,39 @@ ENTRY(_emergency_print_nr) /* don't skip the last zero if number =3D=3D 0x0 */ l.sfeqi r8,0x4 l.bf 2f - l.nop + l.nop =20 l.sfeq r7,r0 l.bf 1b - l.nop + l.nop =20 2: l.srl r7,r3,r8 =20 l.andi r7,r7,0xf l.sflts r8,r0 - l.bf 9f + l.bf 9f =20 + /* Numbers greater than 9 translate to a-f */ l.sfgtui r7,0x9 l.bnf 8f - l.nop + l.nop l.addi r7,r7,0x27 =20 -8: - l.addi r7,r7,0x30 -// putc: - l.movhi r4,hi(UART_BASE_ADD) - - l.addi r6,r0,0x20 -1: l.lbz r5,5(r4) - l.andi r5,r5,0x20 - l.sfeq r5,r6 - l.bnf 1b - l.nop - - l.sb 0(r4),r7 - - l.addi r6,r0,0x60 -1: l.lbz r5,5(r4) - l.andi r5,r5,0x60 - l.sfeq r5,r6 - l.bnf 1b - l.nop + /* Convert to ascii and output character */ +8: l.jal _emergency_putc + l.addi r7,r7,0x30 =20 /* next character */ l.j 2b l.addi r8,r8,-0x4 =20 9: + EMERGENCY_PRINT_LOAD_GPR9 EMERGENCY_PRINT_LOAD_GPR8 EMERGENCY_PRINT_LOAD_GPR7 - EMERGENCY_PRINT_LOAD_GPR6 - EMERGENCY_PRINT_LOAD_GPR5 - EMERGENCY_PRINT_LOAD_GPR4 l.jr r9 - l.nop - + l.nop =20 /* * This should be used for debugging only. @@ -1676,7 +1695,9 @@ ENTRY(_emergency_print_nr) =20 ENTRY(_early_uart_init) l.movhi r3,hi(UART_BASE_ADD) + l.ori r3,r3,lo(UART_BASE_ADD) =20 +#if defined(CONFIG_SERIAL_8250) l.addi r4,r0,0x7 l.sb 0x2(r3),r4 =20 @@ -1694,9 +1715,10 @@ ENTRY(_early_uart_init) l.addi r4,r0,((UART_DIVISOR) & 0x000000ff) l.sb UART_DLL(r3),r4 l.sb 0x3(r3),r5 +#endif =20 l.jr r9 - l.nop + l.nop =20 .align 0x1000 .global _secondary_evbar @@ -1711,13 +1733,13 @@ _secondary_evbar: =20 .section .rodata _string_unhandled_exception: - .string "\n\rRunarunaround: Unhandled exception 0x\0" + .string "\r\nRunarunaround: Unhandled exception 0x\0" =20 _string_epc_prefix: .string ": EPC=3D0x\0" =20 _string_nl: - .string "\n\r\0" + .string "\r\n\0" =20 =20 /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D[ page aligned structure= s ]=3D=3D=3D */ --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 412ECC433F5 for ; Sat, 21 May 2022 13:14:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354918AbiEUNOn (ORCPT ); Sat, 21 May 2022 09:14:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33754 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243648AbiEUNNx (ORCPT ); Sat, 21 May 2022 09:13:53 -0400 Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C468339B80 for ; Sat, 21 May 2022 06:13:47 -0700 (PDT) Received: by mail-pl1-x633.google.com with SMTP id q4so9411051plr.11 for ; Sat, 21 May 2022 06:13:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=egjC6NgwBLWYIyKnRSW+X/wYthcyg40wdtxiZu51vtc=; b=Eri97N4csdJvg9j8fzgy7MS1YyQ+NxThLJw+0XcBkwt0rJ1Yl0MhA7CKtyi3sFq4/3 ULDf/1UNk03mIhAcJHfX7ygdKGmgIuMQCynaG7TnOKget9/Bz3FkKGmA7RcApHDDfMn0 ruE2gs/UdKz88zxVSTbSzTgfIUVN4tHFGwD49EwfHsRcBRj+NrUV9EoNwsyyd2ptsFeU F688McRuRwqfX7YU3NsutYHF3bkqt6xMcDnzCunYHdsYLrYcJMocb5VV4TEB94yz2SJ/ 5JOgRW0ngIxg/Aj0RLNItndbolIiTuDWWUJmCgV+xXtd5fse1Jw4rouMplXomwJKTVOs WwaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=egjC6NgwBLWYIyKnRSW+X/wYthcyg40wdtxiZu51vtc=; b=5B6uyoVPF9uvRnGOBDWo8xpswkIneYnXh4B65s2Zk7RX/hKWdnCzci0f5wQNFqeTLf Pjexsug9E5qkfX4yRbnJrYDHGnr/WLVYlejWD3JSHLo69cSG/Np7n/Vph5iLm3R8VQoQ AbZT2b56RkxNDIUrZLf3m61gdARQSRU9POqPw52UQ76D0mf2yKtWw34OIbKCpVeWEkL/ NlFhiEaTet11zwZfrABJ7LYqRxWcTbg9gYcUUR8P/Eiwu6nKb/0oPu1KKT/AbWt6S0s8 3HfOO1k9ynYUIC0d9ScLEY++9Db34bJJrYf5gsxnuwbaWiOFWz8MvMfRfemUQ7dyWWx/ cNdA== X-Gm-Message-State: AOAM5314BtdtQYoQStgfnys5PdZ9ch8xZFLocn/Eu5qW/m3yhP30ZDWd u6a9qMjihQZerobYBjEeS7He7DhMXko= X-Google-Smtp-Source: ABdhPJxkPxXSelXTcn/TSy5d8joziO5MtffGIlNjryF2zLVJkVfnQdR0EZUMgSBwiqMSUdHFgvcSmQ== X-Received: by 2002:a17:90b:1482:b0:1df:5b39:8a4 with SMTP id js2-20020a17090b148200b001df5b3908a4mr17034745pjb.233.1653138826467; Sat, 21 May 2022 06:13:46 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id p19-20020a1709028a9300b00161a9df4de8sm1566514plo.145.2022.05.21.06.13.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:13:45 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , Randy Dunlap Subject: [PATCH v3 03/13] openrisc: Add support for liteuart emergency printing Date: Sat, 21 May 2022 22:13:13 +0900 Message-Id: <20220521131323.631209-4-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch adds support for sending emergency print output, such as unhandled exception details, to a liteuart serial device. This is the default device available on litex platforms. If a developer want to use this they should update UART_BASE_ADD to the address of liteuart. Signed-off-by: Stafford Horne --- arch/openrisc/kernel/head.S | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/arch/openrisc/kernel/head.S b/arch/openrisc/kernel/head.S index 7bfa6e4b60c5..21db50563f97 100644 --- a/arch/openrisc/kernel/head.S +++ b/arch/openrisc/kernel/head.S @@ -1555,7 +1555,18 @@ ENTRY(_emergency_putc) l.movhi r4,hi(UART_BASE_ADD) l.ori r4,r4,lo(UART_BASE_ADD) =20 -#if defined(CONFIG_SERIAL_8250) +#if defined(CONFIG_SERIAL_LITEUART) + /* Check OFF_TXFULL status */ +1: l.lwz r5,4(r4) + l.andi r5,r5,0xff + l.sfnei r5,0 + l.bf 1b + l.nop + + /* Write character */ + l.andi r7,r7,0xff + l.sw 0(r4),r7 +#elif defined(CONFIG_SERIAL_8250) /* Check UART LSR THRE (hold) bit */ l.addi r6,r0,0x20 1: l.lbz r5,5(r4) --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15C7FC433F5 for ; Sat, 21 May 2022 13:14:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354882AbiEUNOh (ORCPT ); Sat, 21 May 2022 09:14:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33920 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1353316AbiEUNN6 (ORCPT ); Sat, 21 May 2022 09:13:58 -0400 Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 53D735FF3C for ; Sat, 21 May 2022 06:13:51 -0700 (PDT) Received: by mail-pj1-x102f.google.com with SMTP id t11-20020a17090a6a0b00b001df6f318a8bso13641284pjj.4 for ; Sat, 21 May 2022 06:13:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=URPrkUOTksZy0vkIOlXm6I32VTQjSzL208bMcPxmSHk=; b=MxywOSFHz7PZ/XnD//EDP0QUHLfj+as9iHe+yiq4nk06+24WLMwUQcJ27b5V2I/xsL tAISylV4H1lBAdvOk9R41xYs6l5RrJfv5iBxwFXtA7wk7oXbPgB/YdVNQ5p6XaB1bEon gBx8Yj/1ssUEJsUF4W4RBm0g977FZrkapO1+0Xwv+H9drf/J+lB7gCQbxd+zPdWcSlys uClIymNljdApPgJ6zSv2I4GYZP34o1VUqM33Botm50uW4o/7kEH12NsN4fnS4woK3aQI 7Mi4Ec8pQWSQwgqWFw7DrCTWhBQI8Lfy6OhoS6O72clVydI7yB4fj5CZFakrtgv8OsoM lq4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=URPrkUOTksZy0vkIOlXm6I32VTQjSzL208bMcPxmSHk=; b=aokrMdb/H/lyeypS36v9A4TGie7tVbnYjvmyQHAZpDNovyFpbVWAXIPrTKqVGBrn5e V3Y0ioF5RHPhhfI/OwXeqdDnbSkSf79PD8spCATXNs8ikf4vwCmUIDzv76E2kT1V9ZWv l35xDnXmvC4Xvi9NhGxxZNC7L8UXzLnRbsYwYaU7oAdL1Rzufanb9TOVxltBXVZOrPfD rNEmttN21C9pry6DY9zqzuCzfmmzp7JhZzowJH7CPKpvg7AKmUBKx62RXtTx4Pxinm3V SdBhxvFRKFJb77PnbmOlnnojJ8BqCkM0xgTWjku/Hz7OF03FOfJkSQn81N9NflHzsg6Q mq1Q== X-Gm-Message-State: AOAM530xnPIzzHMUSHn8nhbs0pGQXamLqYhCHGSfg2lehyFLSvsogfuD 1/p56trMiXo0rHr7T/x41U/m/Jz28pnwAw== X-Google-Smtp-Source: ABdhPJycrrEqvaylteUpNBdePlGKsQ4p/h0pFbpeM860AzJGdXaRGgOhQLbqf3o8ZIZTX/pn7UvPPQ== X-Received: by 2002:a17:902:7c8c:b0:161:f5b4:9aa6 with SMTP id y12-20020a1709027c8c00b00161f5b49aa6mr7028272pll.79.1653138830133; Sat, 21 May 2022 06:13:50 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id m5-20020a654385000000b003c14af5062csm1470295pgp.68.2022.05.21.06.13.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:13:49 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Andrey Bacherov , Jonas Bonn , Stefan Kristiansson , Randy Dunlap , Petr Mladek , Mark Rutland , Marc Zyngier , Chris Down Subject: [PATCH v3 04/13] openrisc: Add syscall details to emergency syscall debugging Date: Sat, 21 May 2022 22:13:14 +0900 Message-Id: <20220521131323.631209-5-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" When bringing linux on the or1k Marocchino we ran into issues starting init. This patch adds the syscall number and return address to assist tracing syscalls even before strace is able to be used. By default this is all disabled but a developer could adjust the ifdef to enable debugging. Cc: Andrey Bacherov Signed-off-by: Stafford Horne --- arch/openrisc/kernel/entry.S | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/arch/openrisc/kernel/entry.S b/arch/openrisc/kernel/entry.S index 3ca1b1f490b9..54a87bba35ca 100644 --- a/arch/openrisc/kernel/entry.S +++ b/arch/openrisc/kernel/entry.S @@ -601,7 +601,7 @@ UNHANDLED_EXCEPTION(_vector_0xb00,0xb00) */ =20 _string_syscall_return: - .string "syscall return %ld \n\r\0" + .string "syscall r9:0x%08x -> syscall(%ld) return %ld\0" .align 4 =20 ENTRY(_sys_call_handler) @@ -679,15 +679,25 @@ _syscall_return: _syscall_debug: l.movhi r3,hi(_string_syscall_return) l.ori r3,r3,lo(_string_syscall_return) - l.ori r27,r0,1 + l.ori r27,r0,2 l.sw -4(r1),r27 l.sw -8(r1),r11 - l.addi r1,r1,-8 + l.lwz r29,PT_ORIG_GPR11(r1) + l.sw -12(r1),r29 + l.lwz r29,PT_GPR9(r1) + l.sw -16(r1),r29 l.movhi r27,hi(_printk) l.ori r27,r27,lo(_printk) l.jalr r27 - l.nop - l.addi r1,r1,8 + l.addi r1,r1,-16 + l.addi r1,r1,16 +#endif +#if 0 +_syscall_show_regs: + l.movhi r27,hi(show_registers) + l.ori r27,r27,lo(show_registers) + l.jalr r27 + l.or r3,r1,r1 #endif =20 _syscall_check_trace_leave: --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E1FE7C4332F for ; Sat, 21 May 2022 13:14:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354857AbiEUNOE (ORCPT ); Sat, 21 May 2022 09:14:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354590AbiEUNN7 (ORCPT ); Sat, 21 May 2022 09:13:59 -0400 Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com [IPv6:2607:f8b0:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D3816644E8 for ; Sat, 21 May 2022 06:13:54 -0700 (PDT) Received: by mail-pf1-x436.google.com with SMTP id bo5so9874425pfb.4 for ; Sat, 21 May 2022 06:13:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6s5Kt+Fz8ODBsnaEn4hTWh6elxNZ/IIbeZw2XTvUCZg=; b=E5YlB7DR9wKAmnr1kNUjXgHvPlt7rIutr9zqF9ZwzMKuBVLBZNo8YeGkUR+kZ6iUpT KXy1yNWEezsUEcvM/kytC7dl6xbf/h5R2W5aco6unOeXhw5FCjMUu8Ir/UcCYwuxjeHt 5V35G3DFAmB+epUNfvoRlTcgBEP9wiYKkK9+V9uC+rAa37CoCvZwXgmi+UxsW0qfhlMG gLOyWJCe/DExV7JxeyWKiVjLb9ARtw99SOcLrgtFciOWA9lT5tHaC3M7lACe4erFXLAw n8CK8EPVaP+SRyD7OWhi4uNEBdQsoOFEkn/kRPdENTDXNrMvmWJb8wwh7icH4hwSW0go bvyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6s5Kt+Fz8ODBsnaEn4hTWh6elxNZ/IIbeZw2XTvUCZg=; b=ww27mn1PMD4F5PN0/uEmFsnTA16dtgBEgiT1RCKQt0qBiVGpIqqJKddxdCLdLwK+0I cI5j5j9SXfNRFYiHiPBEys91mZxUrPQ8SxZ88L4eP76hH/V8ILI/B/snuWIrf1fbq5Ct PUqHP20zT9WLPiZb8JpK2cJmQMlRHCJufYkPUGpG8eWe8RNIF+3X4gPiKFUluZz6m/pA FGXtlBZYVtEVvUiyBENWzs4YfDYGB61RkvWGYJx7QsPC68xaFyuM4ZlQYgmhJM/WtLdI 8k5ik0YxP8UsTW/kFFTjshhVdEsFSVy1n8dpy9+0iBCkp/umSwEclXqRENERCui7I4hs tpcw== X-Gm-Message-State: AOAM532ZpXRjtXLxmna8hwfyjONXACWuDCr4dOALbr+aVK4CtcQEzr8X 76yoXIp3iw8Zq0hCtjjHM06xNIQ5vGjjaA== X-Google-Smtp-Source: ABdhPJw9okdrDgb1vUahM8hyulgKTKxGm09be9n5L9BA2zsBs0mxsDX31gMptWextpj9RiwT8YDlaQ== X-Received: by 2002:a63:4401:0:b0:3fa:df3:4201 with SMTP id r1-20020a634401000000b003fa0df34201mr805064pga.65.1653138833789; Sat, 21 May 2022 06:13:53 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id jh5-20020a170903328500b00161527e1d9fsm1545279plb.294.2022.05.21.06.13.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:13:53 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , "Eric W. Biederman" , Michael Ellerman , "Russell King (Oracle)" , Andrew Morton , Kefeng Wang Subject: [PATCH v3 05/13] openrisc: Pretty print show_registers memory dumps Date: Sat, 21 May 2022 22:13:15 +0900 Message-Id: <20220521131323.631209-6-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Currently show registers, print memory dumps character by character and there is no address information, so its a bit difficult to use. For example before a stack dump looks as follows. [ 13.650000] Stack: [ 13.650000] Call trace [ 13.690000] [<(ptrval)>] ? put_timespec64+0x44/0x60 [ 13.690000] [<(ptrval)>] ? _data_page_fault_handler+0x104/0x10c [ 13.700000] [ 13.700000] Code: [ 13.700000] 13 [ 13.700000] ff [ 13.700000] ff [ 13.700000] f9 [ 13.710000] 84 [ 13.710000] 82 [ 13.710000] ff [ 13.710000] bc [ 13.710000] 07 [ 13.710000] fd [ 13.720000] 4e [ 13.720000] 67 [ 13.720000] 84 [ 13.720000] 62 [ 13.720000] ff ... This change updates this to print the address and data a word at time. [ 0.830000] Stack: [ 0.830000] Call trace: [ 0.830000] [<(ptrval)>] load_elf_binary+0x744/0xf5c [ 0.830000] [<(ptrval)>] ? __kernel_read+0x144/0x184 [ 0.830000] [<(ptrval)>] bprm_execve+0x27c/0x3e4 [ 0.830000] [<(ptrval)>] kernel_execve+0x16c/0x1a0 [ 0.830000] [<(ptrval)>] run_init_process+0xa0/0xec [ 0.830000] [<(ptrval)>] ? kernel_init+0x0/0x14c [ 0.830000] [<(ptrval)>] kernel_init+0x7c/0x14c [ 0.830000] [<(ptrval)>] ? calculate_sigpending+0x30/0x40 [ 0.830000] [<(ptrval)>] ret_from_fork+0x1c/0x84 [ 0.830000] [ 0.830000] c1033dbc: c1033dec [ 0.830000] c1033dc0: c015258c [ 0.830000] c1033dc4: c129da00 [ 0.830000] c1033dc8: 00000002 [ 0.830000] c1033dcc: 00000000 [ 0.830000] c1033dd0: c129da00 [ 0.830000] c1033dd4: 00000000 [ 0.830000] c1033dd8: 00000000 [ 0.830000] (c1033ddc:) 00001e04 [ 0.830000] c1033de0: 001501fc [ 0.830000] c1033de4: c1033e68 [ 0.830000] c1033de8: c0152e60 [ 0.830000] c1033dec: c129da5c [ 0.830000] c1033df0: c0674a20 [ 0.830000] c1033df4: c1033e50 [ 0.830000] c1033df8: c00e3d6c [ 0.830000] c1033dfc: c129da5c [ 0.830000] c1033e00: 00000003 [ 0.830000] c1033e04: 00150000 [ 0.830000] c1033e08: 00002034 [ 0.830000] c1033e0c: 001501fc [ 0.830000] c1033e10: 00000000 [ 0.830000] c1033e14: 00150000 [ 0.830000] c1033e18: 0014ebbc [ 0.830000] c1033e1c: 00002000 [ 0.830000] c1033e20: 00000003 [ 0.830000] c1033e24: c12a07e0 [ 0.830000] c1033e28: 00000000 [ 0.830000] c1033e2c: 00000000 [ 0.830000] c1033e30: 00000000 [ 0.830000] c1033e34: 40040000 [ 0.830000] c1033e38: 00000000 [ 0.830000] [ 0.830000] Code: [ 0.830000] c00047a4: 9c21fff8 [ 0.830000] c00047a8: d4012000 [ 0.830000] c00047ac: d4011804 [ 0.830000] c00047b0: e4040000 [ 0.830000] c00047b4: 10000005 [ 0.830000] c00047b8: 9c84ffff [ 0.830000] (c00047bc:) d8030000 [ 0.830000] c00047c0: 03fffffc [ 0.830000] c00047c4: 9c630001 [ 0.830000] c00047c8: 9d640001 [ 0.830000] c00047cc: 84810000 [ 0.830000] c00047d0: 84610004 Now we are also printing a bit of the stack as well as the code. The stack is output to help with debugging. There may be concern about exposing sensitive information on the stack, but we are already dumping all register content which would have similar sensitive information. So I am going ahead as this proves useful in investigation. Signed-off-by: Stafford Horne --- arch/openrisc/kernel/traps.c | 46 ++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c index 0446a3c34372..f2478bba77b9 100644 --- a/arch/openrisc/kernel/traps.c +++ b/arch/openrisc/kernel/traps.c @@ -46,6 +46,14 @@ void print_trace(void *data, unsigned long addr, int rel= iable) (void *) addr); } =20 +static void print_data(unsigned long base_addr, unsigned long word, int i) +{ + if (i =3D=3D 0) + printk("(%08lx:)\t%08lx", base_addr + (i * 4), word); + else + printk(" %08lx:\t%08lx", base_addr + (i * 4), word); +} + /* displays a short stack trace */ void show_stack(struct task_struct *task, unsigned long *esp, const char *= loglvl) { @@ -99,22 +107,36 @@ void show_registers(struct pt_regs *regs) printk("\nStack: "); show_stack(NULL, (unsigned long *)esp, KERN_EMERG); =20 + if (esp < PAGE_OFFSET) + goto bad_stack; + + printk("\n"); + for (i =3D -8; i < 24; i +=3D 1) { + unsigned long word; + + if (__get_user(word, &((unsigned long *)esp)[i])) { +bad_stack: + printk(" Bad Stack value."); + break; + } + + print_data(esp, word, i); + } + printk("\nCode: "); if (regs->pc < PAGE_OFFSET) goto bad; =20 - for (i =3D -24; i < 24; i++) { - unsigned char c; - if (__get_user(c, &((unsigned char *)regs->pc)[i])) { + for (i =3D -6; i < 6; i +=3D 1) { + unsigned long word; + + if (__get_user(word, &((unsigned long *)regs->pc)[i])) { bad: printk(" Bad PC value."); break; } =20 - if (i =3D=3D 0) - printk("(%02x) ", c); - else - printk("%02x ", c); + print_data(regs->pc, word, i); } } printk("\n"); @@ -185,13 +207,11 @@ void nommu_dump_state(struct pt_regs *regs, printk("\nCode: "); =20 for (i =3D -24; i < 24; i++) { - unsigned char c; - c =3D ((unsigned char *)(__pa(regs->pc)))[i]; + unsigned long word; + + word =3D ((unsigned long *)(__pa(regs->pc)))[i]; =20 - if (i =3D=3D 0) - printk("(%02x) ", c); - else - printk("%02x ", c); + print_data(regs->pc, word, i); } printk("\n"); } --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 56D77C433FE for ; Sat, 21 May 2022 13:14:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354581AbiEUNOK (ORCPT ); Sat, 21 May 2022 09:14:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351062AbiEUNOA (ORCPT ); Sat, 21 May 2022 09:14:00 -0400 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 97CEB38BDE; Sat, 21 May 2022 06:13:58 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id bh5so9415864plb.6; Sat, 21 May 2022 06:13:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=oLH4/O4hnVy3wOLUc8vz0oBE8xaj2C4NuAcXjfnz4nc=; b=niDfWBSUsX18Eo+z1BzxhZCU0ofsCu4DzD5HfoxNZ2DTnYgxx7Gju+frSRnrp+vCXH 56FcSy+kE3Tzknxnz265wjA6qtdrDw1NHLH7gpTBurdvVMhyQfaY0IKmh7x14FEGzU1J sokW175+Q/YkF0Gw+GsrOdzkjO18FNWMHN1NdbBbAoMdbwIW0mTkc6R5dyILzQVh5azT 7Ga+jYtgsuuqtCBn5LRVaIhqfvZdesaxpIyqKyAymbcjamb7ctqYXusn8eTGtzEEFGP6 4CMKup3FFKMfsGCjPmY/nUiko07rH+dTyYeXaYgzHKD3aYcjlrH5w+6oDj6SX6PyVyaI MVMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oLH4/O4hnVy3wOLUc8vz0oBE8xaj2C4NuAcXjfnz4nc=; b=wrk5VsgdJssWNrao876mDNE2tiLGNdHfW1SIBi2LFS3nU/ITnC32Y366N1bjhoZcrg sNBzqGoY1iF4X4a/lE5KquoZrMIW934hbIdIRbV22CKIhvjEKNb1DTwI7oKVZ/Zxu/wA 0EFnf3Y/XN3IY3gDk4sA/U9IBmmtEswDLFFU1NMKX6JyGttH4s9pJmLi07HqM63LmM0t 0L52cdgI17RZcezcT/QMG3hikzu4LL9FjtNyiFz8ugfFa+qce98jgA55UIzP3nC6se0B DLrPzaHrDNC1x3Q8jg5lfTI3yLbGMZZSZEl8VCym7UDhiVWfn6GeUoB7haPNZkzL2/er 4F1g== X-Gm-Message-State: AOAM532fyjYQp0J0adzioKmSCancqTRZb+uoB7lnmcD4P0xf5UNnrQTw ABsyKJiB0s088HuWq+S+PIHOEZbWKlEDMQ== X-Google-Smtp-Source: ABdhPJzKwRby6wAL6fXmsCoBg2Jo18skM3PQfHlN6h+jnaXjyVK1aQ/gnt4kwrr5w8dLwD11V0/c0A== X-Received: by 2002:a17:90b:1b41:b0:1e0:17f:d17 with SMTP id nv1-20020a17090b1b4100b001e0017f0d17mr7128754pjb.85.1653138837559; Sat, 21 May 2022 06:13:57 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id y16-20020a62b510000000b0051843980605sm3593579pfe.181.2022.05.21.06.13.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:13:57 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , Karol Gugala , Mateusz Holenko , Gabriel Somlo , Joel Stanley , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , netdev@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH v3 06/13] openrisc: Update litex defconfig to support glibc userland Date: Sat, 21 May 2022 22:13:16 +0900 Message-Id: <20220521131323.631209-7-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" I have been using a litex SoC for glibc verification. Update the default litex config to support required userspace API's needed for the full glibc testsuite to pass. This includes enabling the litex mmc driver and filesystems used in a typical litex environment. Signed-off-by: Stafford Horne --- arch/openrisc/configs/or1klitex_defconfig | 32 +++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/arch/openrisc/configs/or1klitex_defconfig b/arch/openrisc/conf= igs/or1klitex_defconfig index d695879a4d26..d3fb964b4f85 100644 --- a/arch/openrisc/configs/or1klitex_defconfig +++ b/arch/openrisc/configs/or1klitex_defconfig @@ -1,22 +1,54 @@ +CONFIG_SYSVIPC=3Dy +CONFIG_POSIX_MQUEUE=3Dy +CONFIG_CGROUPS=3Dy +CONFIG_NAMESPACES=3Dy +CONFIG_USER_NS=3Dy CONFIG_BLK_DEV_INITRD=3Dy CONFIG_CC_OPTIMIZE_FOR_SIZE=3Dy +CONFIG_SGETMASK_SYSCALL=3Dy CONFIG_EMBEDDED=3Dy CONFIG_OPENRISC_BUILTIN_DTB=3D"or1klitex" CONFIG_HZ_100=3Dy +CONFIG_OPENRISC_HAVE_SHADOW_GPRS=3Dy CONFIG_NET=3Dy CONFIG_PACKET=3Dy +CONFIG_PACKET_DIAG=3Dy CONFIG_UNIX=3Dy +CONFIG_UNIX_DIAG=3Dy CONFIG_INET=3Dy +CONFIG_IP_MULTICAST=3Dy +CONFIG_IP_ADVANCED_ROUTER=3Dy +CONFIG_INET_UDP_DIAG=3Dy +CONFIG_INET_RAW_DIAG=3Dy +# CONFIG_WIRELESS is not set +# CONFIG_ETHTOOL_NETLINK is not set CONFIG_DEVTMPFS=3Dy CONFIG_DEVTMPFS_MOUNT=3Dy CONFIG_OF_OVERLAY=3Dy CONFIG_NETDEVICES=3Dy CONFIG_LITEX_LITEETH=3Dy +# CONFIG_WLAN is not set CONFIG_SERIAL_LITEUART=3Dy CONFIG_SERIAL_LITEUART_CONSOLE=3Dy CONFIG_TTY_PRINTK=3Dy +# CONFIG_GPIO_CDEV is not set +CONFIG_MMC=3Dy +CONFIG_MMC_LITEX=3Dy +# CONFIG_VHOST_MENU is not set +# CONFIG_IOMMU_SUPPORT is not set CONFIG_LITEX_SOC_CONTROLLER=3Dy +CONFIG_EXT2_FS=3Dy +CONFIG_EXT3_FS=3Dy +CONFIG_MSDOS_FS=3Dy +CONFIG_VFAT_FS=3Dy +CONFIG_EXFAT_FS=3Dy CONFIG_TMPFS=3Dy +CONFIG_NFS_FS=3Dy +CONFIG_NFS_V3_ACL=3Dy +CONFIG_NFS_V4=3Dy +CONFIG_NLS_CODEPAGE_437=3Dy +CONFIG_NLS_ISO8859_1=3Dy +CONFIG_LSM=3D"lockdown,yama,loadpin,safesetid,integrity,bpf" CONFIG_PRINTK_TIME=3Dy CONFIG_PANIC_ON_OOPS=3Dy CONFIG_SOFTLOCKUP_DETECTOR=3Dy --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 36BA8C433F5 for ; Sat, 21 May 2022 13:14:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349882AbiEUNOY (ORCPT ); Sat, 21 May 2022 09:14:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354788AbiEUNOC (ORCPT ); Sat, 21 May 2022 09:14:02 -0400 Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6BB2D3981C for ; Sat, 21 May 2022 06:14:01 -0700 (PDT) Received: by mail-pf1-x42b.google.com with SMTP id x143so9854145pfc.11 for ; Sat, 21 May 2022 06:14:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ikZ+PR/EklJmOrxEmrNGimc9Z26aJRLTxGu7euJ5K94=; b=EhoD7jpbnPzy8VdYE6Da9KaxEBcK5nlsjBo0jRUA7SnJIr9x2+QTmjnPEitkOsnQ82 FDg2A+qg3UXTXaiArxi5X5eEPUV5aJSNtwPRJeehjHA3VGR1mkM9C5CY4mJPLzuL4F36 lqOE23I4trR2zVBpBXiZ5DkATI9lNLbE/tpWLwCOkotOq/WoEN9czrR+EXYnsoQuNu2w yxdEtbAxWmMD7yCjDPmH3Ww2RpP2+fVInj4SdXpr3CinpsbcVyd28TsoBVrWFzp4PAJp piHHvviLyVYDKifOMHwjHo7umj0r/4EWj26lF67JrSC0X5NwZNYtWiE0GvlBsNS72TI1 KU9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ikZ+PR/EklJmOrxEmrNGimc9Z26aJRLTxGu7euJ5K94=; b=SIS0BLEE8KvwsRwig91ZiflbaQ3vV6OUXWBJM8aArVKnMccUamryP5s2CXY2teA9hs PWuTddT9ujY3r7HqhrLgG8G5/1SKQDSKOIPgf+TkzvvHu8f7y04HTwYvbBHYbH5UjOut HM5WRTQAxa/9O5dsr9zzxHx6PWFET+QHD0R/pfZW1LfvHI/X42Gzb7j6/DWKmDqsl6Um amOu+7lriqdnxGiWyPRuD5xT/eNRCQ/FjdYnImdWFsFKYkgZK2qQz1Nxn/cMNT+CAgL2 C4CPv0CvGVlJ0UNWwVz41rchJ48Z62zxynnhmzCXYU99XfcBQ+g61uRwzSURtGyAZv0J J5yQ== X-Gm-Message-State: AOAM5311z/SDETgxdlnJyPAQNOtmLeb4ixkOyeVkY0ckShb55y4zudtj R4stjd7+bhw2fk4i03H8QwjzOAZfx9l97Q== X-Google-Smtp-Source: ABdhPJyKIW3WotfnL1yeSTCYDA2WB1z5y39r22s9dVdmWhEmBH6WpFdAXpzN0ZhCDdIOGpKXR7st3Q== X-Received: by 2002:a05:6a00:b94:b0:50f:2255:ae03 with SMTP id g20-20020a056a000b9400b0050f2255ae03mr14833395pfj.74.1653138840676; Sat, 21 May 2022 06:14:00 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id 190-20020a6204c7000000b0050dc76281basm3740557pfe.148.2022.05.21.06.13.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:14:00 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , "Eric W. Biederman" , Andrew Morton , Kefeng Wang , Michael Ellerman Subject: [PATCH v3 07/13] openrisc/traps: Declare file scope symbols as static Date: Sat, 21 May 2022 22:13:17 +0900 Message-Id: <20220521131323.631209-8-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Sparse was reporting the following warnings: arch/openrisc/kernel/traps.c:37:5: warning: symbol 'kstack_depth_to_pri= nt' was not declared. Should it be static? arch/openrisc/kernel/traps.c:39:22: warning: symbol 'lwa_addr' was not = declared. Should it be static? arch/openrisc/kernel/traps.c:41:6: warning: symbol 'print_trace' was no= t declared. Should it be static? The function print_trace and local variables kstack_depth_to_print and lwa_addr are not used outside of this file. This patch marks them as static. Signed-off-by: Stafford Horne --- arch/openrisc/kernel/traps.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c index f2478bba77b9..9e0937eb31ca 100644 --- a/arch/openrisc/kernel/traps.c +++ b/arch/openrisc/kernel/traps.c @@ -34,11 +34,11 @@ #include #include =20 -int kstack_depth_to_print =3D 0x180; +static int kstack_depth_to_print =3D 0x180; int lwa_flag; -unsigned long __user *lwa_addr; +static unsigned long __user *lwa_addr; =20 -void print_trace(void *data, unsigned long addr, int reliable) +static void print_trace(void *data, unsigned long addr, int reliable) { const char *loglvl =3D data; =20 --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B511FC433EF for ; Sat, 21 May 2022 13:14:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354797AbiEUNOa (ORCPT ); Sat, 21 May 2022 09:14:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354370AbiEUNOG (ORCPT ); Sat, 21 May 2022 09:14:06 -0400 Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com [IPv6:2607:f8b0:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A60C38D86 for ; Sat, 21 May 2022 06:14:05 -0700 (PDT) Received: by mail-pf1-x42c.google.com with SMTP id y41so9852922pfw.12 for ; Sat, 21 May 2022 06:14:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/YxdBnzui3ni5Jh3oFs5foUUYY4daAUO1PEkpPdCqlo=; b=cK2xhVsGyV8VicAIx7RO1hnU738yQyl0C95qeHyJMhTXaHhYmXRvaUDq7GkJrXHDDU VaD71U3BRjiWyy7w5zQcGOdAVS10yh3fiGzlSCLHdGkGLCdTJjbzcEJKqZ3Jv7eAh1qZ PP6C/YIf5kG4pjSPFWMoCWcD0OwN2/+s1R3DH8DYBuQt5nr44+ElZ80GyCfKmgZ5V6mq /STJXr1jbJcSGOe95mHhXItNuhNKIuNltjLHBv9T/pw90dPdgx5pk/wM3FdEv4C4V0EO in9Q1ZrWW/+JccujTvceUy39LYWT6fb3Tw0l/xcl/q9l7zvWdC84ENEPpcr0kzWfMpPT K+Iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/YxdBnzui3ni5Jh3oFs5foUUYY4daAUO1PEkpPdCqlo=; b=f2RGzWIysP8dsOJr9L8LXtKDzLg04lAB1kPFiOS9o4rOiSu/aLS5HaoDRoS3oh0lIl j+9TeM0KKDbG1jQIWN8Q8KpLWqSY/3MhfE8cL1OZwKdYKrKgtCzKtWmGwrGoOQTA2+9H wmFkHuXh+qKPWqxCpN2jf2/dmQ58qaFqCODOeL2cIhc1WBCb2lUNvEKZC/dhkFxptpm2 nOBVp8t8XhzWjd8SAe2P8zziIDQ4mQIytgdn8i5SaXUi3xTqP/zNEHD7LAOyDO177/VG 9AnE1T187abZOCWLdVQSOR4wqQs3IziVOW0sDEIaalsCmdLrvUU1sQdmCjf+/0UgyXmD QdRQ== X-Gm-Message-State: AOAM5322k5XKrvuo31wfp1b+MgNhgoLxRhYcbwkm5FCeswCGESmzL/C/ s6UhRE2gWXTDzCp36XMBUfy6VtHFrMmvOA== X-Google-Smtp-Source: ABdhPJyLWt4gX8XuEVkhq42WgdF3C0m9EL1l6FbEi/bqSXoDHDApDfOlBx9NvZ64lxpBhABsJYf9BQ== X-Received: by 2002:a05:6a00:e8e:b0:518:287c:ce82 with SMTP id bo14-20020a056a000e8e00b00518287cce82mr14806077pfb.4.1653138844368; Sat, 21 May 2022 06:14:04 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id h3-20020a170902748300b00161929fb1adsm1573706pll.54.2022.05.21.06.14.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:14:03 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , "Eric W. Biederman" , Michael Ellerman , Kefeng Wang , Andrew Morton Subject: [PATCH v3 08/13] openrisc/traps: Remove die_if_kernel function Date: Sat, 21 May 2022 22:13:18 +0900 Message-Id: <20220521131323.631209-9-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This was noticed when I saw this warning: arch/openrisc/kernel/traps.c:234:6: warning: no previous prototype for = 'die_if_kernel' [-Wmissing-prototypes] 234 | void die_if_kernel(const char *str, struct pt_regs *regs, long = err) | ^~~~~~~~~~~~~ The die_if_kernel function is not used in the OpenRISC port so remove it. Signed-off-by: Stafford Horne --- arch/openrisc/kernel/traps.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c index 9e0937eb31ca..99cd2e6f8873 100644 --- a/arch/openrisc/kernel/traps.c +++ b/arch/openrisc/kernel/traps.c @@ -235,15 +235,6 @@ void __noreturn die(const char *str, struct pt_regs *r= egs, long err) make_task_dead(SIGSEGV); } =20 -/* This is normally the 'Oops' routine */ -void die_if_kernel(const char *str, struct pt_regs *regs, long err) -{ - if (user_mode(regs)) - return; - - die(str, regs, err); -} - void unhandled_exception(struct pt_regs *regs, int ea, int vector) { printk("Unable to handle exception at EA =3D0x%x, vector 0x%x", --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D192FC433F5 for ; Sat, 21 May 2022 13:14:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354942AbiEUNOw (ORCPT ); Sat, 21 May 2022 09:14:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351062AbiEUNO1 (ORCPT ); Sat, 21 May 2022 09:14:27 -0400 Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 523B639B80 for ; Sat, 21 May 2022 06:14:09 -0700 (PDT) Received: by mail-pl1-x62c.google.com with SMTP id s14so9413288plk.8 for ; Sat, 21 May 2022 06:14:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g7Q4DIyBFdkOfQfLesIacT6b2x85qOReA4ewSFpfUcU=; b=DXSLnl6bzRiqQd9B3yCFb3QN0I29DuZvmyvMOt1C5IzPBsMZujmBjjyjiPXn8dM5Mi 1EI6K4reqiBhLCza62OYrJa3ud9LTNNkk1lz32pXboLjnSv9jja0+LzxK8QgXWcXidAL JUi/BgVHD1aLJfk6SrAZans9hpJJaDzzW4PwoCNXGGJxW3Fl7Guwjot7Kfi1ws4O8UB/ TfYKuiNdoCEO6UmA0QqO8qghU9qoscOe0g+tEcxinZ5zkle3SWuNXXlUqaEudsZ+q8mS AckGqF8C890g19t7+O78uuwQig6Pj3bmEq4dmoKbNDK9GfOvCVYN0pn9Jt0kRQPsNTEQ EIYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=g7Q4DIyBFdkOfQfLesIacT6b2x85qOReA4ewSFpfUcU=; b=2ONfr7WJ9qfFmPBBLdzqNsFeZIZ2AtuNr391KXg0hZtIBZjCoPGUFrj+oUgJQE+IsJ c8Km7zXabGpUGZnd8sV0mpHsz0PXSL+vkOE2acvibuXLGy1cTD/FPWOnQyHjLUDQj/4a DlZ9ZqFWDO1TYoz0uZFCphIzlnC5FyAPWlntbZA8ZGpzEm1uhTngH75+d8F8YFVeTXrj KgsRvHZcQIB2yVhv0HmFTUd24jg3OjyMjL7gC8QpeAUovfhxQKg96NeJ3YPY5Yuh90A4 kkUeYl3Qwi++gGItpcOjinI0nmHcwO5/IhOEb7c5QSezpYi2Q0rGC7zSVrRniuvqK+Sc QJ4g== X-Gm-Message-State: AOAM530Gy0/YagirfnwuOqMRsg2nDp8X4hY87o0Cx/8Ub812CMqF3LAB tmKTF8ozvb43KjzYgJoB8vP6NRPyxLoCng== X-Google-Smtp-Source: ABdhPJzRR6zf4/aFz4vGSyRfNAJ3VFLw0FA+iXux+gNdzSOHEVGhZYeu9Oa58IX6yFdO8P/mN1weHQ== X-Received: by 2002:a17:902:ea53:b0:15b:1bb8:ac9e with SMTP id r19-20020a170902ea5300b0015b1bb8ac9emr14147213plg.45.1653138848062; Sat, 21 May 2022 06:14:08 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id z17-20020a170903019100b00161c3fc7a44sm1581665plg.108.2022.05.21.06.14.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:14:07 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , "Eric W. Biederman" , Kefeng Wang , "Russell King (Oracle)" , Andrew Morton Subject: [PATCH v3 09/13] openrisc/traps: Declare unhandled_exception for asmlinkage Date: Sat, 21 May 2022 22:13:19 +0900 Message-Id: <20220521131323.631209-10-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Noticed this when workin on warnings. As unhandled_exception is used in entry.S we should attribute it with asmlinkage. Signed-off-by: Stafford Horne --- arch/openrisc/kernel/traps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c index 99cd2e6f8873..fd9a0f2b66c4 100644 --- a/arch/openrisc/kernel/traps.c +++ b/arch/openrisc/kernel/traps.c @@ -235,7 +235,7 @@ void __noreturn die(const char *str, struct pt_regs *re= gs, long err) make_task_dead(SIGSEGV); } =20 -void unhandled_exception(struct pt_regs *regs, int ea, int vector) +asmlinkage void unhandled_exception(struct pt_regs *regs, int ea, int vect= or) { printk("Unable to handle exception at EA =3D0x%x, vector 0x%x", ea, vector); --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9547CC433EF for ; Sat, 21 May 2022 13:15:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353316AbiEUNPA (ORCPT ); Sat, 21 May 2022 09:15:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354859AbiEUNO1 (ORCPT ); Sat, 21 May 2022 09:14:27 -0400 Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27575644DF for ; Sat, 21 May 2022 06:14:12 -0700 (PDT) Received: by mail-pj1-x1035.google.com with SMTP id z11so357589pjc.3 for ; Sat, 21 May 2022 06:14:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JuZm0iyeNXKvBw7CRNXXxjER+lmIsZfs9nGcE1KNIMA=; b=Sc6A9rrs2CNpuzMYl9NDxDJMyzMrUdwkEL59QOtbB4CGMTiqKNH5Eg7kFRFTYWvOCi KvMrO/BhJz/8I7CnQdHfCLQgstx5qL4qj7Y7M19/MggfMwPalkmrzQC42OPUc1pRxZDA RkbI9VeBT3mvPmUnph6SIduSb9zMORPBz4/duPZy+nTp70iBYDIcLVZt2thsIE8+AlOW 7EGtjoXIcFgOjCQTVo3gXAxD65fsE2+00LDr/l2QZ1Rw2YLz1G4OpUhP00RoFstbDbhp qBRYtHKJnMZprRtRK9CEX8TxxQabMo4eFO2kDaT6+YaE++952T73XbPODjIMZW7beYu/ jlEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JuZm0iyeNXKvBw7CRNXXxjER+lmIsZfs9nGcE1KNIMA=; b=UY/X9UAT+LlRxkgBub6/+zOzmXiXgYFsQlLy58RkSBJN+3uQP1Qa6arWyescOzSTds Gyhf3PcZENko3xQAUYk3XiLXV4pOab53MqbItI3vJqfkiFs07HStN4IiFVY2IbRTgv40 iunYc4YTi+5ld2LYKQuj4V6yJdnPGIm7gGNbt+8UpjHSjxncYlnddVUEwG9KeDP4fF2M xuRYtLJPn9KaSlAcSmvdWLYdCdKmx/TWh2AcVD+CLeC7W7nsvoomv0XbpZK9MlBFy1xH OHMpGDQivlTBSkLouWtrzWJuYLilOYgrUaaIWwdpenIJ9ny8z3Gks+OgReE7otweJGxK D2Ow== X-Gm-Message-State: AOAM530lDfJ/tgnjdUPWAb7n/x8Vc17QTa1PYHv34a3xoPLFZPc66g0S 9BC+eLg8S3V04R/rzNahgV9UGH6p1JjaDg== X-Google-Smtp-Source: ABdhPJzskd466pWvMA9IpEpSRlwXzHnjwv1BqbS+UhQIKkByXjc1R/mTGqRMDsXeqdEZ64pVE3orRA== X-Received: by 2002:a17:90b:180b:b0:1df:b2ac:fafc with SMTP id lw11-20020a17090b180b00b001dfb2acfafcmr17065256pjb.101.1653138851293; Sat, 21 May 2022 06:14:11 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id e4-20020a17090301c400b0015e8d4eb2d6sm1187912plh.288.2022.05.21.06.14.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:14:10 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , Geert Uytterhoeven , Randy Dunlap Subject: [PATCH v3 10/13] openrisc/time: Fix symbol scope warnings Date: Sat, 21 May 2022 22:13:20 +0900 Message-Id: <20220521131323.631209-11-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Spare reported the following warnings: arch/openrisc/kernel/time.c:64:1: warning: symbol 'clockevent_openrisc_= timer' was not declared. Should it be static? arch/openrisc/kernel/time.c:66:6: warning: symbol 'openrisc_clockevent_= init' was not declared. Should it be static? This patch fixes by: - Add static declaration to clockevent_openrisc_timer as it's used only in this file. - Add include for asm/time.h for openrisc_clockevent_init declaration. Signed-off-by: Stafford Horne --- arch/openrisc/kernel/time.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/openrisc/kernel/time.c b/arch/openrisc/kernel/time.c index 6d18989d63d0..8e26c1af5441 100644 --- a/arch/openrisc/kernel/time.c +++ b/arch/openrisc/kernel/time.c @@ -23,6 +23,7 @@ #include =20 #include +#include =20 /* Test the timer ticks to count, used in sync routine */ inline void openrisc_timer_set(unsigned long count) @@ -61,7 +62,7 @@ static int openrisc_timer_set_next_event(unsigned long de= lta, * timers) we cannot enable the PERIODIC feature. The tick timer can run = using * one-shot events, so no problem. */ -DEFINE_PER_CPU(struct clock_event_device, clockevent_openrisc_timer); +static DEFINE_PER_CPU(struct clock_event_device, clockevent_openrisc_timer= ); =20 void openrisc_clockevent_init(void) { --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id ED81AC433EF for ; Sat, 21 May 2022 13:15:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1354851AbiEUNPL (ORCPT ); Sat, 21 May 2022 09:15:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34712 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354909AbiEUNO2 (ORCPT ); Sat, 21 May 2022 09:14:28 -0400 Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D8F8EBA8A for ; Sat, 21 May 2022 06:14:16 -0700 (PDT) Received: by mail-pg1-x52c.google.com with SMTP id v10so9894433pgl.11 for ; Sat, 21 May 2022 06:14:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GLuZhVjtGK5TbXwgi8Odrp2p8Tu7QkWjhdCCk7ovaas=; b=nmgM+6vuXjpX8KiwaDgzVgiYN2BD9hnKoi1p6MXLnRPMVGudkXgQk5rpmk2WEZeSfD TUU4GF4qa3c0hBliZhaoUoLCI3n5c/bqAS0RPC4swau3lhMzh+cE1IvOrbl6zy5r6MLX W2n+UbMqKQIZpgneQz4e6zjiLZu7FTYwfuekLnyGUc+SLYShDDHe04VjYSuiwqxuv8U5 0PdvQsz/j42plRlSL7E6VxsATCEdO3cC0OcQ3eDyYhFlFA+QZROMVz0MIImXVQiwfamN OkACTC2CzmtHqvTadDkcfUy1nYLliiFahuyjCbV0lpLPOlZNHjrT3cTM7AsF3uCCGDGP /CxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GLuZhVjtGK5TbXwgi8Odrp2p8Tu7QkWjhdCCk7ovaas=; b=j6fx2aJ//sMlK+nfsPr9KsNnPYbOfpqGwwSQsIcdEtCg8vWBdJGUJC589FULAXB2Ic QmQ6ZgvurXL+8Wj/6XsJ/51BF7xOQb7e8FstdSuY3WSglfPGGDfKj8wMeYzJ5R7ZbcQf Qt4ef2LUs5cCLtPoZ3nxjodPJxs+eaJnAHnW2h3e03cFBpUPBRdpjdYIEJPGQZ+lXhDp lg5qYG8uUJzMopiTsdD0kgop6uBkz4C8rwQFszS/K05X2K3SVSWLfXyhU4GN+3Z4rCs5 ohLBMj62GYTf+Y5dElYAB8NhZuph8yCBWVxPb/NACNnMc6gpS2uWwza+j0n0EWMRVNfx B+Gg== X-Gm-Message-State: AOAM530JsASv0xCw9rFl8T7NNJ5cSz/INqQVnWonnxXKH21QnvEPafFA ZEIPUIE8MlkkH4CPQHtDK2yju/pWl3E= X-Google-Smtp-Source: ABdhPJzSXnY7snJEhqn+uj+twSGinI9pDclYPisFikM4HmtEYq3hRdpqXVRiekvfzyKo1ySKSWhiog== X-Received: by 2002:a05:6a00:21c6:b0:4fa:914c:2c2b with SMTP id t6-20020a056a0021c600b004fa914c2c2bmr14746058pfj.56.1653138854479; Sat, 21 May 2022 06:14:14 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id a31-20020a056a001d1f00b00517c84fd24asm3577253pfx.172.2022.05.21.06.14.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:14:13 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson Subject: [PATCH v3 11/13] openrisc/delay: Add include to fix symbol not declared warning Date: Sat, 21 May 2022 22:13:21 +0900 Message-Id: <20220521131323.631209-12-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add asm/timex.h include for read_current_timer prototype. Sparse reporting the following warning: arch/openrisc/lib/delay.c:23:5: warning: symbol 'read_current_timer' wa= s not declared. Should it be static? Signed-off-by: Stafford Horne --- arch/openrisc/lib/delay.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/openrisc/lib/delay.c b/arch/openrisc/lib/delay.c index 036ae57180ef..5e89e4131304 100644 --- a/arch/openrisc/lib/delay.c +++ b/arch/openrisc/lib/delay.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E42BC433F5 for ; Sat, 21 May 2022 13:15:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353020AbiEUNPF (ORCPT ); Sat, 21 May 2022 09:15:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34206 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352636AbiEUNO2 (ORCPT ); Sat, 21 May 2022 09:14:28 -0400 Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 613AEB0A68 for ; Sat, 21 May 2022 06:14:19 -0700 (PDT) Received: by mail-pf1-x435.google.com with SMTP id h13so3595149pfq.5 for ; Sat, 21 May 2022 06:14:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=E6nKYG584PAtoQ8/jvqpBx36KvgGo8qJoQWKQdOpBKU=; b=E0vkss2uVELfv3PlZ/r95E//7dUFZcVN3Q6zI9qVYQ11thArs93Y74/ki5ZCK+wTf3 tdv0ait1ZC13crYnB3TS7CagvX3ibFfRuD84rM2ESVm6wASQoVYYEaoRqogua1BsEiaL br4T9WsWwI7j3jDeyvx+V4N77DlBKuPnpwiWirc9XTBYDfS/tmBywUaObp9+c9r/nv2k PaAOGEproMgyWRzHaXsWUA3C3Ja7EYiRqymvBuF0cJo3tx/hppL3WDX8HU3owF23sTgd WuiLjemAdZ/IMMYZlk5WBF/cXGggclCunzkGy3oRJ2Ot9AbjRm5PhgeHeB5g8Y+nUkI4 +aDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E6nKYG584PAtoQ8/jvqpBx36KvgGo8qJoQWKQdOpBKU=; b=IraNIzsF5Gi0UvTbEnCp4VXfL/VDyM3TTyXzXWBqRUqJWqU9vJhsRxrUvL4DzEdW92 5RzuJTYyV6ZsFkfMTiVAiq/QMBrmUTh1nudposXHUWv8Y+oVx8mYD4k4FCpnGdTysgFE R//1TwX1RCotvduBDo/1DRibyrFnzv+utOk4MUcpjvXN/jDX2UkhzySKrOetu51qTX2C aoXV+99c4jEZ1Us1XKBSygrWN/e0N9Qv5oh5UP4xB/uY/kRLOikPbvBpJPt13oWE2rwj WFQ0FhmHXBSv+efndTXv3KQBmDKhcFAAKkmzWQgSu7yj1wb4ZlBjZK27UH7k7ZMyE6Xg k83A== X-Gm-Message-State: AOAM532P/o9Sp9HMz5VtJrPer4Am0kgdhlpDKp423nOYhacjrg4lCm2W 2dPc7YNTAR3h8NThQo0TY4SS3mC44I3pGQ== X-Google-Smtp-Source: ABdhPJxzxOv0MNjHhHaK6mn9jIflVS4+y14htbcNJBI5Q9e0Aee3EBFglJ0ijsxGWNbzJikDavP5bA== X-Received: by 2002:a62:e80d:0:b0:50d:8f8e:ffb8 with SMTP id c13-20020a62e80d000000b0050d8f8effb8mr14737980pfi.37.1653138858201; Sat, 21 May 2022 06:14:18 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id h131-20020a628389000000b0050dc762812csm3615421pfe.6.2022.05.21.06.14.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:14:17 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , Randy Dunlap , Qi Zheng , Andrew Morton , "Eric W. Biederman" Subject: [PATCH v3 12/13] openrisc/fault: Fix symbol scope warnings Date: Sat, 21 May 2022 22:13:22 +0900 Message-Id: <20220521131323.631209-13-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Sparse reported the following warning: arch/openrisc/mm/fault.c:27:15: warning: symbol 'pte_misses' was not de= clared. Should it be static? arch/openrisc/mm/fault.c:28:15: warning: symbol 'pte_errors' was not de= clared. Should it be static? arch/openrisc/mm/fault.c:33:16: warning: symbol 'current_pgd' was not d= eclared. Should it be static? This patch fixes these by: - Remove unused pte_misses and pte_errors counters which are no longer used. - Add asm/mmu_context.h include to provide the current_pgd declaration. Signed-off-by: Stafford Horne --- arch/openrisc/mm/fault.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/openrisc/mm/fault.c b/arch/openrisc/mm/fault.c index 80bb66ad42f6..516cba14dec9 100644 --- a/arch/openrisc/mm/fault.c +++ b/arch/openrisc/mm/fault.c @@ -18,15 +18,13 @@ #include =20 #include +#include #include #include =20 #define NUM_TLB_ENTRIES 64 #define TLB_OFFSET(add) (((add) >> PAGE_SHIFT) & (NUM_TLB_ENTRIES-1)) =20 -unsigned long pte_misses; /* updated by do_page_fault() */ -unsigned long pte_errors; /* updated by do_page_fault() */ - /* __PHX__ :: - check the vmalloc_fault in do_page_fault() * - also look into include/asm/mmu_context.h */ --=20 2.31.1 From nobody Thu May 7 18:08:22 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F0C62C433F5 for ; Sat, 21 May 2022 13:15:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355087AbiEUNPQ (ORCPT ); Sat, 21 May 2022 09:15:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34662 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1355015AbiEUNO3 (ORCPT ); Sat, 21 May 2022 09:14:29 -0400 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF778F1367 for ; Sat, 21 May 2022 06:14:22 -0700 (PDT) Received: by mail-pf1-x434.google.com with SMTP id i24so9865204pfa.7 for ; Sat, 21 May 2022 06:14:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YyxbfrF93QriCFR9e9/Ieq2jTtQBkK6LoG1jr7zyJxk=; b=L+FJhvKFhaWqIiE1WWps2YzkTNakQuR1Mcr9C1FbVikQjz3MT7BzsmHi70IwH0t0Mn MvG9fJI9u77CAQ2MVtyUqKNTaqtvE48KnG+ukTf1KaiEkmhWTfJ3bEZFqVojAXikM0cV i+g3YDrrCCwmrxORC5C1lroikF74fpJOJ6RigbhPJbXZrxXFE+dfOOL+PyaY2ePhRiIY RJ0TKICOkoztEvnVKlpmh2ux1/vszSg6z7iZVbDAqpnbUsghYz1lj85eY1W4o9Lz4NxS 94dzGxA9FhVt/mrQZF1EkiZTBgiWl2nt/EHFuSqYSsieTMSmRRUOqRtzc4pRTa5S2AuX kAIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YyxbfrF93QriCFR9e9/Ieq2jTtQBkK6LoG1jr7zyJxk=; b=L0xh+kGc5PMvKj3fSN2J/kxn/tgyN8xl+XsR3RHQ6fh+C6UObb5W/njWl9J3HOeTd8 RzG3zlj2WhuglVCwaBR2EkgZjBuiT5hW+CPBOPbawI0zyzG09hw/T2gZ1oi0N2TCF9FH RFLeH3OrFbJBeaReMYzb0D/xhTBOp2chc+Mhkz+pCEB9SfYUeOyJvINsSnd6t2DUlb3Y 19hKZF+Q6Ygt9Xj2GBibjrrUClcQd808WUIj07fPaAPHiMo/JRZhzaHIzSKHumnC+0X+ JN9zPteTbIdYM7Zy4aRKo+o99Fex6jhiY6+1M5RNNFK0Oy4uwP/xtZITwh0YT47C58MX jYkw== X-Gm-Message-State: AOAM533MnjNZKoMWC3LQ2mib2pxRMLZHGMDmEjB12GTzQfcsm9hlDRTA Eos50NzFFe06pwUTWjonHtlGHaE3LcjUcg== X-Google-Smtp-Source: ABdhPJxLqb7CJFIz/ClcybmMMZS6eFmmU69eC19tG4rL2MMqWXC+N/q9QTunnuFV9pSgwJmET+BNfw== X-Received: by 2002:aa7:908e:0:b0:518:8fc8:f502 with SMTP id i14-20020aa7908e000000b005188fc8f502mr257115pfa.10.1653138861650; Sat, 21 May 2022 06:14:21 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id o17-20020a170903301100b0015e8d4eb1e5sm1563775pla.47.2022.05.21.06.14.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 May 2022 06:14:21 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , Randy Dunlap Subject: [PATCH v3 13/13] openrisc: Remove unused IMMU tlb workardound Date: Sat, 21 May 2022 22:13:23 +0900 Message-Id: <20220521131323.631209-14-shorne@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220521131323.631209-1-shorne@gmail.com> References: <20220521131323.631209-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This looks to be some historical code that was used to convert TLB misses on branches from l.bf, l.jal, l.j etc all to a trampoline using l.jr (jump register). I don't see this being used and I don't know the history of it so remove it. Signed-off-by: Stafford Horne --- arch/openrisc/kernel/head.S | 209 ------------------------------------ 1 file changed, 209 deletions(-) diff --git a/arch/openrisc/kernel/head.S b/arch/openrisc/kernel/head.S index 21db50563f97..9b59d0ca665c 100644 --- a/arch/openrisc/kernel/head.S +++ b/arch/openrisc/kernel/head.S @@ -1325,215 +1325,6 @@ i_pte_not_present: =20 /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D[ debugging aids ]=3D=3D=3D */ =20 - .align 64 -_immu_trampoline: - .space 64 -_immu_trampoline_top: - -#define TRAMP_SLOT_0 (0x0) -#define TRAMP_SLOT_1 (0x4) -#define TRAMP_SLOT_2 (0x8) -#define TRAMP_SLOT_3 (0xc) -#define TRAMP_SLOT_4 (0x10) -#define TRAMP_SLOT_5 (0x14) -#define TRAMP_FRAME_SIZE (0x18) - -ENTRY(_immu_trampoline_workaround) - // r2 EEA - // r6 is physical EEA - tophys(r6,r2) - - LOAD_SYMBOL_2_GPR(r5,_immu_trampoline) - tophys (r3,r5) // r3 is trampoline (physical) - - LOAD_SYMBOL_2_GPR(r4,0x15000000) - l.sw TRAMP_SLOT_0(r3),r4 - l.sw TRAMP_SLOT_1(r3),r4 - l.sw TRAMP_SLOT_4(r3),r4 - l.sw TRAMP_SLOT_5(r3),r4 - - // EPC =3D EEA - 0x4 - l.lwz r4,0x0(r6) // load op @ EEA + 0x0 (fc address) - l.sw TRAMP_SLOT_3(r3),r4 // store it to _immu_trampoline_data - l.lwz r4,-0x4(r6) // load op @ EEA - 0x4 (f8 address) - l.sw TRAMP_SLOT_2(r3),r4 // store it to _immu_trampoline_data - - l.srli r5,r4,26 // check opcode for write access - l.sfeqi r5,0 // l.j - l.bf 0f - l.sfeqi r5,0x11 // l.jr - l.bf 1f - l.sfeqi r5,1 // l.jal - l.bf 2f - l.sfeqi r5,0x12 // l.jalr - l.bf 3f - l.sfeqi r5,3 // l.bnf - l.bf 4f - l.sfeqi r5,4 // l.bf - l.bf 5f -99: - l.nop - l.j 99b // should never happen - l.nop 1 - - // r2 is EEA - // r3 is trampoline address (physical) - // r4 is instruction - // r6 is physical(EEA) - // - // r5 - -2: // l.jal - - /* 19 20 aa aa l.movhi r9,0xaaaa - * a9 29 bb bb l.ori r9,0xbbbb - * - * where 0xaaaabbbb is EEA + 0x4 shifted right 2 - */ - - l.addi r6,r2,0x4 // this is 0xaaaabbbb - - // l.movhi r9,0xaaaa - l.ori r5,r0,0x1920 // 0x1920 =3D=3D l.movhi r9 - l.sh (TRAMP_SLOT_0+0x0)(r3),r5 - l.srli r5,r6,16 - l.sh (TRAMP_SLOT_0+0x2)(r3),r5 - - // l.ori r9,0xbbbb - l.ori r5,r0,0xa929 // 0xa929 =3D=3D l.ori r9 - l.sh (TRAMP_SLOT_1+0x0)(r3),r5 - l.andi r5,r6,0xffff - l.sh (TRAMP_SLOT_1+0x2)(r3),r5 - - /* falthrough, need to set up new jump offset */ - - -0: // l.j - l.slli r6,r4,6 // original offset shifted left 6 - 2 -// l.srli r6,r6,6 // original offset shifted right 2 - - l.slli r4,r2,4 // old jump position: EEA shifted left 4 -// l.srli r4,r4,6 // old jump position: shifted right 2 - - l.addi r5,r3,0xc // new jump position (physical) - l.slli r5,r5,4 // new jump position: shifted left 4 - - // calculate new jump offset - // new_off =3D old_off + (old_jump - new_jump) - - l.sub r5,r4,r5 // old_jump - new_jump - l.add r5,r6,r5 // orig_off + (old_jump - new_jump) - l.srli r5,r5,6 // new offset shifted right 2 - - // r5 is new jump offset - // l.j has opcode 0x0... - l.sw TRAMP_SLOT_2(r3),r5 // write it back - - l.j trampoline_out - l.nop - -/* ----------------------------- */ - -3: // l.jalr - - /* 19 20 aa aa l.movhi r9,0xaaaa - * a9 29 bb bb l.ori r9,0xbbbb - * - * where 0xaaaabbbb is EEA + 0x4 shifted right 2 - */ - - l.addi r6,r2,0x4 // this is 0xaaaabbbb - - // l.movhi r9,0xaaaa - l.ori r5,r0,0x1920 // 0x1920 =3D=3D l.movhi r9 - l.sh (TRAMP_SLOT_0+0x0)(r3),r5 - l.srli r5,r6,16 - l.sh (TRAMP_SLOT_0+0x2)(r3),r5 - - // l.ori r9,0xbbbb - l.ori r5,r0,0xa929 // 0xa929 =3D=3D l.ori r9 - l.sh (TRAMP_SLOT_1+0x0)(r3),r5 - l.andi r5,r6,0xffff - l.sh (TRAMP_SLOT_1+0x2)(r3),r5 - - l.lhz r5,(TRAMP_SLOT_2+0x0)(r3) // load hi part of jump instruction - l.andi r5,r5,0x3ff // clear out opcode part - l.ori r5,r5,0x4400 // opcode changed from l.jalr -> l.jr - l.sh (TRAMP_SLOT_2+0x0)(r3),r5 // write it back - - /* falthrough */ - -1: // l.jr - l.j trampoline_out - l.nop - -/* ----------------------------- */ - -4: // l.bnf -5: // l.bf - l.slli r6,r4,6 // original offset shifted left 6 - 2 -// l.srli r6,r6,6 // original offset shifted right 2 - - l.slli r4,r2,4 // old jump position: EEA shifted left 4 -// l.srli r4,r4,6 // old jump position: shifted right 2 - - l.addi r5,r3,0xc // new jump position (physical) - l.slli r5,r5,4 // new jump position: shifted left 4 - - // calculate new jump offset - // new_off =3D old_off + (old_jump - new_jump) - - l.add r6,r6,r4 // (orig_off + old_jump) - l.sub r6,r6,r5 // (orig_off + old_jump) - new_jump - l.srli r6,r6,6 // new offset shifted right 2 - - // r6 is new jump offset - l.lwz r4,(TRAMP_SLOT_2+0x0)(r3) // load jump instruction - l.srli r4,r4,16 - l.andi r4,r4,0xfc00 // get opcode part - l.slli r4,r4,16 - l.or r6,r4,r6 // l.b(n)f new offset - l.sw TRAMP_SLOT_2(r3),r6 // write it back - - /* we need to add l.j to EEA + 0x8 */ - tophys (r4,r2) // may not be needed (due to shifts down_ - l.addi r4,r4,(0x8 - 0x8) // jump target =3D r2 + 0x8 (compensate for 0x8) - // jump position =3D r5 + 0x8 (0x8 compensated) - l.sub r4,r4,r5 // jump offset =3D target - new_position + 0x8 - - l.slli r4,r4,4 // the amount of info in imediate of jump - l.srli r4,r4,6 // jump instruction with offset - l.sw TRAMP_SLOT_4(r3),r4 // write it to 4th slot - - /* fallthrough */ - -trampoline_out: - // set up new EPC to point to our trampoline code - LOAD_SYMBOL_2_GPR(r5,_immu_trampoline) - l.mtspr r0,r5,SPR_EPCR_BASE - - // immu_trampoline is (4x) CACHE_LINE aligned - // and only 6 instructions long, - // so we need to invalidate only 2 lines - - /* Establish cache block size - If BS=3D0, 16; - If BS=3D1, 32; - r14 contain block size - */ - l.mfspr r21,r0,SPR_ICCFGR - l.andi r21,r21,SPR_ICCFGR_CBS - l.srli r21,r21,7 - l.ori r23,r0,16 - l.sll r14,r23,r21 - - l.mtspr r0,r5,SPR_ICBIR - l.add r5,r5,r14 - l.mtspr r0,r5,SPR_ICBIR - - l.jr r9 - l.nop - /* * DESC: Prints ASCII character stored in r7 * --=20 2.31.1