Add a simple RAM disk driver

* It uses physical pages directly, not wasting kernel address space.
* The user interface is somewhat crude, it uses writes to a control
  device (output to serial debug/syslog), e.g.
    echo register 4g > /dev/disk/virtual/ram/control
  to register a 4 GB RAM disk. It is published under
  /dev/disk/virtual/ram/<index>/raw and can be formatted with DriveSetup
  like any other disk. Unregistering is broken ATM.
* It's not on the image by default, but can be added via
    AddNewDriversToHaikuImage disk virtual : ram_disk ;
* I found it quite useful when working on large HaikuPorts ports.
  E.g. mounting a RAM disk at the port's work directory shaves a lot of
  time off disk heavy operations. Obviously one shouldn't let changes
  lie around on it without back up.
This commit is contained in:
Ingo Weinhold
2013-11-10 15:43:43 +01:00
parent 9778589fc7
commit 8e416d27ff
3 changed files with 1093 additions and 0 deletions
@@ -2,5 +2,6 @@ SubDir HAIKU_TOP src add-ons kernel drivers disk virtual ;
#SubInclude HAIKU_TOP src add-ons kernel drivers disk virtual fmap ;
SubInclude HAIKU_TOP src add-ons kernel drivers disk virtual nbd ;
SubInclude HAIKU_TOP src add-ons kernel drivers disk virtual ram_disk ;
SubInclude HAIKU_TOP src add-ons kernel drivers disk virtual remote_disk ;
SubInclude HAIKU_TOP src add-ons kernel drivers disk virtual virtio_block ;
@@ -0,0 +1,8 @@
SubDir HAIKU_TOP src add-ons kernel drivers disk virtual ram_disk ;
SubDirHdrs $(HAIKU_TOP) src system kernel device_manager ;
UsePrivateKernelHeaders ;
KernelAddon ram_disk : ram_disk.cpp ;
File diff suppressed because it is too large Load Diff