Date: Mon, 28 Jan 2019 23:45:26 +0530 From: Rajesh Kumar <rajfbsd@gmail.com> To: freebsd-amd64@freebsd.org, freebsd-acpi@freebsd.org, FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: Re: Enabling a ACPI eMMC device is causing kernel reboots with FreeBSD 11.2 Message-ID: <CAAO%2BANNTfEs%2BWex-hg43EadQ4b-1Bn-U1diYBwewZsXKcfSezw@mail.gmail.com> In-Reply-To: <CAAO%2BANPLyU7739hOYecbct_6X9P1OwyPPXPQOp9QKBMytS0H=g@mail.gmail.com> References: <CAAO%2BANPD-K92dwUpQKWA%2BxTChbdxW8stXc=6mOq36zsGRk_5DA@mail.gmail.com> <CAAO%2BANPLyU7739hOYecbct_6X9P1OwyPPXPQOp9QKBMytS0H=g@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, I tried my luck with the FreeBSD 12.0 as well as the -CURRENT branch as of date. I am still seeing the issue. Looks like, I missed the earlier response from Kib (in link below) to this thread (may be landed in my spam). Is there anything else I could try debugging here? http://freebsd.1045724.x6.nabble.com/Enabling-a-ACPI-eMMC-device-is-causing-kernel-reboots-with-FreeBSD-11-2-td6293375.html Thanks, Rajesh. On Fri, Nov 16, 2018 at 10:45 AM Rajesh Kumar <rajfbsd@gmail.com> 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? > > > On Thu, Nov 8, 2018 at 4:14 PM Rajesh Kumar <rajfbsd@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. >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAO%2BANNTfEs%2BWex-hg43EadQ4b-1Bn-U1diYBwewZsXKcfSezw>