Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM updates from Russell King: "The main item in this pull request are the Spectre variant 1.1 fixes from Julien Thierry. A few other patches to improve various areas, and removal of some obsolete mcount bits and a redundant kbuild conditional" * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 8802/1: Call syscall_trace_exit even when system call skipped ARM: 8797/1: spectre-v1.1: harden __copy_to_user ARM: 8796/1: spectre-v1,v1.1: provide helpers for address sanitization ARM: 8795/1: spectre-v1.1: use put_user() for __put_user() ARM: 8794/1: uaccess: Prevent speculative use of the current addr_limit ARM: 8793/1: signal: replace __put_user_error with __put_user ARM: 8792/1: oabi-compat: copy oabi events using __copy_to_user() ARM: 8791/1: vfp: use __copy_to_user() when saving VFP state ARM: 8790/1: signal: always use __copy_to_user to save iwmmxt context ARM: 8789/1: signal: copy registers using __copy_to_user() ARM: 8801/1: makefile: use ARMv3M mode for RiscPC ARM: 8800/1: use choice for kernel unwinders ARM: 8798/1: remove unnecessary KBUILD_SRC ifeq conditional ARM: 8788/1: ftrace: remove old mcount support ARM: 8786/1: Debug kernel copy by printing
This commit is contained in:
@@ -114,6 +114,35 @@
|
||||
#endif
|
||||
.endm
|
||||
|
||||
/*
|
||||
* Debug kernel copy by printing the memory addresses involved
|
||||
*/
|
||||
.macro dbgkc, begin, end, cbegin, cend
|
||||
#ifdef DEBUG
|
||||
kputc #'\n'
|
||||
kputc #'C'
|
||||
kputc #':'
|
||||
kputc #'0'
|
||||
kputc #'x'
|
||||
kphex \begin, 8 /* Start of compressed kernel */
|
||||
kputc #'-'
|
||||
kputc #'0'
|
||||
kputc #'x'
|
||||
kphex \end, 8 /* End of compressed kernel */
|
||||
kputc #'-'
|
||||
kputc #'>'
|
||||
kputc #'0'
|
||||
kputc #'x'
|
||||
kphex \cbegin, 8 /* Start of kernel copy */
|
||||
kputc #'-'
|
||||
kputc #'0'
|
||||
kputc #'x'
|
||||
kphex \cend, 8 /* End of kernel copy */
|
||||
kputc #'\n'
|
||||
kputc #'\r'
|
||||
#endif
|
||||
.endm
|
||||
|
||||
.section ".start", #alloc, #execinstr
|
||||
/*
|
||||
* sort out different calling conventions
|
||||
@@ -450,6 +479,20 @@ dtb_check_done:
|
||||
add r6, r9, r5
|
||||
add r9, r9, r10
|
||||
|
||||
#ifdef DEBUG
|
||||
sub r10, r6, r5
|
||||
sub r10, r9, r10
|
||||
/*
|
||||
* We are about to copy the kernel to a new memory area.
|
||||
* The boundaries of the new memory area can be found in
|
||||
* r10 and r9, whilst r5 and r6 contain the boundaries
|
||||
* of the memory we are going to copy.
|
||||
* Calling dbgkc will help with the printing of this
|
||||
* information.
|
||||
*/
|
||||
dbgkc r5, r6, r10, r9
|
||||
#endif
|
||||
|
||||
1: ldmdb r6!, {r0 - r3, r10 - r12, lr}
|
||||
cmp r6, r5
|
||||
stmdb r9!, {r0 - r3, r10 - r12, lr}
|
||||
|
Reference in New Issue
Block a user