l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: secure exec


From: Niels Möller
Subject: Re: secure exec
Date: 25 May 2003 11:18:06 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

address@hidden (Niels Möller) writes:

> Marcus Brinkmann <address@hidden> writes:
> 
> > The label in the reply should be the label of the request + 1 (where the
> > request always has the least significant bit 0).
> 
> Ok. So the error code goes in mr1 then?

I think it might be a significant optimization to use one bit of the
reply label for an error indication. Consider a call foo. If it
succeeds, it sends a reply with

  label: FOO_REPLY
  mr1:   returned value

And on error, it sends

  label: FOO_REPLY | ERROR
  mr1:   error code

The optimization is of the successful case, where the alternative,
without allocating an error bit, would be

  label: FOO_REPLY
  mr1:   0  /* ERR_OK */
  mr2:   returned value

So by using one bit of the label, we save one mr-register on *all*
successful ipc replies. That should increases the set of ipc:s for
which the reply fits entirely in registers. If I understood the x86
ABI correctly, for x86 this primarily affects calls that don't return
any values on success.

/Niels




reply via email to

[Prev in Thread] Current Thread [Next in Thread]