[syslinux] Etherboot and gpxe
Joyce Yu
Joyce.Yu at Sun.COM
Thu Jul 30 16:22:29 PDT 2009
Michael,
I looked at a few NIC drivers in under gpxe0.9.7. It seems there are two
kinds of them. One kinds are still using all the etherboot interfaces
with some changes like:
------------------------------------------------
*. Use nic structure instead of dev*
*. Add the following new structures:*
static struct nic_operations xxxx_operations = {
.connect = dummy_connect,
.poll = xxxx_poll,
.transmit = xxxx_transmit,
.irq = xxxx_irq,
};
static struct pci_device_id xxxx_nics[] = {
PCI_ROM(0xaaaa, 0xbbbb, "xxxx", "abcdefg...."),
};
PCI_DRIVER ( xxxx_driver, xxxx_nics, PCI_NO_CLASS );
*. pci->name changed to pci->driver_name*
*. Use nic->nic_op = &xxxx_operations to replace similar ones in
etherboot at the end of the xxxx_probe()*
*. Add these at the end of the file:*
DRIVER ( "xxxx/PCI", nic_driver, pci_driver, xxxx_driver,
xxxx_probe, xxxx_disable );
/*
* Local variables:
* c-basic-offset: 8
* c-indent-level: 8
* tab-width: 8
* End:
*/
----------------------------------
The other kinds are using LINUX NIC driver like interfaces, such as:
-----------------------------------
static struct net_device_operations xxxx_operations = {
.open = xxxx_open,
.close = xxxx_close,
.transmit = xxxx_transmit,
.poll = xxxx_poll,
.irq = xxxx_irq,
};
struct pci_driver xxxx_driver __pci_driver = {
.ids = xxxx_nics,
.id_count = (sizeof (xxxx_nics) / sizeof (xxxx_nics[0])),
.probe = xxxx_probe,
.remove = xxxx_remove,
};
xxxx_probe() does some HW initialization, but leave some to the
xxxx_open(). This is the difference between etherboot xxxx_probe() and
gpxe xxxx_probe(), am I right?
---------------------------------------
I want to know if both implementations are working? What is the benefit
if the new ones are used?
Thanks a lot,
Joyce
On 05/28/09 11:26, Michael Brown wrote:
> On Thursday 28 May 2009 18:53:34 Joyce Yu wrote:
>
>> I just tried to use gPXE 0.9.7 to load Solaris. It works. I will port
>> the drivers to the gPXE 0.9.7.
>>
>
> Excellent news!
>
> I look forward to being able to merge your driver in to the gPXE tree.
>
> Michael
>
--
More information about the Syslinux
mailing list