svn commit: r291949 - in head/sys: amd64/include i386/i386 i386/include x86/include

Konstantin Belousov kib at FreeBSD.org
Mon Dec 7 17:41:22 UTC 2015


Author: kib
Date: Mon Dec  7 17:41:20 2015
New Revision: 291949
URL: https://svnweb.freebsd.org/changeset/base/291949

Log:
  Merge common parts of i386 and amd64 md_var.h and smp.h into
  new headers x86/include x86_var.h and x86_smp.h.
  
  Reviewed by:	emaste, jhb
  Sponsored by:	The FreeBSD Foundation
  Differential revision:	https://reviews.freebsd.org/D4358

Added:
  head/sys/x86/include/x86_smp.h
     - copied, changed from r291948, head/sys/i386/include/smp.h
  head/sys/x86/include/x86_var.h
     - copied, changed from r291948, head/sys/i386/include/md_var.h
Modified:
  head/sys/amd64/include/md_var.h
  head/sys/amd64/include/smp.h
  head/sys/i386/i386/mp_machdep.c
  head/sys/i386/include/md_var.h
  head/sys/i386/include/smp.h

Modified: head/sys/amd64/include/md_var.h
==============================================================================
--- head/sys/amd64/include/md_var.h	Mon Dec  7 17:24:55 2015	(r291948)
+++ head/sys/amd64/include/md_var.h	Mon Dec  7 17:41:20 2015	(r291949)
@@ -32,69 +32,18 @@
 #ifndef _MACHINE_MD_VAR_H_
 #define	_MACHINE_MD_VAR_H_
 
-/*
- * Miscellaneous machine-dependent declarations.
- */
-
-extern	long	Maxmem;
-extern	u_int	basemem;
-extern	int	busdma_swi_pending;
-extern	u_int	cpu_exthigh;
-extern	u_int	cpu_feature;
-extern	u_int	cpu_feature2;
-extern	u_int	amd_feature;
-extern	u_int	amd_feature2;
-extern	u_int	amd_pminfo;
-extern	u_int	via_feature_rng;
-extern	u_int	via_feature_xcrypt;
-extern	u_int	cpu_clflush_line_size;
-extern	u_int	cpu_stdext_feature;
-extern	u_int	cpu_stdext_feature2;
-extern	u_int	cpu_fxsr;
-extern	u_int	cpu_high;
-extern	u_int	cpu_id;
-extern	u_int	cpu_max_ext_state_size;
-extern	u_int	cpu_mxcsr_mask;
-extern	u_int	cpu_procinfo;
-extern	u_int	cpu_procinfo2;
-extern	char	cpu_vendor[];
-extern	u_int	cpu_vendor_id;
-extern	u_int	cpu_mon_mwait_flags;
-extern	u_int	cpu_mon_min_size;
-extern	u_int	cpu_mon_max_size;
-extern	u_int	cpu_maxphyaddr;
+#include <x86/x86_var.h>
+
 extern	char	ctx_switch_xsave[];
-extern	u_int	hv_high;
-extern	char	hv_vendor[];
-extern	char	kstack[];
-extern	char	sigcode[];
-extern	int	szsigcode;
-extern	uint64_t *vm_page_dump;
-extern	int	vm_page_dump_size;
-extern	int	workaround_erratum383;
-extern	int	_udatasel;
-extern	int	_ucodesel;
-extern	int	_ucode32sel;
-extern	int	_ufssel;
-extern	int	_ugssel;
-extern	int	use_xsave;
-extern	uint64_t xsave_mask;
+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	pcb;
+
 struct	savefpu;
-struct	thread;
-struct	reg;
-struct	fpreg;
-struct  dbreg;
-struct	dumperinfo;
 
-void	*alloc_fpusave(int flags);
+void	amd64_db_resume_dbreg(void);
 void	amd64_syscall(struct thread *td, int traced);
-void	busdma_swi(void);
-bool	cpu_mwait_usable(void);
-void	cpu_probe_amdc1e(void);
-void	cpu_setregs(void);
 void	doreti_iret(void) __asm(__STRING(doreti_iret));
 void	doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault));
 void	ld_ds(void) __asm(__STRING(ld_ds));
