Message ID | 50938B8B.8050804@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> -----Original Message----- > From: Gerd Hoffmann [mailto:kraxel@redhat.com] > Sent: Friday, November 02, 2012 5:00 PM > To: Hao, Xudong > Cc: kevin@koconnor.net; seabios@seabios.org; kvm@vger.kernel.org; > avi@redhat.com > Subject: Re: [PATCH] seabios/pci: enable 64 bit bar on seabios > > On 11/02/12 06:42, Xudong Hao wrote: > > 64 bit bar sizing and MMIO allocation. The 64 bit window is placed above high > > memory, top down from the end of guest physical address space. > > What problem you are trying to fix? The existing code should handle > 64bit bars just fine. By default they are placed below 4G though for > compatibility reasons (make old 32bit guests happy). When running out > of address space seabios will try map them above 4G though to make room > below 4G. > I just want to enable 64 bit bars for KVM usage, seabios 1.7.0 is used in current qemu-kvm, which not handle 64 bit bars yet. I cloned seabios code from kernel.org(seems no 64 bit bars supporting), but I was not taking notice of the tree on http://git.qemu.org/, yes it has already done 64 bit bars handling. So you may ignore this patch. Btw, when will the latest seabios(especially 64 bits bars) be involved qemu-kvm? > Mapping your 64bit PCI bars above 4G unconditionally (for testing or > other reasons) can simply be done this way: > > --- a/src/pciinit.c > +++ b/src/pciinit.c > @@ -599,7 +599,7 @@ static void pci_bios_map_devices(struct pci_bus > *busses) > { > pcimem_start = RamSize; > > - if (pci_bios_init_root_regions(busses)) { > + if (1 /* pci_bios_init_root_regions(busses) */) { > struct pci_region r64_mem, r64_pref; > r64_mem.list = NULL; > r64_pref.list = NULL; > > We might want add a config option for this. > > cheers, > Gerd -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, > I just want to enable 64 bit bars for KVM usage, seabios 1.7.0 is > used in current qemu-kvm, which not handle 64 bit bars yet. I cloned > seabios code from kernel.org(seems no 64 bit bars supporting), but I > was not taking notice of the tree on http://git.qemu.org/, yes it has > already done 64 bit bars handling. So you may ignore this patch. > > Btw, when will the latest seabios(especially 64 bits bars) be > involved qemu-kvm? qemu 1.2.0 has it (seabios 1.7.1, a git snapshot very close to it to be exact), and qemu-kvm 1.2.0 should have it too. cheers, Gerd -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: Gerd Hoffmann [mailto:kraxel@redhat.com] > Sent: Monday, November 05, 2012 5:08 PM > To: Hao, Xudong > Cc: kevin@koconnor.net; seabios@seabios.org; kvm@vger.kernel.org; > avi@redhat.com > Subject: Re: [PATCH] seabios/pci: enable 64 bit bar on seabios > > Hi, > > > I just want to enable 64 bit bars for KVM usage, seabios 1.7.0 is > > used in current qemu-kvm, which not handle 64 bit bars yet. I cloned > > seabios code from kernel.org(seems no 64 bit bars supporting), but I > > was not taking notice of the tree on http://git.qemu.org/, yes it has > > already done 64 bit bars handling. So you may ignore this patch. > > > > Btw, when will the latest seabios(especially 64 bits bars) be > > involved qemu-kvm? > > qemu 1.2.0 has it (seabios 1.7.1, a git snapshot very close to it to be > exact), and qemu-kvm 1.2.0 should have it too. > Got it, thanks. -Xudong -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- a/src/pciinit.c +++ b/src/pciinit.c @@ -599,7 +599,7 @@ static void pci_bios_map_devices(struct pci_bus *busses) { pcimem_start = RamSize; - if (pci_bios_init_root_regions(busses)) { + if (1 /* pci_bios_init_root_regions(busses) */) { struct pci_region r64_mem, r64_pref; r64_mem.list = NULL; r64_pref.list = NULL;