From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1JJZND-0003h8-TK for mharc-grub-devel@gnu.org; Mon, 28 Jan 2008 14:10:27 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JJZNC-0003gZ-Hb for grub-devel@gnu.org; Mon, 28 Jan 2008 14:10:26 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JJZN7-0003br-Iq for grub-devel@gnu.org; Mon, 28 Jan 2008 14:10:25 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JJZN7-0003bo-E8 for grub-devel@gnu.org; Mon, 28 Jan 2008 14:10:21 -0500 Received: from aybabtu.com ([69.60.117.155]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JJZN7-000128-5w for grub-devel@gnu.org; Mon, 28 Jan 2008 14:10:21 -0500 Received: from [192.168.10.6] (helo=thorin) by aybabtu.com with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1JJZN5-0008EU-Uf for grub-devel@gnu.org; Mon, 28 Jan 2008 20:10:20 +0100 Received: from rmh by thorin with local (Exim 4.63) (envelope-from ) id 1JJZLe-0005mS-1c for grub-devel@gnu.org; Mon, 28 Jan 2008 20:08:50 +0100 Date: Mon, 28 Jan 2008 20:08:50 +0100 From: Robert Millan To: The development of GRUB 2 Message-ID: <20080128190850.GA22021@thorin> References: <87prvmm4i2.fsf@xs4all.nl> <20080128172546.GA17624@thorin> <87hcgxn6m6.fsf@xs4all.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87hcgxn6m6.fsf@xs4all.nl> Organization: free as in freedom X-Message-Flag: Worried about Outlook viruses? Switch to Thunderbird! www.mozilla.com/thunderbird X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.13 (2006-08-11) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. Subject: Re: PCI support X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jan 2008 19:10:26 -0000 On Mon, Jan 28, 2008 at 07:32:33PM +0100, Marco Gerards wrote: > > --- qemu-0.9.0+20070816/hw/pc.c~ 2007-06-06 18:26:13.000000000 +0200 > > +++ qemu-0.9.0+20070816/hw/pc.c 2008-01-28 18:25:00.000000000 +0100 > > @@ -676,6 +676,8 @@ > > qemu_irq *cpu_irq; > > qemu_irq *i8259; > > > > + pci_enabled = 1; > > + > > linux_boot = (kernel_filename != NULL); > > > > /* init CPUs */ > > The problem isn't that PCI isn't enabled. The problem is that IDE > devices are in legacy mode... > > So you do see the IDE interface using lspci. One bit can be used to > check if the device is in legacy mode or not. If it indicates legacy > mode, you have to use some fixed ports that are already present in > ata.c. Otherwise, you can query the port ranges from the PCI device. > Qemu only supports the latter mode, as it seems. You're right. Even when PCI is enabled, you still get the same, although it doesn't look like it at first glance: if (pci_enabled) { pci_piix3_ide_init(pci_bus, bs_table, piix3_devfn + 1, i8259); } else { for(i = 0; i < 2; i++) { isa_ide_init(ide_iobase[i], ide_iobase2[i], i8259[ide_irq[i]], bs_table[2 * i], bs_table[2 * i + 1]); } } I think what you want is to change the hardcoded port numbers in hw/ide.c:pci_piix3_ide_init(): ide_init_ioport(&d->ide_if[0], 0x1f0, 0x3f6); ide_init_ioport(&d->ide_if[2], 0x170, 0x376); could that be it? -- Robert Millan I know my rights; I want my phone call! What use is a phone call… if you are unable to speak? (as seen on /.)