[CORE] Updated wallclock initialization banner.

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Added locking to protect vcpu irq related data structure.

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] sp804: Ensure next periodic event occurs after atleast 1 msec.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] arm32ve: fix small typo in cpu_defines.h

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] arm32: optimize the hypercall processing decision

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Remove ev_name and idle_vcpu_name from struct vmm_scheduler_ctrl

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Added configurable wait for irq timeout per-VCPU .

We cannot allow any guest to pause infinitly waiting for irq.
For safety we timeout a VCPU waiting for irq after sufficiently long time.
The wait for irq timeout time is configurable using menuconfig options.

The issue of waiting infinitly for irq was discoverd when we tried out infinite ping between two guests on QEMU.
The issue occurs more frequently on QEMU because QEMU does not maintain accuracy of timer interrupts and even Xvisor SP804 does periodic event scaling. Due to all this some times guests running as guest on Xvisor accidently discover that they are idle even if they are waiting for some event like a packect from another guest.

Note: The issue addressed by this patch does not occur on Fast models & Real Hardware. Also this patch does not reduce guest performance on QEMU, Fast models and Real Hardware.

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Fix compilation in INIT_WORK() macro

Fixed the bug where the macro arguments were replacing fields of work.

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Fix vmm_net_port_can_rx_t return-type

can_receive() hook has no significance unless it tells the rx capability

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] trivial change in m_freem()

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] netswitch - more verbosity in debug

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] LAN9118: Add can_receive hook and improve mbuf usage

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] NET: use can_receive if available and fix mbuf usage for netbridge

Used the can_receive() hook to prevent sending the packets to destination.
Fixed mbuf usage as per the semantic - sender doesn't free the mbuf, so destination
should free it, when same mbuf is broadcasted to multiple destinations increment the
refcounts of both mbuf as well as its external data buffer.

Signed-off-by: Anup Patel <anup@brainfault.org>
[LIBS] UIP: Integrated UIP with netport infrastructure (but not functional yet)

Patched the UIP library to hook with the netport framework. A daemon is created
to poll the netport read/send routines. This is still work in progress and is
** not functional yet **

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] ARM V5: fix versatile PB DTS tree.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] ARM V5: fix 2 guest DTS tree for versatile.

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] NET: use workqueues to minimize port2switch delay in netbridge

Using workqueues in this path allows a RX buffer at the switch and thus
port2switch_xfer completes when the packet is stored in the circular RX
buffer

Signed-off-by: Anup Patel <anup@brainfault.org>
Revert "[CORE] NET: use workqueues to minimize port2switch delay in netbridge"

This reverts commit bfa9f030dda8f3e445623d3996838f7a23e02489 to update author name.
[CORE] NET: use workqueues to minimize port2switch delay in netbridge

Using workqueues in this path allows a RX buffer at the switch and thus
port2switch_xfer completes when the packet is stored in the circular RX
buffer

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] NET: Add dlist field in mbuf to allow chain of packets

This field will allow creating chains of mbuf-packets and ease buffering

Signed-off-by: Anup Patel <anup@brainfault.org>