Author: kib
Date: Tue Mar 29 19:56:48 2016
New Revision: 297399
URL: https://svnweb.freebsd.org/changeset/base/297399

Log:
  Type of the interrupt handlers on x86 cannot be expressed in C.
  Simplify and unify placeholder type definitions.
  
  Reviewed by:  jhb
  Sponsored by: The FreeBSD Foundation
  Differential revision:        https://reviews.freebsd.org/D5771

Modified:
  head/sys/amd64/include/intr_machdep.h
  head/sys/amd64/include/md_var.h
  head/sys/i386/include/intr_machdep.h
  head/sys/i386/include/md_var.h
  head/sys/x86/include/x86_var.h

Modified: head/sys/amd64/include/intr_machdep.h
==============================================================================
--- head/sys/amd64/include/intr_machdep.h       Tue Mar 29 19:54:13 2016        
(r297398)
+++ head/sys/amd64/include/intr_machdep.h       Tue Mar 29 19:56:48 2016        
(r297399)
@@ -83,7 +83,7 @@
 
 #ifndef LOCORE
 
-typedef void inthand_t(u_int cs, u_int ef, u_int esp, u_int ss);
+typedef void inthand_t(void);
 
 #define        IDTVEC(name)    __CONCAT(X,name)
 

Modified: head/sys/amd64/include/md_var.h
==============================================================================
--- head/sys/amd64/include/md_var.h     Tue Mar 29 19:54:13 2016        
(r297398)
+++ head/sys/amd64/include/md_var.h     Tue Mar 29 19:56:48 2016        
(r297399)
@@ -36,9 +36,6 @@
 
 extern  uint64_t *vm_page_dump;
 
-/* XXX */
-typedef void alias_for_inthand_t(u_int cs, u_int ef, u_int esp, u_int ss);
-
 struct savefpu;
 
 void   amd64_db_resume_dbreg(void);

Modified: head/sys/i386/include/intr_machdep.h
==============================================================================
--- head/sys/i386/include/intr_machdep.h        Tue Mar 29 19:54:13 2016        
(r297398)
+++ head/sys/i386/include/intr_machdep.h        Tue Mar 29 19:56:48 2016        
(r297399)
@@ -83,7 +83,7 @@
 
 #ifndef LOCORE
 
-typedef void inthand_t(u_int cs, u_int ef, u_int esp, u_int ss);
+typedef void inthand_t(void);
 
 #define        IDTVEC(name)    __CONCAT(X,name)
 

Modified: head/sys/i386/include/md_var.h
==============================================================================
--- head/sys/i386/include/md_var.h      Tue Mar 29 19:54:13 2016        
(r297398)
+++ head/sys/i386/include/md_var.h      Tue Mar 29 19:56:48 2016        
(r297399)
@@ -46,7 +46,6 @@ extern        int     szosigcode;
 #endif
 extern uint32_t *vm_page_dump;
 
-typedef void alias_for_inthand_t(u_int cs, u_int ef, u_int esp, u_int ss);
 struct segment_descriptor;
 union savefpu;
 

Modified: head/sys/x86/include/x86_var.h
==============================================================================
--- head/sys/x86/include/x86_var.h      Tue Mar 29 19:54:13 2016        
(r297398)
+++ head/sys/x86/include/x86_var.h      Tue Mar 29 19:56:48 2016        
(r297399)
@@ -86,6 +86,13 @@ struct       fpreg;
 struct  dbreg;
 struct dumperinfo;
 
+/*
+ * The interface type of the interrupt handler entry point cannot be
+ * expressed in C.  Use simplest non-variadic function type as an
+ * approximation.
+ */
+typedef void alias_for_inthand_t(void);
+
 void   *alloc_fpusave(int flags);
 void   busdma_swi(void);
 bool   cpu_mwait_usable(void);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to