From: Andi Kleen <ak@suse.de>
To: "Ivan Godard" <igodard@pacbell.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Kernel support for peer-to-peer protection models...
Date: 27 Mar 2004 07:29:11 +0100 [thread overview]
Message-ID: <p73y8pm951k.fsf@nielsen.suse.de> (raw)
In-Reply-To: <048e01c413b3$3c3cae60$fc82c23f@pc21.suse.lists.linux.kernel>
"Ivan Godard" <igodard@pacbell.net> writes:
> We're a processor startup with a new architecture that we will be porting
> Linux to. The bulk of the port will be straightforward (well, you know what
> I mean), except for the protection model supported by the hardware. How
> would you extend/mod the kernel if you had hardware that:
>
> 1) had a large number of distinguishable address spaces
Large or unlimited? If not unlimited you may still run into
problems when you give each process such an address space.
Limiting the number of processes is probably not an option.
> 2) any running code had two of these (code and data environment) it could
> use arbitrarily, but access to addresses in others was arbitrarily protected
> 3) flat, unified virtual addresses (64 bit) so that pointers, including
> inter-space pointers, have the same representation in all spaces
You mean Address 0 is only accessible from Address space 0, but not
from Space 1 ?
Maybe you can give each process an different address range, but AFAIK
the only people who have done this before are users of non MMU architectures.
It will probably require som changes in the portable part of the code.
Also porting glibc's ld.so to this will be likely no-fun.
> 4) no "supervisor mode"
> 5) inter-space references require grant of access (transitive) by the
> accessed space; grants can be entire space or any contiguous subspace
Sounds like the only sane way to handle (4) would be to give the kernel
an own address space with the necessary grants to access everything.
However this will require an address space switch for every system call.
But there is no way around it, linux requires a "shared" kernel mapping
at least for part of the kernel memory ("lowmem")
Overall it sounds like your architecture is not very well suited to
run Linux.
> 10) Drivers can have their own individual space(s) distinct from those of
> the kernel and the apps. Buggy drivers cannot crash the kernel.
At least you would need to use your own drivers (I believe the IBM
iSeries and s390/VM port does it kind of). If your CPU has generic PCI
slots this will be a lot of work. Without it it will be lots of work too,
but at least the number of drivers required is limited.
> Is this model so alien to the existing Kernel that the best approach is to
It is definitely alien.
-Andi
next parent reply other threads:[~2004-03-28 19:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <048e01c413b3$3c3cae60$fc82c23f@pc21.suse.lists.linux.kernel>
2004-03-27 6:29 ` Andi Kleen [this message]
2004-03-28 20:21 ` Kernel support for peer-to-peer protection models Ivan Godard
2004-03-28 23:14 ` Andi Kleen
2004-03-29 8:09 ` Ivan Godard
2004-03-29 15:36 ` Pavel Machek
2004-03-30 14:06 ` Andi Kleen
2004-03-30 15:09 ` Ivan Godard
[not found] <048e01c413b3_3c3cae60_fc82c23f@pc21>
2004-03-27 10:34 ` Pavel Machek
2004-03-28 1:32 ` Ivan Godard
2004-03-28 6:24 ` Pavel Machek
2004-03-28 6:32 ` Ivan Godard
2004-03-28 18:54 ` Pavel Machek
2004-03-28 19:56 ` Ivan Godard
2004-03-28 20:35 ` Pavel Machek
2004-03-27 4:23 Ivan Godard
2004-03-29 0:17 ` Paul Mackerras
2004-03-29 3:18 ` Ivan Godard
2004-03-29 3:48 ` Davide Libenzi
2004-03-29 7:52 ` Ivan Godard
2004-03-29 18:45 ` Davide Libenzi
2004-03-29 20:53 ` Ivan Godard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=p73y8pm951k.fsf@nielsen.suse.de \
--to=ak@suse.de \
--cc=igodard@pacbell.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox