qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] e1000: initial link negotiation on mac osx


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v2] e1000: initial link negotiation on mac osx
Date: Mon, 11 Nov 2013 10:48:31 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Nov 08, 2013 at 10:52:09AM -0500, Gabriel L. Somlo wrote:
> On Fri, Nov 08, 2013 at 02:39:25PM +0100, Stefan Hajnoczi wrote:
> > On Fri, Nov 08, 2013 at 12:12:52AM +0100, Alexander Graf wrote:
> >> We can easily modify SeaBIOS to just loop through all PCI devices,
> >> look for an e1000 and initialize it far enough for XNU, no?
> >> After all, it sounds like that's closer to the way a real Mac works.
> > 
> > I'd much prefer Alex's suggestion so we avoid putting guest-specific
> > hacks into QEMU.
> > 
> > If there is really no better solution, please make an "extra" behavior
> > disabled by default and accessible through a device property.  For
> > example -device e1000,xnu-preinit-hack=on.
> 
> I agree too, in principle. OTOH I'm a bit worried that teaching SeaBIOS
> about e1000, and then getting that change upstreamed there might be
> a whole different size of problem to solve :)
> 
> I will however give that a shot first, and fall back to
> "xnu-preinit-hack=on" only if that doesn't work out...

The other approach is to look at iPXE, the PXE boot ROM that QEMU ships
for the e1000 NIC.

It has an e1000 driver and you might find a hack to get things working:

Either see if you can chainload the bootloader on the harddisk after
having initialized the e1000 in iPXE.  (Start a network boot but then
use the 'boot' or 'chain' commands in iPXE.)

Or consider adding code to pre-initialize the e1000 to iPXE.  Whether
that hack will be accepted by the iPXE community is a different question
but this still pushes the hack into the guest firmware - closer to where
it lives on the real hardware.

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]