From: "Jonathan M. McCune" <jonmccune@cmu.edu>
To: linux-kernel@vger.kernel.org
Cc: Arvind Seshadri <arvinds@cs.cmu.edu>, Bryan Parno <parno@cmu.edu>
Subject: using segmentation in the kernel
Date: Tue, 11 Oct 2005 16:15:28 -0400 [thread overview]
Message-ID: <434C1D60.2090901@cmu.edu> (raw)
[-- Attachment #1: Type: text/plain, Size: 1468 bytes --]
Hello,
We're starting work on a project for the 32-bit x86 Linux kernel that
involves using segmentation in the kernel. As a first effort, we'd
like to adjust the kernel code and data segment descriptors so that
the kernel code, and data segment, bss, heap and stack exist in linear
address range between 3GB and 4 GB. How could we implment this so that
it breaks the memory management subsystem the least (or not at all if
we are lucky ;-))?
Our current thinking is to modify only the base address and the limit
of the the kernel code and data segment descriptors (_KERNEL_CS and
_KERNEL_DS). We set the base address to 3GB and the limit to 1GB. We
would also change the kernel linker script (vmlinux.lds.S) by removing
the relocation caused by PAGE_OFFSET. This would mean that the kernel
would be linked to start at address 0 + 1MB in logical address
space. Since we would set the base address of the kernel code and data
segment descriptors to 3GB, the processor would translate all
addresses emitted by the kernel so that the kernel would use addresses
of 3GB + 1MB and above in the linear address space. Hopefully, this
would mean that the all the paging code in the kernel would continue
to work correctly.
We do not understand the mm subsystem well enough to figure out if our
method would work at all or if it works what things in the mm
subsystem would be likely to break. Can someone who understands the mm
subsystem please help us here?
Thanks!
-Jon
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/x-pkcs7-signature, Size: 3170 bytes --]
next reply other threads:[~2005-10-11 20:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-11 20:15 Jonathan M. McCune [this message]
2005-10-11 20:36 ` using segmentation in the kernel Brian Gerst
2005-10-11 20:24 ` Alon Bar-Lev
2005-10-11 21:12 ` Al Viro
2005-10-11 21:14 ` Brian Gerst
2005-10-12 9:05 ` Arjan van de Ven
2005-10-12 16:07 ` Alan Cox
2005-10-12 15:44 ` Arjan van de Ven
2005-10-12 23:55 ` Jonathan M. McCune
2005-10-12 13:03 ` linux-os (Dick Johnson)
2005-10-13 8:51 ` Denis Vlasenko
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=434C1D60.2090901@cmu.edu \
--to=jonmccune@cmu.edu \
--cc=arvinds@cs.cmu.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=parno@cmu.edu \
/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