Re: git: b076d8d54c2f - main - mptable_hostb: Use legacy_get_pcibus() to fetch PCI bus number.

From: FreeBSD User <freebsd_at_walstatt-de.de>
Date: Fri, 24 Jun 2022 11:53:33 UTC
Am Thu, 23 Jun 2022 15:04:32 -0700
John Baldwin <jhb@FreeBSD.org> schrieb:

> On 6/23/22 2:56 PM, FreeBSD User wrote:
> > Am Thu, 23 Jun 2022 17:52:36 GMT
> > John Baldwin <jhb@FreeBSD.org> schrieb:
> >   
> >> The branch main has been updated by jhb:
> >>
> >> URL: https://cgit.FreeBSD.org/src/commit/?id=b076d8d54c2fd91a35aad6931d0bfa2aa0122036
> >>
> >> commit b076d8d54c2fd91a35aad6931d0bfa2aa0122036
> >> Author:     John Baldwin <jhb@FreeBSD.org>
> >> AuthorDate: 2022-06-23 17:49:09 +0000
> >> Commit:     John Baldwin <jhb@FreeBSD.org>
> >> CommitDate: 2022-06-23 17:49:09 +0000
> >>
> >>      mptable_hostb: Use legacy_get_pcibus() to fetch PCI bus number.
> >>      
> >>      The mptable_hostb driver is a child of legacy0 and has legacy bus
> >>      ivars, not PCI or PCI bridge ivars.
> >>      
> >>      PR:             264819
> >>      Reported by:    Dennis Clarke <dclarke@blastwave.org>
> >>      Diagnosed by:   avg
> >>      Reviewed by:    avg
> >>      MFC after:      1 week
> >>      Differential Revision:  https://reviews.freebsd.org/D35548
> >> ---
> >>   sys/x86/x86/mptable.c     | 2 +-
> >>   sys/x86/x86/mptable_pci.c | 2 +-
> >>   2 files changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/sys/x86/x86/mptable.c b/sys/x86/x86/mptable.c
> >> index 5cc42863cf38..c5f113c55a2b 100644
> >> --- a/sys/x86/x86/mptable.c
> >> +++ b/sys/x86/x86/mptable.c
> >> @@ -1250,7 +1250,7 @@ mptable_pci_host_res_init(device_t pcib)
> >>   	struct host_res_args args;
> >>   
> >>   	KASSERT(pci0 != -1, ("do not know how to map PCI bus IDs"));
> >> -	args.bus = pci_get_bus(pcib) + pci0;
> >> +	args.bus = legacy_get_pcibus(pcib) + pci0;
> >>   	args.dev = pcib;
> >>   	args.sc = device_get_softc(pcib);
> >>   	if (pcib_host_res_init(pcib, &args.sc->sc_host_res) != 0)
> >> diff --git a/sys/x86/x86/mptable_pci.c b/sys/x86/x86/mptable_pci.c
> >> index 1a1d98eafc39..8a1d2abe46fe 100644
> >> --- a/sys/x86/x86/mptable_pci.c
> >> +++ b/sys/x86/x86/mptable_pci.c
> >> @@ -57,7 +57,7 @@ mptable_hostb_probe(device_t dev)
> >>   
> >>   	if (pci_cfgregopen() == 0)
> >>   		return (ENXIO);
> >> -	if (mptable_pci_probe_table(pcib_get_bus(dev)) != 0)
> >> +	if (mptable_pci_probe_table(legacy_get_pcibus(dev)) != 0)
> >>   		return (ENXIO);
> >>   	device_set_desc(dev, "MPTable Host-PCI bridge");
> >>   	return (0);
> >>  
> > 
> > I think this commit broke buildkernel on our hosts (custom kernel):
> > 
> > 
> > [...]
> > 
> > /usr/src/sys/x86/x86/mptable.c:1253:13: error: implicit declaration of function
> > 'legacy_get_pcibus' is invalid in C99 [-Werror,-Wimplicit-function-declaration] args.bus =
> > legacy_get_pcibus(pcib) + pci0; ^ 1 error generated. *** [mptable.o] Error code 1
> > 
> > 
> > Kind regards,  
> 
> Should be fixed by 15a6642da6b0b97de580e06349706cf7e660986c.
> 

Thank you very much.

Regrads,

oh

-- 
O. Hartmann