在2023年7月19日七月 下午7:39,Philippe Mathieu-Daudé写道: > On 18/7/23 15:44, Jiaxun Yang wrote: >> There are some __iomem type casting being missed in previous patch. >> Fix them here. >> >> Fixes: 5bd3990723bd ("MIPS: Loongson64: Prefix ipi register address pointers with __iomem") >> Reported-by: kernel test robot <lkp@xxxxxxxxx> >> Closes: https://lore.kernel.org/oe-kbuild-all/202307020639.QCZOKp8B-lkp@xxxxxxxxx/ >> Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> >> --- >> arch/mips/loongson64/smp.c | 168 ++++++++++++++++++------------------- >> 1 file changed, 84 insertions(+), 84 deletions(-) > > >> static void ipi_mailbox_buf_init(void) >> { >> - ipi_mailbox_buf[0] = (void *) >> + ipi_mailbox_buf[0] = (void __iomem *) >> (SMP_CORE_GROUP0_BASE + SMP_CORE0_OFFSET + BUF); >> - ipi_mailbox_buf[1] = (void *) >> + ipi_mailbox_buf[1] = (void __iomem *) >> (SMP_CORE_GROUP0_BASE + SMP_CORE1_OFFSET + BUF); >> - ipi_mailbox_buf[2] = (void *) >> + ipi_mailbox_buf[2] = (void __iomem *) >> (SMP_CORE_GROUP0_BASE + SMP_CORE2_OFFSET + BUF); >> - ipi_mailbox_buf[3] = (void *) >> + ipi_mailbox_buf[3] = (void __iomem *) >> (SMP_CORE_GROUP0_BASE + SMP_CORE3_OFFSET + BUF); >> - ipi_mailbox_buf[4] = (void *) >> + ipi_mailbox_buf[4] = (void __iomem *) >> (SMP_CORE_GROUP1_BASE + SMP_CORE0_OFFSET + BUF); >> - ipi_mailbox_buf[5] = (void *) >> + ipi_mailbox_buf[5] = (void __iomem *) >> (SMP_CORE_GROUP1_BASE + SMP_CORE1_OFFSET + BUF); >> - ipi_mailbox_buf[6] = (void *) >> + ipi_mailbox_buf[6] = (void __iomem *) >> (SMP_CORE_GROUP1_BASE + SMP_CORE2_OFFSET + BUF); >> - ipi_mailbox_buf[7] = (void *) >> + ipi_mailbox_buf[7] = (void __iomem *) >> (SMP_CORE_GROUP1_BASE + SMP_CORE3_OFFSET + BUF); >> - ipi_mailbox_buf[8] = (void *) >> + ipi_mailbox_buf[8] = (void __iomem *) >> (SMP_CORE_GROUP2_BASE + SMP_CORE0_OFFSET + BUF); >> - ipi_mailbox_buf[9] = (void *) >> + ipi_mailbox_buf[9] = (void __iomem *) >> (SMP_CORE_GROUP2_BASE + SMP_CORE1_OFFSET + BUF); >> - ipi_mailbox_buf[10] = (void *) >> + ipi_mailbox_buf[10] = (void __iomem *) >> (SMP_CORE_GROUP2_BASE + SMP_CORE2_OFFSET + BUF); >> - ipi_mailbox_buf[11] = (void *) >> + ipi_mailbox_buf[11] = (void __iomem *) >> (SMP_CORE_GROUP2_BASE + SMP_CORE3_OFFSET + BUF); >> - ipi_mailbox_buf[12] = (void *) >> + ipi_mailbox_buf[12] = (void __iomem *) >> (SMP_CORE_GROUP3_BASE + SMP_CORE0_OFFSET + BUF); >> - ipi_mailbox_buf[13] = (void *) >> + ipi_mailbox_buf[13] = (void __iomem *) >> (SMP_CORE_GROUP3_BASE + SMP_CORE1_OFFSET + BUF); >> - ipi_mailbox_buf[14] = (void *) >> + ipi_mailbox_buf[14] = (void __iomem *) >> (SMP_CORE_GROUP3_BASE + SMP_CORE2_OFFSET + BUF); >> - ipi_mailbox_buf[15] = (void *) >> + ipi_mailbox_buf[15] = (void __iomem *) >> (SMP_CORE_GROUP3_BASE + SMP_CORE3_OFFSET + BUF); >> } > > OK up to here, > >> @@ -782,7 +782,7 @@ void play_dead(void) >> >> if (prid_imp == PRID_IMP_LOONGSON_64G) { >> play_dead_at_ckseg1 = >> - (void *)CKSEG1ADDR((unsigned long)loongson3_type3_play_dead); >> + (void __iomem *)CKSEG1ADDR((unsigned long)loongson3_type3_play_dead); > > but these changes look dubious. Oops, will fix later. Thanks > >> goto out; >> } >> >> @@ -790,19 +790,19 @@ void play_dead(void) >> case PRID_REV_LOONGSON3A_R1: >> default: >> play_dead_at_ckseg1 = >> - (void *)CKSEG1ADDR((unsigned long)loongson3_type1_play_dead); >> + (void __iomem *)CKSEG1ADDR((unsigned long)loongson3_type1_play_dead); >> break; >> case PRID_REV_LOONGSON3B_R1: >> case PRID_REV_LOONGSON3B_R2: >> play_dead_at_ckseg1 = >> - (void *)CKSEG1ADDR((unsigned long)loongson3_type2_play_dead); >> + (void __iomem *)CKSEG1ADDR((unsigned long)loongson3_type2_play_dead); >> break; >> case PRID_REV_LOONGSON3A_R2_0: >> case PRID_REV_LOONGSON3A_R2_1: >> case PRID_REV_LOONGSON3A_R3_0: >> case PRID_REV_LOONGSON3A_R3_1: >> play_dead_at_ckseg1 = >> - (void *)CKSEG1ADDR((unsigned long)loongson3_type3_play_dead); >> + (void __iomem *)CKSEG1ADDR((unsigned long)loongson3_type3_play_dead); >> break; >> } >> -- - Jiaxun