All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rao, Appana Durga Kedareswara" <appanad@amd.com>
To: Michal Simek <monstr@monstr.eu>,
	kernel test robot <lkp@intel.com>,
	Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Subject: Re: arch/microblaze/kernel/entry.S:945: Error: unknown opcode "suspend"
Date: Tue, 31 Oct 2023 12:54:18 +0530	[thread overview]
Message-ID: <dbdafdf5-10cd-fd66-1691-e4ec600bead5@amd.com> (raw)
In-Reply-To: <144951b1-b158-4591-ab88-a1c71af51bf2@monstr.eu>

Hi Michal,

On 31/10/23 12:28 pm, Michal Simek wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or 
> responding to this email.
> 
> 
> Hi Kedar,
> 
> On 10/30/23 18:12, kernel test robot wrote:
>> Hi Appana,
>>
>> FYI, the error/warning still remains.
>>
>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head:   ffc253263a1375a65fa6c9f62a893e9767fbebfa
>> commit: 88707ebe77e23e856981e597f322cabbf6415662 microblaze: Add custom break vector handler for mb manager
>> date:   1 year, 1 month ago
>> config: microblaze-buildonly-randconfig-r003-20230509 (https://download.01.org/0day-ci/archive/20231031/202310310151.UhB396Qs-lkp@intel.com/config)
>> compiler: microblaze-linux-gcc (GCC) 13.2.0
>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231031/202310310151.UhB396Qs-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/202310310151.UhB396Qs-lkp@intel.com/
>>
>> All errors (new ones prefixed by >>):
>>
>>     arch/microblaze/kernel/entry.S: Assembler messages:
>>>> arch/microblaze/kernel/entry.S:945: Error: unknown opcode "suspend"
>>
>>
>> vim +/suspend +945 arch/microblaze/kernel/entry.S
>>
>>     825
>>     826               /* restore all the tlb's */
>>     827               addik   r3, r0, TOPHYS(tlb_skip)
>>     828               addik   r6, r0, PT_TLBL0
>>     829               addik   r7, r0, PT_TLBH0
>>     830       restore_tlb:
>>     831               add     r6, r6, r1
>>     832               add     r7, r7, r1
>>     833               lwi     r2, r6, 0
>>     834               mts     rtlblo, r2
>>     835               lwi     r2, r7, 0
>>     836               mts     rtlbhi, r2
>>     837               addik   r6, r6, 4
>>     838               addik   r7, r7, 4
>>     839               bgtid   r3, restore_tlb
>>     840               addik   r3, r3, -1
>>     841
>>     842               lwi     r5, r0, TOPHYS(xmb_manager_dev)
>>     843               lwi     r8, r0, TOPHYS(xmb_manager_reset_callback)
>>     844               set_vms
>>     845               /* return from reset need -8 to adjust for rtsd r15, 8 */
>>     846               addik   r15, r0, ret_from_reset - 8
>>     847               rtbd    r8, 0
>>     848               nop
>>     849
>>     850       ret_from_reset:
>>     851               set_bip /* Ints masked for state restore */
>>     852               VM_OFF
>>     853               /* MS: Restore all regs */
>>     854               RESTORE_REGS
>>     855               lwi     r14, r1, PT_R14
>>     856               lwi     r16, r1, PT_PC
>>     857               addik   r1, r1, PT_SIZE + 36
>>     858               rtbd    r16, 0
>>     859               nop
>>     860
>>     861       /*
>>     862        * Break handler for MB Manager. Enter to _xmb_manager_break by
>>     863        * injecting fault in one of the TMR Microblaze core.
>>     864        * FIXME: This break handler supports getting
>>     865        * called from kernel space only.
>>     866        */
>>     867       C_ENTRY(_xmb_manager_break):
>>     868               /*
>>     869                * Reserve memory in the stack for context store/restore
>>     870                * (which includes memory for storing tlbs (max two tlbs))
>>     871                */
>>     872               addik   r1, r1, -PT_SIZE - 36
>>     873               swi     r1, r0, xmb_manager_stackpointer
>>     874               SAVE_REGS
>>     875               swi     r14, r1, PT_R14 /* rewrite saved R14 value */
>>     876               swi     r16, r1, PT_PC; /* PC and r16 are the same */
>>     877
>>     878               lwi     r6, r0, TOPHYS(xmb_manager_baseaddr)
>>     879               lwi     r7, r0, TOPHYS(xmb_manager_crval)
>>     880               /*
>>     881                * When the break vector gets asserted because of error injection,
>>     882                * the break signal must be blocked before exiting from the
>>     883                * break handler, below code configures the tmr manager
>>     884                * control register to block break signal.
>>     885                */
>>     886               swi     r7, r6, 0
>>     887
>>     888               /* Save the special purpose registers  */
>>     889               mfs     r2, rpid
>>     890               swi     r2, r1, PT_PID
>>     891
>>     892               mfs     r2, rtlbx
>>     893               swi     r2, r1, PT_TLBI
>>     894
>>     895               mfs     r2, rzpr
>>     896               swi     r2, r1, PT_ZPR
>>     897
>>     898       #if CONFIG_XILINX_MICROBLAZE0_USE_FPU
>>     899               mfs     r2, rfsr
>>     900               swi     r2, r1, PT_FSR
>>     901       #endif
>>     902               mfs     r2, rmsr
>>     903               swi     r2, r1, PT_MSR
>>     904
>>     905               /* Save all the tlb's */
>>     906               addik   r3, r0, TOPHYS(tlb_skip)
>>     907               addik   r6, r0, PT_TLBL0
>>     908               addik   r7, r0, PT_TLBH0
>>     909       save_tlb:
>>     910               add     r6, r6, r1
>>     911               add     r7, r7, r1
>>     912               mfs     r2, rtlblo
>>     913               swi     r2, r6, 0
>>     914               mfs     r2, rtlbhi
>>     915               swi     r2, r7, 0
>>     916               addik   r6, r6, 4
>>     917               addik   r7, r7, 4
>>     918               bgtid   r3, save_tlb
>>     919               addik   r3, r3, -1
>>     920
>>     921               lwi     r5, r0, TOPHYS(xmb_manager_dev)
>>     922               lwi     r8, r0, TOPHYS(xmb_manager_callback)
>>     923               /* return from break need -8 to adjust for rtsd r15, 8 */
>>     924               addik   r15, r0, ret_from_break - 8
>>     925               rtbd    r8, 0
>>     926               nop
>>     927
>>     928       ret_from_break:
>>     929               /* flush the d-cache */
>>     930               bralid  r15, mb_flush_dcache
>>     931               nop
>>     932
>>     933               /*
>>     934                * To make sure microblaze i-cache is in a proper state
>>     935                * invalidate the i-cache.
>>     936                */
>>     937               bralid  r15, mb_invalidate_icache
>>     938               nop
>>     939
>>     940               set_bip; /* Ints masked for state restore */
>>     941               VM_OFF;
>>     942               mbar    1
>>     943               mbar    2
>>     944               bri     4
>>   > 945               suspend
> 
> Older toolchain don't need to have this pseudo code.
> What about to change it like this?
> 
> mbar 24 /* suspend */

Okay will test and post a patch...

Regards,
Kedar.

> 
> Thanks,
> Michal
> 
> -- 
> Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
> w: www.monstr.eu p: +42-0-721842854
> Maintainer of Linux kernel - Xilinx Microblaze
> Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP/Versal ARM64 SoCs
> U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal/Versal NET SoCs
> TF-A maintainer - Xilinx ZynqMP/Versal/Versal NET SoCs

  reply	other threads:[~2023-10-31  7:24 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-30 17:12 arch/microblaze/kernel/entry.S:945: Error: unknown opcode "suspend" kernel test robot
2023-10-31  6:58 ` Michal Simek
2023-10-31  7:24   ` Rao, Appana Durga Kedareswara [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-07-07 12:32 kernel test robot
2024-06-08 15:48 kernel test robot
2024-05-25 10:40 kernel test robot
2024-03-02 10:54 kernel test robot
2024-01-26 15:17 kernel test robot
2024-01-10 17:03 kernel test robot
2023-12-24  0:45 kernel test robot
2023-09-21 19:27 kernel test robot

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=dbdafdf5-10cd-fd66-1691-e4ec600bead5@amd.com \
    --to=appanad@amd.com \
    --cc=appana.durga.rao@xilinx.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=monstr@monstr.eu \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=radhey.shyam.pandey@amd.com \
    /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.