Re: How to make FreeBSD's kernel boot a RPi4B with modern RPi* firmware

From: Klaus_Küchemann <maciphone2_at_googlemail.com>
Date: Sat, 07 Jan 2023 18:58:55 UTC
> Am 07.01.2023 um 11:18 schrieb Mark Millard <marklmi@yahoo.com>:
> 
> 
> ……………………...
>>> 
>>> 
>>> stable/13's source code changes are ( similarly for
>>> releng/13.1 ):
>>> 
>>> # git -C /usr/13S-src/ diff sys/arm/broadcom/bcm2835/bcm2835_dma.c
>>> diff --git a/sys/arm/broadcom/bcm2835/bcm2835_dma.c b/sys/arm/broadcom/bcm2835/bcm2835_dma.c
>>> index cab8639bb607..6d521d6dcace 100644
>>> --- a/sys/arm/broadcom/bcm2835/bcm2835_dma.c
>>> +++ b/sys/arm/broadcom/bcm2835/bcm2835_dma.c
>>> @@ -766,5 +766,6 @@ static driver_t bcm_dma_driver = {
>>> 
>>> static devclass_t bcm_dma_devclass;
>>> 
>>> -DRIVER_MODULE(bcm_dma, simplebus, bcm_dma_driver, bcm_dma_devclass, 0, 0);
>>> +EARLY_DRIVER_MODULE(bcm_dma, simplebus, bcm_dma_driver, bcm_dma_devclass,
>>> +    0, 0, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE);
>>> MODULE_VERSION(bcm_dma, 1);
>>> 
>>> 
>>> main's [so: 14's] source code changes are:
>>> 
>>> # git -C /usr/main-src/ diff sys/arm/broadcom/bcm2835/bcm2835_dma.c
>>> diff --git a/sys/arm/broadcom/bcm2835/bcm2835_dma.c b/sys/arm/broadcom/bcm2835/bcm2835_dma.c
>>> index 5f9ecb0b7981..d901447df1e9 100644
>>> --- a/sys/arm/broadcom/bcm2835/bcm2835_dma.c
>>> +++ b/sys/arm/broadcom/bcm2835/bcm2835_dma.c
>>> @@ -764,5 +764,6 @@ static driver_t bcm_dma_driver = {
>>>       sizeof(struct bcm_dma_softc),
>>> };
>>> 
>>> -DRIVER_MODULE(bcm_dma, simplebus, bcm_dma_driver, 0, 0);
>>> +EARLY_DRIVER_MODULE(bcm_dma, simplebus, bcm_dma_driver, 0, 0,
>>> +    BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE);
>>> MODULE_VERSION(bcm_dma, 1);
>>> 
> 
> 
> ===
> Mark Millard
> marklmi at yahoo.com
> 


…….on the other hand : if your EARLY_DRIVER_MODULE(bcm_dma… doesn’t do anything wrong,
you could give it in phabricator review, why not?!..


Regards

K.