@@ -109,26 +58,10 @@ void	fs_load_fault(void) __asm(__STRING(
 void	gs_load_fault(void) __asm(__STRING(gs_load_fault));
 void	fsbase_load_fault(void) __asm(__STRING(fsbase_load_fault));
 void	gsbase_load_fault(void) __asm(__STRING(gsbase_load_fault));
-void	dump_add_page(vm_paddr_t);
-void	dump_drop_page(vm_paddr_t);
-void	identify_cpu(void);
-void	initializecpu(void);
-void	initializecpucache(void);
-bool	intel_fix_cpuid(void);
-void	fillw(int /*u_short*/ pat, void *base, size_t cnt);
 void	fpstate_drop(struct thread *td);
-int	is_physical_memory(vm_paddr_t addr);
-int	isa_nmi(int cd);
-void	panicifcpuunsupported(void);
-void	pagecopy(void *from, void *to);
 void	pagezero(void *addr);
-void	printcpuinfo(void);
 void	setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int ist);
-int	user_dbreg_trap(void);
-int	minidumpsys(struct dumperinfo *);
 struct savefpu *get_pcb_user_save_td(struct thread *td);
 struct savefpu *get_pcb_user_save_pcb(struct pcb *pcb);
-struct pcb *get_pcb_td(struct thread *td);
-void	amd64_db_resume_dbreg(void);
 
 #endif /* !_MACHINE_MD_VAR_H_ */

Modified: head/sys/amd64/include/smp.h
==============================================================================
--- head/sys/amd64/include/smp.h	Mon Dec  7 17:24:55 2015	(r291948)
+++ head/sys/amd64/include/smp.h	Mon Dec  7 17:41:20 2015	(r291949)
@@ -19,106 +19,25 @@
 
 #ifndef LOCORE
 
-#include <sys/bus.h>
-#include <machine/frame.h>
-#include <machine/intr_machdep.h>
-#include <x86/apicvar.h>
-#include <machine/pcb.h>
+#include <x86/x86_smp.h>
 
-struct pmap;
+extern int pmap_pcid_enabled;
+extern int invpcid_works;
 
 /* global symbols in mpboot.S */
 extern char			mptramp_start[];
 extern char			mptramp_end[];
 extern u_int32_t		mptramp_pagetables;
 
-/* global data in mp_machdep.c */
-extern int			mp_naps;
-extern int			boot_cpu_id;
-extern struct pcb		stoppcbs[];
-extern int			cpu_apic_ids[];
-extern void *dpcpu;
-extern char *bootSTK;
-extern int bootAP;
-extern void *bootstacks[];
-extern volatile u_int cpu_ipi_pending[];
-extern volatile int aps_ready;
-extern struct mtx ap_boot_mtx;
-extern int cpu_logical;
-extern int cpu_cores;
-extern int pmap_pcid_enabled;
-extern int invpcid_works;
-extern u_int xhits_gbl[];
-extern u_int xhits_pg[];
-extern u_int xhits_rng[];
-extern u_int ipi_global;
-extern u_int ipi_page;
-extern u_int ipi_range;
-extern u_int ipi_range_size;
-extern struct pmap *smp_tlb_pmap;
-
-extern volatile int smp_tlb_wait;
-
-struct cpu_info {
-	int	cpu_present:1;
-	int	cpu_bsp:1;
-	int	cpu_disabled:1;
-	int	cpu_hyperthread:1;
-};
-extern struct cpu_info cpu_info[];
-
-#ifdef COUNT_IPIS
-extern u_long *ipi_invltlb_counts[MAXCPU];
-extern u_long *ipi_invlrng_counts[MAXCPU];
-extern u_long *ipi_invlpg_counts[MAXCPU];
-extern u_long *ipi_invlcache_counts[MAXCPU];
-extern u_long *ipi_rendezvous_counts[MAXCPU];
-#endif
-
 /* IPI handlers */
 inthand_t
-	IDTVEC(invltlb),	/* TLB shootdowns - global */
 	IDTVEC(invltlb_pcid),	/* TLB shootdowns - global, pcid */
 	IDTVEC(invltlb_invpcid),/* TLB shootdowns - global, invpcid */
-	IDTVEC(invlpg),		/* TLB shootdowns - 1 page */
-	IDTVEC(invlrng),	/* TLB shootdowns - page range */
-	IDTVEC(invlcache),	/* Write back and invalidate cache */
-	IDTVEC(ipi_intr_bitmap_handler), /* Bitmap based IPIs */ 
-	IDTVEC(cpustop),	/* CPU stops & waits to be restarted */
-	IDTVEC(cpususpend),	/* CPU suspends & waits to be resumed */
-	IDTVEC(justreturn),	/* interrupt CPU with minimum overhead */
-	IDTVEC(rendezvous);	/* handle CPU rendezvous */
-
-/* functions in mp_machdep.c */
-void	assign_cpu_ids(void);
-void	cpu_add(u_int apic_id, char boot_cpu);
-void	cpustop_handler(void);
-void	cpususpend_handler(void);
-void	init_secondary_tail(void);
-void	invltlb_handler(void);
+	IDTVEC(justreturn);	/* interrupt CPU with minimum overhead */
+
 void	invltlb_pcid_handler(void);
 void	invltlb_invpcid_handler(void);
-void	invlpg_handler(void);
-void	invlrng_handler(void);
-void	invlcache_handler(void);
-void	init_secondary(void);
-void	ipi_startup(int apic_id, int vector);
-void	ipi_all_but_self(u_int ipi);
-void 	ipi_bitmap_handler(struct trapframe frame);
-void	ipi_cpu(int cpu, u_int ipi);
-int	ipi_nmi_handler(void);
-void	ipi_selected(cpuset_t cpus, u_int ipi);
-u_int	mp_bootaddress(u_int);
-void	set_interrupt_apic_ids(void);
-void	smp_cache_flush(void);
-void	smp_masked_invlpg(cpuset_t mask, vm_offset_t addr);
-void	smp_masked_invlpg_range(cpuset_t mask, vm_offset_t startva,
-	    vm_offset_t endva);
-void	smp_masked_invltlb(cpuset_t mask, struct pmap *pmap);
 int	native_start_all_aps(void);
-void	mem_range_AP_init(void);
-void	topo_probe(void);
-void	ipi_send_cpu(int cpu, u_int ipi);
 
 #endif /* !LOCORE */
 #endif /* SMP */

Modified: head/sys/i386/i386/mp_machdep.c
==============================================================================
--- head/sys/i386/i386/mp_machdep.c	Mon Dec  7 17:24:55 2015	(r291948)
+++ head/sys/i386/i386/mp_machdep.c	Mon Dec  7 17:41:20 2015	(r291949)
@@ -301,10 +301,6 @@ init_secondary(void)
 	init_secondary_tail();
 }
 
