Skip to content

Errata: Chapter 9 - page 194, wrong bit set for DR2 in "Enable Flag" example #43

@notryanb

Description

@notryanb

Chapter: 9

Description: On page 194, there is an example of setting the bits for debug control register DR7. The text says "For example, say we want to set a read/write stop point of size 8 on debug register 2".

The shifting is described further down the page as "Now let's shift the enable flag left by 2 * 2(4)".

The example then shows.
Enable Flag: 00000000 00000000 00000000 01000000
This looks like it'll enable Local DR3 (bit 6) instead of Local DR2 (bit 4). The Size Flag and Mode Flag correctly refer to bits 24 through 27 for DR2.

I believe it is supposed to be the 4th bit for Local DR2.
Enable Flag: 00000000 00000000 00000000 00010000

This also means that the Result and BitMask derived from that pattern are also incorrect.

Reproduction steps: The code implementation is correct, but the example flags & masks are incorrect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions