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
next prev parent 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.