-/*******************************************************************
- * local functions and data
- */
-
 /*
  * start each AP in our list
  */

Modified: head/sys/i386/include/md_var.h
==============================================================================
--- head/sys/i386/include/md_var.h	Mon Dec  7 17:24:55 2015	(r291948)
+++ head/sys/i386/include/md_var.h	Mon Dec  7 17:41:20 2015	(r291949)
@@ -32,46 +32,12 @@
 #ifndef _MACHINE_MD_VAR_H_
 #define	_MACHINE_MD_VAR_H_
 
-/*
- * Miscellaneous machine-dependent declarations.
- */
+#include <x86/x86_var.h>
 
-extern	long	Maxmem;
-extern	u_int	basemem;	/* PA of original top of base memory */
-extern	int	busdma_swi_pending;
-extern	u_int	cpu_exthigh;
-extern	u_int	cpu_feature;
-extern	u_int	cpu_feature2;
-extern	u_int	amd_feature;
-extern	u_int	amd_feature2;
-extern	u_int	amd_pminfo;
-extern	u_int	via_feature_rng;
-extern	u_int	via_feature_xcrypt;
-extern	u_int	cpu_clflush_line_size;
-extern	u_int	cpu_stdext_feature;
-extern	u_int	cpu_stdext_feature2;
-extern	u_int	cpu_fxsr;
-extern	u_int	cpu_high;
-extern	u_int	cpu_id;
-extern	u_int	cpu_max_ext_state_size;
-extern	u_int	cpu_mxcsr_mask;
-extern	u_int	cpu_procinfo;
-extern	u_int	cpu_procinfo2;
-extern	char	cpu_vendor[];
-extern	u_int	cpu_vendor_id;
-extern	u_int	cpu_mon_mwait_flags;
-extern	u_int	cpu_mon_min_size;
-extern	u_int	cpu_mon_max_size;
-extern	u_int	cpu_maxphyaddr;
 extern	u_int	cyrix_did;
 #if defined(I586_CPU) && !defined(NO_F00F_HACK)
 extern	int	has_f00f_bug;
 #endif
