From: Baoquan He <bhe@redhat.com>
To: kernel test robot <lkp@intel.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: arch/sh/kernel/relocate_kernel.S:38: Error: invalid operands for opcode
Date: Wed, 20 Dec 2023 13:44:19 +0800 [thread overview]
Message-ID: <ZYJ/M1HZ9ITfs4qe@MiWiFi-R3L-srv> (raw)
In-Reply-To: <202312182200.Ka7MzifQ-lkp@intel.com>
On 12/18/23 at 10:55pm, kernel test robot wrote:
> Hi Baoquan,
>
> FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: ceb6a6f023fd3e8b07761ed900352ef574010bcb
> commit: d70c27b728b8da1ab9c3b7ca117ee1c99dc86d29 sh, kexec: fix the incorrect ifdeffery and dependency of CONFIG_KEXEC
> date: 6 days ago
> config: sh-randconfig-r002-20220124 (https://download.01.org/0day-ci/archive/20231218/202312182200.Ka7MzifQ-lkp@intel.com/config)
> compiler: sh4-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231218/202312182200.Ka7MzifQ-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202312182200.Ka7MzifQ-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> arch/sh/kernel/relocate_kernel.S: Assembler messages:
> >> arch/sh/kernel/relocate_kernel.S:38: Error: invalid operands for opcode
> arch/sh/kernel/relocate_kernel.S:41: Error: invalid operands for opcode
> arch/sh/kernel/relocate_kernel.S:126: Error: invalid operands for opcode
> arch/sh/kernel/relocate_kernel.S:129: Error: invalid operands for opcode
I reproduced this error, haven't got why and a way to fix it, will come
back later if I have fix.
>
> vim +38 arch/sh/kernel/relocate_kernel.S
>
> 9d44190eae97ad4 kogiidena 2006-01-16 13
> 9d44190eae97ad4 kogiidena 2006-01-16 14 .globl relocate_new_kernel
> 9d44190eae97ad4 kogiidena 2006-01-16 15 relocate_new_kernel:
> 9d44190eae97ad4 kogiidena 2006-01-16 16 /* r4 = indirection_page */
> 9d44190eae97ad4 kogiidena 2006-01-16 17 /* r5 = reboot_code_buffer */
> 9d44190eae97ad4 kogiidena 2006-01-16 18 /* r6 = start_address */
> 9d44190eae97ad4 kogiidena 2006-01-16 19
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 20 mov.l 10f, r0 /* PAGE_SIZE */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 21 add r5, r0 /* setup new stack at end of control page */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 22
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 23 /* save r15->r8 to new stack */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 24 mov.l r15, @-r0
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 25 mov r0, r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 26 mov.l r14, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 27 mov.l r13, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 28 mov.l r12, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 29 mov.l r11, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 30 mov.l r10, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 31 mov.l r9, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 32 mov.l r8, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 33
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 34 /* save other random registers */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 35 sts.l macl, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 36 sts.l mach, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 37 stc.l gbr, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 @38 stc.l ssr, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 39 stc.l sr, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 40 sts.l pr, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 41 stc.l spc, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 42
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 43 /* switch to bank1 and save r7->r0 */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 44 mov.l 12f, r9
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 45 stc sr, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 46 or r9, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 47 ldc r8, sr
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 48 mov.l r7, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 49 mov.l r6, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 50 mov.l r5, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 51 mov.l r4, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 52 mov.l r3, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 53 mov.l r2, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 54 mov.l r1, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 55 mov.l r0, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 56
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 57 /* switch to bank0 and save r7->r0 */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 58 mov.l 12f, r9
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 59 not r9, r9
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 60 stc sr, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 61 and r9, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 62 ldc r8, sr
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 63 mov.l r7, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 64 mov.l r6, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 65 mov.l r5, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 66 mov.l r4, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 67 mov.l r3, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 68 mov.l r2, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 69 mov.l r1, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 70 mov.l r0, @-r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 71
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 72 mov.l r4, @-r15 /* save indirection page again */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 73
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 74 bsr swap_pages /* swap pages before jumping to new kernel */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 75 nop
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 76
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 77 mova 11f, r0
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 78 mov.l r15, @r0 /* save pointer to stack */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 79
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 80 jsr @r6 /* hand over control to new kernel */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 81 nop
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 82
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 83 mov.l 11f, r15 /* get pointer to stack */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 84 mov.l @r15+, r4 /* restore r4 to get indirection page */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 85
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 86 bsr swap_pages /* swap pages back to previous state */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 87 nop
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 88
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 89 /* make sure bank0 is active and restore r0->r7 */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 90 mov.l 12f, r9
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 91 not r9, r9
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 92 stc sr, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 93 and r9, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 94 ldc r8, sr
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 95 mov.l @r15+, r0
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 96 mov.l @r15+, r1
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 97 mov.l @r15+, r2
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 98 mov.l @r15+, r3
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 99 mov.l @r15+, r4
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 100 mov.l @r15+, r5
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 101 mov.l @r15+, r6
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 102 mov.l @r15+, r7
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 103
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 104 /* switch to bank1 and restore r0->r7 */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 105 mov.l 12f, r9
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 106 stc sr, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 107 or r9, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 108 ldc r8, sr
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 109 mov.l @r15+, r0
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 110 mov.l @r15+, r1
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 111 mov.l @r15+, r2
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 112 mov.l @r15+, r3
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 113 mov.l @r15+, r4
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 114 mov.l @r15+, r5
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 115 mov.l @r15+, r6
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 116 mov.l @r15+, r7
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 117
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 118 /* switch back to bank0 */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 119 mov.l 12f, r9
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 120 not r9, r9
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 121 stc sr, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 122 and r9, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 123 ldc r8, sr
> 9d44190eae97ad4 kogiidena 2006-01-16 124
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 125 /* restore other random registers */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 126 ldc.l @r15+, spc
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 127 lds.l @r15+, pr
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 128 ldc.l @r15+, sr
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 129 ldc.l @r15+, ssr
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 130 ldc.l @r15+, gbr
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 131 lds.l @r15+, mach
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 132 lds.l @r15+, macl
> 9d44190eae97ad4 kogiidena 2006-01-16 133
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 134 /* restore r8->r15 */
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 135 mov.l @r15+, r8
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 136 mov.l @r15+, r9
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 137 mov.l @r15+, r10
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 138 mov.l @r15+, r11
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 139 mov.l @r15+, r12
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 140 mov.l @r15+, r13
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 141 mov.l @r15+, r14
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 142 mov.l @r15+, r15
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 143 rts
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 144 nop
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 145
> b7cf6ddc13186f9 Magnus Damm 2009-03-18 146 swap_pages:
> 9d44190eae97ad4 kogiidena 2006-01-16 147 bra 1f
> 9d44190eae97ad4 kogiidena 2006-01-16 148 mov r4,r0 /* cmd = indirection_page */
> 9d44190eae97ad4 kogiidena 2006-01-16 149 0:
> 9d44190eae97ad4 kogiidena 2006-01-16 150 mov.l @r4+,r0 /* cmd = *ind++ */
> 9d44190eae97ad4 kogiidena 2006-01-16 151
>
> :::::: The code at line 38 was first introduced by commit
> :::::: b7cf6ddc13186f9272438a97aa75972d496d0b0a sh: add kexec jump support
>
> :::::: TO: Magnus Damm <damm@igel.co.jp>
> :::::: CC: Paul Mundt <lethal@linux-sh.org>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
next prev parent reply other threads:[~2023-12-20 5:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-18 14:55 arch/sh/kernel/relocate_kernel.S:38: Error: invalid operands for opcode kernel test robot
2023-12-20 5:44 ` Baoquan He [this message]
2023-12-20 6:00 ` Al Viro
2023-12-20 13:27 ` Baoquan He
2023-12-20 17:37 ` Al Viro
2023-12-21 4:24 ` Baoquan He
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZYJ/M1HZ9ITfs4qe@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.