Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
soc:2008:stefanha:journal:week3 [2008/06/13 02:37] stefanha |
soc:2008:stefanha:journal:week3 [2008/06/13 09:11] stefanha |
||
---|---|---|---|
Line 85: | Line 85: | ||
Implementing watchpoints has paid off ;-)! | Implementing watchpoints has paid off ;-)! | ||
- | ==== Fri 13 2008 ==== | + | ==== Fri Jun 13 ==== |
Git commits: | Git commits: | ||
* [[http://git.etherboot.org/?p=people/stefanha/gpxe.git;a=commit;h=8ec13694a44779156d679af99a104aeb3bbfdb53|[GDB] Zero-extend 16-bit segment registers]] | * [[http://git.etherboot.org/?p=people/stefanha/gpxe.git;a=commit;h=8ec13694a44779156d679af99a104aeb3bbfdb53|[GDB] Zero-extend 16-bit segment registers]] | ||
+ | * [[http://git.etherboot.org/?p=people/stefanha/gpxe.git;a=commit;h=03d22bf5e31348e3f3ede48500c981761f367651|[GDB] UDP clean up and add netdev refcnt]] | ||
**Segment registers sometimes contained junk values**. The test suite reported that the ''DS'' segment register had the wrong value when running on real hardware. Most of my past development and testing has been in QEMU. | **Segment registers sometimes contained junk values**. The test suite reported that the ''DS'' segment register had the wrong value when running on real hardware. Most of my past development and testing has been in QEMU. | ||
Line 94: | Line 95: | ||
Although it is technically okay for the upper 16 bits to be undefined, I think it is nicer if we zero-extend segment registers when reporting their values to GDB. This makes it easier to write test cases and is less confusing for users. | Although it is technically okay for the upper 16 bits to be undefined, I think it is nicer if we zero-extend segment registers when reporting their values to GDB. This makes it easier to write test cases and is less confusing for users. | ||
+ | |||
+ | **Weekly meeting with mdc and mcb30**. Things are looking good for cleaning up and merging the second round of GDB stub work: | ||
+ | * Remote debugging over UDP | ||
+ | * Watchpoints | ||
+ | * Atomic read/write for device memory | ||
+ | * Continue on detach/kill from GDB | ||
+ | |||
+ | Making the merge happen is my immediate goal. An interesting opportunity for another iteration of development is 16-bit real mode debugging. If GDB can hold up to the pressures of real mode, then I will implement stub support. | ||
Next steps: | Next steps: | ||
+ | * Choose and document a simple way to manually call into the debugger. | ||
* Improve flow control so that GDB does not print warnings. | * Improve flow control so that GDB does not print warnings. | ||
- | * Update [[:dev:gdbstub|GDB stub page]] and screencast when UDP code is merged into mainline. | + | * 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. |
+ | * See if GDB supports 16-bit code, and try out real-mode debugging. |