mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-01 11:55:25 +00:00
hv: add suspend/resume callback for console
To handle s3 enter/exit for console Signed-off-by: Zheng Gen <gen.zheng@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
parent
8eaf4d2ab6
commit
feed38f5ae
@ -10,6 +10,7 @@
|
|||||||
static spinlock_t lock;
|
static spinlock_t lock;
|
||||||
|
|
||||||
static uint32_t serial_handle = SERIAL_INVALID_HANDLE;
|
static uint32_t serial_handle = SERIAL_INVALID_HANDLE;
|
||||||
|
struct timer console_timer;
|
||||||
|
|
||||||
#define CONSOLE_KICK_TIMER_TIMEOUT 40 /* timeout is 40ms*/
|
#define CONSOLE_KICK_TIMER_TIMEOUT 40 /* timeout is 40ms*/
|
||||||
|
|
||||||
@ -198,7 +199,6 @@ static int console_timer_callback(__unused void *data)
|
|||||||
|
|
||||||
void console_setup_timer(void)
|
void console_setup_timer(void)
|
||||||
{
|
{
|
||||||
static struct timer console_timer;
|
|
||||||
uint64_t period_in_cycle, fire_tsc;
|
uint64_t period_in_cycle, fire_tsc;
|
||||||
|
|
||||||
if (serial_handle == SERIAL_INVALID_HANDLE) {
|
if (serial_handle == SERIAL_INVALID_HANDLE) {
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
#define CONSOLE_H
|
#define CONSOLE_H
|
||||||
|
|
||||||
#ifdef HV_DEBUG
|
#ifdef HV_DEBUG
|
||||||
|
extern struct timer console_timer;
|
||||||
|
|
||||||
/** Initializes the console module.
|
/** Initializes the console module.
|
||||||
*
|
*
|
||||||
* @param cdev A pointer to the character device to use for the console.
|
* @param cdev A pointer to the character device to use for the console.
|
||||||
@ -62,6 +64,17 @@ void console_dump_bytes(const void *p, unsigned int len);
|
|||||||
void console_setup_timer(void);
|
void console_setup_timer(void);
|
||||||
|
|
||||||
uint32_t get_serial_handle(void);
|
uint32_t get_serial_handle(void);
|
||||||
|
|
||||||
|
static inline void suspend_console(void)
|
||||||
|
{
|
||||||
|
del_timer(&console_timer);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void resume_console_enable(void)
|
||||||
|
{
|
||||||
|
console_setup_timer();
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
static inline int console_init(void)
|
static inline int console_init(void)
|
||||||
{
|
{
|
||||||
@ -86,6 +99,9 @@ static inline void console_dump_bytes(__unused const void *p,
|
|||||||
}
|
}
|
||||||
static inline void console_setup_timer(void) {}
|
static inline void console_setup_timer(void) {}
|
||||||
static inline uint32_t get_serial_handle(void) { return 0; }
|
static inline uint32_t get_serial_handle(void) { return 0; }
|
||||||
|
|
||||||
|
void suspend_console(void) {}
|
||||||
|
void resume_console_enable(void) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* CONSOLE_H */
|
#endif /* CONSOLE_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user