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? On Thu, Nov 8, 2018 at 4:14 PM Rajesh Kumar <rajf...@gmail.com> 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. > > 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. > _______________________________________________ freebsd-amd64@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-amd64 To unsubscribe, send any mail to "freebsd-amd64-unsubscr...@freebsd.org"