[ipxe-devel] undionly vs. native driver question
nikize at gmail.com
Mon Oct 8 12:27:24 BST 2018
On Mon, 8 Oct 2018 at 13:03, Oliver Rath <oliver at greenunit.de> wrote:
> Hi list,
> Im trying to understand, how ipxe works and what the difference is
> between the undionly and a native driver.
> If I see right, undionly can be chainloaded from *every* (pxe-enabled)
> card and will be loaded an executed in x86-mode from the main processor
> in the memory of the host computer, not the hardware from the card. For
> this part exists an undionly-standard, how to control the basic
> functions of a card from from the host.
> If now we want a native driver, we have to know, how the andvanced
> features of the card can be controlled from the host machine, so every
> native driver is different and have to be programmed separatly. this
> driver can be burnt into the rom of the card.
> What I dont understand: If the native ipxe-driver is burnt on the card,
> who executes this code? The main processor of the computer? How can the
> computer get this code? If the rom blended into main memory?
> If the code is executed by the card, what assembler is used for this?
> What is right or false in my thoughts?
iPXE only provides a driver for the NIC, in the case of undi it uses a undi
driver which then the undi stack translates to actual calls to the NIC
These drivers works in the same way in iPXE as any driver for a NIC used in
Linux or any other OS - meaning that they are all executed on the main CPU
of the machine.
A ROM is just a place to store machine code which the main CPU executes.
>From the perspective "where it runs" there is no difference at all between
the different methods.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ipxe-devel