linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: linux-os <linux-os@chaos.analogic.com>
To: Shakthi Kannan <shakstux@yahoo.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: mount PCI-express RAM memory as block device
Date: Fri, 7 Jan 2005 13:53:04 -0500 (EST)	[thread overview]
Message-ID: <Pine.LNX.4.61.0501071342290.21110@chaos.analogic.com> (raw)
In-Reply-To: <20050107183645.72411.qmail@web54501.mail.yahoo.com>

On Fri, 7 Jan 2005, Shakthi Kannan wrote:

> Greetings!
>
> I would like to know as to how we can mount a
> filesystem for RAM memory on a PCI-express card.
> System for development is x86 with 2.4.22 kernel.
>
> I, initially wrote a ramdisk driver to read/write data
> between buffer and RAM. Here, I have used:
> device->data = vmalloc (device->size);
> where:
> - device is the device driver structure variable
> - data = unsigned char *
> - size = unsigned int
>
> I am able to load the above block driver and mount a
> filesystem using:
> dd if=/dev/zero of=/dev/sbull bs=1k count=64
> mkdir /mnt/mysbull
> mke2fs -vm0 /dev/sbull 64
> mount /dev/sbull /mnt/mysbull
>
> For PCI device driver, I have modifed the above to
> directly ioremap device->data as follows:
> device->data = ioremap_nocache (BASE_ADDRESS,
> BASE_SIZE);
> Have successfully done:
> dd if=/dev/zero of=/dev/sbull bs=1k count=64
> mkdir /mnt/mysbull
> mke2fs -vm0 /dev/sbull 64
>
> But, when I proceed to mount a filesystem, it fails.
> mount /dev/sbull /mnt/mysbull
>
> mount:error while guessing filesystem type
> mount: you must specify the filesystem type
>
> Also, if I give "fsck -v /dev/sbull", it returns with
> improper filesystem super block. Even if I specify "-t
> ext2" for mount, it fails. I even tried a
> loopback device mount, but it fails too:
> mount -o loop /dev/sbull /mnt/mysbull
>
> FAT: bogus logical sector size 0
> VFS: Can't find a valid FAT filesystem on dev FA:00
>
> How can I map the RAM memory on the PCI card, even
> though I don't allocate any memory (during ioremap)
> and display that to the end user as a mounted
> filesystem so that he/she can read/write files to it?
>
> Any help/pointers to links is appreciated.
>
> Thanks,
>
> K Shakthi
>

When you ioremap() in the kernel, you get a cookie that you
can use (in the kernel) to copy data to and from the device.

This doesn't allow a user to copy data directly. Instead,
in your read() and write() routines, you use the appropriate
copy_to/from_user() routines. If the device is not a
block device, then you will have to mount it through the
loop device. If it is a block device, you can mount it
directly after initialization.

>From your explanation, it looks like the BASE_ADDRESS is not
the device's on-board memory, but instead, its control
registers, i.e., a simple implementation bug.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.10 on an i686 machine (5537.79 BogoMips).
  Notice : All mail here is now cached for review by Dictator Bush.
                  98.36% of all statistics are fiction.

  reply	other threads:[~2005-01-07 18:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-07 18:36 mount PCI-express RAM memory as block device Shakthi Kannan
2005-01-07 18:53 ` linux-os [this message]
2005-01-07 20:17   ` Shakthi Kannan
2005-01-11 16:45     ` Shakthi Kannan
2005-01-07 19:00 ` Arnd Bergmann

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=Pine.LNX.4.61.0501071342290.21110@chaos.analogic.com \
    --to=linux-os@chaos.analogic.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-os@analogic.com \
    --cc=shakstux@yahoo.com \
    /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;
as well as URLs for NNTP newsgroup(s).