[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/3] x86: Fix calculation of %dr6/dr7 reserved bits
- To: Jan Beulich <jbeulich@xxxxxxxx>
- From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- Date: Tue, 29 Aug 2023 15:29:00 +0100
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NlqwqB5UNIVZrHrLU3SLnKJW6X8bzQTKZy8XVqMNzNs=; b=h002BgSl26ZPJCVJXerepkRCnETbNxQxnKNLOkqtBCZtnhTNWbvvrrVUO4ZFXQ+7rAv5fwUIbEH2BT7B1CHMxlagO1yMT9zISAgRGSt1gWDfnkTbMjV/q4tDx8XkMVktPogG704DIkUP9j60FQZHy0NVX/hVnZt4pSpER3+KL5TWLGsVwNWm958Mgr+9fNxLXwTN1AcS7//r6vGcI8BEfhjXUfwDZO6eYYZXUPzO4IjS58tT7eKH8wqdjWEAadWhQHB4FjhohFWXBGK8/488uP0hjX6/nofJNDjyofIxN7dxaN00PyDHnlpTSKmwlfiFzSwlfWeVNvv5m7cSbLpNDQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OfwgoXWHYmJW+Hz7qA1C8M5OO597ioMruxC8y5C8yBv9s2Dz4o001LtoC+0/aFkmCD+WipJvzB5IFYW9ibj21xKRDn17en+ba4wcwTwhbhGlexa5sctN75aXSUUfeuy6LRvAHjkdOkk/l4YMnD6QOd0e4PswDLehbYp7gW5PgHYwolH0DSgUs3OtvaqyU6SZoGUw5w1WuKcPJNG7Rxktwu2aCcI4sjdr8UP38REOPhe974L80uUoZISRouRkYPOt2KaEePCNXYNLZxJIjqdsC8baXH58rUHwFhjlVZxaFArn1zGNxido/1FfZsWLwx0hD9Zfg6tjJdbe6oNBW/kw+w==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Jinoh Kang <jinoh.kang.kr@xxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Tue, 29 Aug 2023 14:29:28 +0000
- Ironport-data: A9a23:Tc7+Z6w8gkcLgTsuVmV6t+fzxyrEfRIJ4+MujC+fZmUNrF6WrkUHz mIWXGmHOavYYmD2KN9+bNy/8EIP7cXVzYc3TQpk+yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult Mj75sbSIzdJ4RYtWo4vw/zF8EkHUMja4mtC5QRuP6ET5TcyqlFOZH4hDfDpR5fHatE88t6SH 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVNlr uI/Bj9QVDmg3cOs4quqZMJtqst2eaEHPKtH0p1h5RfwKK9+BLzmHeDN79Ie2yosjMdTG/qYf 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjiVlVQsuFTuGIO9ltiibMNZhEuH4 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiAtlMReTjq6QCbFu71C9NUQ8KBFKAgMKCpFThC+5AG 10U9X97xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L84QefAWhCTTdHZ5olruc5QDUr0 hmCmNaBLSNrmK2YTzSa7Lj8hSO/P20ZIHEPYQcATBAZ+J/zrYcrlBXNQ91/VqmvgbXI9SrYx jmLqG0ygusVhMtSj6Gjpwmf3nSru4TDSRMz6kPPRGW54whlZYmjIYu19Vzc6vUGJ4GcJrWcg EU5dwGlxLhmJfmweOalG43hwJnBCy65DQDh
- Ironport-hdrordr: A9a23:VjYYYK8OE0XbjChri8xuk+HJdr1zdoMgy1knxilNoENuA6ulfp GV7ZAmPEHP+VMssSkb6KW90KnpewKgyXcH2/hkAV7CZnighILMFusSi7cKrAeQahEWmtQtrp uINpIOeuEYbmIKy/oSgjPIY+rIqePvmMvE6YixrhcdLnAJGtgQlzuRSDzrYXGeLzM2eabRYa DsmPav0ADQBkj/AP7LfEXsg4D41on2fMuMW29UdkwawTjLqQntxK/xEhCe0BtbeShI260e/W /MlBG8zrm/stmgoyWsjlP73tBzop/M29FDDMuDhow+MTP3kDulY4xnRvmroC01muey81wn+e O8+yvIfv4DsE85TFvF/CcF6DOQjArGLEWSlmNwtEGT+/ARgghKVfapy7gpIycxoHBQy+2UmJ g7qV5x8aAnXS8oWB6NsuQhW3xR5wOJiGtnnugJg3NFV4wCLLdXsIwE5UtQVIwNBSTg9ekcYa tT5eznlbZrmGmhHjPkl3gqxMbpVHIpBRuCSlUDvMvQ0zU+pgEz82IIgMgE2nsQ/pM0TJdJo+ zCL6RzjblLCssbd7h0CusNSda+TjWle2OJDEuCZVD8UK0XMXPErJD6pL0z+eGxYZQNiJ8/go 7IXl9UvXM7P0juFcqN1ptW9Q2lehT5YR39jsVFo5RpsLz1Q7TmdSWFVVA1isOl5+4SB8XKMs zDea6+w8WTY1fGCMJMxUnxXYNSbXMZS9YYv94nW1SI5sLHQ7ea/NAzXMyja4YFSwxUF18XKk FzEATbNYFF9FmsX3/zkBDeV3TxE3aPta5NLA==
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 29/08/2023 3:21 pm, Jan Beulich wrote:
> On 29.08.2023 15:43, Andrew Cooper wrote:
>> --- a/xen/arch/x86/include/asm/debugreg.h
>> +++ b/xen/arch/x86/include/asm/debugreg.h
>> @@ -1,6 +1,7 @@
>> #ifndef _X86_DEBUGREG_H
>> #define _X86_DEBUGREG_H
>>
>> +#include <asm/x86-defns.h>
>>
>> /* Indicate the register numbers for a number of the specific
>> debug registers. Registers 0-3 contain the addresses we wish to trap on
>> */
>> @@ -21,7 +22,6 @@
>> #define DR_STEP (0x4000) /* single-step */
>> #define DR_SWITCH (0x8000) /* task switch */
>> #define DR_NOT_RTM (0x10000) /* clear: #BP inside RTM region */
>> -#define DR_STATUS_RESERVED_ZERO (~0xffffefffUL) /* Reserved, read as zero */
> As you're dropping constants from here, how about the others? Especially
> DR_NOT_RTM would be nice to go away as well (I don't really like its name),
> yet DR_SWITCH looks to also be unused.
That's dealt with later in the series. None of these DR_* constants
survive, but I think it's better to leave deleting them to the patch
that converts all.
>
>> --- a/xen/arch/x86/include/asm/x86-defns.h
>> +++ b/xen/arch/x86/include/asm/x86-defns.h
>> @@ -102,13 +102,30 @@
>>
>> /*
>> * Debug status flags in DR6.
>> + *
>> + * For backwards compatibility, status flags which overlap with
>> + * X86_DR6_DEFAULT have inverted polarity.
>> */
>> -#define X86_DR6_DEFAULT 0xffff0ff0 /* Default %dr6 value. */
>> +#define X86_DR6_B0 (_AC(1, UL) << 0) /* Breakpoint 0
>> */
>> +#define X86_DR6_B1 (_AC(1, UL) << 1) /* Breakpoint 1
>> */
>> +#define X86_DR6_B2 (_AC(1, UL) << 2) /* Breakpoint 2
>> */
>> +#define X86_DR6_B3 (_AC(1, UL) << 3) /* Breakpoint 3
>> */
>> +#define X86_DR6_BLD (_AC(1, UL) << 11) /* BusLock detect
>> (INV) */
>> +#define X86_DR6_BD (_AC(1, UL) << 13) /* %dr access
>> */
>> +#define X86_DR6_BS (_AC(1, UL) << 14) /* Single step
>> */
>> +#define X86_DR6_BT (_AC(1, UL) << 15) /* Task switch
>> */
>> +#define X86_DR6_RTM (_AC(1, UL) << 16) /* #DB/#BP in RTM
>> region (INV) */
>> +
>> +#define X86_DR6_ZEROS _AC(0x00010000, UL) /* %dr6 bits forced to
>> 0 */
> 0x00001000?
Bah yes - serves me right for a last minute refactor.
~Andrew
|