- 21 10月, 2010 11 次提交
-
-
由 Michal Simek 提交于
Replaced libgcc functions with asm optimized implementation. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
PVR for 7.30.b, 8.00.a versions. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
OUTPUT_FORMAT setup bigendian platform. Microblaze Linux port is becoming bi endian that's why it is removed. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
r16 and r17 should be saved across interrupt and exception handling. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Kernel needs two timers because of clocksource and clockevent. It is better to show warning message directly on early console if available. If it isn't available kernel log buffer contains it. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Signal code uses r3 value which saved in restore_sigcontext to rt_sigframe but it require to be zeroed. If is not zero rt_sigframe contains wrong values. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Do not save return registers before rt_sigreturn is called. _user_exception(syscall handler) already setup return address that's why it is removed from rt_sigreturn_wrapper. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Old gdb uses priviledged exception handler to handle gdb exception. New gdb uses brki r16, 0x18 that's why we can remove old gdb support. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
I forget to remove unused variable from kgdb_arch_handle_exception. Fix return value in microblaze_kgdb_break function. Error log: arch/microblaze/kernel/kgdb.c: In function 'microblaze_kgdb_break': arch/microblaze/kernel/kgdb.c:83: warning: 'return' with a value, in function returning void arch/microblaze/kernel/kgdb.c: In function 'kgdb_arch_handle_exception': arch/microblaze/kernel/kgdb.c:119: warning: unused variable 'cpu' Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Joe Perches 提交于
Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
- 18 8月, 2010 1 次提交
-
-
由 David Howells 提交于
Make do_execve() take a const filename pointer so that kernel_execve() compiles correctly on ARM: arch/arm/kernel/sys_arm.c:88: warning: passing argument 1 of 'do_execve' discards qualifiers from pointer target type This also requires the argv and envp arguments to be consted twice, once for the pointer array and once for the strings the array points to. This is because do_execve() passes a pointer to the filename (now const) to copy_strings_kernel(). A simpler alternative would be to cast the filename pointer in do_execve() when it's passed to copy_strings_kernel(). do_execve() may not change any of the strings it is passed as part of the argv or envp lists as they are some of them in .rodata, so marking these strings as const should be fine. Further kernel_execve() and sys_execve() need to be changed to match. This has been test built on x86_64, frv, arm and mips. Signed-off-by: NDavid Howells <dhowells@redhat.com> Tested-by: NRalf Baechle <ralf@linux-mips.org> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 17 8月, 2010 1 次提交
-
-
由 Michal Simek 提交于
Commit dbbdee94 removed of_irq_pci_swizzle but didn't use pci_swizzle_interrupt_pin instead. Signed-off-by: NMichal Simek <monstr@monstr.eu> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 14 8月, 2010 1 次提交
-
-
由 David Howells 提交于
Mark arguments to certain system calls as being const where they should be but aren't. The list includes: (*) The filename arguments of various stat syscalls, execve(), various utimes syscalls and some mount syscalls. (*) The filename arguments of some syscall helpers relating to the above. (*) The buffer argument of various write syscalls. Signed-off-by: NDavid Howells <dhowells@redhat.com> Acked-by: NDavid S. Miller <davem@davemloft.net> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 04 8月, 2010 26 次提交
-
-
由 Michal Simek 提交于
Kgdb uses brki r16, 0x18 instruction to call low level _debug_exception function which save current state to pt_regs and call microblaze_kgdb_break function. _debug_exception should be called only from the kernel space. User space calling is not supported because user application debugging uses different handling. pt_regs_to_gdb_regs loads additional special registers which can't be changed * Enable KGDB in Kconfig * Remove ancient not-tested KGDB support * Remove ancient _debug_exception code from entry.S Only MMU KGDB support is supported. Signed-off-by: NMichal Simek <monstr@monstr.eu> CC: Jason Wessel <jason.wessel@windriver.com> CC: John Williams <john.williams@petalogix.com> CC: Edgar E. Iglesias <edgar.iglesias@petalogix.com> CC: linux-kernel@vger.kernel.org Acked-by: NJason Wessel <jason.wessel@windriver.com>
-
由 Michal Simek 提交于
This is the first patch which add support for user application debugging through brki rX, 0x18 vector. This patch has side effect which also remove security issue to use brki rX, 0x18 to freeze kernel. Support for old gdb support via priviledged exception (brk r0, r0) is still there. It will be remove in future. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
We need to save instruction and the latest Microblaze shouldn't have any problem with it. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Syscall can be called only from userspace that's why we don't need to check which space kernel come from. Kernel syscall calling is not check and shouldn't come throught this part of code. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
We can save one more instruction if PT_MODE is saved in delay slot Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Save instructions by using delay slot and clear UMS only if kernel comes from user space. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Saving some instructions. Clear VMS bit if kernel comes from kernel space. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Saving instructions by adding 2/3 addik instructions to one. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Saving instruction with delay slot usage. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
This change save one instruction if kernel comes from kernel space. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Separate reg saving and mode setting. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
SAVE_STATE macro could be used by other rutines too. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
We are not working with values from MSR that's why we can discard it and use r11 for different purpose without saving/restoring. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Remove set_vms because UMS is cleared and VMS is already setup. Optimize function calling which save one additional instruction. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
VMS is always setup because VM mode was before exception/syscall/interrupt. Kernel continues in kernel mode that's why we have to clear UMS bit if kernel comes from user space. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
PT_MODE stores information if kernel comes from user or kernel space. If come from user space, PT_MODE contains 0. If come from kernel store, PT_MODE contains non zero value. We don't need to save value 1. I am using r1 register which contains non zero value. This change save one additional instruction. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
SAVE_STATE macro could be used for user_exception or interrupt functions. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
We don't need to save r0 to PT_R0. It could be additional operation. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
We don't need to save R11 register. There is easy way to use only R1 which is saved and restore later. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
BIP is already setup. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Keep together all arguments for send_sig function. Move returning address to delay slot which is executed. Remove additional send_sig loading. I am using IMM part of rtbd instruction with r0. old solution: addik r11, r0, send_sig rtbd r11, 0 nop new solution: rtbd r0, send_sig nop There is one instruction saving. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
It is necessary to setup BIP and EE and clear EIP only for unaligned exception handler. The rest of hw exception handlers don't require it. HW exception occured and we are not in virtual mode. That's why we can do operations protected by EIP. Interrupt, next hw exception or syscall can't occur. EIP is cleared by rted. This change speedup page_fault hw exception handler which is critical path. There is also necessary to save R11 content before flag setup for unaligned exception. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
la is translated to addik by toolchain. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
SAVE_STATE macro is used in hw exceptions high level handling functions. Hw exception doesn't disable IRQ that's why we don't need to reenable it. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
Remove code duplicity and move it to SAVE_STATE macro. There is no impact on performance. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-
由 Michal Simek 提交于
We don't need to protect by BIP whole ret_from_trap/ret_from_exc code. Only restoring from user/hw exception should be covered. If BIP is setup, IRQ can't occur. Signed-off-by: NMichal Simek <monstr@monstr.eu>
-