diff options
Diffstat (limited to 'board-qemu/slof/virtio-block.fs')
-rw-r--r-- | board-qemu/slof/virtio-block.fs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/board-qemu/slof/virtio-block.fs b/board-qemu/slof/virtio-block.fs index bc9013e..b3065b2 100644 --- a/board-qemu/slof/virtio-block.fs +++ b/board-qemu/slof/virtio-block.fs @@ -49,6 +49,15 @@ virtio-setup-vd VALUE virtiodev virtiodev virtio-blk-read ; +: write-blocks ( addr block# #blocks -- #written ) + \ Do not allow writes to the partition table (GPT is in first 34 sectors) + over 22 < IF + ." virtio-blk ERROR: Write access to partition table is not allowed." cr + 3drop 0 EXIT + THEN + virtiodev virtio-blk-write +; + \ Standard node "open" function : open ( -- okay? ) open 0= IF false EXIT THEN @@ -79,6 +88,10 @@ virtio-setup-vd VALUE virtiodev s" read" deblocker @ $call-method ; +: write ( addr len -- actual ) + s" write" deblocker @ $call-method +; + \ Set disk alias if none is set yet : (set-alias) s" disk" get-next-alias ?dup IF |