[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] PCI-E serial board not working under Xen
Thanks, I will try a few things to get my card working. The main obstacle seems to get an x86 ioremap for this card. As I've mentioned, I'm basically poking in the dark here wrt configuring a pci dev. Andres >>>> On 23.11.11 at 16:55, "Andres Lagar-Cavilla" <andres@xxxxxxxxxxxxxxxx> >>>> wrote: >> First off, ns16550_parse_port_config string compares "pci" with >> strncmp(conf, "pci", 5) which obviously fails. It should be 3. I can >> send >> trivial patch. > > Yes, please. (It must be an oversight in an earlier change.) > >> Once that is left behind, reading the bar with pci_conf_read32(0,b,d,f, >> PCI_BASE_ADDRESS_0) yields the mmio address of the first accessible >> region, instead of the bar. > > This is an assumption, not a bug (not sure what, if any, conventions > exist here). If your card doesn't meet it, then you'll have to either > provide a patch (without breaking anyone else) or deal with this for > yourself. But read on. > > Also, what is being read is the BAR, just that in your case it doesn't > point > into IO port space. > >> Linux inits this card fine, and reports three mmio regions at 0xfb600000 >> (size 16k), 0xfb400000 (size 2M) and 0xfb200000 (size 2M), BAR 1 with >> the >> actual IO port at 0xfb601000 (one page inside the first mmio region). It >> gets irq 19. >> >> Going back to Xen, instead of reading bar=1, it reads the mmio offset of >> the first region and then it naturally bails out. Even if it were to get >> the right bar, the io_base value it would compute (bar & 0xfffe) would >> be >> useless. > > On x86, the code assumes that the interface is through an IO port; the > MMIO variant, iirc, so far is there only for ia64. The primary issue being > that the (stub) ioremap() x86 has isn't suitable for this purpose. > >> I've tried passing the explicit parameters >> (com1=115200,8n1,0xfb601000,19,03:00.0), and the mere mention of an mmio >> io port for the serial card hard freezes the hypervisor immediately. > > That's, as mentioned above, a result of the stubbed out ioremap(). > > Jan > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |