Re: KIP and other user mappings

Espen Skoglund <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
[bahadir balban]
> Hi,
> In L4, what offsets and pages does the userspace need to know about
> by standard?

> On ARM (NICTA::Pistachio hello 1.1) for instance, KernelInterface()
> is entered via a trap at offset 0xFFFFFFb4, and there are other
> traps nearby. Does the userspace need to know about these by
> standard or are they there for convenience? My expectation would be
> that it would only need to know a fixed offset for KernelInterface()
> call.

> Also, are there other pages than the KIP that the userland expects
> to find? For instance, USER_UTCB_REF is defined at 0xFF000FF0
> (l4/include/arm/vregs.h), almost at the end of the KIP page for ARM.
> Is it part of the KIP? Does the userspace need to know it's offset
> in advance, or is it to be discovered from the KIP?

I must admit that I'm not up to speed on the latest developments of
NICTA::Pistachio/ARM, but in general the user apps need only know
what's defined in the ABI for the architecture in question.  E.g., it
might be a special trap or jump to a particular location to get the
KIP address, or it might be a memory access to a special location to
get the UTCB address.  These things should all be properly described
in the ABI spec.

The syscalls themeselves are typically brances to locations described
in the KIP (either as offsets from the KIP base, or absolute
addresses).  It is wrong for an application that these locations are
fixed for a given architecture (unless the architecture ABI says so,
of course).

	eSk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.