-extern	u_int	hv_high;
-extern	char	hv_vendor[];
-extern	char	kstack[];
-extern	char	sigcode[];
-extern	int	szsigcode;
 #ifdef COMPAT_FREEBSD4
 extern	int	szfreebsd4_sigcode;
 #endif
@@ -79,29 +45,12 @@ extern	int	szfreebsd4_sigcode;
 extern	int	szosigcode;
 #endif
 extern	uint32_t *vm_page_dump;
-extern	int	vm_page_dump_size;
-extern	int	workaround_erratum383;
-extern	int	_udatasel;
-extern	int	_ucodesel;
-extern	int	use_xsave;
-extern	uint64_t xsave_mask;
 
 typedef void alias_for_inthand_t(u_int cs, u_int ef, u_int esp, u_int ss);
-struct	pcb;
-union	savefpu;
-struct	thread;
-struct	reg;
-struct	fpreg;
-struct  dbreg;
-struct	dumperinfo;
 struct	segment_descriptor;
+union savefpu;
 
-void	*alloc_fpusave(int flags);
 void	bcopyb(const void *from, void *to, size_t len);
-void	busdma_swi(void);
-bool	cpu_mwait_usable(void);
-void	cpu_probe_amdc1e(void);
-void	cpu_setregs(void);
 void	cpu_switch_load_gs(void) __asm(__STRING(cpu_switch_load_gs));
 void	doreti_iret(void) __asm(__STRING(doreti_iret));
 void	doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault));
@@ -111,26 +60,14 @@ void	doreti_popl_es(void) __asm(__STRING
 void	doreti_popl_es_fault(void) __asm(__STRING(doreti_popl_es_fault));
 void	doreti_popl_fs(void) __asm(__STRING(doreti_popl_fs));
 void	doreti_popl_fs_fault(void) __asm(__STRING(doreti_popl_fs_fault));
-void	dump_add_page(vm_paddr_t);
-void	dump_drop_page(vm_paddr_t);
 void	finishidentcpu(void);
-void	fillw(int /*u_short*/ pat, void *base, size_t cnt);
 void	fill_based_sd(struct segment_descriptor *sdp, uint32_t base);
-void	initializecpu(void);
-void	initializecpucache(void);
-bool	intel_fix_cpuid(void);
 void	i686_pagezero(void *addr);
 void	sse2_pagezero(void *addr);
 void	init_AMD_Elan_sc520(void);
-int	is_physical_memory(vm_paddr_t addr);
-int	isa_nmi(int cd);
 vm_paddr_t kvtop(void *addr);
-void	panicifcpuunsupported(void);
 void	ppro_reenable_apic(void);
-void	printcpuinfo(void);
 void	setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int selec);
-int     user_dbreg_trap(void);
-int	minidumpsys(struct dumperinfo *);
 union savefpu *get_pcb_user_save_td(struct thread *td);
 union savefpu *get_pcb_user_save_pcb(struct pcb *pcb);
 struct pcb *get_pcb_td(struct thread *td);

