diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2025-02-26 16:36:56 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2025-02-27 10:14:00 +0100 |
commit | adf6819278ba34be1d29ffcdca5c2ccd2123f667 (patch) | |
tree | 1dd4cea5b792257ae75fb63ff576ee1ed2318a4c | |
parent | 7d8f03f7dd9f7d108b8d5af12fdc57e10555981f (diff) |
x86/bootflag: Micro-optimize sbf_write()
Change parity bit with XOR when !parity instead of masking bit out
and conditionally setting it when !parity.
Saves a couple of bytes in the object file.
Co-developed-by: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20250226153709.6370-1-ubizjak@gmail.com
-rw-r--r-- | arch/x86/kernel/bootflag.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/kernel/bootflag.c b/arch/x86/kernel/bootflag.c index 4d89a2d80d0f..b935c3e42bfd 100644 --- a/arch/x86/kernel/bootflag.c +++ b/arch/x86/kernel/bootflag.c @@ -38,9 +38,8 @@ static void __init sbf_write(u8 v) unsigned long flags; if (sbf_port != -1) { - v &= ~SBF_PARITY; if (!parity(v)) - v |= SBF_PARITY; + v ^= SBF_PARITY; printk(KERN_INFO "Simple Boot Flag at 0x%x set to 0x%x\n", sbf_port, v); |