PCI express RAM memory as a partition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greetings!

I would like to know as to how we can make a partition for a RAM
memory on a PCI card and use it as a filesystem. 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 the 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
(I have a driver-with-application that I earlier used to write some
junk values; After executing the above statement the RAM contents are
successfully written as zeroes. So, the block driver works for PCI)
mkdir /mnt/mysbull
mke2fs -vm0 /dev/sbull 64

But, when I proceed to make a partition, it fails.
mount /dev/sbull /mnt/mysbull

mount:error while guessing filesystem type
mount: you must specify the filesystem type

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 and display that to the end user as a filesystem
partition so that he/she can read/write files to it?

Thanks,

K Shakthi

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux