Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Mar 2016 19:56:48 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r297399 - in head/sys: amd64/include i386/include x86/include
Message-ID:  <201603291956.u2TJum7Z036780@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603291956.u2TJum7Z036780>