2005-04-16 15:20:36 -07:00
# ifndef _ASM_X8664_PROTO_H
# define _ASM_X8664_PROTO_H 1
# include <asm/ldt.h>
/* misc architecture specific prototypes */
struct cpuinfo_x86 ;
struct pt_regs ;
extern void start_kernel ( void ) ;
extern void pda_init ( int ) ;
2005-11-05 17:25:53 +01:00
extern void zap_low_mappings ( int cpu ) ;
2005-04-16 15:20:36 -07:00
extern void early_idt_handler ( void ) ;
extern void mcheck_init ( struct cpuinfo_x86 * c ) ;
2005-07-07 17:56:38 -07:00
# ifdef CONFIG_MTRR
extern void mtrr_ap_init ( void ) ;
extern void mtrr_bp_init ( void ) ;
# else
# define mtrr_ap_init() do {} while (0)
# define mtrr_bp_init() do {} while (0)
# endif
2005-04-16 15:20:36 -07:00
extern void init_memory_mapping ( unsigned long start , unsigned long end ) ;
extern void system_call ( void ) ;
extern int kernel_syscall ( void ) ;
extern void syscall_init ( void ) ;
extern void ia32_syscall ( void ) ;
extern void ia32_cstar_target ( void ) ;
extern void ia32_sysenter_target ( void ) ;
extern void config_acpi_tables ( void ) ;
extern void ia32_syscall ( void ) ;
2005-05-16 21:53:28 -07:00
extern int pmtimer_mark_offset ( void ) ;
2006-02-03 21:50:56 +01:00
extern void pmtimer_resume ( void ) ;
2006-02-03 21:51:41 +01:00
extern void pmtimer_wait ( unsigned ) ;
2005-05-16 21:53:28 -07:00
extern unsigned int do_gettimeoffset_pm ( void ) ;
2006-02-03 21:50:44 +01:00
# ifdef CONFIG_X86_PM_TIMER
2005-05-16 21:53:28 -07:00
extern u32 pmtmr_ioport ;
2006-02-03 21:50:44 +01:00
# else
# define pmtmr_ioport 0
# endif
2005-05-16 21:53:28 -07:00
extern unsigned long long monotonic_base ;
extern int sysctl_vsyscall ;
2006-02-03 21:50:50 +01:00
extern int nohpet ;
extern unsigned long vxtime_hz ;
2006-09-26 10:52:28 +02:00
extern void time_init_gtod ( void ) ;
2005-04-16 15:20:36 -07:00
extern void early_printk ( const char * fmt , . . . ) __attribute__ ( ( format ( printf , 1 , 2 ) ) ) ;
extern void early_identify_cpu ( struct cpuinfo_x86 * c ) ;
extern int k8_scan_nodes ( unsigned long start , unsigned long end ) ;
extern void numa_initmem_init ( unsigned long start_pfn , unsigned long end_pfn ) ;
extern unsigned long numa_free_all_bootmem ( void ) ;
extern void reserve_bootmem_generic ( unsigned long phys , unsigned len ) ;
extern void free_bootmem_generic ( unsigned long phys , unsigned len ) ;
extern void load_gs_index ( unsigned gs ) ;
2006-02-03 21:50:50 +01:00
extern void stop_timer_interrupt ( void ) ;
extern void main_timer_handler ( struct pt_regs * regs ) ;
2005-04-16 15:20:36 -07:00
extern unsigned long end_pfn_map ;
2006-06-26 13:57:32 +02:00
extern void show_trace ( struct task_struct * , struct pt_regs * , unsigned long * rsp ) ;
2005-04-16 15:20:36 -07:00
extern void show_registers ( struct pt_regs * regs ) ;
extern void exception_table_check ( void ) ;
extern void acpi_reserve_bootmem ( void ) ;
extern void swap_low_mappings ( void ) ;
extern void __show_regs ( struct pt_regs * regs ) ;
extern void show_regs ( struct pt_regs * regs ) ;
extern char * syscall32_page ;
extern void syscall32_cpu_init ( void ) ;
extern void setup_node_bootmem ( int nodeid , unsigned long start , unsigned long end ) ;
2006-09-26 10:52:30 +02:00
extern void early_quirks ( void ) ;
2005-04-16 15:20:36 -07:00
extern void check_efer ( void ) ;
extern int unhandled_signal ( struct task_struct * tsk , int sig ) ;
2006-01-11 22:45:15 +01:00
extern int unsynchronized_tsc ( void ) ;
2005-04-16 15:20:36 -07:00
extern void select_idle_routine ( const struct cpuinfo_x86 * c ) ;
2006-01-11 22:44:42 +01:00
2005-04-16 15:20:36 -07:00
extern unsigned long table_start , table_end ;
extern int exception_trace ;
extern unsigned cpu_khz ;
2006-06-26 13:58:11 +02:00
extern void no_iommu_init ( void ) ;
extern int force_iommu , no_iommu ;
2006-06-26 13:58:05 +02:00
extern int iommu_detected ;
2006-06-26 13:57:22 +02:00
# ifdef CONFIG_IOMMU
2006-06-26 13:58:11 +02:00
extern void gart_iommu_init ( void ) ;
extern void gart_parse_options ( char * ) ;
extern void iommu_hole_init ( void ) ;
2005-04-16 15:20:36 -07:00
extern int fallback_aper_order ;
extern int fallback_aper_force ;
extern int iommu_aperture ;
extern int iommu_aperture_allowed ;
2006-01-11 22:44:42 +01:00
extern int iommu_aperture_disabled ;
2005-04-16 15:20:36 -07:00
extern int fix_aperture ;
2006-01-11 22:44:42 +01:00
# else
# define iommu_aperture 0
# define iommu_aperture_allowed 0
# endif
2005-04-16 15:20:36 -07:00
extern int reboot_force ;
2006-02-16 23:42:07 +01:00
extern int notsc_setup ( char * ) ;
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:33 +02:00
extern int gsi_irq_sharing ( int gsi ) ;
2005-04-16 15:20:36 -07:00
extern void smp_local_timer_interrupt ( struct pt_regs * regs ) ;
long do_arch_prctl ( struct task_struct * task , int code , unsigned long addr ) ;
# define round_up(x,y) (((x) + (y) - 1) & ~((y)-1))
# define round_down(x,y) ((x) & ~((y)-1))
# endif