On 04/18/2011 06:28 AM, Ritchie, Stuart wrote:
On 4/17/11 5:43 AM, "Avi Kivity"<a...@redhat.com> wrote:
>On 04/16/2011 02:58 AM, Ritchie, Stuart wrote:
>> >
>> >You can do this with ivshmem today. You give it a path to a shared
>> >memory file, and then there's a path in sysfs that you can mmap() in
>> >userspace in the guest.
>>
>> Please correct me if I am wrong, but with ivshmem you must to manage
>>your
>> world within a single, fixed size region. I appreciate the simplicity
>>of
>> mapping the whole region all in one go, but our requirements are a bit
>> different. Even if you could pass multiple -device ivshmem instances,
>> it's still a fixed environment. Right?
>>
>
>You could place a read-only filesystem (say iso9660) in the region and
>mount it; it will then appear as a complete filesystem.
We've thought about formatting the region as a ramdisk, but the block
layer shields mmap() from the storage, thus requiring a data copy into the
page-cache. The great thing about ramfs/tmpfs is the data is used
in-place; we'd lose that when going with a ramdisk or other real
filesystem.
s390 uses a trick to achieve this (XIP).
Look at fs/ext2/xip.c.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.