diff mbox series

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

Message ID 20220704120533.42168-1-dmytro_firsov@epam.com
State Accepted
Commit c588ca873488605b3b4ee9fa756b2e25d3bd167a
Delegated to: Tom Rini
Headers show
Series drivers: xen: events: fix build issues with disabled Xen HVC | expand

Commit Message

Dmytro Firsov July 4, 2022, 12:05 p.m. UTC
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>
---
 drivers/xen/events.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Nastya Vicodin July 20, 2022, 8:43 p.m. UTC | #1
Reviewed-by: Anastasiia Lukianenko <vicooodin@gmail.com>

On Mon, Jul 4, 2022 at 3:05 PM Dmytro Firsov <Dmytro_Firsov@epam.com> wrote:

> 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>
> ---
>  drivers/xen/events.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> index 5e90a65846..532216fece 100644
> --- a/drivers/xen/events.c
> +++ b/drivers/xen/events.c
> @@ -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);
> --
> 2.25.1
>
Dmytro Firsov Aug. 2, 2022, 8:48 a.m. UTC | #2
Can moderators, please, take a look on this patch?

On 20.07.22 23:43, Nastya Vicodin wrote:
Reviewed-by: Anastasiia Lukianenko <vicooodin@gmail.com<mailto:vicooodin@gmail.com>>

On Mon, Jul 4, 2022 at 3:05 PM Dmytro Firsov <Dmytro_Firsov@epam.com<mailto:Dmytro_Firsov@epam.com>> wrote:
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<mailto:dmytro_firsov@epam.com>>
---
 drivers/xen/events.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 5e90a65846..532216fece 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -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);
--
2.25.1
Tom Rini Aug. 2, 2022, 10:57 a.m. UTC | #3
On Tue, Aug 02, 2022 at 08:48:51AM +0000, Dmytro Firsov wrote:

> Can moderators, please, take a look on this patch?

What about it?

https://patchwork.ozlabs.org/project/uboot/patch/20220704120533.42168-1-dmytro_firsov@epam.com/
> 
> On 20.07.22 23:43, Nastya Vicodin wrote:
> Reviewed-by: Anastasiia Lukianenko <vicooodin@gmail.com<mailto:vicooodin@gmail.com>>
> 
> On Mon, Jul 4, 2022 at 3:05 PM Dmytro Firsov <Dmytro_Firsov@epam.com<mailto:Dmytro_Firsov@epam.com>> wrote:
> 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<mailto:dmytro_firsov@epam.com>>
> ---
>  drivers/xen/events.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> index 5e90a65846..532216fece 100644
> --- a/drivers/xen/events.c
> +++ b/drivers/xen/events.c
> @@ -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);
> --
> 2.25.1
Dmytro Firsov Aug. 2, 2022, 6:49 p.m. UTC | #4
It received reviewed-by from code maintainer. Does anything else needed 
to take it to u-boot/master?

On 02.08.22 13:57, Tom Rini wrote:
> On Tue, Aug 02, 2022 at 08:48:51AM +0000, Dmytro Firsov wrote:
>
>> Can moderators, please, take a look on this patch?
> What about it?
>
> https://patchwork.ozlabs.org/project/uboot/patch/20220704120533.42168-1-dmytro_firsov@epam.com/
>> On 20.07.22 23:43, Nastya Vicodin wrote:
>> Reviewed-by: Anastasiia Lukianenko <vicooodin@gmail.com<mailto:vicooodin@gmail.com>>
>>
>> On Mon, Jul 4, 2022 at 3:05 PM Dmytro Firsov <Dmytro_Firsov@epam.com<mailto:Dmytro_Firsov@epam.com>> wrote:
>> 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<mailto:dmytro_firsov@epam.com>>
>> ---
>>   drivers/xen/events.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
>> index 5e90a65846..532216fece 100644
>> --- a/drivers/xen/events.c
>> +++ b/drivers/xen/events.c
>> @@ -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);
>> --
>> 2.25.1
Tom Rini Aug. 2, 2022, 7:11 p.m. UTC | #5
On Tue, Aug 02, 2022 at 06:49:49PM +0000, Dmytro Firsov wrote:

> It received reviewed-by from code maintainer. Does anything else needed 
> to take it to u-boot/master?

Ah.  I'll probably pick it up soon.
Dmytro Firsov Aug. 2, 2022, 7:19 p.m. UTC | #6
On 02.08.22 22:11, Tom Rini wrote:
> On Tue, Aug 02, 2022 at 06:49:49PM +0000, Dmytro Firsov wrote:
>
>> It received reviewed-by from code maintainer. Does anything else needed
>> to take it to u-boot/master?
> Ah.  I'll probably pick it up soon.
>
Thanks!
Tom Rini Aug. 4, 2022, 8:51 p.m. UTC | #7
On Mon, Jul 04, 2022 at 12:05:38PM +0000, Dmytro Firsov wrote:

> 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>>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 5e90a65846..532216fece 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -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);