Re: [PATCH] [RFC] i386/i386_mainbus: fix the build when MPBIOS and ACPI are disabled

Andrius V <[email protected]> Wed, 24 Apr 2024 21:50:15 +0300
Newsgroups gmane.os.netbsd.general,gmane.os.netbsd.ports.i386
Message-ID <CAFO4Nkr_dHBR2Ya1L-rbQzuLXNkSdiuGGUji3eSJn55BCBN=Tw@mail.gmail.com>
--000000000000cdc5a80616dc24bf
Content-Type: text/plain; charset="UTF-8"

Hi,

I applied a bit modified patch. Thanks.

On Wed, Apr 24, 2024, 18:58 Paolo Pisati <[email protected]> wrote:

> I'm not entirely sure about this one, but anyhow:
>
> ...
> /home/flag/bsd/netbsd/src/../obj.i386/tooldir.Linux-6.6.0-14-generic-x86_64/bin/i486--netbsdelf-ld
> -Map netbsd.map --cref -T netbsd.ldscript -Ttext c0100000 -e start -z
> noseparate-code -X -o netbsd ${SYSTEM_OBJ:[@]:Nswapnetbsd.o} ${EXTRA_OBJ}
> vers.o swapnetbsd.o
> /home/flag/bsd/netbsd/src/../obj.i386/tooldir.Linux-6.6.0-14-generic-x86_64/bin/i486--netbsdelf-ld:
> i386_mainbus.o: in function `i386_mainbus_childdetached':
> /home/flag/bsd/netbsd/src/sys/arch/i386/i386/i386_mainbus.c:182: undefined
> reference to `mp_pci_childdetached'
> ...
>
> In sys/arch/i386/i386/i386_mainbus.c::i386_mainbus_rescan(), mp_pci_scan()
> is
> executed only if:
>
> ...
> #if NACPICA > 0 && defined(ACPI_SCANPCI)
>                 if (npcibus == 0 && mpacpi_active)
>                         npcibus = mp_pci_scan(self, &mba.mba_pba,
> pcibusprint);
> #endif
> #if defined(MPBIOS) && defined(MPBIOS_SCANPCI)
>                 if (npcibus == 0 && mpbios_scanned != 0)
>                         npcibus = mp_pci_scan(self, &mba.mba_pba,
> pcibusprint);
> #endif
> ...
>
> hence follow the same condition during the unwind.
>
> Signed-off-by: Paolo Pisati <[email protected]>
> ---
>  sys/arch/i386/i386/i386_mainbus.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sys/arch/i386/i386/i386_mainbus.c
> b/sys/arch/i386/i386/i386_mainbus.c
> index f6d2f24a593a..2834002e5989 100644
> --- a/sys/arch/i386/i386/i386_mainbus.c
> +++ b/sys/arch/i386/i386/i386_mainbus.c
> @@ -178,7 +178,7 @@ i386_mainbus_childdetached(device_t self, device_t
> child)
>         if (sc->sc_pci == child)
>                 sc->sc_pci = NULL;
>
> -#if NPCI > 0
> +#if NPCI > 0 && (defined(ACPI_SCANPCI) || defined(MPBIOS_SCANPCI))
>         mp_pci_childdetached(self, child);
>  #endif
>  }
> --
> 2.34.1
>
>

--000000000000cdc5a80616dc24bf
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Hi,<div dir=3D"auto"><br></div><div dir=3D"auto">I applie=
d a bit modified patch. Thanks.</div></div><br><div class=3D"gmail_quote"><=
div dir=3D"ltr" class=3D"gmail_attr">On Wed, Apr 24, 2024, 18:58 Paolo Pisa=
ti &lt;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; wro=
te:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;b=
order-left:1px #ccc solid;padding-left:1ex">I&#39;m not entirely sure about=
 this one, but anyhow:<br>
<br>
...<br>
/home/flag/bsd/netbsd/src/../obj.i386/tooldir.Linux-6.6.0-14-generic-x86_64=
/bin/i486--netbsdelf-ld -Map netbsd.map --cref -T netbsd.ldscript -Ttext c0=
100000 -e start -z noseparate-code -X -o netbsd ${SYSTEM_OBJ:[@]:Nswapnetbs=
d.o} ${EXTRA_OBJ} vers.o swapnetbsd.o<br>
/home/flag/bsd/netbsd/src/../obj.i386/tooldir.Linux-6.6.0-14-generic-x86_64=
/bin/i486--netbsdelf-ld: i386_mainbus.o: in function `i386_mainbus_childdet=
ached&#39;:<br>
/home/flag/bsd/netbsd/src/sys/arch/i386/i386/i386_mainbus.c:182: undefined =
reference to `mp_pci_childdetached&#39;<br>
...<br>
<br>
In sys/arch/i386/i386/i386_mainbus.c::i386_mainbus_rescan(), mp_pci_scan() =
is<br>
executed only if:<br>
<br>
...<br>
#if NACPICA &gt; 0 &amp;&amp; defined(ACPI_SCANPCI)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (npcibus =3D=3D =
0 &amp;&amp; mpacpi_active)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 npcibus =3D mp_pci_scan(self, &amp;mba.mba_pba, pcibusprint);<br=
>
#endif<br>
#if defined(MPBIOS) &amp;&amp; defined(MPBIOS_SCANPCI)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (npcibus =3D=3D =
0 &amp;&amp; mpbios_scanned !=3D 0)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 npcibus =3D mp_pci_scan(self, &amp;mba.mba_pba, pcibusprint);<br=
>
#endif<br>
...<br>
<br>
hence follow the same condition during the unwind.<br>
<br>
Signed-off-by: Paolo Pisati &lt;<a href=3D"mailto:[email protected]" targe=
t=3D"_blank" rel=3D"noreferrer">[email protected]</a>&gt;<br>
---<br>
=C2=A0sys/arch/i386/i386/i386_mainbus.c | 2 +-<br>
=C2=A01 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/sys/arch/i386/i386/i386_mainbus.c b/sys/arch/i386/i386/i386_ma=
inbus.c<br>
index f6d2f24a593a..2834002e5989 100644<br>
--- a/sys/arch/i386/i386/i386_mainbus.c<br>
+++ b/sys/arch/i386/i386/i386_mainbus.c<br>
@@ -178,7 +178,7 @@ i386_mainbus_childdetached(device_t self, device_t chil=
d)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (sc-&gt;sc_pci =3D=3D child)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 sc-&gt;sc_pci =3D N=
ULL;<br>
<br>
-#if NPCI &gt; 0<br>
+#if NPCI &gt; 0 &amp;&amp; (defined(ACPI_SCANPCI) || defined(MPBIOS_SCANPC=
I))<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 mp_pci_childdetached(self, child);<br>
=C2=A0#endif<br>
=C2=A0}<br>
-- <br>
2.34.1<br>
<br>
</blockquote></div>

--000000000000cdc5a80616dc24bf--