[CORE] block: Add vmm_blockdev_flush_cache() API

Signed-off-by: Anup Patel <anup@brainfault.org>
[LIBS] vfs: Flush block device upon msync() on ext2fs and fatfs

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] virtio: Increase VIRTIO_DEVICE_MAX_NAME_LEN

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] Cleanup virtio_net.h and virtio_console.h

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] devtree: Add blkdev string attribute for specifying block device name or path

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] virtio_queue: Simplify virtio_queue_get_iovec() and introduce virtio_queue_get_head_iovec()

The upcoming virtio block emulator requires virtio_queue_get_head_iovec() API.

Also, virtio_queue_get_head_iovec() is more generic hence virtio_queue_get_iovec() is implemented using virtio_queue_get_head_iovec()

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] More sanity checks in callbacks provided by virtio_net and virtio_console

This patch reduces the probablity of crashing virtio_net and virtio_console emulators from guest.

In fact, all virtio emulators should take care of buggy or broken virtio programming from guest OS.

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] blockdev: Reorganize and improve vmm_blockdev_submit_request()

The vmm_blockdev_submit_request() should give failed() callback for request that do not pass sanity checks in vmm_blockdev_submit_request().

The struct vmm_request callbacks if provided must be called for invalid or improper request too.

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] Add virtio block device emulator

The virtio block emulator is one of the most important virtio emulator since it provides para-virtualized storage device.

For now, the virtio block emulator does not use bottom-half but in future it will.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Enable virtio block emulator in defconfigs of all ARM boards

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Add virtio block device node for Realview-PB-A8 guest

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Inform presence of virtio block device to Realview-PB-A8 linux guest via kernel args

Signed-off-by: Anup Patel <anup@brainfault.org>
[DOCS] Updated odroidx documentation

Signed-off-by: Anup Patel <anup@brainfault.org>
[DOCS] Updated ODroid-X documentation

Signed-off-by: Anup Patel <anup@brainfault.org>
[COMMANDS] Fix printing and updation of string attributes in devtree command

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Add support for specifying boot commands via /choosen device tree node

This patch provides a methode of specifying boot commands via device tree.

We can specify more than one commands as boot command via bootcmd attribute of /choosen node.

In fact, we can also write a small script via bootcmd attribute.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into dev_smp