From: Harvey Harrison Date: Mon, 18 Feb 2008 19:12:48 +0000 (-0800) Subject: KVM: x86 emulator: add ad_mask static inline X-Git-Tag: v2.6.26-rc1~1028^2~113 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=ddcb2885e2902ebfc422eccd763b02c5ee22d68b;p=karo-tx-linux.git KVM: x86 emulator: add ad_mask static inline Replaces open-coded mask calculation in macros. Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity --- diff --git a/arch/x86/kvm/x86_emulate.c b/arch/x86/kvm/x86_emulate.c index 22900f70172b..f6f6544cf747 100644 --- a/arch/x86/kvm/x86_emulate.c +++ b/arch/x86/kvm/x86_emulate.c @@ -480,10 +480,15 @@ static u16 group2_table[] = { (_type)_x; \ }) +static inline unsigned long ad_mask(struct decode_cache *c) +{ + return (1UL << (c->ad_bytes << 3)) - 1; +} + /* Access/update address held in a register, based on addressing mode. */ #define address_mask(reg) \ ((c->ad_bytes == sizeof(unsigned long)) ? \ - (reg) : ((reg) & ((1UL << (c->ad_bytes << 3)) - 1))) + (reg) : ((reg) & ad_mask(c))) #define register_address(base, reg) \ ((base) + address_mask(reg)) #define register_address_increment(reg, inc) \ @@ -494,9 +499,9 @@ static u16 group2_table[] = { (reg) += _inc; \ else \ (reg) = ((reg) & \ - ~((1UL << (c->ad_bytes << 3)) - 1)) | \ + ~ad_mask(c)) | \ (((reg) + _inc) & \ - ((1UL << (c->ad_bytes << 3)) - 1)); \ + ad_mask(c)); \ } while (0) #define JMP_REL(rel) \