[lkml]   [2006]   [Aug]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Univeral Protocol Driver (using UNDI) in Linux
    Hello Alan,

    First things first. Tons of thanks for a mail FULLY LOADED with useful
    information. I'm still to digest it all, but really thanks.

    > >> >
    > >> > I'm sure having a single driver for all the NICs is a feature cool
    > >> > enough to die for. Yes, it might have drawbacks like just pointed out
    > >> > by Peter, but surely a "single driver for all NIC" feature could prove
    > >> > to be great in some systems.
    > >> >
    > >
    > > Hi ... so there seem to be no technical feasibily issues, just
    > > reliabliy / ugly design issues? So one can still go ahead and write a
    > > Universal Protocol Driver that can work with all (PXE compatible)
    > > NICs?
    > With help from the Etherboot Project, I've recently implemented such a
    > driver for Etherboot 5.4. It currently supports PIO NICs (e.g. cards
    > that use in*/out* to interface with CPU). It's currently available in a
    > branch, and will be merged into the trunk by the Etherboot project. It
    > works reliably with QEMU + PXELINUX, with the virtual ne2k-pci NIC.

    Umm ... pardon me if I am wrong, but I think you implemented a "UNDI
    Driver" (i.e. the code that provides implementation of UNDI API, and
    often resides in the NIC ROM) . I'm looking forward to write a
    "Universal Protocol Driver" (i.e. the code that will be a linux kernel
    module and will, use the UNDI API provided by your UNDI driver).

    But nevertheless your information has been *VERY* helpful ...

    > At minimum, one needs to be able to probe for !PXE presence, which means
    > you need to map in 0-1MB of physical memory. The PXE stack's memory also
    > needs to be mapped in. My UNDI driver relies on a kernel module, generic
    > across all NICs, to accomplish these by mapping in the !PXE probe area
    > and PXE memory in a user process.

    I'm pretty newbie to PXE, but I I think !PXE structure is used to find
    out the location & size of PXE & UNDI runtime routines, by UNIVERSAL
    PROTOCOL DRIVERS. Is my understanding wrong?

    Also, I think that UNDI driver routine will need not call PXE routines
    (TFTP / DHCP etc) as UNDI routines would be at a lower level providing
    access to the bare bones hardware. Is this correct?


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-08-10 10:21    [W:0.026 / U:3.700 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site