[CORE] block: Don't add back block device for reparsing partitions

Currently, if partition parsing fails for a block device then we
add block device back to partd work queue. This is incorrect because
it breaks in a situation where we have more than one block devices.

Let us take an example of two block devices "a" and "b" added to
partd work queue where partition parsing succeeds for "a" but fails
for "b" hence "b" is added back to partd work queue. Now in future,
if some new block device "c" is added then current partd will only
parse "b" again and miss the parsing of "c" block device.

The patch simplifies and fixes block device partition parsing.

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] block: Keep track number of pending partd work

The patch proposes more generic and correct methode of partition
parsing by keeping track of pending partd work count.

The commit 61e13136f7c94a5259bd47a15983b795e3ecc31a "[CORE] block:
Don't add back block device for reparsing partitions" only solves
one part of the problem. We also need to keep in mind that partiton
parser module can be registered after a block device is created
hence we cannot simply forget about block devices for which parsing
fails. The new method introduced by this patch solves both these
problems cleanly.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into A20
[CORE] vmm_clockchip: Default event handler for newly registered clockchips

The event handler for newly registered clockchips should not be NULL or
undeterministic hence this patch adds a default clockchip handler for
newly registered clockchips.

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Startup secondary CPUs as part of system init work

The boot-time stack is generally very small when we are executing
init_bootcpu() and init_secondary() functions. Also, we are doing
too many things in init_bootcpu() for SMP host. For boot CPU, most
of the initialization should be done as part of system init work.

This patch moves secondary CPU startup sequence from init_bootcpu()
to system init work so that we can reduce burden on boot-time stack
and also make sure that boot CPU is fully functional when starting
secondary CPUs (i.e. scheduler has started working for boot CPU).

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] exynos: Minor sanity check in exynos4_mct_tick_isr()

There is some issue with latest QEMU due to which we get MCT L0 timer
interrupts on CPU1 instead of CPU0 despite explicitly setting irq affinity.

May be this is due to missing GIC combiner code for Exynos SOCs but
for now minor/harmless fix added by this patch fixes the Xvisor crash
on Exynos4 emulated by QEMU.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into A20
[CORE] vmm_devdrv: Renaming vmm_devdrv_bus_find_device()

Renaming vmm_devdrv_bus_find_device() function to linux-like
vmm_devdrv_bus_find_device_by_name()

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[CORE] vmm_devdrv: Adding vmm_devdrv_bus_find_device() function.

Adding linux-like vmm_devdrv_bus_find_device() function to find
a device on a bus by providing a match function.

Signed-off-by: Pranav Sawargaonkar <pranav.sawargaonkar@gmail.com>
[DRIVERS] sunxi: remove unused attrval variable in clk driver.

Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
[DRIVERS] Add dummy <linux/unistd.h> for driver porting

This patch adds dummy (or place holder) linux/unistd.h for fixing
compilation drivers/net/phy/phy.c

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into A20
[TESTS] Update README for atomthreads RTOS on Realview-PB-A8 guest

Recently, we moved to boot time loading of Guest images from a block
device (i.e. RAM disk or some other disk). We have updated most of
our documentation as-per the new way of loading Guest images but
forgot to update documentation of running atomthreads RTOS on the
Realview-PB-A8 guest.

This patch updates README for atomthreads RTOS on Realview-PB-A8 guest.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into A20
[TOP] Update top-level README with new features

This patch adds "Input device virtualization" and "Display device
virtualization" features of Xvisor to top-level README.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into A20
Merge pull request #91 from avpatel/master

Syncup mainline tree with changes from xvisor-next tree
[DOCS] Update last commit tag in v0.2.4 release notes

Post taggig v0.2.4 we update release notes about last commit tag
of v0.2.4 release.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge pull request #92 from avpatel/master

[DOCS] Update last commit tag in v0.2.4 release notes
Merge remote-tracking branch 'upstream/master' into A20