[DRIVERS] mmc: Implement polling based card detection

This patch adds optional polling based card detection for mmc host
controller who don't have (or have buggy) card detection mechanism.

To use this feature, mmc host controller driver have to specify
MMC_CAP_NEEDS_POLL capability when adding mmc host instance.

Signed-off-by: Anup Patel <anup@brainfault.org>
[DRIVERS] mmc: Better location for mmc_core.h and sdhci.h

This patch moves mmc related driver headers to drivers/include/drv/mmc
from drivers/include/drv

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] scheduler: Fix potential issue when Orphan VCPU paused

To pause an Orphan VCPU, we typically expire its timeslice which
causes a forced timer interrupt giving scheduler a chance to
schedule out the Orphan VCPU.

Till now, this Orphan VCPU used to be scheduled out via
vmm_scheduler_timer_event() or vmm_scheduler_irq_exit().

This patch schedule out paused Orphan VCPU from vmm_scheduler_irq_enter()
instead of vmm_scheduler_timer_event() or vmm_scheduler_irq_exit().

We do this in vmm_scheduler_irq_enter() because someone other entity
can resume back the paused Orphan VCPU before vmm_scheduler_timer_event()
or vmm_scheduler_irq_exit() in which case the context of Orphan VCPU will
not be saved.

Signed-off-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[TESTS] Improve documentation for Busybox based root filesystem

This patch improves documentation for Busybox based root filesystem
which we use for guest RAMDISK or guest NFS.

The patch also adds defconfig for busybox-1.21.0.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] More optimization in ARM inst emulation for guest

This patch optimizes instruction decoding in ARM inst emulation for
ARM guest but using switch cases wherever possible.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge branch 'x86-next', remote-tracking branch 'upstream/master' into x86-next
[x86] Fix in HPET mult/shift calculation.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Fix in VCPU register initialization.

Also added dump of registers.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Beautification of lock functions.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>