x86: replace literal numbers
authorJan Beulich <jbeulich@suse.com>
Fri, 28 Sep 2012 08:59:41 +0000 (10:59 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 28 Sep 2012 08:59:41 +0000 (10:59 +0200)
In various cases, 256 was being used instead of NR_VECTORS or a derived
ARRAY_SIZE() expression. In one case (guest_has_trap_callback()), a
wrong (unrelated) constant was used instead of NR_VECTORS.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/arch/x86/domain.c
xen/arch/x86/traps.c
xen/arch/x86/x86_64/compat/traps.c

index d0c516a3eee7b4bae84cc23017e8a39bb3a6b4e6..58766ba0293548975bc5e0974a722060144c2fdb 100644 (file)
@@ -374,8 +374,9 @@ int switch_compat(struct domain *d)
 
 static inline bool_t standalone_trap_ctxt(struct vcpu *v)
 {
-    BUILD_BUG_ON(256 * sizeof(*v->arch.pv_vcpu.trap_ctxt) > PAGE_SIZE);
-    return 256 * sizeof(*v->arch.pv_vcpu.trap_ctxt) + sizeof(*v) > PAGE_SIZE;
+    BUILD_BUG_ON(NR_VECTORS * sizeof(*v->arch.pv_vcpu.trap_ctxt) > PAGE_SIZE);
+    return NR_VECTORS * sizeof(*v->arch.pv_vcpu.trap_ctxt) + sizeof(*v)
+           > PAGE_SIZE;
 }
 
 int vcpu_initialise(struct vcpu *v)
@@ -432,7 +433,7 @@ int vcpu_initialise(struct vcpu *v)
         }
         else
             v->arch.pv_vcpu.trap_ctxt = (void *)v + PAGE_SIZE -
-                256 * sizeof(*v->arch.pv_vcpu.trap_ctxt);
+                NR_VECTORS * sizeof(*v->arch.pv_vcpu.trap_ctxt);
 
         /* PV guests by default have a 100Hz ticker. */
         v->periodic_period = MILLISECS(10);
@@ -702,7 +703,7 @@ int arch_set_info_guest(
             fixup_guest_stack_selector(d, c.nat->kernel_ss);
             fixup_guest_code_selector(d, c.nat->user_regs.cs);
 
-            for ( i = 0; i < 256; i++ )
+            for ( i = 0; i < ARRAY_SIZE(c.nat->trap_ctxt); i++ )
             {
                 if ( !is_canonical_address(c.nat->trap_ctxt[i].address) )
                     return -EINVAL;
@@ -725,7 +726,7 @@ int arch_set_info_guest(
             fixup_guest_code_selector(d, c.cmp->event_callback_cs);
             fixup_guest_code_selector(d, c.cmp->failsafe_callback_cs);
 
-            for ( i = 0; i < 256; i++ )
+            for ( i = 0; i < ARRAY_SIZE(c.cmp->trap_ctxt); i++ )
                 fixup_guest_code_selector(d, c.cmp->trap_ctxt[i].cs);
 
             /* LDT safety checks. */
index 58cf0de6c034c8ff0939c057994499310ba0e1f3..2ff88ade8e4af2cc59b1a1dfdb4d1dc53c3820c1 100644 (file)
@@ -3506,7 +3506,7 @@ int guest_has_trap_callback(struct domain *d, uint16_t vcpuid, unsigned int trap
     BUG_ON(vcpuid >= d->max_vcpus);
 
     /* Sanity check - XXX should be more fine grained. */
-    BUG_ON(trap_nr > TRAP_syscall);
+    BUG_ON(trap_nr >= NR_VECTORS);
 
     v = d->vcpu[vcpuid];
     t = &v->arch.pv_vcpu.trap_ctxt[trap_nr];
@@ -3574,7 +3574,7 @@ long do_set_trap_table(XEN_GUEST_HANDLE(const_trap_info_t) traps)
     /* If no table is presented then clear the entire virtual IDT. */
     if ( guest_handle_is_null(traps) )
     {
-        memset(dst, 0, 256 * sizeof(*dst));
+        memset(dst, 0, NR_VECTORS * sizeof(*dst));
         init_int80_direct_trap(curr);
         return 0;
     }
index 8276a5b985e60f08f5fd7b15c2d963af9b9ff0db..39c5656353f7c378a51dd6e6cb2c3ab30299390a 100644 (file)
@@ -317,7 +317,7 @@ int compat_set_trap_table(XEN_GUEST_HANDLE(trap_info_compat_t) traps)
     /* If no table is presented then clear the entire virtual IDT. */
     if ( guest_handle_is_null(traps) )
     {
-        memset(dst, 0, 256 * sizeof(*dst));
+        memset(dst, 0, NR_VECTORS * sizeof(*dst));
         return 0;
     }