diff options
| -rw-r--r-- | arch/microblaze/kernel/entry.S | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S index 0536bc021cc6..ef548510b951 100644 --- a/arch/microblaze/kernel/entry.S +++ b/arch/microblaze/kernel/entry.S | |||
| @@ -348,8 +348,9 @@ C_ENTRY(_user_exception): | |||
| 348 | * The LP register should point to the location where the called function | 348 | * The LP register should point to the location where the called function |
| 349 | * should return. [note that MAKE_SYS_CALL uses label 1] */ | 349 | * should return. [note that MAKE_SYS_CALL uses label 1] */ |
| 350 | /* See if the system call number is valid */ | 350 | /* See if the system call number is valid */ |
| 351 | blti r12, 5f | ||
| 351 | addi r11, r12, -__NR_syscalls; | 352 | addi r11, r12, -__NR_syscalls; |
| 352 | bgei r11,5f; | 353 | bgei r11, 5f; |
| 353 | /* Figure out which function to use for this system call. */ | 354 | /* Figure out which function to use for this system call. */ |
| 354 | /* Note Microblaze barrel shift is optional, so don't rely on it */ | 355 | /* Note Microblaze barrel shift is optional, so don't rely on it */ |
| 355 | add r12, r12, r12; /* convert num -> ptr */ | 356 | add r12, r12, r12; /* convert num -> ptr */ |
| @@ -375,7 +376,7 @@ C_ENTRY(_user_exception): | |||
| 375 | 376 | ||
| 376 | /* The syscall number is invalid, return an error. */ | 377 | /* The syscall number is invalid, return an error. */ |
| 377 | 5: | 378 | 5: |
| 378 | rtsd r15, 8; /* looks like a normal subroutine return */ | 379 | braid ret_from_trap |
| 379 | addi r3, r0, -ENOSYS; | 380 | addi r3, r0, -ENOSYS; |
| 380 | 381 | ||
| 381 | /* Entry point used to return from a syscall/trap */ | 382 | /* Entry point used to return from a syscall/trap */ |
| @@ -411,7 +412,7 @@ C_ENTRY(ret_from_trap): | |||
| 411 | bri 1b | 412 | bri 1b |
| 412 | 413 | ||
| 413 | /* Maybe handle a signal */ | 414 | /* Maybe handle a signal */ |
| 414 | 5: | 415 | 5: |
| 415 | andi r11, r19, _TIF_SIGPENDING | _TIF_NOTIFY_RESUME; | 416 | andi r11, r19, _TIF_SIGPENDING | _TIF_NOTIFY_RESUME; |
| 416 | beqi r11, 4f; /* Signals to handle, handle them */ | 417 | beqi r11, 4f; /* Signals to handle, handle them */ |
| 417 | 418 | ||
