[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/5] x86: Introduce x86_merge_dr6()
On 14/09/2023 3:53 pm, Jan Beulich wrote: > On 13.09.2023 01:21, Andrew Cooper wrote: >> The current logic used to update %dr6 when injecting #DB is buggy. The >> architectural behaviour is to overwrite B{0..3} and accumulate all other >> bits. > While I consider this behavior plausible, forever since the introduction of > debug registers in i386 I have been missing a description in the manuals of > how %dr6 updating works. Can you point me at where the above is actually > spelled out? The documentation is very poor. The comment in the code is based on my conversations with architects. APM Vol2 13.1.1.3 Debug-Status Register (DR6) says "Bits 15:13 of the DR6 register are not cleared by the processor and must be cleared by software after the contents have been read." although this is buggy given the addition of BLD in the latest revision. I've asked AMD to correct it. SDM Vol3 18.2.3 Debug Status Register (DR6) says "Certain debug exceptions may clear bits 0-3. The remaining contents of the DR6 register are never cleared by the processor." ~Andrew
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |