Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
c83d1280
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c83d1280
编写于
8月 14, 2008
作者:
I
Ingo Molnar
浏览文件
操作
浏览文件
下载
差异文件
Merge branches 'x86/prototypes', 'x86/x2apic' and 'x86/debug' into x86/core
上级
51ca3c67
8d7ccaa5
8067794b
a677f58a
变更
42
显示空白变更内容
内联
并排
Showing
42 changed file
with
192 addition
and
20 deletion
+192
-20
arch/x86/kernel/cpu/mtrr/main.c
arch/x86/kernel/cpu/mtrr/main.c
+1
-1
arch/x86/kernel/entry_64.S
arch/x86/kernel/entry_64.S
+2
-2
arch/x86/kernel/genx2apic_uv_x.c
arch/x86/kernel/genx2apic_uv_x.c
+1
-0
arch/x86/kernel/io_apic_32.c
arch/x86/kernel/io_apic_32.c
+4
-4
arch/x86/kernel/ioport.c
arch/x86/kernel/ioport.c
+1
-0
arch/x86/kernel/ipi.c
arch/x86/kernel/ipi.c
+2
-1
arch/x86/kernel/ldt.c
arch/x86/kernel/ldt.c
+1
-0
arch/x86/kernel/process_32.c
arch/x86/kernel/process_32.c
+2
-0
arch/x86/kernel/process_64.c
arch/x86/kernel/process_64.c
+1
-0
arch/x86/kernel/ptrace.c
arch/x86/kernel/ptrace.c
+1
-1
arch/x86/kernel/setup_percpu.c
arch/x86/kernel/setup_percpu.c
+8
-1
arch/x86/kernel/signal_32.c
arch/x86/kernel/signal_32.c
+1
-0
arch/x86/kernel/signal_64.c
arch/x86/kernel/signal_64.c
+1
-0
arch/x86/kernel/smpboot.c
arch/x86/kernel/smpboot.c
+2
-2
arch/x86/kernel/sys_i386_32.c
arch/x86/kernel/sys_i386_32.c
+2
-0
arch/x86/kernel/sys_x86_64.c
arch/x86/kernel/sys_x86_64.c
+1
-0
arch/x86/kernel/time_32.c
arch/x86/kernel/time_32.c
+1
-0
arch/x86/kernel/tls.c
arch/x86/kernel/tls.c
+1
-0
arch/x86/kernel/vm86_32.c
arch/x86/kernel/vm86_32.c
+1
-0
arch/x86/mach-default/setup.c
arch/x86/mach-default/setup.c
+3
-1
arch/x86/mm/fault.c
arch/x86/mm/fault.c
+1
-2
arch/x86/mm/init_32.c
arch/x86/mm/init_32.c
+1
-0
arch/x86/mm/ioremap.c
arch/x86/mm/ioremap.c
+2
-2
include/asm-x86/apic.h
include/asm-x86/apic.h
+5
-0
include/asm-x86/e820.h
include/asm-x86/e820.h
+1
-0
include/asm-x86/hw_irq.h
include/asm-x86/hw_irq.h
+20
-0
include/asm-x86/i387.h
include/asm-x86/i387.h
+1
-0
include/asm-x86/io.h
include/asm-x86/io.h
+2
-0
include/asm-x86/io_64.h
include/asm-x86/io_64.h
+0
-1
include/asm-x86/page_32.h
include/asm-x86/page_32.h
+1
-0
include/asm-x86/page_64.h
include/asm-x86/page_64.h
+1
-0
include/asm-x86/pgtable.h
include/asm-x86/pgtable.h
+2
-0
include/asm-x86/pgtable_32.h
include/asm-x86/pgtable_32.h
+1
-0
include/asm-x86/processor.h
include/asm-x86/processor.h
+4
-0
include/asm-x86/ptrace.h
include/asm-x86/ptrace.h
+3
-0
include/asm-x86/setup.h
include/asm-x86/setup.h
+1
-0
include/asm-x86/signal.h
include/asm-x86/signal.h
+3
-0
include/asm-x86/smp.h
include/asm-x86/smp.h
+3
-1
include/asm-x86/syscalls.h
include/asm-x86/syscalls.h
+93
-0
include/asm-x86/time.h
include/asm-x86/time.h
+2
-0
include/asm-x86/timer.h
include/asm-x86/timer.h
+4
-1
include/asm-x86/traps.h
include/asm-x86/traps.h
+4
-0
未找到文件。
arch/x86/kernel/cpu/mtrr/main.c
浏览文件 @
c83d1280
...
...
@@ -729,7 +729,7 @@ struct var_mtrr_range_state {
mtrr_type
type
;
};
struct
var_mtrr_range_state
__initdata
range_state
[
RANGE_NUM
];
st
atic
st
ruct
var_mtrr_range_state
__initdata
range_state
[
RANGE_NUM
];
static
int
__initdata
debug_print
;
static
int
__init
...
...
arch/x86/kernel/entry_64.S
浏览文件 @
c83d1280
...
...
@@ -275,9 +275,9 @@ ENTRY(native_usergs_sysret64)
ENTRY
(
ret_from_fork
)
CFI_DEFAULT_STACK
push
kernel_eflags
(%
rip
)
CFI_ADJUST_CFA_OFFSET
4
CFI_ADJUST_CFA_OFFSET
8
popf
#
reset
kernel
eflags
CFI_ADJUST_CFA_OFFSET
-
4
CFI_ADJUST_CFA_OFFSET
-
8
call
schedule_tail
GET_THREAD_INFO
(%
rcx
)
testl
$
(
_TIF_SYSCALL_TRACE
|
_TIF_SYSCALL_AUDIT
),
TI_flags
(%
rcx
)
...
...
arch/x86/kernel/genx2apic_uv_x.c
浏览文件 @
c83d1280
...
...
@@ -54,6 +54,7 @@ int is_uv_system(void)
{
return
uv_system_type
!=
UV_NONE
;
}
EXPORT_SYMBOL_GPL
(
is_uv_system
);
DEFINE_PER_CPU
(
struct
uv_hub_info_s
,
__uv_hub_info
);
EXPORT_PER_CPU_SYMBOL_GPL
(
__uv_hub_info
);
...
...
arch/x86/kernel/io_apic_32.c
浏览文件 @
c83d1280
...
...
@@ -1483,6 +1483,7 @@ static void print_APIC_bitfield(int base)
void /*__init*/ print_local_APIC(void *dummy)
{
unsigned int v, ver, maxlvt;
u64 icr;
if (apic_verbosity == APIC_QUIET)
return;
...
...
@@ -1533,10 +1534,9 @@ void /*__init*/ print_local_APIC(void *dummy)
printk(KERN_DEBUG "... APIC ESR: %08x\n", v);
}
v = apic_read(APIC_ICR);
printk(KERN_DEBUG "... APIC ICR: %08x\n", v);
v = apic_read(APIC_ICR2);
printk(KERN_DEBUG "... APIC ICR2: %08x\n", v);
icr = apic_icr_read();
printk(KERN_DEBUG "... APIC ICR: %08x\n", icr);
printk(KERN_DEBUG "... APIC ICR2: %08x\n", icr >> 32);
v = apic_read(APIC_LVTT);
printk(KERN_DEBUG "... APIC LVTT: %08x\n", v);
...
...
arch/x86/kernel/ioport.c
浏览文件 @
c83d1280
...
...
@@ -14,6 +14,7 @@
#include <linux/slab.h>
#include <linux/thread_info.h>
#include <linux/syscalls.h>
#include <asm/syscalls.h>
/* Set EXTENT bits starting at BASE in BITMAP to value TURN_ON. */
static
void
set_bitmap
(
unsigned
long
*
bitmap
,
unsigned
int
base
,
...
...
arch/x86/kernel/ipi.c
浏览文件 @
c83d1280
...
...
@@ -20,6 +20,8 @@
#ifdef CONFIG_X86_32
#include <mach_apic.h>
#include <mach_ipi.h>
/*
* the following functions deal with sending IPIs between CPUs.
*
...
...
@@ -147,7 +149,6 @@ void send_IPI_mask_sequence(cpumask_t mask, int vector)
}
/* must come after the send_IPI functions above for inlining */
#include <mach_ipi.h>
static
int
convert_apicid_to_cpu
(
int
apic_id
)
{
int
i
;
...
...
arch/x86/kernel/ldt.c
浏览文件 @
c83d1280
...
...
@@ -18,6 +18,7 @@
#include <asm/ldt.h>
#include <asm/desc.h>
#include <asm/mmu_context.h>
#include <asm/syscalls.h>
#ifdef CONFIG_SMP
static
void
flush_ldt
(
void
*
current_mm
)
...
...
arch/x86/kernel/process_32.c
浏览文件 @
c83d1280
...
...
@@ -55,6 +55,8 @@
#include <asm/tlbflush.h>
#include <asm/cpu.h>
#include <asm/kdebug.h>
#include <asm/syscalls.h>
#include <asm/smp.h>
asmlinkage
void
ret_from_fork
(
void
)
__asm__
(
"ret_from_fork"
);
...
...
arch/x86/kernel/process_64.c
浏览文件 @
c83d1280
...
...
@@ -51,6 +51,7 @@
#include <asm/proto.h>
#include <asm/ia32.h>
#include <asm/idle.h>
#include <asm/syscalls.h>
asmlinkage
extern
void
ret_from_fork
(
void
);
...
...
arch/x86/kernel/ptrace.c
浏览文件 @
c83d1280
...
...
@@ -69,7 +69,7 @@ static inline bool invalid_selector(u16 value)
#define FLAG_MASK FLAG_MASK_32
static
long
*
pt_regs_access
(
struct
pt_regs
*
regs
,
unsigned
long
regno
)
static
unsigned
long
*
pt_regs_access
(
struct
pt_regs
*
regs
,
unsigned
long
regno
)
{
BUILD_BUG_ON
(
offsetof
(
struct
pt_regs
,
bx
)
!=
0
);
regno
>>=
2
;
...
...
arch/x86/kernel/setup_percpu.c
浏览文件 @
c83d1280
...
...
@@ -162,9 +162,16 @@ void __init setup_per_cpu_areas(void)
printk
(
KERN_INFO
"cpu %d has no node %d or node-local memory
\n
"
,
cpu
,
node
);
if
(
ptr
)
printk
(
KERN_DEBUG
"per cpu data for cpu%d at %016lx
\n
"
,
cpu
,
__pa
(
ptr
));
}
else
else
{
ptr
=
alloc_bootmem_pages_node
(
NODE_DATA
(
node
),
size
);
if
(
ptr
)
printk
(
KERN_DEBUG
"per cpu data for cpu%d on node%d at %016lx
\n
"
,
cpu
,
node
,
__pa
(
ptr
));
}
#endif
per_cpu_offset
(
cpu
)
=
ptr
-
__per_cpu_start
;
memcpy
(
ptr
,
__per_cpu_start
,
__per_cpu_end
-
__per_cpu_start
);
...
...
arch/x86/kernel/signal_32.c
浏览文件 @
c83d1280
...
...
@@ -26,6 +26,7 @@
#include <asm/uaccess.h>
#include <asm/i387.h>
#include <asm/vdso.h>
#include <asm/syscalls.h>
#include "sigframe.h"
...
...
arch/x86/kernel/signal_64.c
浏览文件 @
c83d1280
...
...
@@ -26,6 +26,7 @@
#include <asm/proto.h>
#include <asm/ia32_unistd.h>
#include <asm/mce.h>
#include <asm/syscalls.h>
#include "sigframe.h"
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
...
...
arch/x86/kernel/smpboot.c
浏览文件 @
c83d1280
...
...
@@ -88,7 +88,7 @@ static DEFINE_PER_CPU(struct task_struct *, idle_thread_array);
#define get_idle_for_cpu(x) (per_cpu(idle_thread_array, x))
#define set_idle_for_cpu(x, p) (per_cpu(idle_thread_array, x) = (p))
#else
struct
task_struct
*
idle_thread_array
[
NR_CPUS
]
__cpuinitdata
;
st
atic
st
ruct
task_struct
*
idle_thread_array
[
NR_CPUS
]
__cpuinitdata
;
#define get_idle_for_cpu(x) (idle_thread_array[(x)])
#define set_idle_for_cpu(x, p) (idle_thread_array[(x)] = (p))
#endif
...
...
@@ -128,7 +128,7 @@ static atomic_t init_deasserted;
static
cpumask_t
cpu_sibling_setup_map
;
/* Set if we find a B stepping CPU */
int
__cpuinitdata
smp_b_stepping
;
static
int
__cpuinitdata
smp_b_stepping
;
#if defined(CONFIG_NUMA) && defined(CONFIG_X86_32)
...
...
arch/x86/kernel/sys_i386_32.c
浏览文件 @
c83d1280
...
...
@@ -22,6 +22,8 @@
#include <linux/uaccess.h>
#include <linux/unistd.h>
#include <asm/syscalls.h>
asmlinkage
long
sys_mmap2
(
unsigned
long
addr
,
unsigned
long
len
,
unsigned
long
prot
,
unsigned
long
flags
,
unsigned
long
fd
,
unsigned
long
pgoff
)
...
...
arch/x86/kernel/sys_x86_64.c
浏览文件 @
c83d1280
...
...
@@ -16,6 +16,7 @@
#include <asm/uaccess.h>
#include <asm/ia32.h>
#include <asm/syscalls.h>
asmlinkage
long
sys_mmap
(
unsigned
long
addr
,
unsigned
long
len
,
unsigned
long
prot
,
unsigned
long
flags
,
unsigned
long
fd
,
unsigned
long
off
)
...
...
arch/x86/kernel/time_32.c
浏览文件 @
c83d1280
...
...
@@ -36,6 +36,7 @@
#include <asm/arch_hooks.h>
#include <asm/hpet.h>
#include <asm/time.h>
#include <asm/timer.h>
#include "do_timer.h"
...
...
arch/x86/kernel/tls.c
浏览文件 @
c83d1280
...
...
@@ -10,6 +10,7 @@
#include <asm/ldt.h>
#include <asm/processor.h>
#include <asm/proto.h>
#include <asm/syscalls.h>
#include "tls.h"
...
...
arch/x86/kernel/vm86_32.c
浏览文件 @
c83d1280
...
...
@@ -46,6 +46,7 @@
#include <asm/io.h>
#include <asm/tlbflush.h>
#include <asm/irq.h>
#include <asm/syscalls.h>
/*
* Known problems:
...
...
arch/x86/mach-default/setup.c
浏览文件 @
c83d1280
...
...
@@ -10,13 +10,15 @@
#include <asm/e820.h>
#include <asm/setup.h>
#include <mach_ipi.h>
#ifdef CONFIG_HOTPLUG_CPU
#define DEFAULT_SEND_IPI (1)
#else
#define DEFAULT_SEND_IPI (0)
#endif
int
no_broadcast
=
DEFAULT_SEND_IPI
;
int
no_broadcast
=
DEFAULT_SEND_IPI
;
/**
* pre_intr_init_hook - initialisation prior to setting up interrupt vectors
...
...
arch/x86/mm/fault.c
浏览文件 @
c83d1280
...
...
@@ -35,6 +35,7 @@
#include <asm/tlbflush.h>
#include <asm/proto.h>
#include <asm-generic/sections.h>
#include <asm/traps.h>
/*
* Page fault error code bits
...
...
@@ -357,8 +358,6 @@ static int is_errata100(struct pt_regs *regs, unsigned long address)
return
0
;
}
void
do_invalid_op
(
struct
pt_regs
*
,
unsigned
long
);
static
int
is_f00f_bug
(
struct
pt_regs
*
regs
,
unsigned
long
address
)
{
#ifdef CONFIG_X86_F00F_BUG
...
...
arch/x86/mm/init_32.c
浏览文件 @
c83d1280
...
...
@@ -47,6 +47,7 @@
#include <asm/paravirt.h>
#include <asm/setup.h>
#include <asm/cacheflush.h>
#include <asm/smp.h>
unsigned
int
__VMALLOC_RESERVE
=
128
<<
20
;
...
...
arch/x86/mm/ioremap.c
浏览文件 @
c83d1280
...
...
@@ -421,7 +421,7 @@ void unxlate_dev_mem_ptr(unsigned long phys, void *addr)
return
;
}
int
__initdata
early_ioremap_debug
;
static
int
__initdata
early_ioremap_debug
;
static
int
__init
early_ioremap_debug_setup
(
char
*
str
)
{
...
...
@@ -547,7 +547,7 @@ static inline void __init early_clear_fixmap(enum fixed_addresses idx)
}
int
__initdata
early_ioremap_nested
;
static
int
__initdata
early_ioremap_nested
;
static
int
__init
check_early_ioremap_leak
(
void
)
{
...
...
include/asm-x86/apic.h
浏览文件 @
c83d1280
...
...
@@ -54,6 +54,11 @@ extern int disable_apic;
#endif
extern
int
is_vsmp_box
(
void
);
extern
void
xapic_wait_icr_idle
(
void
);
extern
u32
safe_xapic_wait_icr_idle
(
void
);
extern
u64
xapic_icr_read
(
void
);
extern
void
xapic_icr_write
(
u32
,
u32
);
extern
int
setup_profiling_timer
(
unsigned
int
);
static
inline
void
native_apic_mem_write
(
u32
reg
,
u32
v
)
{
...
...
include/asm-x86/e820.h
浏览文件 @
c83d1280
...
...
@@ -64,6 +64,7 @@ struct e820map {
extern
struct
e820map
e820
;
extern
struct
e820map
e820_saved
;
extern
unsigned
long
pci_mem_start
;
extern
int
e820_any_mapped
(
u64
start
,
u64
end
,
unsigned
type
);
extern
int
e820_all_mapped
(
u64
start
,
u64
end
,
unsigned
type
);
extern
void
e820_add_region
(
u64
start
,
u64
size
,
int
type
);
...
...
include/asm-x86/hw_irq.h
浏览文件 @
c83d1280
...
...
@@ -95,6 +95,26 @@ extern asmlinkage void qic_reschedule_interrupt(void);
extern
asmlinkage
void
qic_enable_irq_interrupt
(
void
);
extern
asmlinkage
void
qic_call_function_interrupt
(
void
);
/* SMP */
extern
void
smp_apic_timer_interrupt
(
struct
pt_regs
*
);
#ifdef CONFIG_X86_32
extern
void
smp_spurious_interrupt
(
struct
pt_regs
*
);
extern
void
smp_error_interrupt
(
struct
pt_regs
*
);
#else
extern
asmlinkage
void
smp_spurious_interrupt
(
void
);
extern
asmlinkage
void
smp_error_interrupt
(
void
);
#endif
#ifdef CONFIG_X86_SMP
extern
void
smp_reschedule_interrupt
(
struct
pt_regs
*
);
extern
void
smp_call_function_interrupt
(
struct
pt_regs
*
);
extern
void
smp_call_function_single_interrupt
(
struct
pt_regs
*
);
#ifdef CONFIG_X86_32
extern
void
smp_invalidate_interrupt
(
struct
pt_regs
*
);
#else
extern
asmlinkage
void
smp_invalidate_interrupt
(
struct
pt_regs
*
);
#endif
#endif
#ifdef CONFIG_X86_32
extern
void
(
*
const
interrupt
[
NR_IRQS
])(
void
);
#else
...
...
include/asm-x86/i387.h
浏览文件 @
c83d1280
...
...
@@ -25,6 +25,7 @@ extern void mxcsr_feature_mask_init(void);
extern
int
init_fpu
(
struct
task_struct
*
child
);
extern
asmlinkage
void
math_state_restore
(
void
);
extern
void
init_thread_xstate
(
void
);
extern
int
dump_fpu
(
struct
pt_regs
*
,
struct
user_i387_struct
*
);
extern
user_regset_active_fn
fpregs_active
,
xfpregs_active
;
extern
user_regset_get_fn
fpregs_get
,
xfpregs_get
,
fpregs_soft_get
;
...
...
include/asm-x86/io.h
浏览文件 @
c83d1280
...
...
@@ -73,6 +73,8 @@ build_mmio_write(__writeq, "q", unsigned long, "r", )
#define writeq writeq
#endif
extern
int
iommu_bio_merge
;
#ifdef CONFIG_X86_32
# include "io_32.h"
#else
...
...
include/asm-x86/io_64.h
浏览文件 @
c83d1280
...
...
@@ -235,7 +235,6 @@ void memset_io(volatile void __iomem *a, int b, size_t c);
#define flush_write_buffers()
extern
int
iommu_bio_merge
;
#define BIO_VMERGE_BOUNDARY iommu_bio_merge
/*
...
...
include/asm-x86/page_32.h
浏览文件 @
c83d1280
...
...
@@ -96,6 +96,7 @@ extern void find_low_pfn_range(void);
extern
unsigned
long
init_memory_mapping
(
unsigned
long
start
,
unsigned
long
end
);
extern
void
initmem_init
(
unsigned
long
,
unsigned
long
);
extern
void
free_initmem
(
void
);
extern
void
setup_bootmem_allocator
(
void
);
...
...
include/asm-x86/page_64.h
浏览文件 @
c83d1280
...
...
@@ -91,6 +91,7 @@ extern unsigned long init_memory_mapping(unsigned long start,
unsigned
long
end
);
extern
void
initmem_init
(
unsigned
long
start_pfn
,
unsigned
long
end_pfn
);
extern
void
free_initmem
(
void
);
extern
void
init_extra_mapping_uc
(
unsigned
long
phys
,
unsigned
long
size
);
extern
void
init_extra_mapping_wb
(
unsigned
long
phys
,
unsigned
long
size
);
...
...
include/asm-x86/pgtable.h
浏览文件 @
c83d1280
...
...
@@ -313,6 +313,8 @@ static inline void native_pagetable_setup_start(pgd_t *base) {}
static
inline
void
native_pagetable_setup_done
(
pgd_t
*
base
)
{}
#endif
extern
int
arch_report_meminfo
(
char
*
page
);
#ifdef CONFIG_PARAVIRT
#include <asm/paravirt.h>
#else
/* !CONFIG_PARAVIRT */
...
...
include/asm-x86/pgtable_32.h
浏览文件 @
c83d1280
...
...
@@ -31,6 +31,7 @@ static inline void pgtable_cache_init(void) { }
static
inline
void
check_pgt_cache
(
void
)
{
}
void
paging_init
(
void
);
extern
void
set_pmd_pfn
(
unsigned
long
,
unsigned
long
,
pgprot_t
);
/*
* The Linux x86 paging architecture is 'compile-time dual-mode', it
...
...
include/asm-x86/processor.h
浏览文件 @
c83d1280
...
...
@@ -140,6 +140,8 @@ DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info);
#define current_cpu_data boot_cpu_data
#endif
extern
const
struct
seq_operations
cpuinfo_op
;
static
inline
int
hlt_works
(
int
cpu
)
{
#ifdef CONFIG_X86_32
...
...
@@ -153,6 +155,8 @@ static inline int hlt_works(int cpu)
extern
void
cpu_detect
(
struct
cpuinfo_x86
*
c
);
extern
struct
pt_regs
*
idle_regs
(
struct
pt_regs
*
);
extern
void
early_cpu_init
(
void
);
extern
void
identify_boot_cpu
(
void
);
extern
void
identify_secondary_cpu
(
struct
cpuinfo_x86
*
);
...
...
include/asm-x86/ptrace.h
浏览文件 @
c83d1280
...
...
@@ -148,6 +148,9 @@ extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
void
signal_fault
(
struct
pt_regs
*
regs
,
void
__user
*
frame
,
char
*
where
);
#endif
extern
long
syscall_trace_enter
(
struct
pt_regs
*
);
extern
void
syscall_trace_leave
(
struct
pt_regs
*
);
static
inline
unsigned
long
regs_return_value
(
struct
pt_regs
*
regs
)
{
return
regs
->
ax
;
...
...
include/asm-x86/setup.h
浏览文件 @
c83d1280
...
...
@@ -42,6 +42,7 @@ struct x86_quirks {
};
extern
struct
x86_quirks
*
x86_quirks
;
extern
unsigned
long
saved_video_mode
;
#ifndef CONFIG_PARAVIRT
#define paravirt_post_allocator_init() do {} while (0)
...
...
include/asm-x86/signal.h
浏览文件 @
c83d1280
...
...
@@ -140,6 +140,9 @@ struct sigaction {
struct
k_sigaction
{
struct
sigaction
sa
;
};
extern
void
do_notify_resume
(
struct
pt_regs
*
,
void
*
,
__u32
);
# else
/* __KERNEL__ */
/* Here we must cater to libcs that poke about in kernel headers. */
...
...
include/asm-x86/smp.h
浏览文件 @
c83d1280
...
...
@@ -34,6 +34,9 @@ extern cpumask_t cpu_initialized;
DECLARE_PER_CPU
(
cpumask_t
,
cpu_sibling_map
);
DECLARE_PER_CPU
(
cpumask_t
,
cpu_core_map
);
DECLARE_PER_CPU
(
u16
,
cpu_llc_id
);
#ifdef CONFIG_X86_32
DECLARE_PER_CPU
(
int
,
cpu_number
);
#endif
DECLARE_EARLY_PER_CPU
(
u16
,
x86_cpu_to_apicid
);
DECLARE_EARLY_PER_CPU
(
u16
,
x86_bios_cpu_apicid
);
...
...
@@ -142,7 +145,6 @@ extern unsigned disabled_cpus __cpuinitdata;
* from the initial startup. We map APIC_BASE very early in page_setup(),
* so this is correct in the x86 case.
*/
DECLARE_PER_CPU
(
int
,
cpu_number
);
#define raw_smp_processor_id() (x86_read_percpu(cpu_number))
extern
int
safe_smp_processor_id
(
void
);
...
...
include/asm-x86/syscalls.h
0 → 100644
浏览文件 @
c83d1280
/*
* syscalls.h - Linux syscall interfaces (arch-specific)
*
* Copyright (c) 2008 Jaswinder Singh
*
* This file is released under the GPLv2.
* See the file COPYING for more details.
*/
#ifndef _ASM_X86_SYSCALLS_H
#define _ASM_X86_SYSCALLS_H
#include <linux/compiler.h>
#include <linux/linkage.h>
#include <linux/types.h>
#include <linux/signal.h>
/* Common in X86_32 and X86_64 */
/* kernel/ioport.c */
asmlinkage
long
sys_ioperm
(
unsigned
long
,
unsigned
long
,
int
);
/* X86_32 only */
#ifdef CONFIG_X86_32
/* kernel/process_32.c */
asmlinkage
int
sys_fork
(
struct
pt_regs
);
asmlinkage
int
sys_clone
(
struct
pt_regs
);
asmlinkage
int
sys_vfork
(
struct
pt_regs
);
asmlinkage
int
sys_execve
(
struct
pt_regs
);
/* kernel/signal_32.c */
asmlinkage
int
sys_sigsuspend
(
int
,
int
,
old_sigset_t
);
asmlinkage
int
sys_sigaction
(
int
,
const
struct
old_sigaction
__user
*
,
struct
old_sigaction
__user
*
);
asmlinkage
int
sys_sigaltstack
(
unsigned
long
);
asmlinkage
unsigned
long
sys_sigreturn
(
unsigned
long
);
asmlinkage
int
sys_rt_sigreturn
(
unsigned
long
);
/* kernel/ioport.c */
asmlinkage
long
sys_iopl
(
unsigned
long
);
/* kernel/ldt.c */
asmlinkage
int
sys_modify_ldt
(
int
,
void
__user
*
,
unsigned
long
);
/* kernel/sys_i386_32.c */
asmlinkage
long
sys_mmap2
(
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
);
struct
mmap_arg_struct
;
asmlinkage
int
old_mmap
(
struct
mmap_arg_struct
__user
*
);
struct
sel_arg_struct
;
asmlinkage
int
old_select
(
struct
sel_arg_struct
__user
*
);
asmlinkage
int
sys_ipc
(
uint
,
int
,
int
,
int
,
void
__user
*
,
long
);
struct
old_utsname
;
asmlinkage
int
sys_uname
(
struct
old_utsname
__user
*
);
struct
oldold_utsname
;
asmlinkage
int
sys_olduname
(
struct
oldold_utsname
__user
*
);
/* kernel/tls.c */
asmlinkage
int
sys_set_thread_area
(
struct
user_desc
__user
*
);
asmlinkage
int
sys_get_thread_area
(
struct
user_desc
__user
*
);
/* kernel/vm86_32.c */
asmlinkage
int
sys_vm86old
(
struct
pt_regs
);
asmlinkage
int
sys_vm86
(
struct
pt_regs
);
#else
/* CONFIG_X86_32 */
/* X86_64 only */
/* kernel/process_64.c */
asmlinkage
long
sys_fork
(
struct
pt_regs
*
);
asmlinkage
long
sys_clone
(
unsigned
long
,
unsigned
long
,
void
__user
*
,
void
__user
*
,
struct
pt_regs
*
);
asmlinkage
long
sys_vfork
(
struct
pt_regs
*
);
asmlinkage
long
sys_execve
(
char
__user
*
,
char
__user
*
__user
*
,
char
__user
*
__user
*
,
struct
pt_regs
*
);
/* kernel/ioport.c */
asmlinkage
long
sys_iopl
(
unsigned
int
,
struct
pt_regs
*
);
/* kernel/signal_64.c */
asmlinkage
long
sys_sigaltstack
(
const
stack_t
__user
*
,
stack_t
__user
*
,
struct
pt_regs
*
);
asmlinkage
long
sys_rt_sigreturn
(
struct
pt_regs
*
);
/* kernel/sys_x86_64.c */
asmlinkage
long
sys_mmap
(
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
);
struct
new_utsname
;
asmlinkage
long
sys_uname
(
struct
new_utsname
__user
*
);
#endif
/* CONFIG_X86_32 */
#endif
/* _ASM_X86_SYSCALLS_H */
include/asm-x86/time.h
浏览文件 @
c83d1280
...
...
@@ -46,6 +46,8 @@ static inline int native_set_wallclock(unsigned long nowtime)
#endif
extern
void
time_init
(
void
);
#ifdef CONFIG_PARAVIRT
#include <asm/paravirt.h>
#else
/* !CONFIG_PARAVIRT */
...
...
include/asm-x86/timer.h
浏览文件 @
c83d1280
...
...
@@ -9,9 +9,12 @@
unsigned
long
long
native_sched_clock
(
void
);
unsigned
long
native_calibrate_tsc
(
void
);
#ifdef CONFIG_X86_32
extern
int
timer_ack
;
extern
int
no_timer_check
;
extern
int
recalibrate_cpu_khz
(
void
);
#endif
/* CONFIG_X86_32 */
extern
int
no_timer_check
;
#ifndef CONFIG_PARAVIRT
#define calibrate_tsc() native_calibrate_tsc()
...
...
include/asm-x86/traps.h
浏览文件 @
c83d1280
...
...
@@ -51,6 +51,8 @@ void do_spurious_interrupt_bug(struct pt_regs *, long);
unsigned
long
patch_espfix_desc
(
unsigned
long
,
unsigned
long
);
asmlinkage
void
math_emulate
(
long
);
void
do_page_fault
(
struct
pt_regs
*
regs
,
unsigned
long
error_code
);
#else
/* CONFIG_X86_32 */
asmlinkage
void
double_fault
(
void
);
...
...
@@ -62,5 +64,7 @@ asmlinkage void do_coprocessor_error(struct pt_regs *);
asmlinkage
void
do_simd_coprocessor_error
(
struct
pt_regs
*
);
asmlinkage
void
do_spurious_interrupt_bug
(
struct
pt_regs
*
);
asmlinkage
void
do_page_fault
(
struct
pt_regs
*
regs
,
unsigned
long
error_code
);
#endif
/* CONFIG_X86_32 */
#endif
/* ASM_X86__TRAPS_H */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录