[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] PCI-E serial board not working under Xen
Hi, I've been banging my head against this serial board and I'd like to know if anyone has tips. It's an Oxford 0x1415:0xc138. It's located at 03:00.0, I've identified a few problems with Xen's initialization. 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. 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. 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. 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. Help, pointers, etc, are appreciated. I know next to nothing about PCI config, so pardon my inaccurate ramblings. Thanks, Andres _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |