Differences

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

Link to this comparison view

Next revision
Previous revision
soc:2008:stefanha:journal:week6 [2008/06/30 10:08]
stefanha created
soc:2008:stefanha:journal:week6 [2008/07/08 06:57] (current)
stefanha
Line 17: Line 17:
 **Cleaning up b44 driver**. ​ I am trying to get rid of unused functionality from the driver. ​ The aim is to simplify the code for humans and reduce code size.  I noticed that loading a 6 MB initrd via HTTP hangs on my hardware, this is probably an issue in the b44 driver or DMA mapping code.  Debugging this is my next task. **Cleaning up b44 driver**. ​ I am trying to get rid of unused functionality from the driver. ​ The aim is to simplify the code for humans and reduce code size.  I noticed that loading a 6 MB initrd via HTTP hangs on my hardware, this is probably an issue in the b44 driver or DMA mapping code.  Debugging this is my next task.
  
-Next steps: +==== Tue Jul 1 ==== 
-  [b44] gPXE hangs when downloading initrd. +**Fixed known ROM-o-matic bugs**. ​ Soon ROM-o-matic will be added to gPXE ''​contrib/''​.  ​This will allow anyone to run their own or contribute to mainline development. ​ There were a few known bugs that I tracked down and fixed today. 
-  ​* ​[b44] Performance+ 
-  ​* [b44] Cleanup & testing+**E820 memory map splitting support**.  ​Yesterday'​s hang while loading an initrd turned out to be caused by me misunderstanding ​ 
-  ​* [bzImage] Expand ​the heap size to the full 64K segment when loading ​bzImage kernel with version 2.02 or higher+''​e820mangler.S''​. ​ gPXE can mark memory regions as hidden. ​ When gPXE or an image use the E280 BIOS memory map function, ''​e820mangler.S''​ will hide these memory regions. ​ This prevents gPXE memory from being overwritten or used by another program
-  ​* [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+ 
-  * [GDBReal-mode remote debugging.+The bug was my assumption that ''​e820mangler.S''​ would split memory regions around arbitrary hidden regions. ​ I haven'​t deciphered all of the code yet, but printing ​the memory map after placing ​hidden region inside a larger free region shows that arbitrary splits aren't performed Here is the picture: 
 +<​code>​ 
 ++----------------+ ​                ​+----------------+ 
 +|   free region ​ |                 | this region is | 
 +|                |                 | not produced! ​ | 
 +| +------------+ |  e820mangler.S  +----------------+ 
 +| | my hidden ​ ​| ​|   ​==========>​ 
 +| | region ​    | | 
 +| +------------+ |                 ​+----------------+ 
 +|                |                 ​| ​  ​truncated ​   | 
 +|                |                 ​| ​  ​region ​      | 
 ++----------------+ ​                ​+----------------+ 
 +</code
 + 
 +You can see only the bottom region ​is being produced.  ​The top region is not produced by ''​e820mangler.S''​. ​ At least that's what I think is going on. 
 + 
 +I had a look at the [[http://www.uruk.org/orig-grub/​mem64mb.html|E820 interface]] and will start working on a solution tomorrow. ​ It gets nasty when there are N hidden regions inside one free region, thereby splitting it up into many smaller regions. 
 + 
 +==== Wed Jul 1 ==== 
 +**Updated ​GDB debugging documentation** now that debugging over UDP and watchpoints are in mainline. ​ The [[:​dev:​gdbstub|documentation]] still needs work but I have at least updated the parts that are there so they are correct
 + 
 +==== Fri Jul 4 ==== 
 +This week I haven'​t kept my journal up-to-date. ​ I have not been writing much gPXE code.  Instead I worked on ROM-o-matic,​ GDB documentation,​ bug reports on IRC, understanding ''​gpxelinux.0''​ so we can merge changes into mainline, and understanding ''​e820mangler.S''​ to get DMA mapping working. 
 + 
 +**b44 progress has been stuck at E820 memory splitting**. ​ I will talk to mcb30 today about ''​e820mangler.S''​. ​ I am misunderstanding that code because its output does not match my expectations. ​ I'd like to make progress on E820 mapping this weekend and it will open the door to getting DMA mapping and the b44 working and into mainline. 
 + 
 +**I am in dialogue with hpa, mcb30, and mdc so we can merge gpxelinux.0 into gPXE**. ​ SYSLINUX now builds ''​gpxelinux.0'',​ a PXE NBP that uses the UNDI driver with gPXE (aka ''​undionly.kpxe''​) to run PXELINUX. ​ A relatively small set of changes was needed to make this work on some hardware. ​ The aim is to get this code merged into gPXE mainline. 
 + 
 +===== Next Week ===== 
 +On to [[.:​week7|Week 7]].

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:week6 (generated for current page)