Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
60916285
Commit
60916285
authored
Feb 20, 2009
by
Ingo Molnar
Browse files
Options
Browse Files
Download
Plain Diff
Merge branches 'x86/asm', 'x86/cleanups' and 'x86/headers' into x86/core
parents
3b6f7b9b
cb425afd
ecab22aa
e9ce0c37
Changes
38
Hide whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
87 additions
and
158 deletions
+87
-158
arch/x86/boot/compressed/head_32.S
arch/x86/boot/compressed/head_32.S
+4
-4
arch/x86/boot/compressed/head_64.S
arch/x86/boot/compressed/head_64.S
+4
-6
arch/x86/boot/copy.S
arch/x86/boot/copy.S
+14
-26
arch/x86/boot/header.S
arch/x86/boot/header.S
+1
-1
arch/x86/boot/pmjump.S
arch/x86/boot/pmjump.S
+5
-11
arch/x86/include/asm/io.h
arch/x86/include/asm/io.h
+8
-3
arch/x86/include/asm/linkage.h
arch/x86/include/asm/linkage.h
+4
-60
arch/x86/include/asm/page_32_types.h
arch/x86/include/asm/page_32_types.h
+0
-2
arch/x86/include/asm/page_64_types.h
arch/x86/include/asm/page_64_types.h
+0
-2
arch/x86/include/asm/page_types.h
arch/x86/include/asm/page_types.h
+0
-6
arch/x86/include/asm/pgtable-2level_types.h
arch/x86/include/asm/pgtable-2level_types.h
+2
-0
arch/x86/include/asm/pgtable-3level_types.h
arch/x86/include/asm/pgtable-3level_types.h
+2
-0
arch/x86/include/asm/pgtable_64_types.h
arch/x86/include/asm/pgtable_64_types.h
+1
-0
arch/x86/include/asm/pgtable_types.h
arch/x86/include/asm/pgtable_types.h
+6
-0
arch/x86/include/asm/processor.h
arch/x86/include/asm/processor.h
+0
-1
arch/x86/include/asm/syscalls.h
arch/x86/include/asm/syscalls.h
+1
-1
arch/x86/kernel/acpi/realmode/wakeup.S
arch/x86/kernel/acpi/realmode/wakeup.S
+2
-2
arch/x86/kernel/acpi/wakeup_32.S
arch/x86/kernel/acpi/wakeup_32.S
+1
-1
arch/x86/kernel/acpi/wakeup_64.S
arch/x86/kernel/acpi/wakeup_64.S
+2
-2
arch/x86/kernel/cpu/cpufreq/e_powersaver.c
arch/x86/kernel/cpu/cpufreq/e_powersaver.c
+3
-3
arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c
arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c
+3
-3
arch/x86/kernel/cpu/intel.c
arch/x86/kernel/cpu/intel.c
+2
-2
arch/x86/kernel/cpu/mcheck/mce_intel_64.c
arch/x86/kernel/cpu/mcheck/mce_intel_64.c
+3
-3
arch/x86/kernel/cpu/mcheck/p4.c
arch/x86/kernel/cpu/mcheck/p4.c
+2
-2
arch/x86/kernel/efi_stub_32.S
arch/x86/kernel/efi_stub_32.S
+1
-1
arch/x86/kernel/entry_32.S
arch/x86/kernel/entry_32.S
+1
-1
arch/x86/kernel/entry_64.S
arch/x86/kernel/entry_64.S
+1
-1
arch/x86/kernel/head_32.S
arch/x86/kernel/head_32.S
+2
-2
arch/x86/kernel/relocate_kernel_32.S
arch/x86/kernel/relocate_kernel_32.S
+1
-1
arch/x86/kernel/relocate_kernel_64.S
arch/x86/kernel/relocate_kernel_64.S
+2
-2
arch/x86/kernel/trampoline_32.S
arch/x86/kernel/trampoline_32.S
+1
-1
arch/x86/kernel/trampoline_64.S
arch/x86/kernel/trampoline_64.S
+2
-2
arch/x86/kernel/vmlinux_32.lds.S
arch/x86/kernel/vmlinux_32.lds.S
+1
-1
arch/x86/kernel/vmlinux_64.lds.S
arch/x86/kernel/vmlinux_64.lds.S
+1
-1
arch/x86/lib/getuser.S
arch/x86/lib/getuser.S
+1
-1
arch/x86/power/hibernate_asm_32.S
arch/x86/power/hibernate_asm_32.S
+1
-1
arch/x86/power/hibernate_asm_64.S
arch/x86/power/hibernate_asm_64.S
+1
-1
arch/x86/xen/xen-head.S
arch/x86/xen/xen-head.S
+1
-1
No files found.
arch/x86/boot/compressed/head_32.S
View file @
60916285
...
@@ -25,14 +25,12 @@
...
@@ -25,14 +25,12 @@
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/boot.h>
#include <asm/boot.h>
#include <asm/asm-offsets.h>
#include <asm/asm-offsets.h>
.
section
".
text.head
","
ax
",@
progbits
.
section
".
text.head
","
ax
",@
progbits
.
globl
startup_32
ENTRY
(
startup_32
)
startup_32
:
cld
cld
/
*
test
KEEP_SEGMENTS
flag
to
see
if
the
bootloader
is
asking
/
*
test
KEEP_SEGMENTS
flag
to
see
if
the
bootloader
is
asking
*
us
to
not
reload
segments
*/
*
us
to
not
reload
segments
*/
...
@@ -113,6 +111,8 @@ startup_32:
...
@@ -113,6 +111,8 @@ startup_32:
*/
*/
leal
relocated
(%
ebx
),
%
eax
leal
relocated
(%
ebx
),
%
eax
jmp
*%
eax
jmp
*%
eax
ENDPROC
(
startup_32
)
.
section
".
text
"
.
section
".
text
"
relocated
:
relocated
:
...
...
arch/x86/boot/compressed/head_64.S
View file @
60916285
...
@@ -26,8 +26,8 @@
...
@@ -26,8 +26,8 @@
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/pgtable.h>
#include <asm/pgtable
_types
.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/boot.h>
#include <asm/boot.h>
#include <asm/msr.h>
#include <asm/msr.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
...
@@ -35,9 +35,7 @@
...
@@ -35,9 +35,7 @@
.
section
".
text.head
"
.
section
".
text.head
"
.
code32
.
code32
.
globl
startup_32
ENTRY
(
startup_32
)
startup_32
:
cld
cld
/
*
test
KEEP_SEGMENTS
flag
to
see
if
the
bootloader
is
asking
/
*
test
KEEP_SEGMENTS
flag
to
see
if
the
bootloader
is
asking
*
us
to
not
reload
segments
*/
*
us
to
not
reload
segments
*/
...
@@ -176,6 +174,7 @@ startup_32:
...
@@ -176,6 +174,7 @@ startup_32:
/
*
Jump
from
32
bit
compatibility
mode
into
64
bit
mode
.
*/
/
*
Jump
from
32
bit
compatibility
mode
into
64
bit
mode
.
*/
lret
lret
ENDPROC
(
startup_32
)
no_longmode
:
no_longmode
:
/
*
This
isn
't an x86-64 CPU so hang */
/
*
This
isn
't an x86-64 CPU so hang */
...
@@ -295,7 +294,6 @@ relocated:
...
@@ -295,7 +294,6 @@ relocated:
call
decompress_kernel
call
decompress_kernel
popq
%
rsi
popq
%
rsi
/*
/*
*
Jump
to
the
decompressed
kernel
.
*
Jump
to
the
decompressed
kernel
.
*/
*/
...
...
arch/x86/boot/copy.S
View file @
60916285
...
@@ -8,6 +8,8 @@
...
@@ -8,6 +8,8 @@
*
*
*
-----------------------------------------------------------------------
*/
*
-----------------------------------------------------------------------
*/
#include <linux/linkage.h>
/*
/*
*
Memory
copy
routines
*
Memory
copy
routines
*/
*/
...
@@ -15,9 +17,7 @@
...
@@ -15,9 +17,7 @@
.
code16gcc
.
code16gcc
.
text
.
text
.
globl
memcpy
GLOBAL
(
memcpy
)
.
type
memcpy
,
@
function
memcpy
:
pushw
%
si
pushw
%
si
pushw
%
di
pushw
%
di
movw
%
ax
,
%
di
movw
%
ax
,
%
di
...
@@ -31,11 +31,9 @@ memcpy:
...
@@ -31,11 +31,9 @@ memcpy:
popw
%
di
popw
%
di
popw
%
si
popw
%
si
ret
ret
.
size
memcpy
,
.
-
memcpy
ENDPROC
(
memcpy
)
.
globl
memset
GLOBAL
(
memset
)
.
type
memset
,
@
function
memset
:
pushw
%
di
pushw
%
di
movw
%
ax
,
%
di
movw
%
ax
,
%
di
movzbl
%
dl
,
%
eax
movzbl
%
dl
,
%
eax
...
@@ -48,52 +46,42 @@ memset:
...
@@ -48,52 +46,42 @@ memset:
rep
; stosb
rep
; stosb
popw
%
di
popw
%
di
ret
ret
.
size
memset
,
.
-
memset
ENDPROC
(
memset
)
.
globl
copy_from_fs
GLOBAL
(
copy_from_fs
)
.
type
copy_from_fs
,
@
function
copy_from_fs
:
pushw
%
ds
pushw
%
ds
pushw
%
fs
pushw
%
fs
popw
%
ds
popw
%
ds
call
memcpy
call
memcpy
popw
%
ds
popw
%
ds
ret
ret
.
size
copy_from_fs
,
.
-
copy_from_fs
ENDPROC
(
copy_from_fs
)
.
globl
copy_to_fs
GLOBAL
(
copy_to_fs
)
.
type
copy_to_fs
,
@
function
copy_to_fs
:
pushw
%
es
pushw
%
es
pushw
%
fs
pushw
%
fs
popw
%
es
popw
%
es
call
memcpy
call
memcpy
popw
%
es
popw
%
es
ret
ret
.
size
copy_to_fs
,
.
-
copy_to_fs
ENDPROC
(
copy_to_fs
)
#if 0 /* Not currently used, but can be enabled as needed */
#if 0 /* Not currently used, but can be enabled as needed */
GLOBAL
(
copy_from_gs
)
.
globl
copy_from_gs
.
type
copy_from_gs
,
@
function
copy_from_gs
:
pushw
%
ds
pushw
%
ds
pushw
%
gs
pushw
%
gs
popw
%
ds
popw
%
ds
call
memcpy
call
memcpy
popw
%
ds
popw
%
ds
ret
ret
.
size
copy_from_gs
,
.
-
copy_from_gs
ENDPROC
(
copy_from_gs
)
.
globl
copy_to_gs
.
type
copy_to_gs
,
@
function
GLOBAL
(
copy_to_gs
)
copy_to_gs
:
pushw
%
es
pushw
%
es
pushw
%
gs
pushw
%
gs
popw
%
es
popw
%
es
call
memcpy
call
memcpy
popw
%
es
popw
%
es
ret
ret
.
size
copy_to_gs
,
.
-
copy_to_gs
ENDPROC
(
copy_to_gs
)
#endif
#endif
arch/x86/boot/header.S
View file @
60916285
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
#include <linux/utsrelease.h>
#include <linux/utsrelease.h>
#include <asm/boot.h>
#include <asm/boot.h>
#include <asm/e820.h>
#include <asm/e820.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/setup.h>
#include <asm/setup.h>
#include "boot.h"
#include "boot.h"
#include "offsets.h"
#include "offsets.h"
...
...
arch/x86/boot/pmjump.S
View file @
60916285
...
@@ -15,18 +15,15 @@
...
@@ -15,18 +15,15 @@
#include <asm/boot.h>
#include <asm/boot.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <linux/linkage.h>
.
text
.
text
.
globl
protected_mode_jump
.
type
protected_mode_jump
,
@
function
.
code16
.
code16
/*
/*
*
void
protected_mode_jump
(
u32
entrypoint
,
u32
bootparams
)
;
*
void
protected_mode_jump
(
u32
entrypoint
,
u32
bootparams
)
;
*/
*/
protected_mode_jump
:
GLOBAL
(
protected_mode_jump
)
movl
%
edx
,
%
esi
#
Pointer
to
boot_params
table
movl
%
edx
,
%
esi
#
Pointer
to
boot_params
table
xorl
%
ebx
,
%
ebx
xorl
%
ebx
,
%
ebx
...
@@ -47,12 +44,10 @@ protected_mode_jump:
...
@@ -47,12 +44,10 @@ protected_mode_jump:
.
byte
0x66
,
0xea
#
ljmpl
opcode
.
byte
0x66
,
0xea
#
ljmpl
opcode
2
:
.
long
in_pm32
#
offset
2
:
.
long
in_pm32
#
offset
.
word
__BOOT_CS
#
segment
.
word
__BOOT_CS
#
segment
ENDPROC
(
protected_mode_jump
)
.
size
protected_mode_jump
,
.
-
protected_mode_jump
.
code32
.
code32
.
type
in_pm32
,
@
function
GLOBAL
(
in_pm32
)
in_pm32
:
#
Set
up
data
segments
for
flat
32
-
bit
mode
#
Set
up
data
segments
for
flat
32
-
bit
mode
movl
%
ecx
,
%
ds
movl
%
ecx
,
%
ds
movl
%
ecx
,
%
es
movl
%
ecx
,
%
es
...
@@ -78,5 +73,4 @@ in_pm32:
...
@@ -78,5 +73,4 @@ in_pm32:
lldt
%
cx
lldt
%
cx
jmpl
*%
eax
#
Jump
to
the
32
-
bit
entrypoint
jmpl
*%
eax
#
Jump
to
the
32
-
bit
entrypoint
ENDPROC
(
in_pm32
)
.
size
in_pm32
,
.
-
in_pm32
arch/x86/include/asm/io.h
View file @
60916285
...
@@ -124,10 +124,15 @@ static inline void *phys_to_virt(phys_addr_t address)
...
@@ -124,10 +124,15 @@ static inline void *phys_to_virt(phys_addr_t address)
/*
/*
* ISA I/O bus memory addresses are 1:1 with the physical address.
* ISA I/O bus memory addresses are 1:1 with the physical address.
* However, we truncate the address to unsigned int to avoid undesirable
* promitions in legacy drivers.
*/
*/
#define isa_virt_to_bus (unsigned long)virt_to_phys
static
inline
unsigned
int
isa_virt_to_bus
(
volatile
void
*
address
)
#define isa_page_to_bus page_to_phys
{
#define isa_bus_to_virt phys_to_virt
return
(
unsigned
int
)
virt_to_phys
(
address
);
}
#define isa_page_to_bus(page) ((unsigned int)page_to_phys(page))
#define isa_bus_to_virt phys_to_virt
/*
/*
* However PCI ones are not necessarily 1:1 and therefore these interfaces
* However PCI ones are not necessarily 1:1 and therefore these interfaces
...
...
arch/x86/include/asm/linkage.h
View file @
60916285
...
@@ -52,70 +52,14 @@
...
@@ -52,70 +52,14 @@
#endif
#endif
#define GLOBAL(name) \
.globl name; \
name:
#ifdef CONFIG_X86_ALIGNMENT_16
#ifdef CONFIG_X86_ALIGNMENT_16
#define __ALIGN .align 16,0x90
#define __ALIGN .align 16,0x90
#define __ALIGN_STR ".align 16,0x90"
#define __ALIGN_STR ".align 16,0x90"
#endif
#endif
/*
* to check ENTRY_X86/END_X86 and
* KPROBE_ENTRY_X86/KPROBE_END_X86
* unbalanced-missed-mixed appearance
*/
#define __set_entry_x86 .set ENTRY_X86_IN, 0
#define __unset_entry_x86 .set ENTRY_X86_IN, 1
#define __set_kprobe_x86 .set KPROBE_X86_IN, 0
#define __unset_kprobe_x86 .set KPROBE_X86_IN, 1
#define __macro_err_x86 .error "ENTRY_X86/KPROBE_X86 unbalanced,missed,mixed"
#define __check_entry_x86 \
.ifdef ENTRY_X86_IN; \
.ifeq ENTRY_X86_IN; \
__macro_err_x86; \
.abort; \
.endif; \
.endif
#define __check_kprobe_x86 \
.ifdef KPROBE_X86_IN; \
.ifeq KPROBE_X86_IN; \
__macro_err_x86; \
.abort; \
.endif; \
.endif
#define __check_entry_kprobe_x86 \
__check_entry_x86; \
__check_kprobe_x86
#define ENTRY_KPROBE_FINAL_X86 __check_entry_kprobe_x86
#define ENTRY_X86(name) \
__check_entry_kprobe_x86; \
__set_entry_x86; \
.globl name; \
__ALIGN; \
name:
#define END_X86(name) \
__unset_entry_x86; \
__check_entry_kprobe_x86; \
.size name, .-name
#define KPROBE_ENTRY_X86(name) \
__check_entry_kprobe_x86; \
__set_kprobe_x86; \
.pushsection .kprobes.text, "ax"; \
.globl name; \
__ALIGN; \
name:
#define KPROBE_END_X86(name) \
__unset_kprobe_x86; \
__check_entry_kprobe_x86; \
.size name, .-name; \
.popsection
#endif
/* _ASM_X86_LINKAGE_H */
#endif
/* _ASM_X86_LINKAGE_H */
arch/x86/include/asm/page_32_types.h
View file @
60916285
...
@@ -33,12 +33,10 @@
...
@@ -33,12 +33,10 @@
/* 44=32+12, the limit we can fit into an unsigned long pfn */
/* 44=32+12, the limit we can fit into an unsigned long pfn */
#define __PHYSICAL_MASK_SHIFT 44
#define __PHYSICAL_MASK_SHIFT 44
#define __VIRTUAL_MASK_SHIFT 32
#define __VIRTUAL_MASK_SHIFT 32
#define PAGETABLE_LEVELS 3
#else
/* !CONFIG_X86_PAE */
#else
/* !CONFIG_X86_PAE */
#define __PHYSICAL_MASK_SHIFT 32
#define __PHYSICAL_MASK_SHIFT 32
#define __VIRTUAL_MASK_SHIFT 32
#define __VIRTUAL_MASK_SHIFT 32
#define PAGETABLE_LEVELS 2
#endif
/* CONFIG_X86_PAE */
#endif
/* CONFIG_X86_PAE */
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__
...
...
arch/x86/include/asm/page_64_types.h
View file @
60916285
#ifndef _ASM_X86_PAGE_64_DEFS_H
#ifndef _ASM_X86_PAGE_64_DEFS_H
#define _ASM_X86_PAGE_64_DEFS_H
#define _ASM_X86_PAGE_64_DEFS_H
#define PAGETABLE_LEVELS 4
#define THREAD_ORDER 1
#define THREAD_ORDER 1
#define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER)
#define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER)
#define CURRENT_MASK (~(THREAD_SIZE - 1))
#define CURRENT_MASK (~(THREAD_SIZE - 1))
...
...
arch/x86/include/asm/page_types.h
View file @
60916285
...
@@ -16,12 +16,6 @@
...
@@ -16,12 +16,6 @@
(ie, 32-bit PAE). */
(ie, 32-bit PAE). */
#define PHYSICAL_PAGE_MASK (((signed long)PAGE_MASK) & __PHYSICAL_MASK)
#define PHYSICAL_PAGE_MASK (((signed long)PAGE_MASK) & __PHYSICAL_MASK)
/* PTE_PFN_MASK extracts the PFN from a (pte|pmd|pud|pgd)val_t */
#define PTE_PFN_MASK ((pteval_t)PHYSICAL_PAGE_MASK)
/* PTE_FLAGS_MASK extracts the flags from a (pte|pmd|pud|pgd)val_t */
#define PTE_FLAGS_MASK (~PTE_PFN_MASK)
#define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT)
#define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT)
#define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1))
#define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1))
...
...
arch/x86/include/asm/pgtable-2level_types.h
View file @
60916285
...
@@ -17,6 +17,7 @@ typedef union {
...
@@ -17,6 +17,7 @@ typedef union {
#endif
/* !__ASSEMBLY__ */
#endif
/* !__ASSEMBLY__ */
#define SHARED_KERNEL_PMD 0
#define SHARED_KERNEL_PMD 0
#define PAGETABLE_LEVELS 2
/*
/*
* traditional i386 two-level paging structure:
* traditional i386 two-level paging structure:
...
@@ -25,6 +26,7 @@ typedef union {
...
@@ -25,6 +26,7 @@ typedef union {
#define PGDIR_SHIFT 22
#define PGDIR_SHIFT 22
#define PTRS_PER_PGD 1024
#define PTRS_PER_PGD 1024
/*
/*
* the i386 is two-level, so we don't really have any
* the i386 is two-level, so we don't really have any
* PMD directory physically.
* PMD directory physically.
...
...
arch/x86/include/asm/pgtable-3level_types.h
View file @
60916285
...
@@ -24,6 +24,8 @@ typedef union {
...
@@ -24,6 +24,8 @@ typedef union {
#define SHARED_KERNEL_PMD 1
#define SHARED_KERNEL_PMD 1
#endif
#endif
#define PAGETABLE_LEVELS 3
/*
/*
* PGDIR_SHIFT determines what a top-level page table entry can map
* PGDIR_SHIFT determines what a top-level page table entry can map
*/
*/
...
...
arch/x86/include/asm/pgtable_64_types.h
View file @
60916285
...
@@ -18,6 +18,7 @@ typedef struct { pteval_t pte; } pte_t;
...
@@ -18,6 +18,7 @@ typedef struct { pteval_t pte; } pte_t;
#endif
/* !__ASSEMBLY__ */
#endif
/* !__ASSEMBLY__ */
#define SHARED_KERNEL_PMD 0
#define SHARED_KERNEL_PMD 0
#define PAGETABLE_LEVELS 4
/*
/*
* PGDIR_SHIFT determines what a top-level page table entry can map
* PGDIR_SHIFT determines what a top-level page table entry can map
...
...
arch/x86/include/asm/pgtable_types.h
View file @
60916285
...
@@ -173,6 +173,12 @@
...
@@ -173,6 +173,12 @@
#include <linux/types.h>
#include <linux/types.h>
/* PTE_PFN_MASK extracts the PFN from a (pte|pmd|pud|pgd)val_t */
#define PTE_PFN_MASK ((pteval_t)PHYSICAL_PAGE_MASK)
/* PTE_FLAGS_MASK extracts the flags from a (pte|pmd|pud|pgd)val_t */
#define PTE_FLAGS_MASK (~PTE_PFN_MASK)
typedef
struct
pgprot
{
pgprotval_t
pgprot
;
}
pgprot_t
;
typedef
struct
pgprot
{
pgprotval_t
pgprot
;
}
pgprot_t
;
typedef
struct
{
pgdval_t
pgd
;
}
pgd_t
;
typedef
struct
{
pgdval_t
pgd
;
}
pgd_t
;
...
...
arch/x86/include/asm/processor.h
View file @
60916285
...
@@ -403,7 +403,6 @@ DECLARE_PER_CPU(unsigned long, stack_canary);
...
@@ -403,7 +403,6 @@ DECLARE_PER_CPU(unsigned long, stack_canary);
#endif
#endif
#endif
/* X86_64 */
#endif
/* X86_64 */
extern
void
print_cpu_info
(
struct
cpuinfo_x86
*
);
extern
unsigned
int
xstate_size
;
extern
unsigned
int
xstate_size
;
extern
void
free_thread_xstate
(
struct
task_struct
*
);
extern
void
free_thread_xstate
(
struct
task_struct
*
);
extern
struct
kmem_cache
*
task_xstate_cachep
;
extern
struct
kmem_cache
*
task_xstate_cachep
;
...
...
arch/x86/include/asm/syscalls.h
View file @
60916285
...
@@ -82,7 +82,7 @@ asmlinkage long sys_iopl(unsigned int, struct pt_regs *);
...
@@ -82,7 +82,7 @@ asmlinkage long sys_iopl(unsigned int, struct pt_regs *);
/* kernel/signal_64.c */
/* kernel/signal_64.c */
asmlinkage
long
sys_sigaltstack
(
const
stack_t
__user
*
,
stack_t
__user
*
,
asmlinkage
long
sys_sigaltstack
(
const
stack_t
__user
*
,
stack_t
__user
*
,
struct
pt_regs
*
);
struct
pt_regs
*
);
asmlinkage
long
sys_rt_sigreturn
(
struct
pt_regs
*
);
long
sys_rt_sigreturn
(
struct
pt_regs
*
);
/* kernel/sys_x86_64.c */
/* kernel/sys_x86_64.c */
asmlinkage
long
sys_mmap
(
unsigned
long
,
unsigned
long
,
unsigned
long
,
asmlinkage
long
sys_mmap
(
unsigned
long
,
unsigned
long
,
unsigned
long
,
...
...
arch/x86/kernel/acpi/realmode/wakeup.S
View file @
60916285
...
@@ -3,8 +3,8 @@
...
@@ -3,8 +3,8 @@
*/
*/
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/msr-index.h>
#include <asm/msr-index.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/pgtable.h>
#include <asm/pgtable
_types
.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
.
code16
.
code16
...
...
arch/x86/kernel/acpi/wakeup_32.S
View file @
60916285
.
section
.
text
.
page_aligned
.
section
.
text
.
page_aligned
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#
Copyright
2003
,
2008
Pavel
Machek
<
pavel
@
suse
.
cz
>,
distribute
under
GPLv2
#
Copyright
2003
,
2008
Pavel
Machek
<
pavel
@
suse
.
cz
>,
distribute
under
GPLv2
...
...
arch/x86/kernel/acpi/wakeup_64.S
View file @
60916285
.
text
.
text
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/pgtable.h>
#include <asm/pgtable
_types
.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/msr.h>
#include <asm/msr.h>
#include <asm/asm-offsets.h>
#include <asm/asm-offsets.h>
...
...
arch/x86/kernel/cpu/cpufreq/e_powersaver.c
View file @
60916285
...
@@ -204,12 +204,12 @@ static int eps_cpu_init(struct cpufreq_policy *policy)
...
@@ -204,12 +204,12 @@ static int eps_cpu_init(struct cpufreq_policy *policy)
}
}
/* Enable Enhanced PowerSaver */
/* Enable Enhanced PowerSaver */
rdmsrl
(
MSR_IA32_MISC_ENABLE
,
val
);
rdmsrl
(
MSR_IA32_MISC_ENABLE
,
val
);
if
(
!
(
val
&
1
<<
16
))
{
if
(
!
(
val
&
MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP
))
{
val
|=
1
<<
16
;
val
|=
MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP
;
wrmsrl
(
MSR_IA32_MISC_ENABLE
,
val
);
wrmsrl
(
MSR_IA32_MISC_ENABLE
,
val
);
/* Can be locked at 0 */
/* Can be locked at 0 */
rdmsrl
(
MSR_IA32_MISC_ENABLE
,
val
);
rdmsrl
(
MSR_IA32_MISC_ENABLE
,
val
);
if
(
!
(
val
&
1
<<
16
))
{
if
(
!
(
val
&
MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP
))
{
printk
(
KERN_INFO
"eps: Can't enable Enhanced PowerSaver
\n
"
);
printk
(
KERN_INFO
"eps: Can't enable Enhanced PowerSaver
\n
"
);
return
-
ENODEV
;
return
-
ENODEV
;
}
}
...
...
arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c
View file @
60916285
...
@@ -390,14 +390,14 @@ static int centrino_cpu_init(struct cpufreq_policy *policy)
...
@@ -390,14 +390,14 @@ static int centrino_cpu_init(struct cpufreq_policy *policy)
enable it if not. */
enable it if not. */
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
if
(
!
(
l
&
(
1
<<
16
)
))
{
if
(
!
(
l
&
MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP
))
{
l
|=
(
1
<<
16
)
;
l
|=
MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP
;
dprintk
(
"trying to enable Enhanced SpeedStep (%x)
\n
"
,
l
);
dprintk
(
"trying to enable Enhanced SpeedStep (%x)
\n
"
,
l
);
wrmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
wrmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
/* check to see if it stuck */
/* check to see if it stuck */
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
if
(
!
(
l
&
(
1
<<
16
)
))
{
if
(
!
(
l
&
MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP
))
{
printk
(
KERN_INFO
PFX
printk
(
KERN_INFO
PFX
"couldn't enable Enhanced SpeedStep
\n
"
);
"couldn't enable Enhanced SpeedStep
\n
"
);
return
-
ENODEV
;
return
-
ENODEV
;
...
...
arch/x86/kernel/cpu/intel.c
View file @
60916285
...
@@ -146,10 +146,10 @@ static void __cpuinit intel_workarounds(struct cpuinfo_x86 *c)
...
@@ -146,10 +146,10 @@ static void __cpuinit intel_workarounds(struct cpuinfo_x86 *c)
*/
*/
if
((
c
->
x86
==
15
)
&&
(
c
->
x86_model
==
1
)
&&
(
c
->
x86_mask
==
1
))
{
if
((
c
->
x86
==
15
)
&&
(
c
->
x86_model
==
1
)
&&
(
c
->
x86_mask
==
1
))
{
rdmsr
(
MSR_IA32_MISC_ENABLE
,
lo
,
hi
);
rdmsr
(
MSR_IA32_MISC_ENABLE
,
lo
,
hi
);
if
((
lo
&
(
1
<<
9
)
)
==
0
)
{
if
((
lo
&
MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE
)
==
0
)
{
printk
(
KERN_INFO
"CPU: C0 stepping P4 Xeon detected.
\n
"
);
printk
(
KERN_INFO
"CPU: C0 stepping P4 Xeon detected.
\n
"
);
printk
(
KERN_INFO
"CPU: Disabling hardware prefetching (Errata 037)
\n
"
);
printk
(
KERN_INFO
"CPU: Disabling hardware prefetching (Errata 037)
\n
"
);
lo
|=
(
1
<<
9
);
/* Disable hw prefetching */
lo
|=
MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE
;
wrmsr
(
MSR_IA32_MISC_ENABLE
,
lo
,
hi
);
wrmsr
(
MSR_IA32_MISC_ENABLE
,
lo
,
hi
);
}
}
}
}
...
...
arch/x86/kernel/cpu/mcheck/mce_intel_64.c
View file @
60916285
...
@@ -49,13 +49,13 @@ static void __cpuinit intel_init_thermal(struct cpuinfo_x86 *c)
...
@@ -49,13 +49,13 @@ static void __cpuinit intel_init_thermal(struct cpuinfo_x86 *c)
*/
*/
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
h
=
apic_read
(
APIC_LVTTHMR
);
h
=
apic_read
(
APIC_LVTTHMR
);
if
((
l
&
(
1
<<
3
)
)
&&
(
h
&
APIC_DM_SMI
))
{
if
((
l
&
MSR_IA32_MISC_ENABLE_TM1
)
&&
(
h
&
APIC_DM_SMI
))
{
printk
(
KERN_DEBUG
printk
(
KERN_DEBUG
"CPU%d: Thermal monitoring handled by SMI
\n
"
,
cpu
);
"CPU%d: Thermal monitoring handled by SMI
\n
"
,
cpu
);
return
;
return
;
}
}
if
(
cpu_has
(
c
,
X86_FEATURE_TM2
)
&&
(
l
&
(
1
<<
13
)
))
if
(
cpu_has
(
c
,
X86_FEATURE_TM2
)
&&
(
l
&
MSR_IA32_MISC_ENABLE_TM2
))
tm2
=
1
;
tm2
=
1
;
if
(
h
&
APIC_VECTOR_MASK
)
{
if
(
h
&
APIC_VECTOR_MASK
)
{
...
@@ -73,7 +73,7 @@ static void __cpuinit intel_init_thermal(struct cpuinfo_x86 *c)
...
@@ -73,7 +73,7 @@ static void __cpuinit intel_init_thermal(struct cpuinfo_x86 *c)
wrmsr
(
MSR_IA32_THERM_INTERRUPT
,
l
|
0x03
,
h
);
wrmsr
(
MSR_IA32_THERM_INTERRUPT
,
l
|
0x03
,
h
);
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
wrmsr
(
MSR_IA32_MISC_ENABLE
,
l
|
(
1
<<
3
)
,
h
);
wrmsr
(
MSR_IA32_MISC_ENABLE
,
l
|
MSR_IA32_MISC_ENABLE_TM1
,
h
);
l
=
apic_read
(
APIC_LVTTHMR
);
l
=
apic_read
(
APIC_LVTTHMR
);
apic_write
(
APIC_LVTTHMR
,
l
&
~
APIC_LVT_MASKED
);
apic_write
(
APIC_LVTTHMR
,
l
&
~
APIC_LVT_MASKED
);
...
...
arch/x86/kernel/cpu/mcheck/p4.c
View file @
60916285
...
@@ -85,7 +85,7 @@ static void intel_init_thermal(struct cpuinfo_x86 *c)
...
@@ -85,7 +85,7 @@ static void intel_init_thermal(struct cpuinfo_x86 *c)
*/
*/
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
h
=
apic_read
(
APIC_LVTTHMR
);
h
=
apic_read
(
APIC_LVTTHMR
);
if
((
l
&
(
1
<<
3
)
)
&&
(
h
&
APIC_DM_SMI
))
{
if
((
l
&
MSR_IA32_MISC_ENABLE_TM1
)
&&
(
h
&
APIC_DM_SMI
))
{
printk
(
KERN_DEBUG
"CPU%d: Thermal monitoring handled by SMI
\n
"
,
printk
(
KERN_DEBUG
"CPU%d: Thermal monitoring handled by SMI
\n
"
,
cpu
);
cpu
);
return
;
/* -EBUSY */
return
;
/* -EBUSY */
...
@@ -111,7 +111,7 @@ static void intel_init_thermal(struct cpuinfo_x86 *c)
...
@@ -111,7 +111,7 @@ static void intel_init_thermal(struct cpuinfo_x86 *c)
vendor_thermal_interrupt
=
intel_thermal_interrupt
;
vendor_thermal_interrupt
=
intel_thermal_interrupt
;
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
rdmsr
(
MSR_IA32_MISC_ENABLE
,
l
,
h
);
wrmsr
(
MSR_IA32_MISC_ENABLE
,
l
|
(
1
<<
3
)
,
h
);
wrmsr
(
MSR_IA32_MISC_ENABLE
,
l
|
MSR_IA32_MISC_ENABLE_TM1
,
h
);
l
=
apic_read
(
APIC_LVTTHMR
);
l
=
apic_read
(
APIC_LVTTHMR
);
apic_write
(
APIC_LVTTHMR
,
l
&
~
APIC_LVT_MASKED
);
apic_write
(
APIC_LVTTHMR
,
l
&
~
APIC_LVT_MASKED
);
...
...
arch/x86/kernel/efi_stub_32.S
View file @
60916285
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
*/
*/
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
/*
/*
*
efi_call_phys
(
void
*,
...
)
is
a
function
with
variable
parameters
.
*
efi_call_phys
(
void
*,
...
)
is
a
function
with
variable
parameters
.
...
...
arch/x86/kernel/entry_32.S
View file @
60916285
...
@@ -47,7 +47,7 @@
...
@@ -47,7 +47,7 @@
#include <asm/errno.h>
#include <asm/errno.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/smp.h>
#include <asm/smp.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/desc.h>
#include <asm/desc.h>
#include <asm/percpu.h>
#include <asm/percpu.h>
#include <asm/dwarf2.h>
#include <asm/dwarf2.h>
...
...
arch/x86/kernel/entry_64.S
View file @
60916285
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
#include <asm/unistd.h>
#include <asm/unistd.h>
#include <asm/thread_info.h>
#include <asm/thread_info.h>
#include <asm/hw_irq.h>
#include <asm/hw_irq.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/irqflags.h>
#include <asm/irqflags.h>
#include <asm/paravirt.h>
#include <asm/paravirt.h>
#include <asm/ftrace.h>
#include <asm/ftrace.h>
...
...
arch/x86/kernel/head_32.S
View file @
60916285
...
@@ -11,8 +11,8 @@
...
@@ -11,8 +11,8 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/pgtable.h>
#include <asm/pgtable
_types
.h>
#include <asm/desc.h>
#include <asm/desc.h>
#include <asm/cache.h>
#include <asm/cache.h>
#include <asm/thread_info.h>
#include <asm/thread_info.h>
...
...
arch/x86/kernel/relocate_kernel_32.S
View file @
60916285
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
*/
*/
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/kexec.h>
#include <asm/kexec.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
...
...
arch/x86/kernel/relocate_kernel_64.S
View file @
60916285
...
@@ -7,10 +7,10 @@
...
@@ -7,10 +7,10 @@
*/
*/
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/kexec.h>
#include <asm/kexec.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
#include <asm/pgtable.h>
#include <asm/pgtable
_types
.h>
/*
/*
*
Must
be
relocatable
PIC
code
callable
as
a
C
function
*
Must
be
relocatable
PIC
code
callable
as
a
C
function
...
...
arch/x86/kernel/trampoline_32.S
View file @
60916285
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
/*
We
can
free
up
trampoline
after
bootup
if
cpu
hotplug
is
not
supported
.
*/
/*
We
can
free
up
trampoline
after
bootup
if
cpu
hotplug
is
not
supported
.
*/
#ifndef CONFIG_HOTPLUG_CPU
#ifndef CONFIG_HOTPLUG_CPU
...
...
arch/x86/kernel/trampoline_64.S
View file @
60916285
...
@@ -25,8 +25,8 @@
...
@@ -25,8 +25,8 @@
*/
*/
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/pgtable.h>
#include <asm/pgtable
_types
.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/msr.h>
#include <asm/msr.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
...
...
arch/x86/kernel/vmlinux_32.lds.S
View file @
60916285
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
#include <asm-generic/vmlinux.lds.h>
#include <asm-generic/vmlinux.lds.h>
#include <asm/thread_info.h>
#include <asm/thread_info.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/cache.h>
#include <asm/cache.h>
#include <asm/boot.h>
#include <asm/boot.h>
...
...
arch/x86/kernel/vmlinux_64.lds.S
View file @
60916285
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
#include <asm-generic/vmlinux.lds.h>
#include <asm-generic/vmlinux.lds.h>
#include <asm/asm-offsets.h>
#include <asm/asm-offsets.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#undef i386 /* in case the preprocessor is a 32bit one */
#undef i386 /* in case the preprocessor is a 32bit one */
...
...
arch/x86/lib/getuser.S
View file @
60916285
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/dwarf2.h>
#include <asm/dwarf2.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/errno.h>
#include <asm/errno.h>
#include <asm/asm-offsets.h>
#include <asm/asm-offsets.h>
#include <asm/thread_info.h>
#include <asm/thread_info.h>
...
...
arch/x86/power/hibernate_asm_32.S
View file @
60916285
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/asm-offsets.h>
#include <asm/asm-offsets.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
...
...
arch/x86/power/hibernate_asm_64.S
View file @
60916285
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
.
text
.
text
#include <linux/linkage.h>
#include <linux/linkage.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <asm/asm-offsets.h>
#include <asm/asm-offsets.h>
#include <asm/processor-flags.h>
#include <asm/processor-flags.h>
...
...
arch/x86/xen/xen-head.S
View file @
60916285
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
#include <asm/boot.h>
#include <asm/boot.h>
#include <asm/asm.h>
#include <asm/asm.h>
#include <asm/page.h>
#include <asm/page
_types
.h>
#include <xen/interface/elfnote.h>
#include <xen/interface/elfnote.h>
#include <asm/xen/interface.h>
#include <asm/xen/interface.h>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment