Table of Contents

Stefan Hajnoczi: GDB Remote Debugging

Week 11

Milestones:

Fri 8 Aug

Ouch, lowest productivity this week. I am visiting my family and have spent time with friends, swimming, studying for the theory driving test, and organizing for the end of student life and the start of work in October :-).

After chatting with Marty today I am focusing again. Discussing Etherboot inspires me to get back to coding!

Sun 10 Aug

DMA mapping currently provides a mechanism to “sync” dynamically allocated memory with DMA-capable memory. This allows drivers to update their snapshot of memory shared with the device, or for the driver to change memory seen by the device.

The sync works by copying memory from the source region to the destination region. Drivers that use DMA mapping therefore pay a memory copy performance penalty.

There is a way to avoid syncing which I would like to explore. It also plays well with the concept of DMA pools (memory regions set aside as DMA memory). DMA pools mean that drivers must declare their intention to use DMA memory and reserve an amount of memory. We need to do this because gPXE should not change the memory map once it has been started.

Next steps: