[CORE] Introduce notifier APIs for creating notifier chains

Different parts of Xvisor might require a mechanism for sending notifications for interested clients.
For e.g. VFS will be interested in block device register/unregister events to implement auto-unmount a block device that is unregistered

Our implementation of notifier APIs is highly inspired from Linux notifier APIs so that its easy to understand and use.

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] fb: Use notifier APIs to generate frame buffer events

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] devdrv: Make classdev related APIs SMP safe

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge pull request #13 from hschauhan/x86-next

X86 next
[CORE] vserial: Make SMP safe and add notifier events

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Beautify comments in vmm_clocks_calc_mult_shift()

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] blockdev: Added notifier events

Signed-off-by: Anup Patel <anup@brainfault.org>
[LIBS] vfs: Auto-unmount block device when it is unregistered.

This patch makes VFS listen to block device events to implement auto-unmount on unregister event.

The auto-unmount is very importand feature required in VFS for hot-pluggable devices such as MMC/SD card and USB mass storage devices.

Signed-off-by: Anup Patel <anup@brainfault.org>
[DRIVERS] 8250-uart: Generic uart driver restructured to 8250-uart

The generic uart driver basically is 8250 family uart driver.

This patch cleans up the driver and restructures it to handle RX irqs to use a driver-maintained RX-buffer instead of just disabling RX interrupts.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARCH] qemu_mips: Fix typo in brd_console

Signed-off-by: Anup Patel <anup@brainfault.org>
[DRIVERS] 8250-uart: consmetic changes

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