Modified: head/sys/i386/include/smp.h
==============================================================================
--- head/sys/i386/include/smp.h	Mon Dec  7 17:24:55 2015	(r291948)
+++ head/sys/i386/include/smp.h	Mon Dec  7 17:41:20 2015	(r291949)
@@ -19,6 +19,8 @@
 
 #ifndef LOCORE
 
+#include <x86/x86_smp.h>
+
 #include <sys/bus.h>
 #include <machine/frame.h>
 #include <machine/intr_machdep.h>
@@ -26,88 +28,10 @@
 #include <machine/pcb.h>
 
 /* global data in mpboot.s */
-extern int			bootMP_size;
+extern int bootMP_size;
 
 /* functions in mpboot.s */
-void	bootMP(void);
-
-/* global data in mp_machdep.c */
-extern int			mp_naps;
-extern int			boot_cpu_id;
-extern struct pcb		stoppcbs[];
-extern int			cpu_apic_ids[];
-extern int bootAP;
-extern void *dpcpu;
-extern char *bootSTK;
-extern void *bootstacks[];
-extern volatile u_int cpu_ipi_pending[];
-extern volatile int aps_ready;
-extern struct mtx ap_boot_mtx;
-extern int cpu_logical;
-extern int cpu_cores;
-extern volatile int smp_tlb_wait;
-extern u_int xhits_gbl[];
-extern u_int xhits_pg[];
-extern u_int xhits_rng[];
-extern u_int ipi_global;
-extern u_int ipi_page;
-extern u_int ipi_range;
-extern u_int ipi_range_size;
-
-struct cpu_info {
-	int	cpu_present:1;
-	int	cpu_bsp:1;
-	int	cpu_disabled:1;
-	int	cpu_hyperthread:1;
-};
-extern struct cpu_info cpu_info[];
-
-#ifdef COUNT_IPIS
-extern u_long *ipi_invltlb_counts[MAXCPU];
-extern u_long *ipi_invlrng_counts[MAXCPU];
-extern u_long *ipi_invlpg_counts[MAXCPU];
-extern u_long *ipi_invlcache_counts[MAXCPU];
-extern u_long *ipi_rendezvous_counts[MAXCPU];
-#endif
-
-/* IPI handlers */
-inthand_t
-	IDTVEC(invltlb),	/* TLB shootdowns - global */
-	IDTVEC(invlpg),		/* TLB shootdowns - 1 page */
-	IDTVEC(invlrng),	/* TLB shootdowns - page range */
-	IDTVEC(invlcache),	/* Write back and invalidate cache */
-	IDTVEC(ipi_intr_bitmap_handler), /* Bitmap based IPIs */ 
-	IDTVEC(cpustop),	/* CPU stops & waits to be restarted */
-	IDTVEC(cpususpend),	/* CPU suspends & waits to be resumed */
-	IDTVEC(rendezvous);	/* handle CPU rendezvous */
-
-/* functions in mp_machdep.c */
-void	assign_cpu_ids(void);
-void	cpu_add(u_int apic_id, char boot_cpu);
-void	cpustop_handler(void);
-void	cpususpend_handler(void);
-void	init_secondary_tail(void);
-void	invltlb_handler(void);
-void	invlpg_handler(void);
-void	invlrng_handler(void);
-void	invlcache_handler(void);
-void	init_secondary(void);
-void	ipi_startup(int apic_id, int vector);
-void	ipi_all_but_self(u_int ipi);
-void 	ipi_bitmap_handler(struct trapframe frame);
-void	ipi_cpu(int cpu, u_int ipi);
-int	ipi_nmi_handler(void);
-void	ipi_selected(cpuset_t cpus, u_int ipi);
-u_int	mp_bootaddress(u_int);
-void	set_interrupt_apic_ids(void);
-void	smp_cache_flush(void);
-void	smp_masked_invlpg(cpuset_t mask, vm_offset_t addr);
-void	smp_masked_invlpg_range(cpuset_t mask, vm_offset_t startva,
-	    vm_offset_t endva);
-void	smp_masked_invltlb(cpuset_t mask, struct pmap *pmap);
-void	mem_range_AP_init(void);
-void	topo_probe(void);
-void	ipi_send_cpu(int cpu, u_int ipi);
+void bootMP(void);
 
 #endif /* !LOCORE */
 #endif /* SMP */

