Microblaze patches for 4.0-rc4
- Fix syscall error recovery -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEABECAAYFAlUBReoACgkQykllyylKDCE2JQCdGkwwVSH7hoPHSUUAIcstxR1U JJYAoIElkFV8azSi1y4Cf6spNL76mYNs =JekW -----END PGP SIGNATURE----- Merge tag 'microblaze-4.0-rc4' of git://git.monstr.eu/linux-2.6-microblaze Pull arch/microblaze fixes from Michal Simek: "Fix syscall error recovery. Two patches - one is just preparation patch for the second which is fixing the problem with syscalls" * tag 'microblaze-4.0-rc4' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Fix syscall error recovery for invalid syscall IDs microblaze: Coding style cleanup
This commit is contained in:
commit
d3dd73fc9e
@ -348,8 +348,9 @@ C_ENTRY(_user_exception):
|
||||
* The LP register should point to the location where the called function
|
||||
* should return. [note that MAKE_SYS_CALL uses label 1] */
|
||||
/* See if the system call number is valid */
|
||||
blti r12, 5f
|
||||
addi r11, r12, -__NR_syscalls;
|
||||
bgei r11,5f;
|
||||
bgei r11, 5f;
|
||||
/* Figure out which function to use for this system call. */
|
||||
/* Note Microblaze barrel shift is optional, so don't rely on it */
|
||||
add r12, r12, r12; /* convert num -> ptr */
|
||||
@ -375,7 +376,7 @@ C_ENTRY(_user_exception):
|
||||
|
||||
/* The syscall number is invalid, return an error. */
|
||||
5:
|
||||
rtsd r15, 8; /* looks like a normal subroutine return */
|
||||
braid ret_from_trap
|
||||
addi r3, r0, -ENOSYS;
|
||||
|
||||
/* Entry point used to return from a syscall/trap */
|
||||
@ -411,7 +412,7 @@ C_ENTRY(ret_from_trap):
|
||||
bri 1b
|
||||
|
||||
/* Maybe handle a signal */
|
||||
5:
|
||||
5:
|
||||
andi r11, r19, _TIF_SIGPENDING | _TIF_NOTIFY_RESUME;
|
||||
beqi r11, 4f; /* Signals to handle, handle them */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user