**This is an old revision of the document!** ----
====== Stefan Hajnoczi: GDB Remote Debugging ====== ===== Week 6 ===== **Milestones:** * [b44] Tested and clean for mainline review. * [gpxelinux.0] Merge Award BIOS return-to-PXE workaround. ==== Tue Jul 8 ==== Git commit: * [[http://git.etherboot.org/?p=people/stefanha/gpxe.git;a=commit;h=9a4daaf7d1d3cbe8302aace77854ee99b2696b25|[e820] Full clipping of regions into fragments]] **Progress on e820 memory map mangler**. I finally made the push for an e820 memory map mangler that can clip regions into fragments. The existing e820 memory map mangler works well when gPXE hides the beginning and/or end of a memory region. The new mangler supports hidden memory regions anywhere, and any number of them. In the worst case, this means splitting a memory region into two or more fragments. The existing e820 mangler has the nice property that it works on-the-fly. It does not need to take a snapshot of the entire e820 memory map. Instead, it does the necessary clipping at each point during a sequence of e820 calls. [[MEMDISK|http://syslinux.zytor.com/memdisk.php]] has a different e820 mangler. It takes a snapshot of the entire e820 memory map and performs clipping once. The real benefit I see is that the actual e820 handler code is very simple; it just reads the next memory region from the map. If we did something similar in gPXE, it would mean that all the clipping and hiding code would be written in C, with only a small e820 handler in 16-bit assembly. In the end, I didn't opt for the MEMDISK approach since you need to worry about storage for the e820 memory map snapshot. It would also involve rewriting more of our memory map code than simply extending what is already there. Next steps: * [b44] Performance testing. * [b44] Cleanup & testing. * [gpxelinux] Work with hpa and mcb30 to cleanly merge gpxelinux.0 modifications into gPXE. * [bzImage] Expand the heap size to the full 64K segment when loading a bzImage kernel with version 2.02 or higher. * [GDB] Real-mode remote debugging.