[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH v5] hvmloader: Enable MMIO and I/O decode, after all resource allocation
On Wed, 2020-04-15 at 16:14 +0200, Jan Beulich wrote: > CAUTION: This email originated from outside of the organization. Do > not click links or open attachments unless you can confirm the sender > and know the content is safe. > > > > On 15.04.2020 14:27, Harsha Shamsundara Havanur wrote: > > It was observed that PCI MMIO and/or IO BARs were programmed with > > memory and I/O decodes (bits 0 and 1 of PCI COMMAND register) > > enabled, > > during PCI setup phase. This resulted in incorrect memory mapping > > as > > soon as the lower half of the 64 bit bar is programmed. > > This displaced any RAM mappings under 4G. After the > > upper half is programmed PCI memory mapping is restored to its > > intended high mem location, but the RAM displaced is not restored. > > The OS then continues to boot and function until it tries to access > > the displaced RAM at which point it suffers a page fault and > > crashes. > > > > This patch address the issue by deferring enablement of memory and > > I/O decode in command register until all the resources, like > > interrupts > > I/O and/or MMIO BARs for all the PCI device functions are > > programmed, > > in the descending order of memory requested. > > > > Signed-off-by: Harsha Shamsundara Havanur <havanur@xxxxxxxxxx> > > Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > with one further adjustment: > > > @@ -120,6 +121,13 @@ void pci_setup(void) > > */ > > bool allow_memory_relocate = 1; > > > > + BUILD_BUG_ON((typeof(*pci_devfn_decode_type))PCI_COMMAND_IO != > > + PCI_COMMAND_IO); > > + BUILD_BUG_ON((typeof(*pci_devfn_decode_type))PCI_COMMAND_MEMOR > > Y != > > + PCI_COMMAND_MEMORY); > > + BUILD_BUG_ON((typeof(*pci_devfn_decode_type))PCI_COMMAND_MASTE > > R != > > + PCI_COMMAND_MASTER); > > Indentation here still looks wrong, despite me having given you > the precise form to use in reply to v4. This can be taken care > of while committing (if no other need for a v6 arises), but it > would have been nice if you had done this as indicated. > This is due to my vimrc configuration. I will fix this while comitting to align second line to begin with typeof > Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |