[v2,07/15] MIPS: IP27: clean out sn/nmi.h

Message ID 534e0e7e4f2b0cc1cb35d5024192473635ed1b94.1667330271.git.nabijaczleweli@nabijaczleweli.xyz
State New
Headers
Series magic-number.rst funeral rites |

Commit Message

Ahelenia Ziemiańska Nov. 1, 2022, 11:05 p.m. UTC
  The only user is arch/mips/sgi-ip27/ip27-nmi.c; this file was imported
wholesale in 2.3.99pre9-1, and received only whitespace updates since
then.

NMI_MAGIC isn't a magic number; it's unclear if it's actually used by
the firmware in some capacity or if it's a holdover from copying the SGI
code, but in the former case it's API and in the latter it's dead cruft.

Lack of QEMU support makes this unvalidatable without the hardware,
so leave it in.

Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
---
 Documentation/process/magic-number.rst        |  1 -
 .../it_IT/process/magic-number.rst            |  1 -
 .../zh_CN/process/magic-number.rst            |  1 -
 .../zh_TW/process/magic-number.rst            |  1 -
 arch/mips/include/asm/sn/nmi.h                | 60 -------------------
 5 files changed, 64 deletions(-)
  

Comments

Thomas Bogendoerfer Nov. 4, 2022, 2:50 p.m. UTC | #1
On Wed, Nov 02, 2022 at 12:05:30AM +0100, Ahelenia Ziemiańska wrote:
> The only user is arch/mips/sgi-ip27/ip27-nmi.c; this file was imported
> wholesale in 2.3.99pre9-1, and received only whitespace updates since
> then.
> 
> NMI_MAGIC isn't a magic number; it's unclear if it's actually used by
> the firmware in some capacity or if it's a holdover from copying the SGI
> code, but in the former case it's API and in the latter it's dead cruft.

it's used by firmware and Linux code to register the NMI exception
handler. Please leave arch/mips/include/asm/sn/nmi.h untouched as
it's documents firmware NMI handler usage (even when we don't use it, yet).

Thomas.
  
Ahelenia Ziemiańska Nov. 8, 2022, 3:38 p.m. UTC | #2
On Fri, Nov 04, 2022 at 03:50:02PM +0100, Thomas Bogendoerfer wrote:
> On Wed, Nov 02, 2022 at 12:05:30AM +0100, Ahelenia Ziemiańska wrote:
> > The only user is arch/mips/sgi-ip27/ip27-nmi.c; this file was imported
> > wholesale in 2.3.99pre9-1, and received only whitespace updates since
> > then.
> > 
> > NMI_MAGIC isn't a magic number; it's unclear if it's actually used by
> > the firmware in some capacity or if it's a holdover from copying the SGI
> > code, but in the former case it's API and in the latter it's dead cruft.
> 
> it's used by firmware and Linux code to register the NMI exception
> handler.
Great, I'll put that in the message.

> Please leave arch/mips/include/asm/sn/nmi.h untouched as
> it's documents firmware NMI handler usage (even when we don't use it, yet).
"Yet".
This file appeared in 2.3.99pre9-1, and hasn't changed since.
I removed hard-coded assembly struct offsets, which we'll never use,
because we /haven't/ used them, and this part is implemented in C.
This file's my age, and these parts have been dead for just as long.

Yet.
  
Thomas Bogendoerfer Nov. 8, 2022, 4:41 p.m. UTC | #3
On Tue, Nov 08, 2022 at 04:38:20PM +0100, наб wrote:
> On Fri, Nov 04, 2022 at 03:50:02PM +0100, Thomas Bogendoerfer wrote:
> > On Wed, Nov 02, 2022 at 12:05:30AM +0100, Ahelenia Ziemiańska wrote:
> > > The only user is arch/mips/sgi-ip27/ip27-nmi.c; this file was imported
> > > wholesale in 2.3.99pre9-1, and received only whitespace updates since
> > > then.
> > > 
> > > NMI_MAGIC isn't a magic number; it's unclear if it's actually used by
> > > the firmware in some capacity or if it's a holdover from copying the SGI
> > > code, but in the former case it's API and in the latter it's dead cruft.
> > 
> > it's used by firmware and Linux code to register the NMI exception
> > handler.
> Great, I'll put that in the message.
> 
> > Please leave arch/mips/include/asm/sn/nmi.h untouched as
> > it's documents firmware NMI handler usage (even when we don't use it, yet).
> "Yet".
> This file appeared in 2.3.99pre9-1, and hasn't changed since.
> I removed hard-coded assembly struct offsets, which we'll never use,
> because we /haven't/ used them, and this part is implemented in C.
> This file's my age, and these parts have been dead for just as long.
> 
> Yet.

it might be never used, but what's the problem with them ? Those
files came from IRIX and "document" the firmware interface. And me
as the MIPS maintainer wants to keep it there.

Thomas.
  

Patch

diff --git a/Documentation/process/magic-number.rst b/Documentation/process/magic-number.rst
index 62a3a2113e7c..7dada7abc733 100644
--- a/Documentation/process/magic-number.rst
+++ b/Documentation/process/magic-number.rst
@@ -76,5 +76,4 @@  KV_MAGIC              0x5f4b565f       kernel_vars_s            ``arch/mips/incl
 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``
-NMI_MAGIC             0x48414d4d455201 nmi_s                    ``arch/mips/include/asm/sn/nmi.h``
 ===================== ================ ======================== ==========================================
