Enabling a ACPI eMMC device is causing kernel reboots with FreeBSD 11.2

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Enabling a ACPI eMMC device is causing kernel reboots with FreeBSD 11.2

Rajesh Kumar
Hi,

I have amd64 board, which has a eMMC device on the ACPI bus. When I try
booting FreeBSD 11.2 on this board, with eMMC device disabled in BIOS, it
boots without any issues.  But, when eMMC device is enabled in BIOS,
FreeBSD 11.2 continuously reboots.

When I have the following tunable set, FreeBSD 11.2 boots without any
issues with eMMC enabled.
hw.pci.mcfg=0

Observations :
a) We have verified the ACPI device addresses (from DSDT table) doesn't
conflict with the PCI address base (configured in MCFG table).
b) The PCI address base from MCFG table is read correctly by kernel
(Verbose boot prints that address). So, I don't think MCFG table pointer is
corrupted and getting read properly.

Questions :
a) What does hw.pci.mcfg=0 actually do to get the reboot issue resolved?
b) Why enabling a device on ACPI bus needs hw.pci.mcfg (PCI specific) to
boot?

Looks like the system reboots when the ACPI and PCI devices enumeration
starts during the boot. So, seems ACPI (or) PCI devices aren't getting
enough resources and so reboots.

Thanks,
Rajesh.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Enabling a ACPI eMMC device is causing kernel reboots with FreeBSD 11.2

Konstantin Belousov
On Fri, Nov 16, 2018 at 10:45:39AM +0530, Rajesh Kumar wrote:

> Hi,
>
> I did some study on this. During acpi_attach, if MCFG table is present,
> FreeBSD tries to use it (That is to map the PCI Base address to virtual
> address space).  Setting hw.pci.mcfg=0, disables that mapping and lets the
> system use the type 1 config access (which is IO port based access).  So,
> this is what hw.pci.mcfg does.
>
> In our case, we are enabling a device on the ACPI bus and made sure no
> other ACPI device collides with the address range for PCI (which mcfg
> says). So, why enabling a device on ACPI, is causing the memory mapped PCI
> access go bad to panic/reboot the kernel?  I tried to collect more info
> enabling INVARIANTS, but in that case kernel panics much before in the boot
> process. So, how could I proceed in debugging this issue? Any suggestions?
There is no ACPI bus, at best the device is enumerated using ACPI.

>
>
> On Thu, Nov 8, 2018 at 4:14 PM Rajesh Kumar <[hidden email]> wrote:
>
> > Hi,
> >
> > I have amd64 board, which has a eMMC device on the ACPI bus. When I try
> > booting FreeBSD 11.2 on this board, with eMMC device disabled in BIOS, it
> > boots without any issues.  But, when eMMC device is enabled in BIOS,
> > FreeBSD 11.2 continuously reboots.
What is the CPU in your motherboard ?
If it is AMD, try HEAD or latest 12.0 BETA.

> >
> > When I have the following tunable set, FreeBSD 11.2 boots without any
> > issues with eMMC enabled.
> > hw.pci.mcfg=0
> >
> > Observations :
> > a) We have verified the ACPI device addresses (from DSDT table) doesn't
> > conflict with the PCI address base (configured in MCFG table).
> > b) The PCI address base from MCFG table is read correctly by kernel
> > (Verbose boot prints that address). So, I don't think MCFG table pointer is
> > corrupted and getting read properly.
> >
> > Questions :
> > a) What does hw.pci.mcfg=0 actually do to get the reboot issue resolved?
> > b) Why enabling a device on ACPI bus needs hw.pci.mcfg (PCI specific) to
> > boot?
> >
> > Looks like the system reboots when the ACPI and PCI devices enumeration
> > starts during the boot. So, seems ACPI (or) PCI devices aren't getting
> > enough resources and so reboots.
> >
> > Thanks,
> > Rajesh.
> >
> _______________________________________________
> [hidden email] mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-amd64
> To unsubscribe, send any mail to "[hidden email]"
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "[hidden email]"