[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] serial: Skip over PCIe device which have no quirks (fix AMT regression).
On Mar 5, 2014 5:46 PM, Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> wrote: > > On 3/5/2014 3:09 PM, Konrad Rzeszutek Wilk wrote: > > See: > > 00:16.0 Communication controller: Intel Corporation Cougar Point HECI > > Controller #1 (rev 04) > >ÂÂÂÂÂÂÂÂÂ Subsystem: Intel Corporation Device 2008 > >ÂÂÂÂÂÂÂÂÂ Flags: bus master, fast devsel, latency 0, IRQ 11 > >ÂÂÂÂÂÂÂÂÂ Memory at fb12a000 (64-bit, non-prefetchable) [size=16] > > 00:16.3 Serial controller: Intel Corporation Cougar Point KT Controller > > (rev 04) (prog-if 02 [16550]) > >ÂÂÂÂÂÂÂÂÂ Subsystem: Intel Corporation Device 2008 > >ÂÂÂÂÂÂÂÂÂ Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 17 > >ÂÂÂÂÂÂÂÂÂ I/O ports at f0e0 [size=8] > >ÂÂÂÂÂÂÂÂÂ Memory at fb129000 (32-bit, non-prefetchable) [size=4K] > > > > pci 0000:00:16.0: [8086:1c3a] type 00 class 0x078000 > > pci 0000:00:16.3: [8086:1c3d] type 00 class 0x070002 > > > > And Xen picks 00:16.0 as its console when using 'com1=115200,8n1,amt'. > > > > This patch fixes it and allows us to use AMT again by zeroing > > out io_base to zero. If the scan did not work, the io_base is > > set back to a default value. > > If you provide 'amt' on command line => 'skip_amt' = 0 > Then we'd just return -1 without setting io_base to 0x3f8 due to this > condition- > if ( !skip_amt ) > ÂÂÂ return -1; > > (or am I missing something?) That particular piece of code is executed after the loop. In the loop is where the AMT is found. > > > > > diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c > > index 487bf7d..9f87018 100644 > > --- a/xen/drivers/char/ns16550.c > > +++ b/xen/drivers/char/ns16550.c > > @@ -829,6 +829,7 @@ pci_uart_config (struct ns16550 *uart, int skip_amt, > > int bar_idx) > >ÂÂÂÂÂÂ unsigned int b, d, f, nextf, i; > >ÂÂÂÂÂÂ u16 vendor, device; > >ÂÂ > > +ÂÂÂ uart->io_base = 0; > > Why not set ns16550.io_base = 0; in arch/x86/setup.c ? Because then you would break the default COM ports which are not find via PCI scanning. Say: com1=9600,8n1 Which will use by default the 3f8 io base. > AFAICT, ns16550.c is the only one that uses ns16550_defaults structure, > so it should be safe.. > > > Thanks, > -Aravind. > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |