[PATCH v4 3/3] i386: Port to RTEMS

Jan.Sommer at dlr.de Jan.Sommer at dlr.de
Thu Apr 9 14:10:04 UTC 2020



> -----Ursprüngliche Nachricht-----
> Von: Sommer, Jan
> Gesendet: Donnerstag, 9. April 2020 15:57
> An: devel at rtems.org
> Cc: Sommer, Jan
> Betreff: [PATCH v4 3/3] i386: Port to RTEMS
> 
> - Update imported files to compile rtems-libbsd for i386 based BSPs
> ---

[...]
> diff --git a/freebsd/sys/kern/subr_gtaskqueue.c
> b/freebsd/sys/kern/subr_gtaskqueue.c
> index c061c6b0..4ef05e0a 100644
> --- a/freebsd/sys/kern/subr_gtaskqueue.c
> +++ b/freebsd/sys/kern/subr_gtaskqueue.c
> @@ -744,7 +744,9 @@ taskqgroup_attach(struct taskqgroup *qgroup, struct
> grouptask *gtask,
>  			    __func__, gtask->gt_name, error);
>  	} else
>  #else /* __rtems__ */
> +#ifndef __i386__
>  	BSD_ASSERT(irq == -1);
> +#endif /* __i386 */
>  #endif /* __rtems__ */
>  		mtx_unlock(&qgroup->tqg_lock);
>  }
> @@ -776,7 +778,9 @@ taskqgroup_attach_deferred(struct taskqgroup
> *qgroup, struct grouptask *gtask)
> 
>  	}
>  #else /* __rtems__ */
> +#ifndef __i386__
>  	BSD_ASSERT(gtask->gt_irq == -1);
> +#endif /* __i386 */
>  #endif /* __rtems__ */
>  	qgroup->tqg_queue[qid].tgc_cnt++;
>  	LIST_INSERT_HEAD(&qgroup->tqg_queue[qid].tgc_tasks, gtask,
> gt_list);

For example in "iflib_legacy_setup" the function " taskqgroup_attach" is called with an irq value other than -1, which triggers the assert.
Now, with the assert disabled the driver seems to work and we can, e.g. get an IP with the dhcpcd0x tests. 
We haven't managed to find out what the assert is for exactly, so I don't know if that opens a can of worms.
Is this safe to do?

[...]
> --
> 2.12.3



More information about the devel mailing list