[Barrelfish-users] Question: the difference about syscall entry between arm and x86_32

Lukas Humbel lukas.humbel at inf.ethz.ch
Tue Jun 19 10:29:38 CEST 2018

Hi Jingmei

The x86_32 arch hasn't been used for a while, if you don't have any
pressing reasons, use x86_64. Now, also on the x86_64/entry.S you'll
only see the generic register backup. Actually, only few registers are
backed up, because most are used to carry the syscall arguments.

Concerning the handling of enabled/disabled: From entry.S we call into C
into the function sys_syscall (located in kernel/arch/x86_64/syscall.c).
There the first few lines set the disabled flag. Is this what you are
looking for?


On 18.06.2018 22:05, Jingmei Hu wrote:
> Hello all,
> Currently, I am working on the syscall handlers in barrelfish. I found that the syscall entry in x86 and swi handler in armv7 are quite similar. In armv7 assembly, barrelfish gets the dispatcher, sets disabled flag and saves context, while barrelfish only saves the general registers in x86_32 assembly. I was wondering where the x86 handler processes the dispatcher enabled/disabled status and resume the context after call.
> Thanks a lot,
> Jingmei
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users

Lukas Humbel

More information about the Barrelfish-users mailing list