Module Name:    src
Committed By:   maxv
Date:           Sat Feb 17 19:26:20 UTC 2018

Modified Files:
        src/sys/arch/amd64/amd64: vector.S

Log Message:
Define legacy_stubs in a macro.


To generate a diff of this commit:
cvs rdiff -u -r1.59 -r1.60 src/sys/arch/amd64/amd64/vector.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/amd64/vector.S
diff -u src/sys/arch/amd64/amd64/vector.S:1.59 src/sys/arch/amd64/amd64/vector.S:1.60
--- src/sys/arch/amd64/amd64/vector.S:1.59	Sat Feb 17 18:51:53 2018
+++ src/sys/arch/amd64/amd64/vector.S	Sat Feb 17 19:26:20 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: vector.S,v 1.59 2018/02/17 18:51:53 maxv Exp $	*/
+/*	$NetBSD: vector.S,v 1.60 2018/02/17 19:26:20 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2007, 2008 The NetBSD Foundation, Inc.
@@ -305,7 +305,7 @@ IDTVEC_END(intr_x2apic_tlb)
 #ifndef XEN
 
 /*
- * This macro defines the generic stub code. Its arguments modifiy it
+ * This macro defines the generic stub code. Its arguments modify it
  * for specific PICs.
  */
 
@@ -560,44 +560,6 @@ INTRSTUB(x2apic_level,31,voidop,x2apic_a
 
 #endif
 
-	.type _C_LABEL(legacy_stubs), @object
-LABEL(legacy_stubs)
-	.quad _C_LABEL(Xintr_legacy0), _C_LABEL(Xrecurse_legacy0)
-	.quad _C_LABEL(Xresume_legacy0)
-	.quad _C_LABEL(Xintr_legacy1), _C_LABEL(Xrecurse_legacy1)
-	.quad _C_LABEL(Xresume_legacy1)
-	.quad _C_LABEL(Xintr_legacy2), _C_LABEL(Xrecurse_legacy2)
-	.quad _C_LABEL(Xresume_legacy2)
-	.quad _C_LABEL(Xintr_legacy3), _C_LABEL(Xrecurse_legacy3)
-	.quad _C_LABEL(Xresume_legacy3)
-	.quad _C_LABEL(Xintr_legacy4), _C_LABEL(Xrecurse_legacy4)
-	.quad _C_LABEL(Xresume_legacy4)
-	.quad _C_LABEL(Xintr_legacy5), _C_LABEL(Xrecurse_legacy5)
-	.quad _C_LABEL(Xresume_legacy5)
-	.quad _C_LABEL(Xintr_legacy6), _C_LABEL(Xrecurse_legacy6)
-	.quad _C_LABEL(Xresume_legacy6)
-	.quad _C_LABEL(Xintr_legacy7), _C_LABEL(Xrecurse_legacy7)
-	.quad _C_LABEL(Xresume_legacy7)
-	.quad _C_LABEL(Xintr_legacy8), _C_LABEL(Xrecurse_legacy8)
-	.quad _C_LABEL(Xresume_legacy8)
-	.quad _C_LABEL(Xintr_legacy9), _C_LABEL(Xrecurse_legacy9)
-	.quad _C_LABEL(Xresume_legacy9)
-	.quad _C_LABEL(Xintr_legacy10), _C_LABEL(Xrecurse_legacy10)
-	.quad _C_LABEL(Xresume_legacy10)
-	.quad _C_LABEL(Xintr_legacy11), _C_LABEL(Xrecurse_legacy11)
-	.quad _C_LABEL(Xresume_legacy11)
-	.quad _C_LABEL(Xintr_legacy12), _C_LABEL(Xrecurse_legacy12)
-	.quad _C_LABEL(Xresume_legacy12)
-	.quad _C_LABEL(Xintr_legacy13), _C_LABEL(Xrecurse_legacy13)
-	.quad _C_LABEL(Xresume_legacy13)
-	.quad _C_LABEL(Xintr_legacy14), _C_LABEL(Xrecurse_legacy14)
-	.quad _C_LABEL(Xresume_legacy14)
-	.quad _C_LABEL(Xintr_legacy15), _C_LABEL(Xrecurse_legacy15)
-	.quad _C_LABEL(Xresume_legacy15)
-END(legacy_stubs)
-
-#if NIOAPIC > 0
-
 /*
  * Create a struct intrstub.
  */
@@ -606,9 +568,33 @@ END(legacy_stubs)
 	.quad _C_LABEL(Xresume_ ## name ) ;
 
 /*
- * Create an array of structs intrstub.
+ * Create an array of structs intrstub (16 entries).
+ */
+#define INTRSTUB_ARRAY_16(name) 		; \
+	.type _C_LABEL(name ## _stubs), @object	; \
+LABEL(name ## _stubs)				; \
+	INTRSTUB_ENTRY(name ## 0)		; \
+	INTRSTUB_ENTRY(name ## 1)		; \
+	INTRSTUB_ENTRY(name ## 2)		; \
+	INTRSTUB_ENTRY(name ## 3)		; \
+	INTRSTUB_ENTRY(name ## 4)		; \
+	INTRSTUB_ENTRY(name ## 5)		; \
+	INTRSTUB_ENTRY(name ## 6)		; \
+	INTRSTUB_ENTRY(name ## 7)		; \
+	INTRSTUB_ENTRY(name ## 8)		; \
+	INTRSTUB_ENTRY(name ## 9)		; \
+	INTRSTUB_ENTRY(name ## 10)		; \
+	INTRSTUB_ENTRY(name ## 11)		; \
+	INTRSTUB_ENTRY(name ## 12)		; \
+	INTRSTUB_ENTRY(name ## 13)		; \
+	INTRSTUB_ENTRY(name ## 14)		; \
+	INTRSTUB_ENTRY(name ## 15)		; \
+END(name ## _stubs)
+
+/*
+ * Create an array of structs intrstub (32 entries).
  */
-#define INTRSTUB_ARRAY(name) 			; \
+#define INTRSTUB_ARRAY_32(name) 		; \
 	.type _C_LABEL(name ## _stubs), @object	; \
 LABEL(name ## _stubs)				; \
 	INTRSTUB_ENTRY(name ## 0)		; \
@@ -645,12 +631,14 @@ LABEL(name ## _stubs)				; \
 	INTRSTUB_ENTRY(name ## 31)		; \
 END(name ## _stubs)
 
-INTRSTUB_ARRAY(ioapic_edge)
-INTRSTUB_ARRAY(ioapic_level)
+INTRSTUB_ARRAY_16(legacy)
 
-INTRSTUB_ARRAY(x2apic_edge)
-INTRSTUB_ARRAY(x2apic_level)
+#if NIOAPIC > 0
+INTRSTUB_ARRAY_32(ioapic_edge)
+INTRSTUB_ARRAY_32(ioapic_level)
 
+INTRSTUB_ARRAY_32(x2apic_edge)
+INTRSTUB_ARRAY_32(x2apic_level)
 #endif
 
 #endif /* !defined(XEN) */

Reply via email to