Copied and modified: head/sys/x86/include/x86_smp.h (from r291948, head/sys/i386/include/smp.h)
==============================================================================
--- head/sys/i386/include/smp.h	Mon Dec  7 17:24:55 2015	(r291948, copy source)
+++ head/sys/x86/include/x86_smp.h	Mon Dec  7 17:41:20 2015	(r291949)
@@ -10,14 +10,8 @@
  *
  */
 
-#ifndef _MACHINE_SMP_H_
-#define _MACHINE_SMP_H_
-
-#ifdef _KERNEL
-
-#ifdef SMP
-
-#ifndef LOCORE
+#ifndef _X86_X86_SMP_H_
+#define	_X86_X86_SMP_H_
 
 #include <sys/bus.h>
 #include <machine/frame.h>
@@ -25,17 +19,13 @@
 #include <x86/apicvar.h>
 #include <machine/pcb.h>
 
-/* global data in mpboot.s */
-extern int			bootMP_size;
+struct pmap;
 
-/* functions in mpboot.s */
-void	bootMP(void);
-
-/* global data in mp_machdep.c */
-extern int			mp_naps;
-extern int			boot_cpu_id;
-extern struct pcb		stoppcbs[];
-extern int			cpu_apic_ids[];
+/* global data in mp_x86.c */
+extern int mp_naps;
+extern int boot_cpu_id;
+extern struct pcb stoppcbs[];
+extern int cpu_apic_ids[];
 extern int bootAP;
 extern void *dpcpu;
 extern char *bootSTK;
@@ -46,6 +36,7 @@ extern struct mtx ap_boot_mtx;
 extern int cpu_logical;
 extern int cpu_cores;
 extern volatile int smp_tlb_wait;
+extern struct pmap *smp_tlb_pmap;
 extern u_int xhits_gbl[];
 extern u_int xhits_pg[];
 extern u_int xhits_rng[];
@@ -81,7 +72,7 @@ inthand_t
 	IDTVEC(cpususpend),	/* CPU suspends & waits to be resumed */
 	IDTVEC(rendezvous);	/* handle CPU rendezvous */
 
-/* functions in mp_machdep.c */
+/* functions in x86_mp.c */
 void	assign_cpu_ids(void);
 void	cpu_add(u_int apic_id, char boot_cpu);
 void	cpustop_handler(void);
@@ -109,8 +100,4 @@ void	mem_range_AP_init(void);
 void	topo_probe(void);
 void	ipi_send_cpu(int cpu, u_int ipi);
 
-#endif /* !LOCORE */
-#endif /* SMP */
-
-#endif /* _KERNEL */
-#endif /* _MACHINE_SMP_H_ */
+#endif

Copied and modified: head/sys/x86/include/x86_var.h (from r291948, head/sys/i386/include/md_var.h)
==============================================================================
--- head/sys/i386/include/md_var.h	Mon Dec  7 17:24:55 2015	(r291948, copy source)
+++ head/sys/x86/include/x86_var.h	Mon Dec  7 17:41:20 2015	(r291949)
@@ -29,15 +29,15 @@
  * $FreeBSD$
  */
 
-#ifndef _MACHINE_MD_VAR_H_
-#define	_MACHINE_MD_VAR_H_
+#ifndef _X86_X86_VAR_H_
+#define	_X86_X86_VAR_H_
 
 /*
  * Miscellaneous machine-dependent declarations.
  */
 
 extern	long	Maxmem;
-extern	u_int	basemem;	/* PA of original top of base memory */
+extern	u_int	basemem;
 extern	int	busdma_swi_pending;
 extern	u_int	cpu_exthigh;
 extern	u_int	cpu_feature;
