Re: [PATCH v3 08/15] MIPS: IP27: remove KV_MAGIC

From: Cye Borg
Date: Fri Nov 11 2022 - 00:40:43 EST


Just asking:
This code in SGI seems to help bring online other CPUs.
- Does it use the firmware to do it?
- Is there a possibility that the magic number in this case is used by
the firmware?
- If yes: do we break multiprocessing on SGI if we delete this
"useless relic", which is not referenced in the linux code elsewhere?

Best regards:
Barnabás Virágh


On Fri, Nov 11, 2022 at 2:15 AM Ahelenia Ziemiańska
<nabijaczleweli@xxxxxxxxxxxxxxxxxx> wrote:
>
> It appeared in the original import of SGI code in 2.4.0-test3pre8 and
> has never been used anywhere.
>
> Reviewed-by: Bagas Sanjaya <bagasdotme@xxxxxxxxx>
> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@xxxxxxxxxxxxxxxxxx>
> ---
> Documentation/process/magic-number.rst | 1 -
> Documentation/translations/it_IT/process/magic-number.rst | 1 -
> Documentation/translations/zh_CN/process/magic-number.rst | 1 -
> Documentation/translations/zh_TW/process/magic-number.rst | 1 -
> arch/mips/include/asm/sn/klkernvars.h | 8 ++------
> arch/mips/sgi-ip27/ip27-klnuma.c | 1 -
> 6 files changed, 2 insertions(+), 11 deletions(-)
>
> diff --git a/Documentation/process/magic-number.rst b/Documentation/process/magic-number.rst
> index 7dada7abc733..d8ffbc21872e 100644
> --- a/Documentation/process/magic-number.rst
> +++ b/Documentation/process/magic-number.rst
> @@ -72,7 +72,6 @@ APM_BIOS_MAGIC 0x4101 apm_user ``arch/x86/kerne
> FASYNC_MAGIC 0x4601 fasync_struct ``include/linux/fs.h``
> SLIP_MAGIC 0x5302 slip ``drivers/net/slip.h``
> HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state ``include/linux/hdlcdrv.h``
> -KV_MAGIC 0x5f4b565f kernel_vars_s ``arch/mips/include/asm/sn/klkernvars.h``
> CCB_MAGIC 0xf2691ad2 ccb ``drivers/scsi/ncr53c8xx.c``
> QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry ``drivers/scsi/arm/queue.c``
> QUEUE_MAGIC_USED 0xf7e1cc33 queue_entry ``drivers/scsi/arm/queue.c``
> diff --git a/Documentation/translations/it_IT/process/magic-number.rst b/Documentation/translations/it_IT/process/magic-number.rst
> index f9634a04d349..0e59704aa617 100644
> --- a/Documentation/translations/it_IT/process/magic-number.rst
> +++ b/Documentation/translations/it_IT/process/magic-number.rst
> @@ -78,7 +78,6 @@ APM_BIOS_MAGIC 0x4101 apm_user ``arch/x86/kerne
> FASYNC_MAGIC 0x4601 fasync_struct ``include/linux/fs.h``
> SLIP_MAGIC 0x5302 slip ``drivers/net/slip.h``
> HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state ``include/linux/hdlcdrv.h``
> -KV_MAGIC 0x5f4b565f kernel_vars_s ``arch/mips/include/asm/sn/klkernvars.h``
> CCB_MAGIC 0xf2691ad2 ccb ``drivers/scsi/ncr53c8xx.c``
> QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry ``drivers/scsi/arm/queue.c``
> QUEUE_MAGIC_USED 0xf7e1cc33 queue_entry ``drivers/scsi/arm/queue.c``
> diff --git a/Documentation/translations/zh_CN/process/magic-number.rst b/Documentation/translations/zh_CN/process/magic-number.rst
> index 966b9e6b1a46..17a73661ef17 100644
> --- a/Documentation/translations/zh_CN/process/magic-number.rst
> +++ b/Documentation/translations/zh_CN/process/magic-number.rst
> @@ -61,7 +61,6 @@ APM_BIOS_MAGIC 0x4101 apm_user ``arch/x86/kerne
> FASYNC_MAGIC 0x4601 fasync_struct ``include/linux/fs.h``
> SLIP_MAGIC 0x5302 slip ``drivers/net/slip.h``
> HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state ``include/linux/hdlcdrv.h``
> -KV_MAGIC 0x5f4b565f kernel_vars_s ``arch/mips/include/asm/sn/klkernvars.h``
> CCB_MAGIC 0xf2691ad2 ccb ``drivers/scsi/ncr53c8xx.c``
> QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry ``drivers/scsi/arm/queue.c``
> QUEUE_MAGIC_USED 0xf7e1cc33 queue_entry ``drivers/scsi/arm/queue.c``
> diff --git a/Documentation/translations/zh_TW/process/magic-number.rst b/Documentation/translations/zh_TW/process/magic-number.rst
> index f3e87a6b3a01..9d44d49b93bf 100644
> --- a/Documentation/translations/zh_TW/process/magic-number.rst
> +++ b/Documentation/translations/zh_TW/process/magic-number.rst
> @@ -64,7 +64,6 @@ APM_BIOS_MAGIC 0x4101 apm_user ``arch/x86/kerne
> FASYNC_MAGIC 0x4601 fasync_struct ``include/linux/fs.h``
> SLIP_MAGIC 0x5302 slip ``drivers/net/slip.h``
> HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state ``include/linux/hdlcdrv.h``
> -KV_MAGIC 0x5f4b565f kernel_vars_s ``arch/mips/include/asm/sn/klkernvars.h``
> CCB_MAGIC 0xf2691ad2 ccb ``drivers/scsi/ncr53c8xx.c``
> QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry ``drivers/scsi/arm/queue.c``
> QUEUE_MAGIC_USED 0xf7e1cc33 queue_entry ``drivers/scsi/arm/queue.c``
> diff --git a/arch/mips/include/asm/sn/klkernvars.h b/arch/mips/include/asm/sn/klkernvars.h
> index ea6b21795163..93d5eb873255 100644
> --- a/arch/mips/include/asm/sn/klkernvars.h
> +++ b/arch/mips/include/asm/sn/klkernvars.h
> @@ -6,18 +6,14 @@
> #ifndef __ASM_SN_KLKERNVARS_H
> #define __ASM_SN_KLKERNVARS_H
>
> -#define KV_MAGIC_OFFSET 0x0
> -#define KV_RO_NASID_OFFSET 0x4
> -#define KV_RW_NASID_OFFSET 0x6
> -
> -#define KV_MAGIC 0x5f4b565f
> +#define KV_RO_NASID_OFFSET 0x0
> +#define KV_RW_NASID_OFFSET 0x2
>
> #ifndef __ASSEMBLY__
>
> #include <asm/sn/types.h>
>
> typedef struct kern_vars_s {
> - int kv_magic;
> nasid_t kv_ro_nasid;
> nasid_t kv_rw_nasid;
> unsigned long kv_ro_baseaddr;
> diff --git a/arch/mips/sgi-ip27/ip27-klnuma.c b/arch/mips/sgi-ip27/ip27-klnuma.c
> index abd7a84df7dd..82bb7ac20ef8 100644
> --- a/arch/mips/sgi-ip27/ip27-klnuma.c
> +++ b/arch/mips/sgi-ip27/ip27-klnuma.c
> @@ -61,7 +61,6 @@ static __init void set_ktext_source(nasid_t client_nasid, nasid_t server_nasid)
>
> KERN_VARS_ADDR(client_nasid) = (unsigned long)kvp;
>
> - kvp->kv_magic = KV_MAGIC;
> kvp->kv_ro_nasid = server_nasid;
> kvp->kv_rw_nasid = master_nasid;
> kvp->kv_ro_baseaddr = NODE_CAC_BASE(server_nasid);
> --
> 2.30.2