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
95f66b37
Commit
95f66b37
authored
Feb 25, 2009
by
Ingo Molnar
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'x86/asm' into x86/mm
parents
46cb27f5
9f331119
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
32 additions
and
21 deletions
+32
-21
arch/x86/include/asm/irq_vectors.h
arch/x86/include/asm/irq_vectors.h
+1
-1
arch/x86/include/asm/uaccess_64.h
arch/x86/include/asm/uaccess_64.h
+14
-2
arch/x86/kernel/efi_stub_32.S
arch/x86/kernel/efi_stub_32.S
+1
-0
arch/x86/kernel/efi_stub_64.S
arch/x86/kernel/efi_stub_64.S
+7
-0
arch/x86/kernel/entry_64.S
arch/x86/kernel/entry_64.S
+8
-15
arch/x86/kernel/head_64.S
arch/x86/kernel/head_64.S
+1
-3
No files found.
arch/x86/include/asm/irq_vectors.h
View file @
95f66b37
...
...
@@ -128,7 +128,7 @@
#ifndef __ASSEMBLY__
static
inline
int
invalid_vm86_irq
(
int
irq
)
{
return
irq
<
3
||
irq
>
15
;
return
irq
<
FIRST_VM86_IRQ
||
irq
>
LAST_VM86_IRQ
;
}
#endif
...
...
arch/x86/include/asm/uaccess_64.h
View file @
95f66b37
...
...
@@ -192,14 +192,26 @@ static inline int __copy_from_user_nocache(void *dst, const void __user *src,
unsigned
size
)
{
might_sleep
();
return
__copy_user_nocache
(
dst
,
src
,
size
,
1
);
/*
* In practice this limit means that large file write()s
* which get chunked to 4K copies get handled via
* non-temporal stores here. Smaller writes get handled
* via regular __copy_from_user():
*/
if
(
likely
(
size
>=
PAGE_SIZE
))
return
__copy_user_nocache
(
dst
,
src
,
size
,
1
);
else
return
__copy_from_user
(
dst
,
src
,
size
);
}
static
inline
int
__copy_from_user_inatomic_nocache
(
void
*
dst
,
const
void
__user
*
src
,
unsigned
size
)
{
return
__copy_user_nocache
(
dst
,
src
,
size
,
0
);
if
(
likely
(
size
>=
PAGE_SIZE
))
return
__copy_user_nocache
(
dst
,
src
,
size
,
0
);
else
return
__copy_from_user_inatomic
(
dst
,
src
,
size
);
}
unsigned
long
...
...
arch/x86/kernel/efi_stub_32.S
View file @
95f66b37
...
...
@@ -113,6 +113,7 @@ ENTRY(efi_call_phys)
movl
(%
edx
),
%
ecx
pushl
%
ecx
ret
ENDPROC
(
efi_call_phys
)
.
previous
.
data
...
...
arch/x86/kernel/efi_stub_64.S
View file @
95f66b37
...
...
@@ -41,6 +41,7 @@ ENTRY(efi_call0)
addq
$
32
,
%
rsp
RESTORE_XMM
ret
ENDPROC
(
efi_call0
)
ENTRY
(
efi_call1
)
SAVE_XMM
...
...
@@ -50,6 +51,7 @@ ENTRY(efi_call1)
addq
$
32
,
%
rsp
RESTORE_XMM
ret
ENDPROC
(
efi_call1
)
ENTRY
(
efi_call2
)
SAVE_XMM
...
...
@@ -59,6 +61,7 @@ ENTRY(efi_call2)
addq
$
32
,
%
rsp
RESTORE_XMM
ret
ENDPROC
(
efi_call2
)
ENTRY
(
efi_call3
)
SAVE_XMM
...
...
@@ -69,6 +72,7 @@ ENTRY(efi_call3)
addq
$
32
,
%
rsp
RESTORE_XMM
ret
ENDPROC
(
efi_call3
)
ENTRY
(
efi_call4
)
SAVE_XMM
...
...
@@ -80,6 +84,7 @@ ENTRY(efi_call4)
addq
$
32
,
%
rsp
RESTORE_XMM
ret
ENDPROC
(
efi_call4
)
ENTRY
(
efi_call5
)
SAVE_XMM
...
...
@@ -92,6 +97,7 @@ ENTRY(efi_call5)
addq
$
48
,
%
rsp
RESTORE_XMM
ret
ENDPROC
(
efi_call5
)
ENTRY
(
efi_call6
)
SAVE_XMM
...
...
@@ -107,3 +113,4 @@ ENTRY(efi_call6)
addq
$
48
,
%
rsp
RESTORE_XMM
ret
ENDPROC
(
efi_call6
)
arch/x86/kernel/entry_64.S
View file @
95f66b37
...
...
@@ -77,20 +77,17 @@ ENTRY(ftrace_caller)
movq
8
(%
rbp
),
%
rsi
subq
$MCOUNT_INSN_SIZE
,
%
rdi
.
globl
ftrace_call
ftrace_call
:
GLOBAL
(
ftrace_call
)
call
ftrace_stub
MCOUNT_RESTORE_FRAME
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
.
globl
ftrace_graph_call
ftrace_graph_call
:
GLOBAL
(
ftrace_graph_call
)
jmp
ftrace_stub
#endif
.
globl
ftrace_stub
ftrace_stub
:
GLOBAL
(
ftrace_stub
)
retq
END
(
ftrace_caller
)
...
...
@@ -110,8 +107,7 @@ ENTRY(mcount)
jnz
ftrace_graph_caller
#endif
.
globl
ftrace_stub
ftrace_stub
:
GLOBAL
(
ftrace_stub
)
retq
trace
:
...
...
@@ -148,9 +144,7 @@ ENTRY(ftrace_graph_caller)
retq
END
(
ftrace_graph_caller
)
.
globl
return_to_handler
return_to_handler
:
GLOBAL
(
return_to_handler
)
subq
$
80
,
%
rsp
movq
%
rax
,
(%
rsp
)
...
...
@@ -188,6 +182,7 @@ return_to_handler:
ENTRY
(
native_usergs_sysret64
)
swapgs
sysretq
ENDPROC
(
native_usergs_sysret64
)
#endif /* CONFIG_PARAVIRT */
...
...
@@ -633,16 +628,14 @@ tracesys:
*
Syscall
return
path
ending
with
IRET
.
*
Has
correct
top
of
stack
,
but
partial
stack
frame
.
*/
.
globl
int_ret_from_sys_call
.
globl
int_with_check
int_ret_from_sys_call
:
GLOBAL
(
int_ret_from_sys_call
)
DISABLE_INTERRUPTS
(
CLBR_NONE
)
TRACE_IRQS_OFF
testl
$
3
,
CS
-
ARGOFFSET
(%
rsp
)
je
retint_restore_args
movl
$
_TIF_ALLWORK_MASK
,%
edi
/
*
edi
:
mask
to
check
*/
int_with_check
:
GLOBAL
(
int_with_check
)
LOCKDEP_SYS_EXIT_IRQ
GET_THREAD_INFO
(%
rcx
)
movl
TI_flags
(%
rcx
),%
edx
...
...
arch/x86/kernel/head_64.S
View file @
95f66b37
...
...
@@ -329,8 +329,6 @@ early_idt_ripmsg:
#endif /* CONFIG_EARLY_PRINTK */
.
previous
.
balign
PAGE_SIZE
#define NEXT_PAGE(name) \
.
balign
PAGE_SIZE
; \
ENTRY
(
name
)
...
...
@@ -419,7 +417,7 @@ ENTRY(phys_base)
.
section
.
bss
,
"aw"
,
@
nobits
.
align
L1_CACHE_BYTES
ENTRY
(
idt_table
)
.
skip
256
*
16
.
skip
IDT_ENTRIES
*
16
.
section
.
bss
.
page_aligned
,
"aw"
,
@
nobits
.
align
PAGE_SIZE
...
...
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