diff --git a/Documentation/translations/it_IT/process/magic-number.rst b/Documentation/translations/it_IT/process/magic-number.rst
index b20a54ee6fb2..f9634a04d349 100644
--- a/Documentation/translations/it_IT/process/magic-number.rst
+++ b/Documentation/translations/it_IT/process/magic-number.rst
@@ -82,5 +82,4 @@  KV_MAGIC              0x5f4b565f       kernel_vars_s            ``arch/mips/incl
 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``
-NMI_MAGIC             0x48414d4d455201 nmi_s                    ``arch/mips/include/asm/sn/nmi.h``
 ===================== ================ ======================== ==========================================
diff --git a/Documentation/translations/zh_CN/process/magic-number.rst b/Documentation/translations/zh_CN/process/magic-number.rst
index e7781ab923f7..966b9e6b1a46 100644
--- a/Documentation/translations/zh_CN/process/magic-number.rst
+++ b/Documentation/translations/zh_CN/process/magic-number.rst
@@ -65,5 +65,4 @@  KV_MAGIC              0x5f4b565f       kernel_vars_s            ``arch/mips/incl
 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``
-NMI_MAGIC             0x48414d4d455201 nmi_s                    ``arch/mips/include/asm/sn/nmi.h``
 ===================== ================ ======================== ==========================================
diff --git a/Documentation/translations/zh_TW/process/magic-number.rst b/Documentation/translations/zh_TW/process/magic-number.rst
index 5cc0bfa97d9d..f3e87a6b3a01 100644
--- a/Documentation/translations/zh_TW/process/magic-number.rst
+++ b/Documentation/translations/zh_TW/process/magic-number.rst
@@ -68,5 +68,4 @@  KV_MAGIC              0x5f4b565f       kernel_vars_s            ``arch/mips/incl
 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``
-NMI_MAGIC             0x48414d4d455201 nmi_s                    ``arch/mips/include/asm/sn/nmi.h``
 ===================== ================ ======================== ==========================================
diff --git a/arch/mips/include/asm/sn/nmi.h b/arch/mips/include/asm/sn/nmi.h
index 12ac210f12a1..0bd9458fc804 100644
--- a/arch/mips/include/asm/sn/nmi.h
+++ b/arch/mips/include/asm/sn/nmi.h
@@ -10,8 +10,6 @@ 
 #ifndef __ASM_SN_NMI_H
 #define __ASM_SN_NMI_H
 
-#include <asm/sn/addrs.h>
-
 /*
  * The launch data structure resides at a fixed place in each node's memory
  * and is used to communicate between the master processor and the slave
@@ -29,14 +27,6 @@ 
  */
 
 #define NMI_MAGIC		0x48414d4d455201
-#define NMI_SIZEOF		0x40
-
-#define NMI_OFF_MAGIC		0x00	/* Struct offsets for assembly	    */
-#define NMI_OFF_FLAGS		0x08
-#define NMI_OFF_CALL		0x10
-#define NMI_OFF_CALLC		0x18
-#define NMI_OFF_CALLPARM	0x20
-#define NMI_OFF_GMASTER		0x28
 
 /*
  * The NMI routine is called only if the complement address is
@@ -48,8 +38,6 @@ 
  *
  */
 
-#ifndef __ASSEMBLY__
-
 typedef struct nmi_s {
 	volatile unsigned long	 magic;		/* Magic number */
 	volatile unsigned long	 flags;		/* Combination of flags above */
@@ -59,14 +47,10 @@  typedef struct nmi_s {
 	volatile unsigned long	 gmaster;	/* Flag true only on global master*/
 } nmi_t;
 
-#endif /* !__ASSEMBLY__ */
-
 /* Following definitions are needed both in the prom & the kernel
  * to identify the format of the nmi cpu register save area in the
  * low memory on each node.
  */
-#ifndef __ASSEMBLY__
-
 struct reg_struct {
 	unsigned long	gpr[32];
 	unsigned long	sr;
@@ -78,48 +62,4 @@  struct reg_struct {
 	unsigned long	nmi_sr;
 };
 
-#endif /* !__ASSEMBLY__ */
-
-/* These are the assembly language offsets into the reg_struct structure */
-
-#define R0_OFF		0x0
-#define R1_OFF		0x8
-#define R2_OFF		0x10
-#define R3_OFF		0x18
-#define R4_OFF		0x20
-#define R5_OFF		0x28
-#define R6_OFF		0x30
-#define R7_OFF		0x38
-#define R8_OFF		0x40
-#define R9_OFF		0x48
-#define R10_OFF		0x50
-#define R11_OFF		0x58
-#define R12_OFF		0x60
-#define R13_OFF		0x68
-#define R14_OFF		0x70
-#define R15_OFF		0x78
-#define R16_OFF		0x80
-#define R17_OFF		0x88
-#define R18_OFF		0x90
-#define R19_OFF		0x98
-#define R20_OFF		0xa0
-#define R21_OFF		0xa8
-#define R22_OFF		0xb0
-#define R23_OFF		0xb8
-#define R24_OFF		0xc0
-#define R25_OFF		0xc8
-#define R26_OFF		0xd0
-#define R27_OFF		0xd8
-#define R28_OFF		0xe0
-#define R29_OFF		0xe8
-#define R30_OFF		0xf0
-#define R31_OFF		0xf8
-#define SR_OFF		0x100
-#define CAUSE_OFF	0x108
-#define EPC_OFF		0x110
-#define BADVA_OFF	0x118
-#define ERROR_EPC_OFF	0x120
-#define CACHE_ERR_OFF	0x128
-#define NMISR_OFF	0x130
-
 #endif /* __ASM_SN_NMI_H */