proto.h 3.7 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13
#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); 

14 15
extern void zap_low_mappings(int cpu);

L
Linus Torvalds 已提交
16 17 18
extern void early_idt_handler(void);

extern void mcheck_init(struct cpuinfo_x86 *c);
S
Shaohua Li 已提交
19 20 21 22 23 24 25
#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
L
Linus Torvalds 已提交
26
extern void init_memory_mapping(unsigned long start, unsigned long end);
A
Andi Kleen 已提交
27 28
extern void size_zones(unsigned long *z, unsigned long *h,
			unsigned long start_pfn, unsigned long end_pfn);
L
Linus Torvalds 已提交
29 30 31 32 33 34 35 36 37 38 39 40 41

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);

A
Andi Kleen 已提交
42
extern int pmtimer_mark_offset(void);
43
extern void pmtimer_resume(void);
44
extern void pmtimer_wait(unsigned);
A
Andi Kleen 已提交
45
extern unsigned int do_gettimeoffset_pm(void);
46
#ifdef CONFIG_X86_PM_TIMER
A
Andi Kleen 已提交
47
extern u32 pmtmr_ioport;
48 49 50
#else
#define pmtmr_ioport 0
#endif
A
Andi Kleen 已提交
51 52
extern unsigned long long monotonic_base;
extern int sysctl_vsyscall;
53 54
extern int nohpet;
extern unsigned long vxtime_hz;
L
Linus Torvalds 已提交
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

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);

73 74 75
extern void stop_timer_interrupt(void);
extern void main_timer_handler(struct pt_regs *regs);

L
Linus Torvalds 已提交
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
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);

100 101
extern int unsynchronized_tsc(void);

L
Linus Torvalds 已提交
102
extern void select_idle_routine(const struct cpuinfo_x86 *c);
103 104 105

extern void gart_parse_options(char *);
extern void __init no_iommu_init(void);
L
Linus Torvalds 已提交
106 107 108 109 110 111 112 113 114 115 116 117 118

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;

119
#ifdef CONFIG_IOMMU
L
Linus Torvalds 已提交
120 121 122 123
extern int fallback_aper_order;
extern int fallback_aper_force;
extern int iommu_aperture;
extern int iommu_aperture_allowed;
124
extern int iommu_aperture_disabled;
L
Linus Torvalds 已提交
125
extern int fix_aperture;
126 127 128 129
#else
#define iommu_aperture 0
#define iommu_aperture_allowed 0
#endif
L
Linus Torvalds 已提交
130 131

extern int reboot_force;
132
extern int notsc_setup(char *);
133
extern int setup_additional_cpus(char *);
L
Linus Torvalds 已提交
134 135 136 137 138 139 140 141 142

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