drivers: xen: events: fix build issues with disabled Xen HVC

Some setups do not use Xen hypervisor console for logging, e.g. they
use emulated PL011 hardware or shared peripherals (real UART). In such
cases Xen HVC will be disabled on a build time and will cause issues in
current driver implementation.

This commit fixes build issues in Xen event channel driver, caused
by absense of console event channel, that is not available when console
config is disabled. Now console related code will be removed when
Xen HVC is turned off.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Reviewed-by: Anastasiia Lukianenko <vicooodin@gmail.com>
Reviewed-by: Anastasiia Lukianenko <vicooodin@gmail.com<mailto:vicooodin@gmail.com>>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com<mailto:dmytro_firsov@epam.com>>
This commit is contained in:
Dmytro Firsov 2022-07-04 12:05:38 +00:00 committed by Tom Rini
parent 6ac4774426
commit c588ca8734

View file

@ -23,7 +23,9 @@
#include <xen/events.h>
#include <xen/hvm.h>
#if CONFIG_IS_ENABLED(XEN_SERIAL)
extern u32 console_evtchn;
#endif /* CONFIG_IS_ENABLED(XEN_SERIAL) */
#define NR_EVS 1024
@ -51,8 +53,11 @@ void unbind_all_ports(void)
struct vcpu_info *vcpu_info = &s->vcpu_info[cpu];
for (i = 0; i < NR_EVS; i++) {
#if CONFIG_IS_ENABLED(XEN_SERIAL)
if (i == console_evtchn)
continue;
#endif /* CONFIG_IS_ENABLED(XEN_SERIAL) */
if (test_and_clear_bit(i, bound_ports)) {
printf("port %d still bound!\n", i);
unbind_evtchn(i);