RE: [PATCH v3 4/4] RISC-V: Add arch functions to support hibernation/suspend-to-disk

From: JeeHeng Sia
Date: Thu Feb 02 2023 - 22:43:43 EST




> -----Original Message-----
> From: Conor Dooley <conor@xxxxxxxxxx>
> Sent: Tuesday, 31 January, 2023 7:31 AM
> To: JeeHeng Sia <jeeheng.sia@xxxxxxxxxxxxxxxx>; Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>
> Cc: paul.walmsley@xxxxxxxxxx; palmer@xxxxxxxxxxx; aou@xxxxxxxxxxxxxxxxx; linux-riscv@xxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Leyfoon Tan <leyfoon.tan@xxxxxxxxxxxxxxxx>; Mason Huo <mason.huo@xxxxxxxxxxxxxxxx>
> Subject: Re: [PATCH v3 4/4] RISC-V: Add arch functions to support hibernation/suspend-to-disk
>
> +CC Alex
>
> Alex, could you take a look at the page table bits here when you get a
> chance please?
>
> > + * @a0 - destination
> > + * @a1 - source
> > + */
> > + .macro copy_page a0, a1
> > + lui a2, 0x1
> > + add a2, a2, a0
> > +.1 :
> > + REG_L t0, 0(a1)
> > + REG_L t1, SZREG(a1)
> > +
> > + REG_S t0, 0(a0)
> > + REG_S t1, SZREG(a0)
> > +
> > + addi a0, a0, 2 * SZREG
> > + addi a1, a1, 2 * SZREG
> > + bne a2, a0, .1
>
> allmodconfig, clang 15.0.4:
>
> <instantiation>:3:1: error: unexpected token at start of statement
> .1 :
> ^
> /stuff/linux/arch/riscv/kernel/hibernate-asm.S:83:2: note: while in macro instantiation
> copy_page a0, a1
> ^
> <instantiation>:12:15: error: unknown operand
> bne a2, a0, .1
> ^
> /stuff/linux/arch/riscv/kernel/hibernate-asm.S:83:2: note: while in macro instantiation
> copy_page a0, a1
> ^
> make[5]: *** [/stuff/linux/scripts/Makefile.build:384: arch/riscv/kernel/hibernate-asm.o] Error 1
Hi Conor, I couldn't reproduce the above error, could you share the build command please?
>
> > + .endm
> > +
> > #endif /* __ASM_ASSEMBLER_H */

> Thanks,
> Conor.