<hr>

<h4>You can merge this Pull Request by running</h4>
<pre>  git pull https://github.com/johntwillis/ipxe usb-host-support</pre>
<p>Or view, comment on, or merge it at:</p>
<p>  <a href='https://github.com/ipxe/ipxe/pull/28'>https://github.com/ipxe/ipxe/pull/28</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Adding usb host support module files</li>
  <li>Alterating makefile to include host driver support</li>
  <li>Updating struct initializer for pci_device_id using PCI_ROM macro</li>
  <li>Adding usb host support header file</li>
  <li>Adjust message component to use include/ipxe/usb.h file</li>
  <li>Adjust usb.h file to reference headers in include/ipxe directory, remove legacy ifdefines</li>
  <li>Adding a header with conventional standard usb macros ch.9</li>
  <li>Missed a #endif when removing legacy #ifdefine, removing it now</li>
  <li>Alterating include/ipxe/errfile to include macros for host controller driver, hub messages and usbcore modules</li>
  <li>Alterating ohci_hcd host controller driver to use include/ipxe headers</li>
  <li>Alterating ohci_hcd host controller driver to use use zx instead of lx format specifier for unint32_t in DBG messages</li>
  <li>Alterating pci_ids.h to include a macro for identifying ohci and uhci host controller device hardware on the pci bus</li>
  <li>Alterating ohci_hcd driver a single DBG msg, back from using zx to lx for a size_t, got a bit over eager</li>
  <li>Alterating uhci_hcd driver to use include/ipxe headers</li>
  <li>Alterating uhci_hcd header to use include/ipxe headers, remove legacy #ifndef</li>
  <li>Alterating uhci_hcd.c to fix DBG format specifier lx to zx, fixed probe call to match callback</li>
  <li>Alterating uhci_hcd.c to fix DBG format specifier lx to zxi, missed one</li>
  <li>Alterating urb.c to use include/ipxe headers</li>
  <li>Alterating usbcore.c to use include/ipxe headers</li>
  <li>Alterating usbcore.c to remove legacy structs for tables</li>
  <li>Alterating usbcore.c to use new method for iterating over driver table entries using tables.h, this was recommended by Mareo on the #ipxe Freenode IRC channel</li>
  <li>Alterating usb.h define USB_DRIVERS table in the new way, and define what a table entry will look like</li>
  <li>Alterating config/console.h so that when invoked with qemu for testing -serial file:logfile.log will capture DBG messages for later study, using # make DEBUG=uhci_hcd,usbcore, to compile with DBG messages [on] for testing host controller driver and usbcore support modules</li>
  <li>Alterating uhci_hcd.c so it provides a cleaner 'Trying' msg when debugging</li>
  <li>Alterating hcd.h to remove more legacy #ifndef</li>
  <li>Adding an extra README.usb file for general information</li>
  <li>Adding a usb net drivers directory</li>
  <li>Adjusting make file to include drivers/net/usb modules in build</li>
  <li>Adjusting asix driver to use include/ipxe headers and removing legacy #ifndef</li>
  <li>Adjusting dm9601 driver to use include/ipxe headers and removing legacy #ifndef</li>
  <li>Adjusting pegasus driver to use include/ipxe headers</li>
  <li>Adjusting include/ipxe/errfile.h to assign defines for asix, dm9601, pegasus drivers</li>
  <li>Adjusting asix driver DBG format specifiers lx to zx</li>
  <li>Adjusting dm9601.h header file to use include/ipxe headers</li>
  <li>Adjusting dm9601.h includes, so that it doesn't include include/ipxe/usb.h a second time and try to redefine struct dm9601 a second time and cause a warning/error</li>
  <li>Adjusting config/config.c file to pull in USB host stack, ifdefines in the src code does not appear to work, default Make target iPXE does not pull in USB device drivers, so only targeted builds like bin/asix.iso will produce valid images</li>
  <li>Adjusting config/console.h to turn off inclusion of a serial console for debugging purposes</li>
  <li>Adjusting parserom.pl, config.c, asix, dm9601, pegasus files to support build system USB_ROM macros, Removed ohci_hcd bus driver files because they compete with the uhci_hcd bus driver during linking - one way to override is to include the DEBUG=ohci_hcd parameter after make, but this is not a good work around, so will find a way to resolve ambiguity before adding the ohci_hcd back</li>
  <li>README.usb file updated with current information</li>
  <li>Fixed asix.c and dm9601.c so they would compile without warnings on 64bit Ubuntu 14.04 LTS Desktop</li>
  <li>Fixed asix.c forgot to remove unused gpio0 variable and code that used it</li>
  <li>Added new USB_ROM id for a Lenovo U2L 100-Y1 USB Ethernet adapter</li>
  <li>Adding Apple USB->Ethernet adapter.</li>
  <li>Merge pull request #1 from mithro/patch-1</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-0">README.usb</a>
    (56)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-1">src/Makefile</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-2">src/config/config.c</a>
    (7)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-3">src/drivers/bus/usb/hcd.h</a>
    (21)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-4">src/drivers/bus/usb/message.c</a>
    (133)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-5">src/drivers/bus/usb/uhci_hcd.c</a>
    (827)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-6">src/drivers/bus/usb/uhci_hcd.h</a>
    (208)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-7">src/drivers/bus/usb/urb.c</a>
    (32)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-8">src/drivers/bus/usb/usbcore.c</a>
    (160)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-9">src/drivers/net/usb/asix.c</a>
    (708)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-10">src/drivers/net/usb/asix.h</a>
    (144)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-11">src/drivers/net/usb/dm9601.c</a>
    (481)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-12">src/drivers/net/usb/dm9601.h</a>
    (18)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-13">src/drivers/net/usb/pegasus.c</a>
    (615)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-14">src/drivers/net/usb/pegasus.h</a>
    (298)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-15">src/include/ipxe/errfile.h</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-16">src/include/ipxe/pci_ids.h</a>
    (2)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-17">src/include/ipxe/usb.h</a>
    (219)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-18">src/include/ipxe/usb/ch9.h</a>
    (315)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/ipxe/ipxe/pull/28/files#diff-19">src/util/parserom.pl</a>
    (14)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/ipxe/ipxe/pull/28.patch'>https://github.com/ipxe/ipxe/pull/28.patch</a></li>
  <li><a href='https://github.com/ipxe/ipxe/pull/28.diff'>https://github.com/ipxe/ipxe/pull/28.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/ipxe/ipxe/pull/28">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/709460__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNzMxNDM1MCwiZGF0YSI6eyJpZCI6NDM4MDgxNTJ9fQ==--cf914752dd095b6f31f5119f5375b737190e4b3a.gif" width="1" /></p>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"View this Pull Request on GitHub","action":{"@type":"ViewAction","url":"https://github.com/ipxe/ipxe/pull/28","name":"View Pull Request"}}</script>