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 ) ;
2005-11-05 17:25:53 +01:00
extern void size_zones ( unsigned long * z , unsigned long * h ,
unsigned long start_pfn , unsigned long end_pfn ) ;
2005-04-16 15:20:36 -07:00
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 ) ;
extern void iommu_hole_init ( 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 ;
2005-04-16 15:20:36 -07:00
extern int numa_setup ( char * opt ) ;
extern int setup_early_printk ( char * ) ;
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 ;
extern void show_trace ( unsigned long * rsp ) ;
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 ) ;
extern void check_ioapic ( void ) ;
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
extern void gart_parse_options ( char * ) ;
extern void __init no_iommu_init ( void ) ;
2005-04-16 15:20:36 -07:00
extern unsigned long table_start , table_end ;
extern int exception_trace ;
extern int force_iommu , no_iommu ;
extern int using_apic_timer ;
extern int disable_apic ;
extern unsigned cpu_khz ;
extern int ioapic_force ;
extern int skip_ioapic_setup ;
extern int acpi_ht ;
extern int acpi_disabled ;
2006-01-11 22:44:42 +01:00
# ifdef CONFIG_GART_IOMMU
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 * ) ;
2006-02-26 04:18:46 +01:00
extern int setup_additional_cpus ( char * ) ;
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