Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soc:2008:stefanha:journal:week5 [2008/06/26 08:42]
stefanha
soc:2008:stefanha:journal:week5 [2008/06/30 10:03] (current)
stefanha
Line 36: Line 36:
 **Currently investigating a solution to the b44 1 GB memory limitation**. ​ Will also continue simplifying the driver. ​ While testing, dmb mentioned it downloaded images slowly so I may work on the performance. ​ I did not port the performance optimizations in the Linux driver, so there is plenty of low-hanging fruit. **Currently investigating a solution to the b44 1 GB memory limitation**. ​ Will also continue simplifying the driver. ​ While testing, dmb mentioned it downloaded images slowly so I may work on the performance. ​ I did not port the performance optimizations in the Linux driver, so there is plenty of low-hanging fruit.
  
-==== Thur Jun 26 ====+==== Fri Jun 27 ==== 
 +**Linux DMA mapping as a solution to driver memory constraints**. ​ The b44 driver can only access the first gigabyte of memory. ​ When I asked how to work around this limitation, mcb30 suggest looking at Linux ''​pci_map_single()''​. ​ I am going to implement something similar to manage bounce buffers for devices that cannot access gPXE's heap.
  
-Next steps+==== Sat Jun 28 ==== 
-  * [b44] 1 GB memory limitation. +Git commit
-  * [b44] Performance. +  * [[http://git.etherboot.org/?​p=people/​stefanha/​gpxe.git;​a=commit;​h=3c923c79098190c12b686965d8bd48e1cedecd4d|[b44] DMA mapping for device address limitations]] 
-  * [b44] Cleanup & testing. +  * [[http://git.etherboot.org/?​p=people/​stefanha/​gpxe.git;​a=commit;​h=87455683845a6694fdc89cf986caa50571be8ef0|[b44Fix DMA mapping]
-  * [GDB] Update [[:​dev:​gdbstub|GDB stub page]] and screencast when UDP code is merged into mainline. ​ See [[http://grub.enbug.org/DebuggingWithGDB|GRUB GDB wiki page]] for inspiration+ 
-  * [GDB] Real-mode remote debugging.+**Working on DMA mapping**. ​ I have designed and implemented DMA mapping ​for gPXE, see commits above. ​ The b44 driver uses DMA mapping to work around the chip addressing limitations. ​ I am currently writing tests. 
 + 
 +I am not done with the code but wanted to commit instead of keeping this out of tree.  Before submitting the code for review I will break it up into several patches: 
 +  * **uhmalloc**,​ general-purpose external memory allocator ​Separates the ''​umalloc''​ heap from its memory allocator (which I call ''​uhmalloc''​). ​ The idea is that DMA mapping reuses ''​uhmalloc''​ to manage its DMA heap. 
 +  * **DMA mapping** for transparently managing bounce buffers when needed by hardware. ​ The DMA mapping API provides a way to structure DMA transactions. ​ If the hardware has addressing limitations and is unable to access gPXE's heap, bounce buffers are used to communicate via regions of memory that the device has access to. 
 +  * **b44 with DMA mapping**. ​ Update b44 code using DMA mapping API so it runs on machines with more than 1 GB of RAM.  This reverses the hack to place the gPXE heap at 4 MB into the physical address space. 
 + 
 +===== Next week ===== 
 +On to [[.:​week6|Week 6]]!

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code soc:2008:stefanha:journal:week5 (generated for current page)