feat(arch timer): track pending timer configured by SP vCPU

Hafnium SPMC takes important actions while switching away/resuming the
execution context of an SP, in order to support arch timers:
1. When switching away from a vCPU, it either adds or removes the
   vCPU's entry(i.e. timer_link) from the pending timer list depending
   on whether the vCPU has enabled the timer.
2. Before resuming a vCPU, SPMC will have to track the deadline set by
   the vCPU if it did not expire. If expired, SPMC will directly inject
   the virtual interrupt and signal it at the right time.

Change-Id: I323e2fcc7f12ca3a2c296593fe091bf1d4cf8ad0
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
diff --git a/inc/hf/arch/host_timer.h b/inc/hf/arch/host_timer.h
index f8a6639..d330c6b 100644
--- a/inc/hf/arch/host_timer.h
+++ b/inc/hf/arch/host_timer.h
@@ -8,7 +8,11 @@
 
 #pragma once
 
+#include "hf/arch/types.h"
+
 #include "hf/vcpu.h"
 
 void host_timer_disable(void);
 void host_timer_init(void);
+void host_timer_save_arch_timer(struct timer_state *timer);
+void host_timer_track_deadline(struct timer_state *timer);