Re: [PATCH 23/30] microblaze_mmu_v1: Enable fork syscall for MMU and add fork as vfork for noMMU

Michal Simek
2009-04-29T10:17:08Z

John Williams wrote:
> On Mon, Apr 27, 2009 at 6:32 PM, <monstr@monstr.eu> wrote:
>> From: Michal Simek <monstr@monstr.eu>
>>
>> Signed-off-by: Michal Simek <monstr@monstr.eu>
>> ---
>> arch/microblaze/kernel/entry-nommu.S | 3 ++-
>> arch/microblaze/kernel/syscall_table.S | 2 +-
>> 2 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S
>> index f24b126..89f978a 100644
>> --- a/arch/microblaze/kernel/entry-nommu.S
>> +++ b/arch/microblaze/kernel/entry-nommu.S
>> @@ -10,7 +10,7 @@
>>
>> #include <linux/linkage.h>
>> #include <asm/thread_info.h>
>> -#include <asm/errno.h>
>> +#include <linux/errno.h>
>> #include <asm/entry.h>
>> #include <asm/asm-offsets.h>
>> #include <asm/registers.h>
>> @@ -551,6 +551,7 @@ no_work_pending:
>> rtid r14, 0
>> nop
>>
>> +sys_fork_wrapper:
>> sys_vfork_wrapper:
>> brid sys_vfork
>> addk r5, r1, r0
>
> NACK! If only it was that easy :)
>
> On noMMU we cannot just silently call vfork() if the application tries
> to fork() - you have to return -ENOSYS (or is there a better one?).
> This will just require a small sys_fork_wrapper in entry-nommu.S.

I will call for noMMU kernel ni_syscall which solve that problem.
(Arnd do it in his patches too)

Thanks,
Michal

>
> John

--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854