@@ -63,76 +63,48 @@ extern	u_int	cpu_mon_mwait_flags;
 extern	u_int	cpu_mon_min_size;
 extern	u_int	cpu_mon_max_size;
 extern	u_int	cpu_maxphyaddr;
-extern	u_int	cyrix_did;
-#if defined(I586_CPU) && !defined(NO_F00F_HACK)
-extern	int	has_f00f_bug;
-#endif
+extern	char	ctx_switch_xsave[];
 extern	u_int	hv_high;
 extern	char	hv_vendor[];
 extern	char	kstack[];
 extern	char	sigcode[];
 extern	int	szsigcode;
-#ifdef COMPAT_FREEBSD4
-extern	int	szfreebsd4_sigcode;
-#endif
-#ifdef COMPAT_43
-extern	int	szosigcode;
-#endif
-extern	uint32_t *vm_page_dump;
 extern	int	vm_page_dump_size;
 extern	int	workaround_erratum383;
 extern	int	_udatasel;
 extern	int	_ucodesel;
+extern	int	_ucode32sel;
+extern	int	_ufssel;
+extern	int	_ugssel;
 extern	int	use_xsave;
 extern	uint64_t xsave_mask;
 
-typedef void alias_for_inthand_t(u_int cs, u_int ef, u_int esp, u_int ss);
 struct	pcb;
-union	savefpu;
 struct	thread;
 struct	reg;
 struct	fpreg;
 struct  dbreg;
 struct	dumperinfo;
-struct	segment_descriptor;
 
 void	*alloc_fpusave(int flags);
-void	bcopyb(const void *from, void *to, size_t len);
 void	busdma_swi(void);
 bool	cpu_mwait_usable(void);
 void	cpu_probe_amdc1e(void);
 void	cpu_setregs(void);
-void	cpu_switch_load_gs(void) __asm(__STRING(cpu_switch_load_gs));
-void	doreti_iret(void) __asm(__STRING(doreti_iret));
-void	doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault));
-void	doreti_popl_ds(void) __asm(__STRING(doreti_popl_ds));
-void	doreti_popl_ds_fault(void) __asm(__STRING(doreti_popl_ds_fault));
-void	doreti_popl_es(void) __asm(__STRING(doreti_popl_es));
-void	doreti_popl_es_fault(void) __asm(__STRING(doreti_popl_es_fault));
-void	doreti_popl_fs(void) __asm(__STRING(doreti_popl_fs));
-void	doreti_popl_fs_fault(void) __asm(__STRING(doreti_popl_fs_fault));
 void	dump_add_page(vm_paddr_t);
 void	dump_drop_page(vm_paddr_t);
-void	finishidentcpu(void);
-void	fillw(int /*u_short*/ pat, void *base, size_t cnt);
-void	fill_based_sd(struct segment_descriptor *sdp, uint32_t base);
+void	identify_cpu(void);
 void	initializecpu(void);
 void	initializecpucache(void);
 bool	intel_fix_cpuid(void);
-void	i686_pagezero(void *addr);
-void	sse2_pagezero(void *addr);
-void	init_AMD_Elan_sc520(void);
+void	fillw(int /*u_short*/ pat, void *base, size_t cnt);
 int	is_physical_memory(vm_paddr_t addr);
 int	isa_nmi(int cd);
-vm_paddr_t kvtop(void *addr);
 void	panicifcpuunsupported(void);
-void	ppro_reenable_apic(void);
+void	pagecopy(void *from, void *to);
 void	printcpuinfo(void);
-void	setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int selec);
-int     user_dbreg_trap(void);
+int	user_dbreg_trap(void);
 int	minidumpsys(struct dumperinfo *);
-union savefpu *get_pcb_user_save_td(struct thread *td);
-union savefpu *get_pcb_user_save_pcb(struct pcb *pcb);
 struct pcb *get_pcb_td(struct thread *td);
 
-#endif /* !_MACHINE_MD_VAR_H_ */
+#endif


More information about the svn-src-head mailing list