svn commit: r208742 - head/sys/i386/include

John Baldwin jhb at FreeBSD.org
Wed Jun 2 15:09:37 UTC 2010


Author: jhb
Date: Wed Jun  2 15:09:36 2010
New Revision: 208742
URL: http://svn.freebsd.org/changeset/base/208742

Log:
  MFamd64: Add a new macro PCPU_XEN_FIELDS to hold XEN-specific per-CPU
  fields that is always included in PCPU_MD_FIELDS.  The macro is empty for
  non-XEN kernels.  This avoids duplicating non-XEN per-CPU fields in two
  places.  While here, remove several unused fields from the XEN-specific
  structure.
  
  Reviewed by:	kmacy, gibbs
  MFC after:	1 month

Modified:
  head/sys/i386/include/pcpu.h

Modified: head/sys/i386/include/pcpu.h
==============================================================================
--- head/sys/i386/include/pcpu.h	Wed Jun  2 11:21:35 2010	(r208741)
+++ head/sys/i386/include/pcpu.h	Wed Jun  2 15:09:36 2010	(r208742)
@@ -62,36 +62,20 @@ struct shadow_time_info {
 	uint32_t version;
 };
 
-
-#define	PCPU_MD_FIELDS							\
-	char	pc_monitorbuf[128] __aligned(128); /* cache line */	\
-	struct	pcpu *pc_prvspace;	/* Self-reference */		\
-	struct	pmap *pc_curpmap;					\
-	struct	i386tss pc_common_tss;					\
-	struct	segment_descriptor pc_common_tssd;			\
-	struct	segment_descriptor *pc_tss_gdt;				\
-	struct	segment_descriptor *pc_fsgs_gdt;			\
-	vm_paddr_t 	*pc_pdir_shadow;				\
-	int	pc_currentldt;						\
-	u_int   pc_acpi_id;		/* ACPI CPU id */		\
-	u_int	pc_apic_id;						\
-	int	pc_private_tss;		/* Flag indicating private tss*/\
-	u_int	pc_cmci_mask;		/* MCx banks for CMCI */	\
-        u_int     pc_cr3;		/* track cr3 for R1/R3*/	\
-        u_int     pc_pdir;                                              \
-        u_int     pc_lazypmap;                                          \
-        u_int     pc_rendezvous;                                        \
-        u_int     pc_cpuast;						\
-	uint64_t  pc_processed_system_time;				\
+#define	PCPU_XEN_FIELDS							\
+	;								\
+	u_int	pc_cr3;		/* track cr3 for R1/R3*/		\
+	vm_paddr_t *pc_pdir_shadow;					\
+	uint64_t pc_processed_system_time;				\
 	struct shadow_time_info pc_shadow_time;				\
 	int	pc_resched_irq;						\
 	int	pc_callfunc_irq;					\
-        int	pc_virq_to_irq[NR_VIRQS];				\
-	int	pc_ipi_to_irq[NR_IPIS]
-	
-
-	
+	int	pc_virq_to_irq[NR_VIRQS];				\
+	int	pc_ipi_to_irq[NR_IPIS]	
 #else
+#define PCPU_XEN_FIELDS
+#endif
+
 #define	PCPU_MD_FIELDS							\
 	char	pc_monitorbuf[128] __aligned(128); /* cache line */	\
 	struct	pcpu *pc_prvspace;	/* Self-reference */		\
@@ -105,8 +89,7 @@ struct shadow_time_info {
 	u_int	pc_apic_id;						\
 	int	pc_private_tss;		/* Flag indicating private tss*/\
 	u_int	pc_cmci_mask		/* MCx banks for CMCI */	\
-
-#endif
+	PCPU_XEN_FIELDS
 
 #ifdef _KERNEL
 


More information about the svn-src-all mailing list